LLM maliyet optimizasyonu: caching, model seçimi ve batching
LLM maliyetlerini düşürmenin en etkili üç kaldıracı: doğru modeli seçmek, bağlamı önbelleğe almak ve istekleri toplulaştırmak — kaliteyi bozmadan.
LLM maliyeti çoğu ekipte ilk sürprizdir: demo aylık birkaç dolar, üretim ise binleri bulan faturalar getirir. İyi haber şu — maliyetin büyük kısmı üç kaldıraçla, kaliteyi bozmadan düşürülebilir. Kötü haber: bu kaldıraçlar ölçülmeden uygulanırsa, tasarruf yerine kalite kaybı satın alırsınız.
1. Doğru modeli seçin: en pahalısı en iyisi değildir
Görevlerin çoğu devasa modele ihtiyaç duymaz. Pratik bir kademe:
- Küçük görevler küçük modelle: sınıflandırma, özetleme, sorgu genişletme, şema doğrulama gibi işler küçük ve ucuz modellerde aynı kalitede çalışır.
- Zor görevler büyük modelle: çok adımlı akıl yürütme, karmaşık kod, belirsiz girdilerden karar üretimi.
- Kademeli tırmandırma (cascade): Önce ucuz modelle dene; güven eşiğinin altındaysa büyük modele düş. Tipik iş yüklerinde isteklerin çoğu ilk kademede biter.
Buradaki tek doğru ölçüt, görev başına maliyet × başarı oranıdır — token fiyatı değil.
2. Caching: aynı bağlamı iki kez ödemeyin
Üretim trafiğinin önemli kısmı tekrardır: aynı sistem talimatı, aynı doküman, aynı birkaç örnek.
- Prompt önbelleği (provider cache): OpenAI ve Anthropic’in otomatik ya da açık prompt caching özellikleri, uzun ve sabit bağlam ön eklerini %50–90’a varan oranda indirger. Bağlamın değişmeyen kısmını başa koymak cache isabetini belirler — bu, context engineering’in doğrudan maliyet etkisidir.
- Uygulama katmanı önbelleği: Aynı girdinin aynı çıktıyı ürettiği durumlar (sınıflandırma, özetleme) için semantik önbellek. Eşik ve TTL iyi ayarlanmalı; kullanıcıya özel içeriği asla paylaşmayın.
- Embedding önbelleği: Aynı dokümanlar için embedding’i tekrar üretmeyin; indeksleme maliyeti çoğu zaman gözden kaçar.
3. Batching ve toplulaştırma
- Toplu işleme (batch API): Zaman kritik olmayan işler (gece özetleri, toplu etiketleme, eval çalıştırma) batch API’lerle yarı fiyatına iner.
- Paralellik yerine paketleme: Onlarca küçük istek yerine, tek istekte birden fazla iş kalemi. Hem maliyet hem gecikme iyileşir.
- Streaming ile algılanan gecikme: Gerçek maliyeti düşürmez ama kullanıcı deneyimi için gereklidir; kıyaslamalarınızda ikisini karıştırmayın.
Gözden kaçan kalemler
- Çıktı tokenları pahalıdır. “Kısa cevap ver” demek yerine maksimum uzunluk sınırı ve yapılandırılmış çıktı kullanın.
- Yeniden denemeler. Hatalı şema nedeniyle tekrarlanan çağrılar, maliyetin sessiz katıdır. Çıktı doğrulama + tek seferlik onarım akışı çoğu zaman %10–20 tasarruf sağlar.
- Gözlemlenebilirlik yoksa tasarruf yok. Model, token ve maliyet bazında loglama olmadan hangi isteğin pahalı olduğunu göremezsiniz.
Sıra önemli: önce ölçün, sonra kısın
- Görev bazında maliyet ve başarı oranını ölçün (eval seti şart).
- En pahalı 3 senaryoyu belirleyin.
- Kademeli model + caching + batching’i sırayla deneyin; her adımda başarı oranını doğrulayın.
Kaliteyi ölçmeden yapılan maliyet optimizasyonu, faturadan çok itibar kaybettirir. Tersi de geçerli: doğru üç kaldıraçla maliyetin yarıya inmesi, kalite dokunulmadan mümkün.
Bağlam tarafındaki maliyet etkileri için Context engineering yazısına da bakabilirsiniz.