İçeriğe atla
SinaptikLabAI KNOWLEDGE PLATFORM
Dersİleri30 dakikaAI Product Manager · 6. ders

Token ekonomisi ve gecikme bütçesi

İstek başına maliyetin ve gecikmenin hangi kalemlerden oluştuğunu, hangi kolun çekilmesinin hangi kaliteden feragat ettiğini öğretir. Kuyruk gecikmesinin neden ortalamayla yönetilemeyeceğini gösterir.

Önkoşul: Large Language Model, Evaluation

BU DERSİN SONUNDA

  • İstek başına maliyeti girdi, çıktı ve çağrı sayısı kalemlerine ayırmak
  • İlk token süresi ile toplam süreyi ayrı deneyim değişkenleri olarak yönetmek
  • Kuyruk gecikmesini eşzamanlılık üzerinden açıklamak ve uç dilimle izlemek
  • Maliyet ve gecikme kollarını kalite riskine göre sıralamak
  1. 1

    Teori

    Kavramın çalışma mantığı

  2. 2

    Örnek

    Gerçek bir senaryo üzerinde gösterim

  3. 3

    Lab

    Uygulamalı alıştırma

  4. 4

    Test

    Kısa ölçüm

  5. 5

    Proje

    Rotadaki projeye katkı

Kısa cevap

İstek başına maliyet üç kalemin birleşimidir: girdi token sayısı, çıktı token sayısı ve bir kullanıcı işini tamamlamak için yapılan çağrı sayısı. Ürün tarafında en hızlı kazanç genellikle model değiştirmekten değil bu üç kalemi küçültmekten gelir, çünkü girdiyi sistem talimatı, geri getirilen bağlam ve konuşma geçmişi birlikte şişirir. Gecikmede ise iki ayrı süre yönetilir: ilk tokenin gelme süresi algıyı, toplam süre işin bitmesini belirler.

Teori: maliyeti ne belirler#

Girdi tokenları tek geçişte işlenir; çıktı tokenları ise birer birer üretilir ve her yeni token kendinden öncekilere bakar. Bu asimetrinin iki sonucu vardır: aynı sayıda çıktı tokenı, aynı sayıda girdi tokenından hem daha yavaş hem genellikle daha pahalıdır, ve çıktı uzunluğu toplam süreyi neredeyse doğrusal büyütür. Yani "kısa cevap ver" talimatı bir üslup tercihi değil, aynı zamanda bir maliyet ve gecikme kararıdır.

Girdi tarafındaki şişmenin kaynağı nadiren kullanıcının yazdığı metindir. Sistem talimatı her istekte yeniden gönderilir, geri getirme katmanı her istekte parça ekler, konuşma geçmişi tur başına birikir. Çok adımlı akışlarda bu birikim çarpanla büyür: her adım bir çağrıdır ve her çağrı birikmiş bağlamı yeniden taşır. Bu yüzden "bir kullanıcı işi kaç çağrı sürüyor" sorusu, "hangi model" sorusundan daha belirleyici olabilir.

Örnek hesap: varsayımla yürütmek#

python
def istek_maliyeti(girdi_token, cikti_token, cagri, bg, bc):
    """Tek bir kullanıcı işini tamamlamanın maliyeti.

    VARSAYIM — gerçek ölçüm değil, yalnızca hesabın iskeleti:
      girdi_token: çağrı başına ortalama girdi token sayısı
      cikti_token: çağrı başına ortalama çıktı token sayısı
      cagri: bir kullanıcı işini bitirmek için gereken çağrı sayısı
      bg, bc: girdi ve çıktı için token başına birim fiyat

    Birim fiyatları kendi sözleşmenizden okuyun; burada sabit yazılmaz.
    """
    return cagri * (girdi_token * bg + cikti_token * bc)


