Średnie opóźnienia mogą wyglądać dobrze, podczas gdy interaktywna sztuczna inteligencja działa wolno, ponieważ rzadkie, długie oczekiwania i sekwencyjne przerwy dominują w przebiegu interakcji, które użytkownicy zapamiętują.
Dziewięć lokalnych promptów może rozpocząć się w ciągu 300 milisekund, podczas gdy dziesiąty czeka pięć sekund na załadowanie modelu lub narzędzia. Średnia nadal pozostaje poniżej jednej sekundy, a mimo to rozmowa wielokrotnie sprawia wrażenie przerwanej. Jakość interakcji zależy od rozkładu i kolejności opóźnień, a nie od jednej wartości centralnej obliczonej dla niezwiązanych ze sobą typów żądań dotyczących konkretnej interakcji, którą użytkownik zapamiętuje.
Średnia ukrywa kształt rozkładu opóźnień
Średnia arytmetyczna łączy wszystkie żądania w jedną liczbę. Kilka bardzo wolnych interakcji może zostać rozmytych przez wiele trafień z pamięci podręcznej lub krótkich promptów. Percentyle pokazują, jak często użytkownicy przekraczają określony próg opóźnienia, choć nawet p95 może ukrywać najgorszy jeden procent.
Ogon opóźnień wyjaśnia, że niewielka część wolnych komponentów może dominować nad opóźnieniem całego żądania w systemach typu fan-out. Interaktywna sztuczna inteligencja podobnie czeka na najwolniejszy wymagany etap.
Znaczenie ma również mieszanka obciążeń. Kontrole stanu i wywołania korzystające z pamięci podręcznej nie powinny być uwzględniane w tej samej średniej opóźnień co interakcje głosowe, wyszukiwanie RAG lub działania narzędzi. Niska wartość zbiorcza może być matematycznie poprawna, a operacyjnie nieistotna.
Użytkownicy doświadczają punktów etapowych i przestojów, a nie tylko zakończenia
Interakcja na czacie ma kilka zegarów: oczekiwanie w kolejce, wyszukiwanie, czas do pierwszego tokenu, tempo generowania tokenów, oczekiwanie na narzędzie i pełne zakończenie. Krótki całkowity czas z długim początkowym milczeniem może wydawać się gorszy niż nieco dłuższa odpowiedź, która zaczyna się szybko i jest równomiernie przesyłana strumieniowo.
Analiza opóźnień rozróżnia czas do pierwszego tokenu od czasu pełnej odpowiedzi, ponieważ miary te reprezentują różne elementy działania modelu. Obie są potrzebne do opisania interaktywnej wymiany.
Znaczenie ma również kolejność widocznych przerw. Przestój narzędzia po wygenerowaniu kilku tokenów przerywa uwagę inaczej niż takie samo oczekiwanie przed pierwszym tokenem. Średnia obliczona dla wszystkich faz usuwa tę strukturę interakcji i kieruje optymalizację do niewłaściwego komponentu.
Kiedy percentyle nadal wprowadzają w błąd
Percentyle zawodzą, gdy narzędzie pomiarowe przestaje wysyłać pracę podczas przestojów, próbuje mierzyć wyłącznie ukończone żądania lub agreguje niezwiązane ze sobą przedziały czasowe. To skoordynowane pomijanie może zaniżać dokładnie te opóźnienia, których użytkownicy doświadczają pod obciążeniem.
Omówienie skoordynowanego pomijania autorstwa Gila Tene’a pokazuje, dlaczego testy obciążeniowe muszą zachowywać zamierzony harmonogram żądań, zamiast spowalniać ich wysyłanie, gdy system zwalnia. W przeciwnym razie rozkłady opóźnień wyglądają sztucznie dobrze.
Wyjaśnienie dotyczące ogona opóźnień przestaje również mieć zastosowanie, jeśli ślad każdej fazy jest szybki, a użytkownicy nadal zgłaszają powolne działanie. Renderowanie interfejsu, buforowanie sieci lub opóźnione informacje zwrotne mogą znajdować się poza mierzoną granicą serwera. Więcej pulpitów z percentylami nie pomoże, gdy zegar zaczyna działać zbyt późno lub zatrzymuje się zbyt wcześnie.
Śledź punkty etapowe, na które użytkownicy rzeczywiście czekają
Rejestruj dodanie do kolejki, rozpoczęcie wykonywania, zakończenie wyszukiwania, pierwszy token, każde wywołanie narzędzia, ostatni token i renderowanie po stronie klienta, używając jednego monotonicznego identyfikatora śledzenia. Raportuj p50, p95, p99, maksimum oraz współczynnik przekroczeń progów według typu interakcji i stanu zimnego lub ciepłego.
Używaj śladów zimnych startów AI, aby oddzielić ładowanie na zimno od wnioskowania w stanie ustalonym. Zachowuj w zbiorze danych nieudane i anulowane interakcje, zamiast wykluczać czas ich oczekiwania.
Odtwarzaj żądania według stałego, zamierzonego harmonogramu i porównuj punkty etapowe widoczne dla klienta z tymi widocznymi dla serwera. Optymalizuj fazę odpowiedzialną za wysokie percentyle opóźnień. Jeśli ślady serwera i klienta się rozchodzą, przeanalizuj transport i renderowanie; jeśli skoki dotyczą wyłącznie interakcji na zimno, zajmij się ładowaniem, a nie generowaniem w stanie ustalonym.
Centrum Technologii i Sztucznej Inteligencji
Więcej do przeczytania

Dlaczego ciepło generowane przez lokalną sztuczną inteligencję odczuwa się inaczej na otwartej półce niż w zamkniętej szafce?
Śledź wytwarzanie ciepła, wymianę powietrza i recyrkulację w przypadku instalacji otwartych i zamkniętych, a następnie zmierz zmienne, które je od siebie odróżniają.

Dlaczego serwer domowy wydaje się cichszy w nocy, nawet przy tej samej prędkości wentylatora?
Zrozum, dlaczego niezmieniona prędkość wentylatora nie gwarantuje niezmiennej głośności odbieranej przez człowieka oraz jak odróżnić maskowanie, warunki panujące w pomieszczeniu i rzeczywistą zmianę akustyczną.

Dlaczego zdeduplikowane kopie zapasowe wyglądają na mniejsze niż zajmowane miejsce po przywróceniu?
Dowiedz się, jak deduplikacja zmienia liczbę przechowywanych bajtów, ale nie zmienia przywróconego znaczenia, dlaczego pliki rzadkie i skompresowane komplikują obliczanie sum oraz jak dobrać...

