Практика LLM

Как измерять скорость локального инференса

Практический разбор темы «как измерять скорость локального инференса»: как сравнивать задержку первого токена, генерацию и пропускную способность и применить это в рабочем продукте.

LLM 9 мин
Схема к материалу «Как измерять скорость локального инференса»
Содержание статьи

Тема «замер локального инференса» отвечает на решение: какие метрики и профиль нагрузки превращают случайный замер tokens per second в воспроизводимый benchmark. Практика «замер локального инференса» помогает измерять локальный инференс так, чтобы результат описывал пользовательский сценарий и позволял сравнивать изменения.

vLLM публикует benchmark-инструменты и метрики TTFT, TPOT, inter-token latency, throughput и end-to-end latency. основание

В материале «замер локального инференса» факт, локальный замер и гипотеза разделяются. Факт «замер локального инференса» получает источник. Замер «замер локального инференса» получает версию. Гипотеза «замер локального инференса» получает отдельную проверку.

MLPerf Inference создан для архитектурно нейтральных и воспроизводимых измерений систем инференса. основание

Задача и границы решения

Решение «замер локального инференса» формулируется через вопрос «какие метрики и профиль нагрузки превращают случайный замер tokens per second в воспроизводимый benchmark». Такой вопрос удерживает тему «замер локального инференса» возле проверяемого результата.

Компонент «время до первого токена» задаёт первый вход темы «замер локального инференса». Для «время до первого токена» команда фиксирует источник, владельца и дату.

Компонент «время на выходной токен» задаёт точку сравнения темы «замер локального инференса». Изменение «время на выходной токен» требует нового вывода по теме «замер локального инференса».

Компонент «полная задержка» отделяет факт темы «замер локального инференса» от предположения. Для «полная задержка» гипотеза хранится рядом с проверкой.

Граница темы «замер локального инференса» проходит возле отраслевого решения. Метод «замер локального инференса» организует данные, но профильный специалист сохраняет полномочия.

Кэширование прошлых ключей и значений уменьшает повторные вычисления при авторегрессионной генерации. основание

Состав рабочего контура

Компонент 1: время до первого токена. Тема «замер локального инференса» связывает «время до первого токена» с действием «повторить при целевой конкуренции». Критерий «качество проверяется отдельно от скорости» проверяет «время до первого токена»; риск «сравнение разных выходных длин» блокирует вывод.

Компонент 2: время на выходной токен. Тема «замер локального инференса» связывает «время на выходной токен» с действием «сохранить перцентили и ошибки». Критерий «конфигурация benchmark сохранена» проверяет «время на выходной токен»; риск «один короткий промпт» блокирует вывод.

Компонент 3: полная задержка. Тема «замер локального инференса» связывает «полная задержка» с действием «зафиксировать аппаратную и программную версию». Критерий «отчёт содержит медиану и хвостовые перцентили» проверяет «полная задержка»; риск «смешение холодного старта и прогрева» блокирует вывод.

Компонент 4: пропускная способность. Тема «замер локального инференса» связывает «пропускная способность» с действием «прогреть модель». Критерий «входные и выходные длины известны» проверяет «пропускная способность»; риск «только среднее значение» блокирует вывод.

Компонент 5: длина входа и ответа. Тема «замер локального инференса» связывает «длина входа и ответа» с действием «подготовить распределение длин». Критерий «ошибки учитываются в результате» проверяет «длина входа и ответа»; риск «игнорирование неуспешных запросов» блокирует вывод.

Компонент 6: число параллельных запросов. Тема «замер локального инференса» связывает «число параллельных запросов» с действием «запустить одиночный режим». Критерий «нагрузка похожа на рабочую» проверяет «число параллельных запросов»; риск «сравнение разных выходных длин» блокирует вывод.

Порядок работы

Шаг 1: зафиксировать аппаратную и программную версию. В теме «замер локального инференса» действие «зафиксировать аппаратную и программную версию» изменяет «длина входа и ответа». Критерий «конфигурация benchmark сохранена» проверяет результат; ошибка «один короткий промпт» останавливает переход.

