Skip to main content

Швидкість генерації (TPS / TTFT / Latency)(Метрики продуктивності інференсу (TTFT та TPS))

Ключові інженерні показники продуктивності мовних моделей: Time to First Token (час реакції на вхідний контекст) та Tokens Per Second (швидкість потокової генерації вихідного тексту).

1. Огляд концепції та системна проблема

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

Реальний інференс великих мовних моделей підпорядковується законам фізики напівпровідників і розділяється на дві абсолютно різні апаратні фази:

  1. Фаза префіллу (Prefill / Context Phase): паралельна обробка вхідного промпту.
  2. Фаза декодування (Decode / Generation Phase): послідовна генерація вихідних символів токен за токеном.

Метрики TTFT (Time to First Token) та TPS (Tokens Per Second) — це системний компас інженера, який визначає архітектуру черг, вибір обладнання та користувацький досвід інтерактивних додатків.

2. Архітектурна таксономія та ментальна модель

Метрики затримки та пропускної здатності класифікуються за етапами життєвого циклу запиту:

┌─────────────────────────────────────────────────────────────┐
│                 INFERENCE LATENCY TAXONOMY                  │
├─────────────────────────────────────────────────────────────┤
│ 1. Queue Time (Черга очікування вільних ресурсів GPU)       │
├─────────────────────────────────────────────────────────────┤
│ 2. Prefill Phase ➔ TTFT (Time to First Token)               │
│    • Compute-Bound (TFLOPS Tensor Cores)                    │
│    • Прямий розрахунок KV-кешу для всього вхідного тексту   │
├─────────────────────────────────────────────────────────────┤
│ 3. Decode Phase ➔ TPS / ITL (Inter-Token Latency)           │
│    • Memory-Bandwidth Bound (GB/s шини VRAM)                │
│    • Послідовне зчитування вагів на кожен токен             │
├─────────────────────────────────────────────────────────────┤
│ 4. Total E2E Latency = TTFT + (N_generated_tokens * ITL)    │
└─────────────────────────────────────────────────────────────┘
  1. TTFT (Time to First Token — час до першого токена):
    • Кількість мілісекунд від моменту відправки HTTP-запиту клієнтом до отримання першого байта потокової відповіді. Складається з затримки мережі, очікування в черзі та часу розрахунку префіллу.
  2. TPS (Tokens Per Second — швидкість генерації):
    • Кількість токенів, яку система видає за одну секунду. Для одного стріму це $1 / \text{ITL}$. Для всього сервера (Aggregate Throughput) — це сумарна кількість токенів, згенерована всіма клієнтами одночасно.
  3. ITL (Inter-Token Latency — міжтокенна затримка):
    • Час між появою сусідніх токенів під час стрімінгу. Для людського ока комфортний показник становить менше 30 мс на токен (відповідає >33 TPS).
  4. Спекулятивне декодування (Speculative Decoding):
    • Алгоритмічний трюк, що перетворює частину операцій фази Decode на паралельну перевірку, збільшуючи чистий TPS у 2–3 рази без втрати точності.

3. Технічний пайплайн та внутрішня механіка

Життєвий цикл інференсу під мікроскопом таймінгів:

  1. Прийом запиту та постановка в батч: Запит із 4000 токенів коду потрапляє в рушій інференсу (наприклад, vLLM).
  2. Префілл (Prefill Phase): GPU завантажує матриці вагів і паралельно множить усі 4000 токенів на ядрах Tensor Cores. Обчислюються вектори Q, K, V та ініціалізується пам'ять KV-кешу.
  3. Емісія першого токена (Фіксація TTFT): Перший токен відправляється клієнту через Server-Sent Events. Якщо промпт кешований (Prompt Caching), цей етап займає 50 мс; якщо ні — від 500 мс до 3 секунд.
  4. Послідовний цикл декодування (Decode Loop):
    • Для генерації одного токена відеокарта повинна прочитати всі 70 мільярдів параметрів моделі з VRAM у кеш кристала.
    • На пам'яті з пропускною здатністю 1000 ГБ/с (RTX 4090) зчитування 35 ГБ квантованої моделі займає: $$35 \text{ ГБ} / 1000 \text{ ГБ/с} = 35 \text{ мс на токен} \approx 28 \text{ TPS}$$
  5. Завершення запиту: Генерація закінчується по досягненню токена <|im_end|> або ліміту довжини, і ресурси KV-кешу звільняються для інших запитів.

