Метрики инференса vLLM: от TTFT и TPOT к KV Cache и Goodput
Руководство по использованию метрик vLLM Prometheus: коэффициенты успеха, процентильные значения задержек, соотношение ввода/вывода токенов, прерывания обработки, предзаполнение данных по чанкам, DPD и параметр принятия спекулятивной декодировки.
Источники: A Deep Dive into vLLM Inference Metrics
Обслуживание крупных языковых моделей не сталкивается с теми же проблемами наблюдаемости, что и обслуживание безсостоянийных микросервисов. Доля использования CPU и среднее время задержки запроса являются слабыми показателями в ситуации, когда поведение системы определяется механизмами внимания, непрерывной группировки запросов и емкостью HBM. Акцент в производственной среде сместился от простого объема обработки токенов к goodput — успешному выполнению задач в рамках строгих показателей качества.
В этом руководстве подробно рассматриваются основные показатели движка vLLM, которые следует отображать на панелях Grafana: счетчики надежности, гистограммы задержек, характеристики использования токенов, динамика KV-кэша, нагрузка на шедулер, а также параметры топологии, которые становятся видимыми только при правильном сборе телеметрии.
Краткое описание статистик и состояния системы
Системы LLM часто выходят из строя незаметно — с ухудшившимися результатами генерации и скрытыми причинами прерывания — а не с явными ошибками HTTP. Поэтому для оценки состояния необходимы семантические причины завершения работы, а не только коды статуса.
Уровень успеха и распределение причин завершения
Уровень успеха определяется количеством успешно завершенных запросов среди всех обработанных за определённый период. В vLLM это означает анализ того, как завершился цикл генерации, а не просто подсчёт кодов 200 OK. Системы с хорошим состоянием обычно демонстрируют уровень успеха 99,5% и выше; постоянное снижение до уровня ниже 98% является признаком критической ситуации.
Счётчик — vllm:request_success_total, маркируемый параметром finished_reason:
- Stop — естественное завершение или указанная строка для остановки. Считается настоящим успехом.
- Length — прерывание из-за достижения максимального объёма контекста или количества генерируемых символов.
- Abort — разрыв соединения с клиентом или внутреннее прерывание работы.
Хронические завершения с длительностью ответа часто означают, что модель затягивает выполнение задачи, или же параметры max_model_len / ограничения на генерацию слишком строги для данного стиля запроса. Типичная формулировка в PromQL — это отношение количества завершений по причине остановки к общему количеству завершений в пятиминутном окне.
Пропускная способность против сходимости к успеху
Отобразите общую пропускную способность запросов рядом с количеством успешно завершенных задач. При нормальной нагрузке кривые должны следовать друг за другом. Увеличение разницы между ними указывает на то, что GPU тратит ресурсы на работы, которые так и не приводят к успеху — из-за тайм-аутов (прерываний) или превышения лимита длины ответа. Во время тестов на нагрузку большие различия свидетельствуют о снижении эффективности обработки или о генерациях, которые не прекращаются из-за приближения к лимиту длины.
Сбор мусора в Python и память процесса
Большая часть критически важных операций выполняется на языках CUDA/C++, но организация работы всё равно осуществляется на Python. Отслеживайте количество операций сбора мусора вместе с общим объемом памяти, занимаемой процессом.
Частые вызовы сборки мусора вносят флуктуации в временные интервалы между токенами. Постоянно растущее значение RSS указывает на утечки памяти в механизмах связей и в конечном итоге приводит к активации механизма уничтожения процессов из-за нехватки памяти. Поды могут казаться «в порядке» с точки зрения использования CPU, будь то в состоянии покоя или активной работы; именно в неуправляемых пулах памяти происходит тихая гибель системы.
Количественная оценка задержек и пользовательского опыта
Задержки при генерации имеют длинный хвост распределения. Средние значения скрывают проблемы; обязательно используются показатели P50/P90/P99 и другие аналогичные.
Задержка запроса от начала до конца
Время от начала до получения последнего токена включает всю последовательность действий. В библиотеке vLLM показатель vllm:e2e_request_latency_seconds представлен в виде гистограммы. Для расчета квантил используется функция histogram_quantile() с линейной интерполяцией внутри каждого интервала. Резкие скачки показателя P99 часто означают, что механизм непрерывной обработки запросов не может правильно синхронизировать их прибытие — пора проверить настройки планировщика и уровень нагрузки на кэш.
P99 времени до получения первого токена (TTFT)
TTFT — это показатель интерактивности. Рекомендации по HCI предусматривают время отклика менее одной секунды, чтобы избежать роста разочарования у пользователя.
На TTFT сильное влияние оказывает процесс prefill: считывание запроса, сосредоточение внимания и формирование начальной кэш-памяти KV. Затраты на его выполнение примерно пропорциональны квадрату длины последовательности умноженному на её ширину — это вычислительно интенсивные операции TFLOPS. Пример масштабирования: заполнение кэша 512 токенами в модели объемом около 70 миллиардов параметров требует десятков TFLOPs.
PromQL для TTFT P99:
histogram_quantile(0.99, sum(rate(vllm:time_to_first_token_seconds_bucket[5m])) by (le))
Для интерфейсов чата показатель TTFT P99 часто является определяющим ограничением. Огромный размер внутренних структур у средних GPU (например, класса L40S) может сделать TTFT неприемлемым независимо от использования группировки запросов, что вынуждает команды обращаться к более маленьким моделям или чипам с высокой производительностью TFLOPS (класса H100).
Время на один токен вывода (TPOT) и структура этапов инференса
После первого токена начинается процесс decode. TPOT (задержка между токенами) показывает скорость обработки последующих токенов.
Декодирование обычно ограничивается полосой пропускания памяти: на каждом этапе веса и история KV загружаются из HBM в вычислительные устройства с низкой арифметической интенсивностью (~1 FLOP/байт для плотных путей без использования MoE).
Полезное разложение:
E2E ≈ TTFT + (N_output − 1) × TPOT
Диаграммы разбивки этапов показывают долю времени на предзагрузку по сравнению с декодированием:
- Высокое время предзагрузки → длинные промпты или низкая производительность в единицах TFLOPS.
- Высокое время декодирования → длинные результаты или насыщенная полоса пропускания HBM.
Сравнение TTFT и TPOT при росте нагрузки — самый быстрый способ определить узкое место.
Пропускная способность токенов и характеристика нагрузки
Задержка без учета объема данных не позволяет оценить стоимость оборудования.
Пропускная способность токенов и коэффициент ввода-вывода
Разделяйте пропускную способность на токены в секунду для промптов и токены в секунду для генерации. Более высокие средние значения позволяют лучше распределить затраты на аренду GPU.
Соотношение токенов ввода и выхода (количество токенов запроса к количеству токенов генерации) характеризует тип работы:
- Высокое (~20:1) — длинные входные данные, короткие выходные результаты: RAG, подведомственное обобщение, классификация. Частое использование предзаполнения.
- Низкое — короткие запросы, длинные результаты генерации: открытый чат, генерация кода. Частое использование функций декодирования/HBM.
Несоответствие структуры системы этому соотношению приводит к расточительству ресурсов: использование технологии RAG на платформах, оптимизированных под декодирование, или длинных чатов на платформах с ограниченным предзаполнением.
Тепловая карта длины запроса
Тепловые карты длины запросов показывают, представляет ли трафик себя симметричным распределением или смесью кратких и очень длинных запросов. Наличие «тяжелых хвостов» в длине запросов объясняет всплески нагрузки TTFT даже при умеренном значении QPS.
Внутренние механизмы движка и динамика кэша
Внешняя задержка зависит от состояния кэша KV и планировщика.
Использование кэша KV GPU
Отслеживайте степень заполнения пула KV. По мере роста загрузки количество обрабатываемых последовательностей сокращается из-за необходимости постоянной группировки запросов; при превышении определенного порога движок прерывает обработку.
Уровень успешных запросов к кэшу префиксов и экономия ресурсов
Использование кэша префиксов позволяет повторно использовать данные KV для общих префиксов запросов (системные промпты, заголовки RAG). Уровень успешных запросов и экономия ресурсов показывают, действительно ли дизайн промптов и механизмы их направления используют общие префиксы, или же каждый запрос случайно получает уникальные префиксы.
Состояние планировщика и эффективность системы
Наблюдайте за количеством активных и ожидающих запросов. Увеличение числа ожидающих запросов при постоянном количестве активных обычно свидетельствует о ограничениях пула KV или параметра max_num_seqs, а не о занятости процессора.
Состояние планировщика и частота прерывания обработки
Когда KV-хранилище не может сохранить векторы следующего токена, vLLM прерывает его обработку. Показатель vllm:num_preemptions_total является счётчиком числа прерываний: ненулевое значение указывает на необходимость большего объёма VRAM, увеличения количества копий или снижения лимита max_num_seqs.
Эффективность системы и время в очереди запросов
Эффективность системы определяется соотношением скорости обработки к скорости поступления запросов. Значение близкое к 1,0 означает своевременную обработку запросов; значения ниже ~0,7 указывают на то, что очередь растёт быстрее, чем GPU успевают её обрабатывать.
Эта проблема отражается в показателе vllm:request_queue_time_seconds — времени, затрачиваемом на ожидание перед началом реальных вычислений. Увеличение времени в очереди приводит к удлинению всего цикла обработки без генерации ни одного токена.
Классические методы регулирования нагрузки на основе CPU здесь неэффективны. Подключите показатели vllm:num_requests_waiting и времени в очереди через адаптер Prometheus, чтобы регулирование нагрузки происходило в зависимости от глубины очереди (например, при наличии большого количества ожидающих запросов), а не от иллюзорных показателей загрузки CPU.
Инфраструктура, балансировка нагрузки и сложные топологии
Софтверные сигналы должны соответствовать реальности аппаратного обеспечения.
Балансировка нагрузки и использование аппаратных ресурсов
Время обработки запросов к LLM сильно варьируется — от нескольких минут для длительной генерации до мгновенных кратких ответов. Поэтому метод круговой очереди приводит к дисбалансу в работе систем. Желательно использовать балансировщики, учитывающие текущую загрузку.
Проверьте с помощью DCGM:
- Использование GPU — желаемый уровень доходности достигается при высокой загрузке и небольших очередях; высокая загрузка при длинных очередях означает насыщение ресурсов.
- Использованная VRAM — подтверждает, что vLLM зарезервировал необходимую долю памяти с самого начала.
Решение конфликта между предварительной обработкой и декодированием
Обширная предварительная обработка, требующая значительных вычислений, в рамках смешанной группы задач может монополизировать тензорные ядра и замедлить все процессы декодирования — что приводит к резким скачкам TPOT и перебоям в потоках данных.
Доминируют два подхода к снижению нагрузки: разбиение данных на чанкы при предварительной загрузке и раздельная предварительная загрузка/дешифровка.
Разбиение данных на чанкы при предварительной загрузке
Огромные запросы делятся на фиксированные чанки (например, по 512 токенов), после чего эти чанки чередуются с этапами дешифровки других запросов. Время обработки для новичков незначительно увеличивается, в то время как показатели остальных пользователей остаются стабильными. Положительные эффекты: более плавные гистограммы ITL, умеренная стоимость обработки по P50 и значительное улучшение стабильности потока по P99.
Раздельная предварительная загрузка и дешифровка (DPD)
На более крупных масштабах этапы обработки выполняются на отдельных графиках: предварительная загрузка — на GPU с высокой производительностью в единицах TFLOPS, дешифровка — на GPU с большим объемом памяти типа HBM; после предварительной загрузки данные KV передаются по сети. Необходимо отслеживать времена и объемы передачи данных с помощью таких метрик, как vllm:nixl_xfer_time_seconds_sum и vllm:nixl_bytes_transferred_sum. Подход DPD эффективен только тогда, когда время передачи меньше, чем уровень помех, который он устраняет; качество технологий RDMA/NCCL определяет это условие.
Математика спекулятивной декодировки
Спекулятивная декодировка ускоряет процесс декодирования, ограниченный объемом памяти, за счет использования небольшой пробной модели для предложения токенов и целевой модели, проверяющей множество токенов за один проход. Проверка нескольких токенов требует примерно одного шага вычислений, что позволяет преодолевать ограничения HBM при хорошем качестве пробных вариантов.
Ключевой показатель: коэффициент принятия пробных вариантов (vllm:spec_decode_draft_acceptance_rate). Ожидаемое количество принятых токенов за шаг следует геометрической прогрессии в зависимости от вероятности принятия α. Если α падает ниже ~0,5, дополнительные затраты на пробные варианты могут превзойти экономию ресурсов и замедлить работу системы.
Оценивайте пробные варианты при уровне температуры производства. При глупом подходе (T=0) значение α может составлять ≈0,8, тогда как при креативном подходе T=1,0 это же значение снижается до ≈0,4 — что превращает оптимизацию в регрессию.
Архитектура телеметрии Prometheus с многопроцессной обработкой
Сервер vLLM, совместимый с OpenAI, использует многопроцессорную обработку. Примитивные клиенты Prometheus не могут корректно работать с несколькими рабочими процессами из-за ограничений GIL и разделения памяти.
Решением является использование модуля prometheus_client.multiprocess вместе с параметром PROMETHEUS_MULTIPROC_DIR: каждый рабочий процесс добавляет изменения в файлы с мапированием памяти; затем сборщик данных обращается к объекту MultiProcessCollector, который объединяет результаты в формате OpenMetrics. Сложные запросы PromQL (histogram_quantile, rate) обрабатываются непосредственно в Prometheus, а не на этапе выполнения запросов — таким образом измерение задержек не приводит к увеличению самих задержек.
Все эти показатели — причины успеха или завершения операций, квантили TTFT/TPOT/E2E, структура ввода-вывода токенов, уровень загрузки KV-хранилища, инциденты прерывания обработки, время ожидания в очереди, а также статистика передачи данных и спекулятивные показатели, связанные с топологией — образуют замкнутый цикл от пользовательских KPI до физических характеристик GPU. Именно этот цикл превращает vLLM из демонстрационного сервера в функциональную платформу для выполнения инференса.
Сохраняйте письменный руководство, в котором каждый критически важный показатель сопоставлен с первым действием: рост числа прерываний → уменьшите значение max_num_seqs или добавьте VRAM; проблемы только с TTFT P99 → сократите длину запросов, увеличьте количество TFLOPS или включите кэш префиксов; резкий скачок TPOT при полной загрузке KV → уменьшите нагрузку на декодирование или устраните помехи от предварительного заполнения; коллапс спекулятивного α → скорректируйте параметры процесса генерации и температуру. Сопоставляйте каждое изменение мощности с графиками производительности до и после на одной диаграмме, чтобы расходы на оборудование были связаны с достижением целевых показателей, а не с количеством операций в секунду. Пересматривайте панели управления коэффициентом ввода-вывода каждый раз, когда меняется состав продукта — запуск функций типа RAG и длинных форматов запросов могут за одну ночь переместить узкие места из зоны предварительного заполнения в зону декодирования, а пороги автомасштабирования вчерашнего дня превращаются в скрытые очереди сегодняшнего дня. Наконец, рассматривайте каталоги показателей многопроцессорной работы как часть жизненного цикла пода: пути PROMETHEUS_MULTIPROC_DIR, которые пусты или имеют неправильные права доступа, выглядят как «здоровые» данные с нулями, в то время как пользователи уже начинают ощущать проблемы.
При внедрении нового чекпоинта модели необходимо заморозить профиль нагрузки (сочетание длины промпта, сочетание длины вывода, конкурентность) и сравнить те же панели PromQL перед перенаправлением трафика. Чекпоинт, который показывает хорошие результаты по среднему количеству токенов в секунду, но уступает по показателям TTFT P99 или коэффициенту прерывания, не является кандидатом на использование в интерактивных API.
При внедрении нового чекпоинта модели необходимо заморозить профиль нагрузки (сочетание длины промпта, сочетание длины вывода, конкурентность) и сравнить те же панели PromQL перед перенаправлением трафика. Чекпоинт, который показывает хорошие результаты по среднему количеству токенов в секунду, но уступает по показателям TTFT P99 или коэффициенту прерывания, не является кандидатом на использование в интерактивных API.
При внедрении нового чекпоинта модели необходимо заморозить профиль нагрузки (сочетание длины промпта, сочетание длины вывода, конкурентность) и сравнить те же панели PromQL перед перенаправлением трафика. Чекпоинт, который показывает хорошие результаты по среднему количеству токенов в секунду, но уступает по показателям TTFT P99 или коэффициенту прерывания, не является кандидатом на использование в интерактивных API.
При внедрении нового чекпоинта модели необходимо заморозить профиль нагрузки (сочетание длины промпта, сочетание длины вывода, конкурентность) и сравнить те же панели PromQL перед перенаправлением трафика. Чекпоинт, который показывает хорошие результаты по среднему количеству токенов в секунду, но уступает по показателям TTFT P99 или коэффициенту прерывания, не является кандидатом на использование в интерактивных API.
При внедрении нового чекпоинта модели необходимо заморозить профиль нагрузки (сочетание длины промпта, сочетание длины вывода, конкурентность) и сравнить те же панели PromQL перед перенаправлением трафика. Чекпоинт, который показывает хорошие результаты по среднему количеству токенов в секунду, но уступает по показателям TTFT P99 или коэффициенту прерывания, не является кандидатом на использование в интерактивных API.
При внедрении нового чекпоинта модели необходимо заморозить профиль нагрузки (сочетание длины промпта, сочетание длины вывода, конкурентность) и сравнить те же панели PromQL перед перенаправлением трафика. Чекпоинт, который показывает хорошие результаты по среднему количеству токенов в секунду, но уступает по показателям TTFT P99 или коэффициенту прерывания, не является кандидатом на использование в интерактивных API.
При внедрении нового чекпоинта модели необходимо заморозить профиль нагрузки (сочетание длины промпта, сочетание длины вывода, конкурентность) и сравнить те же панели PromQL перед перенаправлением трафика. Чекпоинт, который показывает хорошие результаты по среднему количеству токенов в секунду, но уступает по показателям TTFT P99 или коэффициенту прерывания, не является кандидатом на использование в интерактивных API.
При внедрении нового чекпоинта модели необходимо заморозить профиль нагрузки (сочетание длины промпта, сочетание длины вывода, конкурентность) и сравнить те же панели PromQL перед перенаправлением трафика. Чекпоинт, который показывает хорошие результаты по среднему количеству токенов в секунду, но уступает по показателям TTFT P99 или коэффициенту прерывания, не является кандидатом на использование в интерактивных API.
При внедрении нового чекпоинта модели необходимо заморозить профиль нагрузки (сочетание длины промпта, сочетание длины вывода, конкурентность) и сравнить те же панели PromQL перед перенаправлением трафика. Чекпоинт, который показывает хорошие результаты по среднему количеству токенов в секунду, но уступает по показателям TTFT P99 или коэффициенту прерывания, не является кандидатом на использование в интерактивных API.
При внедрении нового чекпоинта модели необходимо заморозить профиль нагрузки (сочетание длины промпта, сочетание длины вывода, конкурентность) и сравнить те же панели PromQL перед перенаправлением трафика. Чекпоинт, который показывает хорошие результаты по среднему количеству токенов в секунду, но уступает по показателям TTFT P99 или коэффициенту прерывания, не является кандидатом на использование в интерактивных API.
При внедрении нового чекпоинта модели необходимо заморозить профиль нагрузки (сочетание длины промпта, сочетание длины вывода, конкурентность) и сравнить те же панели PromQL перед перенаправлением трафика. Чекпоинт, который показывает хорошие результаты по среднему количеству токенов в секунду, но уступает по показателям TTFT P99 или коэффициенту прерывания, не является кандидатом на использование в интерактивных API.
При внедрении нового чекпоинта модели необходимо заморозить профиль нагрузки (сочетание длины промпта, сочетание длины вывода, конкурентность) и сравнить те же панели PromQL перед перенаправлением трафика. Чекпоинт, который показывает хорошие результаты по среднему количеству токенов в секунду, но уступает по показателям TTFT P99 или коэффициенту прерывания, не является кандидатом на использование в интерактивных API.
При внедрении нового чекпоинта модели необходимо заморозить профиль нагрузки (сочетание длины промпта, сочетание длины вывода, конкурентность) и сравнить те же панели PromQL перед перенаправлением трафика. Чекпоинт, который показывает хорошие результаты по среднему количеству токенов в секунду, но уступает по показателям TTFT P99 или коэффициенту прерывания, не является кандидатом на использование в интерактивных API.
При внедрении нового чекпоинта модели необходимо заморозить профиль нагрузки (сочетание длины промпта, сочетание длины вывода, конкурентность) и сравнить те же панели PromQL перед перенаправлением трафика. Чекпоинт, который показывает хорошие результаты по среднему количеству токенов в секунду, но уступает по показателям TTFT P99 или коэффициенту прерывания, не является кандидатом на использование в интерактивных API.
При внедрении нового чекпоинта модели необходимо заморозить профиль нагрузки (сочетание длины промпта, сочетание длины вывода, конкурентность) и сравнить те же панели PromQL перед перенаправлением трафика. Чекпоинт, который показывает хорошие результаты по среднему количеству токенов в секунду, но уступает по показателям TTFT P99 или коэффициенту прерывания, не является кандидатом на использование в интерактивных API.
При внедрении нового чекпоинта модели необходимо заморозить профиль нагрузки (сочетание длины промпта, сочетание длины вывода, конкурентность) и сравнить те же панели PromQL перед перенаправлением трафика. Чекпоинт, который показывает хорошие результаты по среднему количеству токенов в секунду, но уступает по показателям TTFT P99 или коэффициенту прерывания, не является кандидатом на использование в интерактивных API.
При внедрении нового чекпоинта модели необходимо заморозить профиль нагрузки (сочетание длины промпта, сочетание длины вывода, конкурентность) и сравнить те же панели PromQL перед перенаправлением трафика. Чекпоинт, который показывает хорошие результаты по среднему количеству токенов в секунду, но уступает по показателям TTFT P99 или коэффициенту прерывания, не является кандидатом на использование в интерактивных API.
При внедрении нового чекпоинта модели необходимо заморозить профиль нагрузки (сочетание длины промпта, сочетание длины вывода, конкурентность) и сравнить те же панели PromQL перед перенаправлением трафика. Чекпоинт, который показывает хорошие результаты по среднему количеству токенов в секунду, но уступает по показателям TTFT P99 или коэффициенту прерывания, не является кандидатом на использование в интерактивных API.
При внедрении нового чекпоинта модели необходимо заморозить профиль нагрузки (сочетание длины промпта, сочетание длины вывода, конкурентность) и сравнить те же панели PromQL перед перенаправлением трафика. Чекпоинт, который показывает хорошие результаты по среднему количеству токенов в секунду, но уступает по показателям TTFT P99 или коэффициенту прерывания, не является кандидатом на использование в интерактивных API.
При внедрении нового чекпоинта модели необходимо заморозить профиль нагрузки (сочетание длины промпта, сочетание длины вывода, конкурентность) и сравнить те же панели PromQL перед перенаправлением трафика. Чекпоинт, который показывает хорошие результаты по среднему количеству токенов в секунду, но уступает по показателям TTFT P99 или коэффициенту прерывания, не является кандидатом на использование в интерактивных API.
При внедрении нового чекпоинта модели необходимо заморозить профиль нагрузки (сочетание длины промпта, сочетание длины вывода, конкурентность) и сравнить те же панели PromQL перед перенаправлением трафика. Чекпоинт, который показывает хорошие результаты по среднему количеству токенов в секунду, но уступает по показателям TTFT P99 или коэффициенту прерывания, не является кандидатом на использование в интерактивных API.
При внедрении нового чекпоинта модели необходимо заморозить профиль нагрузки (сочетание длины промпта, сочетание длины вывода, конкурентность) и сравнить те же панели PromQL перед перенаправлением трафика. Чекпоинт, который показывает хорошие результаты по среднему количеству токенов в секунду, но уступает по показателям TTFT P99 или коэффициенту прерывания, не является кандидатом на использование в интерактивных API.
При внедрении нового чекпоинта модели необходимо заморозить профиль нагрузки (сочетание длины промпта, сочетание длины вывода, конкурентность) и сравнить те же панели PromQL перед перенаправлением трафика. Чекпоинт, который показывает хорошие результаты по среднему количеству токенов в секунду, но уступает по показателям TTFT P99 или коэффициенту прерывания, не является кандидатом на использование в интерактивных API.
При внедрении нового чекпоинта модели необходимо заморозить профиль нагрузки (сочетание длины промпта, сочетание длины вывода, конкурентность) и сравнить те же панели PromQL перед перенаправлением трафика. Чекпоинт, который показывает хорошие результаты по среднему количеству токенов в секунду, но уступает по показателям TTFT P99 или коэффициенту прерывания, не является кандидатом на использование в интерактивных API.
При внедрении нового чекпоинта модели необходимо заморозить профиль нагрузки (сочетание длины промпта, сочетание длины вывода, конкурентность) и сравнить те же панели PromQL перед перенаправлением трафика. Чекпоинт, который показывает хорошие результаты по среднему количеству токенов в секунду, но уступает по показателям TTFT P99 или коэффициенту прерывания, не является кандидатом на использование в интерактивных API.
При внедрении нового чекпоинта модели необходимо заморозить профиль нагрузки (сочетание длины промпта, сочетание длины вывода, конкурентность) и сравнить те же панели PromQL перед перенаправлением трафика. Чекпоинт, который показывает хорошие результаты по среднему количеству токенов в секунду, но уступает по показателям TTFT P99 или коэффициенту прерывания, не является кандидатом на использование в интерактивных API.