Шаг 2: прогреть модель. В теме «замер локального инференса» действие «прогреть модель» изменяет «число параллельных запросов». Критерий «отчёт содержит медиану и хвостовые перцентили» проверяет результат; ошибка «смешение холодного старта и прогрева» останавливает переход.

Шаг 3: подготовить распределение длин. В теме «замер локального инференса» действие «подготовить распределение длин» изменяет «время до первого токена». Критерий «входные и выходные длины известны» проверяет результат; ошибка «только среднее значение» останавливает переход.

Шаг 4: запустить одиночный режим. В теме «замер локального инференса» действие «запустить одиночный режим» изменяет «время на выходной токен». Критерий «ошибки учитываются в результате» проверяет результат; ошибка «игнорирование неуспешных запросов» останавливает переход.

Шаг 5: повторить при целевой конкуренции. В теме «замер локального инференса» действие «повторить при целевой конкуренции» изменяет «полная задержка». Критерий «нагрузка похожа на рабочую» проверяет результат; ошибка «сравнение разных выходных длин» останавливает переход.

Шаг 6: сохранить перцентили и ошибки. В теме «замер локального инференса» действие «сохранить перцентили и ошибки» изменяет «пропускная способность». Критерий «качество проверяется отдельно от скорости» проверяет результат; ошибка «один короткий промпт» останавливает переход.

Типовые ошибки и диагностика

Ошибка 1: один короткий промпт. В теме «замер локального инференса» ошибка «один короткий промпт» искажает «время до первого токена». Действие «подготовить распределение длин» проверяет исправление по критерию «ошибки учитываются в результате».

Ошибка 2: смешение холодного старта и прогрева. В теме «замер локального инференса» ошибка «смешение холодного старта и прогрева» искажает «полная задержка». Действие «запустить одиночный режим» проверяет исправление по критерию «нагрузка похожа на рабочую».

Ошибка 3: только среднее значение. В теме «замер локального инференса» ошибка «только среднее значение» искажает «длина входа и ответа». Действие «повторить при целевой конкуренции» проверяет исправление по критерию «качество проверяется отдельно от скорости».

Ошибка 4: игнорирование неуспешных запросов. В теме «замер локального инференса» ошибка «игнорирование неуспешных запросов» искажает «время до первого токена». Действие «сохранить перцентили и ошибки» проверяет исправление по критерию «конфигурация benchmark сохранена».

Ошибка 5: сравнение разных выходных длин. В теме «замер локального инференса» ошибка «сравнение разных выходных длин» искажает «полная задержка». Действие «зафиксировать аппаратную и программную версию» проверяет исправление по критерию «отчёт содержит медиану и хвостовые перцентили».

Практический пример

Практический сценарий «замер локального инференса»: Команда измеряет локальный API на 200 запросах: половина содержит короткие вопросы, четверть — длинные документы, остальные имитируют параллельную работу трёх пользователей.

Этап 1 сценария «замер локального инференса» связывает «время до первого токена» и действие «зафиксировать аппаратную и программную версию». Критерий «конфигурация benchmark сохранена» оценивает этап; риск «один короткий промпт» остаётся блокером.

Этап 2 сценария «замер локального инференса» связывает «время на выходной токен» и действие «прогреть модель». Критерий «отчёт содержит медиану и хвостовые перцентили» оценивает этап; риск «смешение холодного старта и прогрева» остаётся блокером.

Этап 3 сценария «замер локального инференса» связывает «полная задержка» и действие «подготовить распределение длин». Критерий «входные и выходные длины известны» оценивает этап; риск «только среднее значение» остаётся блокером.

Этап 4 сценария «замер локального инференса» связывает «пропускная способность» и действие «запустить одиночный режим». Критерий «ошибки учитываются в результате» оценивает этап; риск «игнорирование неуспешных запросов» остаётся блокером.

Этап 5 сценария «замер локального инференса» связывает «длина входа и ответа» и действие «повторить при целевой конкуренции». Критерий «нагрузка похожа на рабочую» оценивает этап; риск «сравнение разных выходных длин» остаётся блокером.

