Czym jest Opóźnienie (TTFT, TTLT)?
Opóźnienie, zwane także latencją, opisuje czas, który upływa pomiędzy wysłaniem zapytania do modelu językowego a otrzymaniem pierwszej lub ostatniej porcji odpowiedzi. W inżynierii promptów wyróżnia się dwa najważniejsze pomiary. Time to First Token (TTFT) oznacza okres od momentu przesłania żądania do chwili, gdy serwer zwróci pierwszy token odpowiedzi. Time to Last Token (TTLT) obejmuje cały czas przetwarzania od wysłania zapytania aż do wygenerowania ostatniego tokenu i zakończenia strumieniowania odpowiedzi. Oba parametry mają kluczowe znaczenie dla komfortu użytkownika, kosztów obliczeniowych oraz projektowania architektury systemów opartych na dużych modelach językowych.
Jak dokładnie działa Opóźnienie (TTFT, TTLT)
Proces generowania odpowiedzi można podzielić na kilka etapów, które razem determinują latencję. Po otrzymaniu zapytania serwer dekoduje i wstępnie przetwarza komunikat, następnie model przelicza reprezentację wektorową wejścia w warstwach transformera. Dopiero po tej części inference możliwe jest wygenerowanie pierwszego tokenu, co wyznacza koniec TTFT. Kolejne tokeny powstają iteracyjnie w pętli samouzupełniania, a każda dodatkowa iteracja wydłuża TTLT. Wydajność obliczeń zależy od rozmiaru modelu, długości kontekstu, parametrów beam search lub temperatury, jak również od infrastruktury sprzętowej oraz sposobu równoległego przetwarzania zapytań.
Time to First Token
Ten wskaźnik bywa krytyczny w aplikacjach konwersacyjnych. Nawet jeśli pełna odpowiedź zostanie dobudowana później, szybkie pojawienie się pierwszego tokenu daje poczucie natychmiastowej reakcji systemu i obniża postrzegane opóźnienie.
Time to Last Token
TTLT określa całkowity czas oczekiwania na zakończenie generacji. W raportach SLA zwykle to on decyduje o kosztach utrzymania infrastruktury, ponieważ bezpośrednio przekłada się na długość zajętości zasobów GPU.
Kontekst historyczny
Zagadnienie latencji towarzyszy systemom interaktywnym od lat 70., jednak nową wagę zyskało w 2017 roku, kiedy badacze Google zaprezentowali architekturę Transformer. Modele oparte na mechanizmie uwagi wymagały znacznie więcej pamięci, ale równoległość obliczeń na etapie enkodowania pozwoliła skrócić TTFT. W 2020 roku OpenAI zademonstrowało GPT-3, którego 175 miliardów parametrów pokazało, że rosnąca złożoność radykalnie podnosi koszty utrzymywania niskiej latencji. Od tego czasu laboratoria, takie jak DeepMind czy Anthropic, rozwijają techniki kompresji wag i strumieniowania tokenów, aby utrzymać TTFT na poziomie akceptowalnym dla użytkownika.
Zastosowania w praktyce
Niskie opóźnienie jest niezbędne w czatach obsługujących klientów, systemach tłumaczenia symultanicznego oraz narzędziach do programowania, które w tle analizują kod i podpowiadają kolejne linie. W tych scenariuszach TTFT poniżej 500 ms bywa równie ważne, jak poprawność merytoryczna. Tymczasem TTLT determinuje płynność dyktowania tekstu w edytorach głosowych czy prędkość generowania dokumentów.
Zalety i ograniczenia
Precyzyjny pomiar TTFT i TTLT ułatwia inżynierom optymalizację kosztów, pozwala porównać modele o różnym rozmiarze oraz dobrać odpowiednią liczbę maszyn w klastrze. Należy jednak pamiętać, że agresywne skracanie latencji przez redukcję parametrów lub zastosowanie nadmiernej kompresji może pogorszyć jakość generowanej treści. Również sama metryka nie wyjaśnia, jak stabilne są odpowiedzi przy dużym obciążeniu, dlatego konieczne jest łączenie jej z obserwacją zużycia pamięci i energii.
Na co uważać?
Projektując system, który ma niską latencję, warto zwrócić uwagę na kolejkę zapytań, ponieważ kumulacja ruchu potrafi wydłużyć TTFT nawet przy szybkim pojedynczym inference. Trzeba także uwzględnić wpływ długości promptu – przy długich dokumentach samo wczytanie i zserializowanie danych może zdominować pomiar. Użytkownik najczęściej ocenia przerwy powyżej 1 sekundy jako irytujące, dlatego opóźnienia należy mierzyć w kontekście doświadczenia końcowego, a nie tylko w laboratorium.
Dodatkowe źródła
Więcej szczegółów można znaleźć w artykule „Attention Is All You Need” dostępnym na arXiv, w sekcji Latency (engineering) Wikipedii oraz w analizie porównawczej modeli GPT-3 opublikowanej przez Brown i in. 2020. Praktyczne wskazówki dotyczące redukcji TTFT można znaleźć w notatkach firmowych Google Cloud na temat optymalizacji TPU, a także w przewodniku OpenAI „Best Practices for Deploying GPT-4”.
Częste pytania
Jakie są różnice między TTFT a TTLT?
TTFT, czyli Time to First Token, mierzy czas od wysłania zapytania do momentu otrzymania pierwszego tokenu odpowiedzi, natomiast TTLT, czyli Time to Last Token, obejmuje cały czas przetwarzania aż do wygenerowania ostatniego tokenu. Oba wskaźniki są kluczowe dla komfortu użytkownika i kosztów obliczeniowych.
Dlaczego TTFT jest ważne w aplikacjach konwersacyjnych?
TTFT jest krytyczny w aplikacjach konwersacyjnych, ponieważ szybkie pojawienie się pierwszego tokenu daje użytkownikowi poczucie natychmiastowej reakcji systemu. Nawet jeśli pełna odpowiedź jest generowana później, wczesne dostarczenie pierwszego tokenu obniża postrzegane opóźnienie.
Kiedy latencja stała się istotnym zagadnieniem w systemach interaktywnych?
Zagadnienie latencji zyskało nową wagę w 2017 roku, kiedy badacze Google zaprezentowali architekturę Transformer, która umożliwiła skrócenie TTFT dzięki równoległości obliczeń. Od tego czasu, złożoność modeli, takich jak GPT-3, znacząco wpłynęła na koszty utrzymywania niskiej latencji.
Jakie czynniki wpływają na wydajność TTFT i TTLT?
Wydajność TTFT i TTLT zależy od wielu czynników, takich jak rozmiar modelu, długość kontekstu, parametry beam search, temperatura oraz infrastruktura sprzętowa. Dodatkowo, sposób równoległego przetwarzania zapytań również ma znaczenie dla latencji.
Na co zwrócić uwagę przy projektowaniu systemu o niskiej latencji?
Projektując system o niskiej latencji, warto zwrócić uwagę na kolejkę zapytań, ponieważ kumulacja ruchu może wydłużyć TTFT. Należy również uwzględnić długość promptu, gdyż długie dokumenty mogą dominować pomiar latencji.