4. Практичні інженерні сценарії в продакшені

01. Розробка голосового асистента з живою реакцією (Human-Like Latency)

Людина помічає паузу в розмові, якщо відповідь затримується понад 500 мс:

  • Інженери обирають модель Gemini 2.0 Flash або Mistral NeMo з локальним розміщенням.
  • Завдяки оптимізації стеку TTFT скорочується до 180 мс, перетворення тексту в голос (TTS) займає ще 120 мс. Сумарний час реакції у 300 мс створює ефект живого живого діалогу.

02. Високошвидкісне автодоповнення в IDE (Ghost Text)

Розробник друкує код у Cursor зі швидкістю 5 символів за секунду:

  • Будь-яка затримка понад 150 мс призводить до того, що підказка з'являється вже після того, як розробник надрукував новий символ.
  • Для таких задач використовують спеціальні легкі моделі (3B–7B параметрів) або спекулятивні рушії, що видають перші символи за 40–80 мс.

03. Пакетна обробка великих масивів документів у бекенді

Нічна обробка 100 000 користувацьких PDF-файлів:

  • Окремий TTFT для кожного файлу не має значення.
  • Сервер оптимізується під Aggregate Throughput: через неперервний батчинг (Continuous Batching) у vLLM кластер паралельно обслуговує 256 потоків, досягаючи сумарної швидкості 4 000 токенів на секунду.

5. Підводні камені, типові помилки та безпека

  • Падіння TPS під час вичерпання KV-кешу: Коли відеопам'ять заповнюється на 95%, рушій починає вивантажувати кеш на SSD або CPU. Швидкість генерації миттєво падає у десятки разів, паралізуючи систему.
  • Сліпа гонитва за TPS без контролю якості: Модель із високою швидкістю (200 токенів/с), яка пише непрацездатний код із синтаксичними помилками, лише збільшує час розробки на ручні виправлення.
  • Ілюзія швидкості через мережеву буферизацію: Якщо проксі-сервер (Nginx або Cloudflare) буферизує відповідь замість потокової передачі (відсутній заголовок X-Accel-Buffering: no), клієнт не побачить жодного токена, доки модель не згенерує весь текст повністю.
  • Вплив довжини контексту на TTFT: При збільшенні вхідного промпту з 2 000 до 100 000 токенів час префіллу без увімкненого кешування зростає непропорційно, перетворюючи «швидку» модель на повільну.
/ Часті запитанняSchema.org FAQPage

FAQ: Швидкість генерації (TPS / TTFT / Latency)

Фаза Prefill паралельно обробляє весь вхідний промпт і обмежена чистими обчисленнями тензорних ядер GPU (Compute-Bound). Фаза Decode генерує токени по черзі і жорстко обмежена швидкістю зчитування вагів із відеопам'яті (Memory-Bandwidth Bound).
/ Внутрішня перелінковка
Всі терміни
Моделі & Інференс

Gemini Flash & Pro (Google Gemini)

Сімейство мультимодальних моделей від Google DeepMind, що поєднує рекордне контекстне вікно (до 2 млн токенів), екстремальну швидкість генерації (понад 150 токенів/с) та нативне сприйняття відео й аудіо.

Читати термін
Моделі & Інференс

vLLM (Високопродуктивний рушій інференсу)

Провідний відкритий серверний рушій інференсу та обслуговування LLM, що здійснив революцію у пропускній здатності завдяки алгоритму віртуалізації пам'яті PagedAttention та неперервному батчингу.

Читати термін
Моделі & Інференс

Sampling Parameters (Temperature, Top-p, Min-p)

Математичні гіперпараметри стохастичного декодування (Temperature, Top-P, Min-P, Penalties), що керують розподілом ймовірностей вибору наступного токена, визначаючи рівень детермінізму, точності та креативності моделі.

Читати термін
Моделі & Інференс

MoE (Mixture of Experts - Суміш експертів)

Архітектурний підхід у глибокому навчанні, де важкі повнозв'язні шари трансформера розбиваються на десятки спеціалізованих підмереж («експертів»), а динамічний маршрутизатор активує лише невелику частину з них для кожного окремого токена.

Читати термін