def kalem_paylari(girdi_token, cikti_token, bg, bc):
    """Hangi kalem baskın? Bunu bilmeden kol çekilmez."""
    girdi = girdi_token * bg
    cikti = cikti_token * bc
    toplam = girdi + cikti
    return {"girdi": girdi / toplam, "cikti": cikti / toplam}

Hesabın değeri sonucunda değil, hangi kalemin baskın olduğunu göstermesindedir. Girdi payı baskınsa çekilecek kol bağlam bütçesidir: geri getirilen parça sayısı, sistem talimatının uzunluğu, geçmişin ne kadarının taşındığı. Çıktı payı baskınsa kol çıktı uzunluğu ve biçimidir. Çağrı sayısı baskınsa kol akış tasarımıdır. Bu üçünü ölçmeden model değiştirmek, çoğu zaman aynı israfı farklı bir birim fiyattan ödemektir.

Gecikme: iki süre, iki algı#

İlk tokenin gelme süresi kullanıcının "çalışıyor mu" sorusunu, toplam süre "bitti mi" sorusunu cevaplar. Akışlı yanıt ikincisini kısaltmaz, yalnızca birincisini algıda öne alır — ve bu gerçek bir kazançtır, çünkü bekleyen kullanıcı boş ekrana bakmaz. Ama akış her yerde işe yaramaz: çıktı bir forma yazılacak yapılandırılmış veriyse parça parça göstermenin kullanıcıya faydası yoktur, orada kazanılacak yer toplam süredir.

İkinci ve daha sinsi kaynak kuyruk gecikmesidir. Bir sistem aynı anda belirli sayıda isteği işleyebilir; varış hızı bu kapasiteye yaklaştıkça bekleme süresi doğrusal değil hızlanarak büyür. Sezgi şudur: sistemde aynı anda duran iş sayısı, varış hızı ile bir işin sistemde geçirdiği ortalama sürenin (bekleme artı işlenme) çarpımına eşittir — işlenme süresini uzatan her şey (uzun çıktı, fazladan çağrı) hem bu çarpımı hem de kapasiteyi tüketir. Bu yüzden gecikme ortalamayla yönetilemez: ortalama sakin görünürken uç dilim çoktan bozulmuş olur. İzlenecek sayı uç dilimdir ve yanına eşzamanlılık ile kuyruk uzunluğu yazılır.

Kollar ve etkileri#

KolMaliyet etkisiGecikme etkisiKalite riski
Çıktı uzunluğu sınırıDoğrudan düşürürDoğrudan düşürürCevap yarım kalabilir; biçim yönergesi gerekir
Bağlam bütçesi (parça sayısı)Doğrudan düşürürDüşürürİlgili parça dışarıda kalırsa isabet düşer
Geçmişin özetlenerek taşınmasıTurlar arttıkça düşürürDüşürürÖzetleme kaybı; eski ayrıntı geri gelmez
Çağrı ve adım sayısıÇarpan etkisiyle düşürürBelirgin düşürürAra denetim adımları kaldırılırsa hata artar
İstem önbelleğiYinelenen girdide düşürürİlk token süresini düşürürDüşük; önbellek anahtarı doğru kurulmalı
Daha küçük veya nicemlenmiş modelDüşürürDüşürürKaliteden feragat; dilim bazlı ölçüm zorunlu
Asenkron ve toplu işlemeDüşürürAlgılanan süreyi artırırDüşük; akışın eşzamanlı olmaması gerekir
Kolları tek tek çekin ve her çekişten sonra dördüncü bölümdeki ölçüm kümesini yeniden koşturun; iki kol birlikte çekilirse etki ayrıştırılamaz.

