Измеряйте четыре разных сигнала задержки
Одно число задержки скрывает, где именно пользователи ждут. Чат в streaming-режиме может ощущаться быстрым при низком TTFT, даже если полное завершение занимает больше времени, тогда как пакетное извлечение может учитывать только сквозную длительность.
- Time to first token: от начала запроса до первого streamed-токена.
- Generation throughput: выходные токены, деленные на время генерации.
- End-to-end duration: от начала запроса до завершенного ответа.
- Reliability: успешные ответы, деленные на общее число попыток.
Контролируйте нагрузку бенчмарка
Используйте фиксированный набор промптов, который представляет целевую нагрузку. Зафиксируйте ID модели, маршрут провайдера, регион, параметры запроса, входные токены и требуемую длину вывода.
- Запускайте прогревочные запросы до начала записи измерений.
- Перемешивайте порядок провайдеров, чтобы уменьшить смещение по времени суток.
- Повторяйте тесты более чем в одном окне трафика.
- Держите результаты streaming и non-streaming отдельно.
Используйте распределения, а не скриншот лидерборда
Публикуйте медиану, p90 и p95 вместе с размером выборки. Маршрут с самой быстрой медианой, но частыми экстремальными задержками, может давать худший опыт в production, чем немного более медленный, но более стабильный маршрут.
{
"sample_size": 100,
"ttft_ms": { "median": 640, "p95": 1840 },
"output_tokens_per_second": { "median": 42.1 },
"end_to_end_ms": { "median": 5120, "p95": 9080 },
"success_rate": 0.98
}Приведенные выше значения являются иллюстративным форматом отчета, а не живым результатом бенчмарка CometAPI.
Публикуйте методологию вместе с каждым отчетом
Бенчмарк полезен только тогда, когда читатель понимает, что именно измерялось, и может воспроизвести подход. Укажите ограничения и объясните, был ли маршрут провайдера закреплен вручную или выбран автоматически.
