Karta obsługująca jedną rozmowę w fazie generowania pracuje na dwóch procentach mocy. Dziewięćdziesiąt osiem procent sprzętu za dziesiątki tysięcy dolarów stoi i czeka, aż wagi przepłyną z pamięci do rdzeni. Żaden model biznesowy tego nie udźwignie.
Czym jest batching ciągły
Batching ciągły to technika serwowania modeli, w której wiele niezależnych rozmów jest przetwarzanych równolegle przez ten sam silnik, dzieląc jeden odczyt wag z pamięci. W odróżnieniu od batchingu statycznego, żądania mogą dołączać do partii i opuszczać ją w trakcie przetwarzania, bez czekania, aż wszystkie zakończą generowanie.
Dlaczego to działa
Wagi odczytane z pamięci są te same dla wszystkich. Skoro wąskim gardłem przy generowaniu jest odczyt, a nie liczenie, to jeden odczyt może obsłużyć dwieście rozmów zamiast jednej — przy niemal niezmienionym czasie. Rdzenie, które i tak stały bezczynnie, dostają pracę.
To jest cała ekonomia serwowania modeli w jednym zdaniu.
Co z tego wynika dla ciebie
Kolejka istnieje, bo trzeba poczekać na skompletowanie partii albo na zwolnienie miejsca w trwającej.
Czas odpowiedzi się waha, bo partia bywa raz pełna, raz prawie pusta, a ty nie masz wglądu w to, ilu innych użytkowników akurat pisze.
Limity tokenów na minutę istnieją, bo miejsce w partii jest skończone, a zajmuje je nie twoje ostatnie zdanie, tylko cały kontekst przesyłany od nowa.
Długie konteksty są droższe, bo pamięć podręczna twojej rozmowy blokuje miejsce, którego nie da się oddać nikomu innemu — i to ona, a nie wagi, ogranicza liczbę rozmów mieszczących się w jednej karcie.
Ograniczenie
Batching poprawia przepustowość systemu kosztem czasu do pierwszego tokena pojedynczego użytkownika. Dostawcy balansują te dwie wielkości i różnią się w tym wyborze — co jest jednym z niewielu realnych kryteriów różnicujących oferty tego samego modelu.