Sürekli toplu işlem ve istek yönlendirme
Sürekli toplu işlemin verimi nereden kazandığını ve kuyruk kararlarının gecikmeye bedelini açıklar. Model içi uzman yönlendirmesi ile istek yönlendirme katmanını birbirinden ayırıp bir yönlendirme kuralının kazancını karmaşıklık borcuyla birlikte değerlendirir.
Önkoşul: Large Language Model, Attention, Context Window
BU DERSİN SONUNDA
- Durağan ve sürekli toplu işlemin verim farkını mekanizmayla açıklamak
- Dolum ile üretimin birbirine girmesini kuyruk kararlarıyla yönetmek
- Model içi uzman yönlendirmesini istek yönlendirmesinden ayırt etmek
- Bir yönlendirme kuralının kazancını ve karmaşıklık borcunu birlikte değerlendirmek
- 1
Teori
Kavramın çalışma mantığı
- 2
Örnek
Gerçek bir senaryo üzerinde gösterim
- 3
Lab
Uygulamalı alıştırma
- 4
Test
Kısa ölçüm
- 5
Proje
Rotadaki projeye katkı
Kısa cevap
Sunum katmanının verimi, hızlandırıcının boş geçirdiği zamanı azaltmaktan gelir. Sürekli toplu işlem, biten isteğin yerine yenisini jeton sınırında alarak bu boşluğu kapatır; kuyruk ve önbellek kararları ise kazancın gecikmeye ne pahasına geldiğini belirler. Yönlendirme ise tek bir konu değil iki ayrı konudur: modelin içinde uzman seçimi ve sizin katmanınızda model seçimi.
Teori: durağan toplu işlemin kaybı#
Durağan toplu işlemde bir grup istek birlikte başlar ve grup, en uzun istek bitene kadar kapanmaz. Kısa istekler erken biter ama yerleri serbest kalmaz; hızlandırıcı, dolu görünen ama iş yapmayan yuvalar için hesap yapar. Kayıp, istek uzunluklarının dağılımı genişledikçe büyür. Uzunlukların birbirine yakın olduğu bir toplu iş yükünde bu etki küçüktür; etkileşimli trafikte ise dağılım her zaman geniştir.
Sürekli toplu işlemde zamanlayıcı jeton sınırında çalışır: bir dizi bittiği anda yeri bırakılır ve kuyruktaki istek aynı adımda alınır. Bunun ikinci ve daha az konuşulan sonucu, toplu iş sınırının artık sabit bir istek sayısı olmamasıdır. Sınır bellektir: dikkat önbelleğinde yer kaldığı sürece istek kabul edilir. Bu yüzden sunum katmanı ayarı, ikinci dersteki jeton bütçesiyle aynı sayıya bakar.
Uygulamada: kuyruk kararları#
Sürekli toplu işlem yeni bir gerilim yaratır: uzun bir girdinin dolumu toplu işe girdiğinde, o adımda üretim yapan tüm isteklerin jetonu gecikir. Yeni gelen isteğin ilk jeton gecikmesi iyileşirken, koşan isteklerin jeton başına süresi sıçrar. Dolumu parçalara bölmek bu sıçramayı düzleştirir; dolum ve üretimi ayrı havuzlara almak ise gerilimi tamamen kaldırır ama dikkat önbelleğini havuzlar arasında taşımak gerekir. İkisi de bedelsiz değildir.
| Karar | Kazanç | Bedel |
|---|---|---|
| Sürekli toplu işlem | Boş kalan yuvalar dolar, verim artar | Aynı toplu işteki uzun istek, kısa isteklerin jeton hızını etkiler |
| Dolumu parçalama | Koşan isteklerin jeton hızı düzleşir | Uzun girdilerin ilk jeton gecikmesi uzar |
| Paylaşılan önek önbelleği | Ortak sistem isteminin dolumu bir kez yapılır | Önek değişirse önbellek tümden geçersizleşir; istem sürüm disiplini şart |
| Kabul denetimi | Üst yüzdelikler öngörülebilir kalır | Tavanın üstündeki istek reddedilir veya bekletilir; bu bir ürün kararıdır |
| Öncelik kuyruğu | Kritik trafiğin gecikmesi korunur | Düşük öncelikli trafik açlığa düşebilir; yaşlandırma kuralı gerekir |
İki ayrı yönlendirme#
Seyrek uzman mimarilerinde yönlendirme modelin içindedir: küçük bir yönlendirici her jeton için birkaç uzmanı seçer ve yalnızca onlar hesap yapar. Altyapı açısından sonucu şudur: kapasite planı toplam parametre sayısına göre yapılır, çünkü uzmanların tamamı bellekte durmak zorundadır; hız ise etkin parametre sayısına göre davranır. Ayrıca uzman yükü toplu işler arasında eşit dağılmadığında aynı istek farklı adımlarda farklı süre alabilir.
İstek yönlendirmesi ise sizin katmanınızdadır ve tamamen farklı bir problemdir: bir isteği hangi modele veya hangi yapılandırmaya göndereceğinize karar verirsiniz. Zorluk şurada: karar, cevap henüz yokken verilmek zorundadır. Bu yüzden yalnızca istek anında bilinen alanlar kullanılabilir ve kuralın yanıldığı durumlar için bir yükseltme yolu tanımlanmak zorundadır.
Karar: yönlendirme kuralı#
- 1Ayrışmayı gösterin
Trafiğin bir kısmı gerçekten kolaysa, kolay ve zor isteklerde iki yolun kalite farkı ölçülebilir olmalı. Ayrışma yoksa yönlendirme yalnızca karmaşıklık ekler.
- 2İstek anındaki alanlarla karar verin
Cevaba bakılarak verilen karar üretimde mevcut değildir. Girdi uzunluğu, istek tipi, şema talebi ve kullanıcı sınıfı gibi önceden bilinen alanlar kullanılır.
- 3Kabul denetimini kuralın içine koyun
Ucuz yolun çıktısı makineyle denetlenebilir bir ölçütten geçmiyorsa istek güçlü yola yükseltilir. Denetim yoksa kural bir kumardır.
- 4Yükseltme oranını ölçün
Yükseltme sık oluyorsa kural iki kez ödeme yaptırır: hem ucuz hem pahalı çağrı, üstüne ek gecikme. Eşik bu orana göre ayarlanır.
- 5Tek değerlendirme kümesinde izleyin
İki yol aynı görev kümesiyle ölçülür. Ayrı kümeler kullanılırsa kalite iki ayrı tanıma bölünür ve karşılaştırma imkânsızlaşır.
- Karmaşıklık borcu, bakımı gereken iki kalite tabanıyla başlar: her yol için ayrı gerileme takibi tutulur.
- Paylaşılan önek önbelleği yollar arasında parçalanır; önbellek isabeti düşerken dolum maliyeti geri gelir.
- Teşhis zorlaşır: aynı isteğin iki farklı yola gidebilmesi, şikâyetin hangi yoldan geldiğini bilmeden incelenmesini engeller.
- Geri alma birimi büyür: yönlendirme kuralı da dağıtım biriminin parçasıdır, tek başına değiştirilemez.
- Borç, yalnızca ölçülen kazanç bu kalemlerin toplamından büyükse alınır; kararın kaydı yazılı tutulur.
Sık yapılan hata#
En sık hata girdi uzunluğunu zorluk göstergesi saymak. Uzunluk, dolum maliyetini iyi kestirir ama zorluğu kestirmez: kısa bir istek çok adımlı akıl yürütme isteyebilir, uzun bir belge ise basit bir alan çıkarımından ibaret olabilir. İkinci hata yükseltme oranını hiç ölçmemek; ölçülmediğinde kural tasarruf ettiğini sanırken her iki yolu birlikte fatura ediyor olabilir.
LAB · UYGULAMALI ALIŞTIRMA
Yönlendirme kuralını kendi günlüğünüzde kuru çalıştırın
- 1Günlüğünüzden 100 istek seçin; her satırda yalnızca istek anında bilinen alanları bırakın: girdi uzunluğu, istek tipi, şema talebi, kullanıcı sınıfı.
- 2Aynı isteklerin kaydedilmiş cevaplarını okuyup her satıra elle tek bir etiket yazın: ucuz yol yeterliydi, ya da güçlü yol gerekliydi.
- 3Yalnızca istek anındaki alanları kullanan, en çok üç koşullu bir kural yazıp 100 satırın hepsinde çalıştırın.
- 4Kuralın kararını elle verdiğiniz etiketle karşılaştırın ve iki hata tipini ayrı sayın: gereksiz pahalı yol, yetersiz ucuz yol.
- 5Yetersiz ucuz yol satırlarında kabul denetimi ölçütünüzün bu çıktıyı yakalayıp yükseltebileceğini kontrol edin; yakalamayan satırları ayrı listeleyin.
- 6Girdi uzunluğunu tek ölçüt alan basit bir kuralı aynı 100 satırda koşturup kendi kuralınızla karşılaştırın.
Beklenen çıktı
Kendi günlüğünüz üzerinde iki hata tipi ayrı sayılmış bir yönlendirme kuralı ve uzunluk temelli basit kurala göre nerede kazandığının kaydı.
Sık sorulan sorular
Seyrek uzman mimarisi kullanıyorsam istek yönlendirmeye gerek kalmaz mı?
İkisi farklı katmanlardır ve biri diğerinin yerine geçmez. Uzman yönlendirmesi jeton başına hesabı düşürür ama tüm uzmanların bellekte durmasını gerektirir, yani bellek tarafında pahalıdır. İstek yönlendirmesi ise hangi modele gidileceğine karar verir ve tamamen sizin kontrolünüzdedir.
Toplu iş büyüklüğünü neden sabit bir sayı olarak ayarlamıyoruz?
Çünkü sürekli toplu işlemde gerçek sınır bellektir: dikkat önbelleğinde yer kalmadığında yeni istek alınamaz. Sabit bir istek sayısı kısa isteklerde belleği boş bırakır, uzun isteklerde tavanı aşar. Sınırı jeton bütçesi cinsinden koymak hem daha doğru hem daha kararlıdır.
Paylaşılan önek önbelleği her zaman kazandırır mı?
Önek gerçekten uzun ve gerçekten değişmiyorsa kazandırır. İstemin başına kullanıcı adı, zaman damgası veya oturum kimliği gibi değişken bir alan eklemek öneki her istekte farklılaştırır ve önbelleği işlevsiz bırakır. Değişken alanlar isteme mümkün olan en geç noktada yerleştirilir.
LEARN
AI Altyapı Mühendisi rotasına devam et
Dersler tek başına da okunabilir, ama sıralı ilerlemek önkoşul boşluklarını kapatır.
