vLLM: как читать метрики и не обмануть себя бенчмарком
Как читать метрики vLLM: decoding throughput, p95 latency, TTFT, время запуска. Типичные ошибки бенчмарка и как не обмануть себя. vLLM тюнинг на реальных цифрах.
Проблема
«Мы прогнали бенчмарк и vLLM показывает 400 tok/s» — звучит убедительно, но за этим числом легко спрятать проблему. Бенчмарк LLM-инференса — это не одно число. Если читать только «средний throughput», можно принять решение о закупке железа или выборе модели, которое потом не окупится.
Какие метрики считать
- Decoding throughput (tok/s) — скорость генерации. Но важно: при каком batch size и какой длине контекста. 400 tok/s при batch=1 и коротком промпте — не то же, что при batch=64.
- TTFT (time to first token) — время до первого токена. Для чата это то, что видит пользователь первым.
- p95 / p99 latency — не среднее, а хвост. Среднее скрывает «зависания», которые убивают пользовательский опыт.
- Время холодного запуска — как долго модель «просыпается». Критично для scale-to-zero и serverless-сценариев.
- Стоимость токена — throughput, делённый на стоимость железа/облака. Это та метрика, ради которой всё и делается.
Типичные ошибки
- Одно число вместо набора. «400 tok/s» без batch size и длины контекста — не информация.
- Синтетическая нагрузка вместо реальной. Равномерные промпты фиксированной длины не отражают реальный трафик.
- Сравнение разных моделей в разных квантизациях. FP16 против INT4 — честное сравнение только при сопоставимом качестве.
- Забытый холодный старт. Замерили «тёплое» состояние и сделали вид, что запуска нет.
Вывод
Читайте метрики vLLM как набор, а не как одно число: throughput при вашем batch size, TTFT, p95, время запуска, стоимость токена. Снимайте «до» и «после» на одной нагрузке. Только тогда тюнинг — это число, а не впечатление.
Хотите так же?
Расскажите о задаче — ответим с планом и оценкой в течение 2 рабочих дней.
Обсудить задачу