Как измерять латентность LLM с помощью TTFT, TPOT и P99

Автоматический перевод

Эта статья была автоматически переведена с оригинальной английской версии.

Время до первого токена, или TTFT, показывает, сколько запрос ждёт первого сгенерированного токена. Время на выходной токен, или TPOT, показывает средний интервал между последующими токенами. Измеряйте оба показателя: сервер может быстро начать ответ и медленно генерировать дальше или заставить пользователей ждать, а затем быстро передавать ответ потоком.

При сравнении серверов инженеры должны использовать одинаковые моменты начала и окончания замеров и указывать латентность с учётом длины промпта, длины ответа и нагрузки.

Рассчитывайте показатели для каждого запроса отдельно

Записывайте время отправки запроса, время генерации первого токена, время генерации последнего токена и число выходных токенов. Для ответа как минимум из двух токенов:

TTFT = first_token_time - request_start_time
TPOT = (last_token_time - first_token_time) / (output_tokens - 1)

Если запрос отправлен в 0 секунд, первый токен приходит в 0.3 секунды, а двадцатый — в 1.25 секунды, TTFT составляет 300 ms, а средний TPOT — 50 ms. Для ответа из одного токена TPOT не определён.

TTFT, наблюдаемый клиентом, может включать сетевой обмен, ожидание в очереди, токенизацию и префилл. Замер времени префилла на сервере исключает несколько из этих составляющих. Подписывайте оба замера, а не сравнивайте их как равнозначные. Проход префилла обычно даёт логиты, из которых генерируется первый токен; см. описание фаз инференса в Splitwise.

Изучайте распределение латентности

P50 — медиана латентности запросов. P99 — значение, ниже которого находятся 99% измеренных запросов. Рассчитывайте перцентили по замерам отдельных запросов. Усреднение всех интервалов между токенами по всем запросам придаёт больший вес длинным ответам и отвечает на другой вопрос.

Средний TPOT также скрывает паузы между отдельными токенами. При диагностике остановок потоковой передачи записывайте каждый интервал между токенами. Один HTTP-фрагмент может содержать несколько токенов, поэтому интервалы между поступлением фрагментов сами по себе не дают точных временных характеристик генерации токенов.

В качестве исторического ориентира MLPerf Inference v5.0 задавал P99 TTFT в 450 ms и P99 TPOT в 40 ms для своего интерактивного бенчмарка Llama 2 Chat 70B. Эти ограничения определяют именно этот бенчмарк. Выбирайте целевые показатели продукта по результатам тестов с пользователями, а затем указывайте, при какой подаваемой нагрузке сервер их выполняет.

Инженерное руководство: TTFT, TPOT и перцентили связывает эти замеры с очередями и фазами инференса.