Финальная запись «замер локального инференса» объединяет «число параллельных запросов», критерий «качество проверяется отдельно от скорости» и риск «сравнение разных выходных длин». Изменение «число параллельных запросов» переводит вывод «замер локального инференса» в исторический статус.

Критерии качества

Критерии темы «замер локального инференса» оцениваются раздельно. Средний балл «замер локального инференса» не отменяет критический дефект.

Критерий 1: конфигурация benchmark сохранена. В теме «замер локального инференса» признак относится к «число параллельных запросов». Действие «зафиксировать аппаратную и программную версию» подтверждает его; риск «только среднее значение» проверяется отдельно.

Критерий 2: отчёт содержит медиану и хвостовые перцентили. В теме «замер локального инференса» признак относится к «время до первого токена». Действие «подготовить распределение длин» подтверждает его; риск «игнорирование неуспешных запросов» проверяется отдельно.

Критерий 3: входные и выходные длины известны. В теме «замер локального инференса» признак относится к «время на выходной токен». Действие «повторить при целевой конкуренции» подтверждает его; риск «сравнение разных выходных длин» проверяется отдельно.

Критерий 4: ошибки учитываются в результате. В теме «замер локального инференса» признак относится к «полная задержка». Действие «зафиксировать аппаратную и программную версию» подтверждает его; риск «один короткий промпт» проверяется отдельно.

Критерий 5: нагрузка похожа на рабочую. В теме «замер локального инференса» признак относится к «пропускная способность». Действие «подготовить распределение длин» подтверждает его; риск «смешение холодного старта и прогрева» проверяется отдельно.

Критерий 6: качество проверяется отдельно от скорости. В теме «замер локального инференса» признак относится к «длина входа и ответа». Действие «повторить при целевой конкуренции» подтверждает его; риск «только среднее значение» проверяется отдельно.

OpenTelemetry определяет общие атрибуты для модели, параметров запроса, причин завершения и времени первого фрагмента ответа. основание

Ограничения применимости

Ограничения темы «замер локального инференса» публикуются вместе с выводом. Контекст «замер локального инференса» определяет допустимый перенос результата.

Ограничение 1: температура и sampling меняют длину ответа. Ограничение «замер локального инференса» относится к «пропускная способность». Перенос темы «замер локального инференса» требует повторить действие «повторить при целевой конкуренции».

Ограничение 2: первый запуск включает загрузку весов. Ограничение «замер локального инференса» относится к «длина входа и ответа». Перенос темы «замер локального инференса» требует повторить действие «сохранить перцентили и ошибки».

Ограничение 3: параллельность может улучшить throughput и ухудшить latency. Ограничение «замер локального инференса» относится к «число параллельных запросов». Перенос темы «замер локального инференса» требует повторить действие «зафиксировать аппаратную и программную версию».

Ограничение 4: драйверы влияют на сравнимость. Ограничение «замер локального инференса» относится к «время до первого токена». Перенос темы «замер локального инференса» требует повторить действие «прогреть модель».

Ограничение 5: синтетическая нагрузка не воспроизводит поведение пользователей полностью. Ограничение «замер локального инференса» относится к «время на выходной токен». Перенос темы «замер локального инференса» требует повторить действие «подготовить распределение длин».

Вывод

Тема «замер локального инференса» связывает решение «какие метрики и профиль нагрузки превращают случайный замер tokens per second в воспроизводимый benchmark» с проверяемым результатом. Комплект «замер локального инференса» содержит вход, версию, отклонения и дату.

Критерий «конфигурация benchmark сохранена» направляет следующий шаг темы «замер локального инференса». Риск «сравнение разных выходных длин» остаётся видимым после решения «замер локального инференса».

Практика «замер локального инференса» автоматизирует повторяемое измерение. Ответственный человек подтверждает границы «замер локального инференса» при неполных данных или высокой цене ошибки.

Источники

  1. Benchmark CLI vLLM · проверено 12 июля 2026 г.
  2. MLPerf Inference Benchmark Suite MLCommons · проверено 12 июля 2026 г.
  3. Caching Hugging Face · проверено 12 июля 2026 г.
  4. Generative AI attributes OpenTelemetry · проверено 12 июля 2026 г.