Comment mesurer la latence des LLM avec TTFT, TPOT et P99
Traduction automatique
Cet article a été traduit automatiquement depuis la version originale en anglais.
Le délai avant le premier token, ou TTFT, mesure combien de temps une requête attend son premier token généré. Le temps par token de sortie, ou TPOT, mesure l’intervalle moyen entre les tokens suivants. Mesurez les deux : un serveur peut commencer rapidement et générer lentement, ou faire attendre les utilisateurs avant de transmettre rapidement la réponse.
Pour comparer des serveurs, les ingénieurs doivent utiliser les mêmes points de début et de fin de mesure et présenter la latence selon la longueur du prompt, la longueur de la sortie et la charge.
Calculez les valeurs de chaque requête séparément
Relevez l’instant d’envoi de la requête, celui du premier token généré, celui du dernier token généré et le nombre de tokens de sortie. Pour une réponse contenant au moins deux tokens :
TTFT = first_token_time - request_start_time
TPOT = (last_token_time - first_token_time) / (output_tokens - 1)
Si la requête est envoyée à 0 seconde, que le premier token arrive à 0.3 seconde et le vingtième à 1.25 seconde, le TTFT est de 300 ms et le TPOT moyen de 50 ms. Le TPOT n’est pas défini pour une réponse d’un seul token.
Le TTFT observé par le client peut inclure les échanges réseau, l’attente en file, la tokenisation et le prefill. Un chronomètre de prefill côté serveur exclut plusieurs de ces durées. Identifiez clairement les deux mesures au lieu de les comparer comme si elles étaient équivalentes. Le passage de prefill fournit généralement les logits utilisés pour générer le premier token ; voir la description des phases d’inférence de Splitwise.
Examinez la distribution de la latence
P50 est la médiane de la latence des requêtes. P99 est la valeur en dessous de laquelle se situent 99% des requêtes mesurées. Calculez les percentiles à partir des mesures par requête. Faire la moyenne de tous les intervalles entre tokens de toutes les requêtes donne davantage de poids aux réponses longues et répond à une autre question.
Le TPOT moyen masque aussi les pauses entre certains tokens. Enregistrez les intervalles individuels entre tokens pour diagnostiquer les interruptions de la transmission en continu. Un fragment HTTP peut contenir plusieurs tokens ; les intervalles entre les arrivées de fragments ne correspondent donc pas exactement aux temps de génération des tokens.
À titre de référence historique, MLPerf Inference v5.0 imposait un TTFT P99 de 450 ms et un TPOT P99 de 40 ms pour son benchmark interactif Llama 2 Chat 70B. Ces limites définissent ce benchmark. Choisissez les objectifs de votre produit à partir de tests utilisateurs, puis indiquez pour quelle charge de requêtes le serveur les respecte.
Le guide d’ingénierie : TTFT, TPOT et percentiles relie ces mesures aux files d’attente et aux phases d’inférence.