Compromis Latence vs Débit — TTFT, TPOT, Conception du SLA
À jour au 2026-09-27
Compromis Latence vs Débit : quelle est la différence ?
Chat, complétion de code, traitement batch et agents vocaux ont chacun besoin d'une cible TTFT/TPOT différente — mélanger un endpoint chat sensible à la latence avec un job batch gourmand en débit sur un seul endpoint garantit que le job batch plombe le p99 du chat au premier pic de trafic.
De quoi il s'agit
Le service LLM a trois métriques de performance orthogonales qu'un SLA doit traiter séparément. Le Time-To-First-Token (TTFT) mesure l'attente entre la soumission de la requête et le premier token émis — dominé par la phase prefill, dans laquelle le modèle traite le prompt complet en une seule passe parallèle. Le Time-Per-Output-Token (TPOT, aussi appelé inter-token latency, ITL) mesure l'écart entre les tokens émis successifs — dominé par la phase décodage, dans laquelle le modèle génère un token par passe avant. La latence de bout en bout vaut TTFT + (tokens sortie × TPOT). Le débit (tokens/s agrégé sur les requêtes concurrentes) est le chiffre de capacité système.
Le compromis central : des batches continus plus grands élèvent le débit en amortissant la bande passante mémoire de décodage sur davantage de requêtes en parallèle, mais ils élèvent le TTFT pour toute requête qui rejoint un batch déjà en cours (elle attend le prochain tick d'ordonnancement) et ils élèvent le TPOT (plus de requêtes partagent la même horloge GPU par token). Des batches plus petits donnent une meilleure latence mono-requête mais gaspillent le calcul GPU quand le trafic est faible. Les piles de service en production (vLLM, TensorRT-LLM, SGLang) implémentent toutes du continuous batching avec paged attention pour réduire le compromis — mais elles ne peuvent pas l'éliminer.
Pourquoi c'est important
- Des batches continus plus grands élèvent le débit mais aussi le TTFT (les nouvelles requêtes attendent le prochain tick d'ordonnancement) et le TPOT (plus de requêtes partagent la même horloge GPU par token) — le compromis ne peut pas être éliminé, seulement réduit.
- Les cibles SLA concrètes diffèrent par workload : le chat vise un p95 TTFT sous 500 ms, la complétion de code sous 200 ms, le résumé batch ignore le TTFT pour maximiser la taille de batch, les agents vocaux visent un TPOT sous 100 ms mais tolèrent 500-800 ms de TTFT.
- Le geste de conception de l'architecte est de scinder les workloads en paliers d'endpoint distincts pointant vers le même fichier de modèle — un endpoint petit-batch basse latence, un endpoint grand-batch haut débit.
Points clés
- Trois métriques orthogonales : TTFT (limité par prefill), TPOT/ITL (limité par décodage), débit (tokens/s système agrégé sur requêtes concurrentes).
- Latence de bout en bout = TTFT + (tokens_sortie × TPOT) — les deux doivent figurer dans tout SLA LLM.
- Le continuous batching élève le débit mais élève le TTFT (les requêtes attendent le prochain tick) et le TPOT (les requêtes partagent l'horloge) ; la paged attention réduit sans éliminer le compromis.
- Cible chat : p95 TTFT < 500 ms, TPOT 30-50 ms. Complétion code : TTFT < 200 ms. Jobs batch : débit d'abord, TTFT non pertinent. Agents vocaux : TPOT < 100 ms.
- Scindez les workloads par paliers d'endpoint — basse latence + petit batch pour chat, haut débit + grand batch pour hors-ligne ; ne mélangez jamais sur un endpoint.
- Mesurez en p50/p95/p99 — les moyennes masquent la latence longue traîne qui tue l'expérience utilisateur.
Termes employés sur cette page
- TTFT
- Time-To-First-Token — le temps entre la soumission de la requête et le premier token émis ; borné par le calcul de préremplissage (prefill) sur l'ensemble du prompt d'entrée.
- TPOT / ITL
- Time-Per-Output-Token ou Inter-Token Latency — le temps entre tokens émis successifs pendant le décodage ; borné par la bande passante mémoire lors de la génération autorégressive.
- Continuous batching
- Technique de service où de nouvelles requêtes rejoignent un lot en cours à chaque étape de décodage, au lieu d'attendre l'achèvement du lot ; standard dans vLLM, TensorRT-LLM, SGLang.
- Paged attention
- Technique de gestion mémoire empruntée à la mémoire virtuelle ; le KV-cache est stocké en pages de taille fixe pour réduire la fragmentation lors du service de séquences de longueur variable.
- Prefill
- La phase de calcul où le modèle traite l'ensemble du prompt d'entrée en une seule passe avant parallèle avant de générer le premier token de sortie ; la phase qui détermine le TTFT.
- Decode
- La phase de calcul où le modèle génère les tokens de sortie un par un, chacun nécessitant une passe avant séparée ; la phase qui détermine le TPOT, et celle que le batching continu et PagedAttention optimisent en priorité.
- Latence de queue (p95 / p99)
- La latence subie par les 5 % (p95) ou 1 % (p99) de requêtes les plus lentes ; la métrique qui reflète réellement la performance visible par l'utilisateur sous charge, car une moyenne ou une médiane peut paraître saine alors qu'une part significative des requêtes est inacceptablement lente.
- Endpoint tiering
- Faire tourner deux déploiements de service séparés ou plus du même fichier de modèle, chacun configuré (taille de batch maximale, capacité réservée) pour un SLA différent — le correctif standard pour une charge mélangeant trafic interactif et trafic batch.
Sources
- NVIDIA — TensorRT-LLM Best Practices
- MLPerf Inference — Latency Metrics Specification
- Anyscale — LLM Serving Performance Deep Dive
- vLLM Docs — Scheduler configuration reference
- NVIDIA Triton Inference Server — TensorRT-LLM backend documentation
- Microsoft Learn — Provisioned throughput units (PTU) for Azure OpenAI
- Databricks Docs — Mosaic AI Model Serving
- Snowflake Docs — Cortex Analyst
- NVIDIA Developer Blog — Mastering LLM Techniques: Inference Optimization
- Databricks Blog — LLM inference performance engineering: best practices
- Anyscale Blog — Achieve 23x LLM Inference Throughput & Reduce p50 Latency (continuous batching)
- Hugging Face Docs — Text Generation Inference (TGI)
Fiche complète réservée aux abonnés. Ce que la fiche complète ajoute : le cadre de décision complet · la comparaison SAP · Snowflake · Databricks · Fabric · les pièges courants et leur correctif · l'aide-mémoire · les schémas d'architecture · les blocs de code · les chiffres à citer.