Production'daki bir LLM uygulamasında maliyeti ve gecikmeyi (latency) nasıl düşürürsünüz?
Cevap
Önce ölçmek gerekir: istek başına input/output token, time-to-first-token (TTFT), toplam gecikme ve maliyet hangi adımlardan geliyor? Ardından en büyük kalemden başlayarak optimize edilir.
Maliyet kaldıraçları
- Model routing / cascade: Basit istekleri küçük ve ucuz bir modele, zor olanları büyük modele yönlendirmek. Çoğu trafikte en büyük tasarruf buradan gelir.
- Prompt caching: Uzun ve sabit system prompt, araç tanımları ve dokümanlar prompt'un başına konur. Sağlayıcılar cache'lenmiş input token'ları çok daha ucuza fiyatlandırır ve TTFT de düşer.
- Bağlamı küçültmek: Daha az ama daha alakalı RAG chunk'ı (reranker), sohbet geçmişini özetlemek, gereksiz talimatları atmak.
- Çıktı uzunluğunu sınırlamak: Output token'lar genelde input'tan pahalıdır. Kısa format istemek,
max_tokensbelirlemek. - Semantic / exact cache: Aynı veya çok benzer sorulara önceki cevabı döndürmek.
- Batch API: Gerçek zamanlı olmayan işler (gece raporları, toplu sınıflandırma) için indirimli asenkron işleme.
- Fine-tuning / distillation: Dar bir görevde küçük bir modeli eğitip büyük modelin yerine koymak.
Gecikme kaldıraçları
- Streaming: Toplam süre değişmez, ama kullanıcı ilk token'ı hemen görür. Algılanan gecikme büyük ölçüde düşer.
- Paralel çağrılar: Birbirinden bağımsız adımları (retrieval + sınıflandırma) eşzamanlı çalıştırmak.
- Daha az ardışık LLM çağrısı: Agent zincirlerinde her adım gecikme ekler.
- Küçük model, kısa prompt (prefill süresi) ve kısa çıktı (decode süresi).
- Self-hosting'de: continuous batching, speculative decoding, quantization, prefix caching (vLLM, SGLang, TensorRT-LLM).
Örnek senaryo
Destek botu ayda 1M istek alıyor, istek başına 6.000 input token, 400 output token. 5.000 token'lık sabit system prompt'u cache'lemek, input maliyetini büyük ölçüde düşürür. Basit isteklerin %70'ini küçük modele yönlendirmek toplam maliyeti bir kat daha düşürür. Her değişiklikten sonra eval setinde kalite kaybı olmadığı doğrulanmalıdır.
İlgili LLM & Üretken YZ soruları
- RAG'de chunking stratejisi, hybrid search ve reranker neden önemlidir? Retrieval kalitesi düşükse ne yaparsınız?
- Şirket içi dokümanlar (Confluence, PDF, wiki) üzerinde soru cevaplayan bir RAG sistemi tasarlayın.
- Hangi prompt engineering tekniklerini kullanırsınız? Few-shot ve chain-of-thought ne zaman işe yarar?
- LLM'lerde temperature, top-k ve top-p (nucleus) sampling parametreleri ne işe yarar?
- Prompt injection nedir? LLM tabanlı bir uygulamayı ve agent'ı buna karşı nasıl korursunuz?
- Bir LLM uygulamasını nasıl değerlendirirsiniz? Benchmark'lar ve LLM-as-judge yaklaşımının sınırlamaları nelerdir?
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.