Karar: hangi kolu önce çekersiniz#

  1. 1Baskın kalemi ölçün

    Girdi, çıktı ve çağrı sayısını gerçek trafikten çıkarın; tahminle kol çekilmez.

  2. 2Bedeli olmayan kolları önce çekin

    Önbellek, gereksiz tekrar eden talimat, aynı bağlamın iki kez gönderilmesi. Bunlar ödünleşimsiz kazançtır.

  3. 3Biçim kollarını çekin

    Çıktı uzunluğu ve biçim yönergesi; kalite etkisi ölçülebilir ve karar geri alınabilir.

  4. 4Akış tasarımını sadeleştirin

    Adımları birleştirin, gereksiz aracı çağrıyı kaldırın; ara denetim adımlarını korumaya dikkat edin.

  5. 5Model kolunu en sonda çekin

    Model küçültmek en büyük kalite riskini taşır; ancak ölçüm kümesi kuruluysa ve dilim bazlı sonuç görülüyorsa çekilir.

Sık yapılan hata#

LAB · UYGULAMALI ALIŞTIRMA

Maliyet ve gecikme bütçesini çıkarın

  1. 1Ürününüzde tek bir kullanıcı işini seçin ve o işin tamamlanması için yapılan çağrıları sırayla listeleyin; her çağrının girdi ve çıktı token sayısını uygulama kayıtlarınızdan okuyun; kayıt yoksa sağlayıcının yanıtında dönen kullanım alanındaki token sayılarını tek bir işlem boyunca kaydedin.
  2. 2Her çağrı için girdiyi üç parçaya ayırın: sistem talimatı, geri getirilen bağlam, konuşma geçmişi. Hangi parçanın baskın olduğunu yazın.
  3. 3Girdi ve çıktı kalemlerinin toplam içindeki payını hesaplayın; birim fiyatları kendi sözleşmenizden alın ve hesabın varsayıma dayandığını belgenin başına yazın.
  4. 4Aynı iş için gecikmeyi iki sayı olarak ölçün: ilk tokenin geldiği an ve işin bittiği an. Ölçümü yoğun ve sakin saatlerde ayrı ayrı alın.
  5. 5İki ölçümü uç dilim olarak raporlayın (ortalamayı da yazın ama karar için kullanmayın) ve yoğun saatteki farkı kuyruk etkisi olarak işaretleyin.
  6. 6Kol tablosundan tek bir kol seçip uygulayın, dördüncü bölümdeki ölçüm kümesini yeniden koşturun ve maliyet, gecikme, kalite üçlüsündeki değişimi tek satırda yazın.

Beklenen çıktı

Bir kullanıcı işinin çağrı bazlı token dökümü, uç dilim gecikme ölçümü ve çekilen tek kolun maliyet, gecikme ve kalite üzerindeki ölçülmüş etkisi.

Sık sorulan sorular

Daha küçük bir modele geçmek maliyeti çözmez mi?

Birim fiyatı düşürür, israfı düşürmez. Girdiniz gereksiz yere büyükse veya bir işi beş çağrıda bitiriyorsanız küçük model aynı israfı daha ucuza öder ve çoğu zaman kaliteyi de düşürür. Sıra şudur: önce ölçüm, sonra bedeli olmayan kollar, sonra biçim ve akış, en sonda model.

Nicemleme hız için kaliteden mi feragat ediyor?

Birincil etkisi bellektir: ağırlıkları daha az bitle tutar, böylece model daha küçük bir bellek ayak izine sığar ve bellek bant genişliği daha az zorlanır; hız kazancı çoğunlukla bunun sonucudur. Feragat edilen şey kalitedir ve kaybın hangi görevde ortaya çıkacağı değişir, bu yüzden dilim bazlı ölçüm olmadan karar verilmez.

Akışlı yanıt gecikme sorununu çözer mi?

Algıyı düzeltir, süreyi düzeltmez. Kullanıcı ilk tokenı erken gördüğü için bekleme daha kısa hissedilir; ama işin bitiş anı, arkadaki kuyruk ve eşzamanlılık aynı kalır. Yapılandırılmış çıktı üreten veya sonucu doğrudan başka bir sisteme veren akışlarda akışın algı faydası da yoktur.

LEARN

AI Product Manager rotasına devam et

Dersler tek başına da okunabilir, ama sıralı ilerlemek önkoşul boşluklarını kapatır.