Phase 17: Infrastructure & Production

इन्फेरेंस मेट्रिक्स TTFT, TPOT, ITL, Goodput, P99

चार मीट्रिक तय करते हैं कि क्या एक निष्कर्ष तैनाती काम कर रही है। TTFT प्रीफिल प्लस कतार प्लस नेटवर्क है। TPOT (बराबर आईटीएल) प्रति टोकन मेमोरी-बाउंड डिकोड लागत है। अंत-से-अंत लटेंसी TTFT प्लस TPOT गुना आउटपुट लंबाई है। पारगमन प्रति सेकंड टोकन है जो पूरे बेड़े में एकत्रित हैं। लेकिन उत्पाद के लिए महत्वपूर्ण है कि सभी एसएलओ को एक साथ पूरा करने वाले अनुरोधों का अंश। उच्च आउटपुट कम गुडपुट का मतलब है कि आप टोकन को संसाधित कर रहे हैं जो कभी भी समय पर उपयोगकर्ताओं तक नहीं पहुंचते हैं। 2026 में Llama-3.1-8B-Instruct on TRT-LLM के लिए संदर्भ संख्याः औसत TTFT 162 ms, औसत TPOT 7.33 ms, औसत E2E 1,093 ms। हमेशा P50, P90, P99 के बारे में रिपोर्ट करें कभी भी सिर्फ मतलब नहीं है। और माप जाल पर ध्यान देंः GenAI-Perf TTFT को ITL गणना से बाहर करता है, LLMPerf इसे शामिल करता है; दो उपकरण एक ही रन के लिए TPOT पर असहमत हैं।

Type: Learn

Languages: Python (stdlib, toy percentile calculator and goodput reporter)

Prerequisites: Phase 17 · 04 (Serving Engine Internals)

Time: ~60 minutes

सीखने के लक्ष्य

  • TTFT, TPOT, ITL, E2E, throughput और goodput को सटीक रूप से परिभाषित करें और प्रत्येक घटक का नाम लें।
  • एमएलएम सेवा के लिए औसत गलत आंकड़ा क्यों है और पी50/पी90/पी99 कैसे पढ़ें, इसकी व्याख्या करें।
  • एक SLO बहु-प्रतिबंध (जैसे TTFT<500 ms और TPOT<15 ms और E2E<2 s) का निर्माण करें और इसके अनुसार अच्छापुट गणना करें।
  • दो बेंचमार्क उपकरण का नाम बताइए जो एक ही रन के लिए TPOT पर असहमत हैं और बताएं कि क्यों।

समस्या

"हमारा थ्रूपुट 15,000 टोकन प्रति सेकंड है". तो क्या? अगर 40% अनुरोध अंत से अंत तक 2 सेकंड से अधिक समय तक फट जाते हैं, तो उपयोगकर्ता सत्र छोड़ देते हैं। अकेले थ्रूपुट आपको नहीं बताता कि उत्पाद काम करता है या नहीं।

इन्फेरेंस में कई विलंब अक्ष हैं और प्रत्येक अलग-अलग विफलता है। प्रीफिल कम्प्यूटेबल है और त्वरित लंबाई के साथ स्केल करता है। डिकोड मेमोरी-बंद है और बैच आकार के साथ पैमाने. कतार में देरी एक परिचालन समस्या है। नेटवर्क भौतिक दूरी की समस्या है। आपको प्रत्येक के लिए अलग-अलग मेट्रिक्स की आवश्यकता है, और आपको प्रतिशत की आवश्यकता है, और आपको एक एकल समग्र की आवश्यकता है जो कहता है "क्या उपयोगकर्ता को वह मिला जो उन्होंने उम्मीद की थी"

अवधारणा

TTFT समय पहले टोकन के लिए

TTFT = queue_time + network_request + prefill_time

प्रीफिल लंबे समय तक होता है। H100 पर Llama-3.3-70B FP8 पर, 32k प्रॉम्प्ट में ~800 ms शुद्ध प्रीफिल होता है। कतार का समय लोड के तहत अनुसूचक व्यवहार है। नेटवर्क अनुरोध TLS सहित वायर समय है। TTFT उपयोगकर्ता कुछ भी वापस स्ट्रीम करने से पहले देखता है।

TPOT / ITL इंटर-टोकन लटेंसी

एक मात्रा के लिए कई नाम।TPOT(आउटपुट टोकन प्रति समय), ITL(इंटर-टोकन लटेंसी), decode latency per token सभी समान. यह पहले के बाद लगातार स्ट्रीम किए गए टोकन के बीच का समय है।

TPOT = (decode_forward_time + scheduler_overhead) / tokens_produced

एक ही Llama-3.3-70B H100 स्टैक पर टुकड़े टुकड़े के साथ प्रीफिल, TPOT ~ 7 ms का मतलब है। बिना टुकड़े टुकड़े प्रीफिल के, एक पड़ोसी अनुक्रम पर एक लंबे प्रीफिल के दौरान, TPOT 50 ms तक बढ़ सकता है। P99 देखो, नहीं मतलब।

E2E विलंबता

E2E = TTFT + TPOT * output_tokens + network_response

लंबे आउटपुट (>500 टोकन) के लिए, E2E TPOT-dominated है। लंबे प्रॉम्प्ट के साथ छोटे आउटपुट के लिए, E2E TTFT-dominated है। रिपोर्ट आउटपुट-लंबाई-कंडीशनिंग E2E।

पारगमन

throughput = total_output_tokens / elapsed_time

समग्र माप आपको बेड़े की दक्षता बताता है, व्यक्तिगत अनुरोध स्वास्थ्य नहीं बताता है।

अच्छा उत्पादन मीट्रिक आप वास्तव में परवाह करते हैं

goodput = fraction of requests meeting (TTFT <= a) AND (TPOT <= b) AND (E2E <= c)

SLO एक बहु-प्रतिबंध है। एक अनुरोध केवल तभी "अच्छा" है जब प्रत्येक प्रतिबन्ध को पूरा किया जाए। Goodput हिस्सा है। 60% goodput पर उच्च आउटपुट विफलता है। 99% goodput पर कम आउटपुट लक्ष्य है।

2026 में, goodput MLPerf इन्फरेंस v6.0 प्रस्तुतियों और AI प्लेटफॉर्म प्रदाताओं में आंतरिक SLA ट्रैकिंग में उपयोग किए जाने वाले मीट्रिक है।

गलत आंकड़ा क्यों है

LLM लटेंसी वितरण दाएं-शेव हैं। एक लंबे पूर्व-पूर्ति वाले पड़ोसी के साथ एक डिकोड बैच 500 टोकन TPOT ~ 7 ms और TPOT ~ 60 ms के साथ 20 टोकन भेज सकता है। औसत TPOT 9 ms है। P99 TPOT 65 ms है। उपयोगकर्ता नियमित रूप से P99 पर हिट करते हैं। यही कारण है कि वे छोड़ देते हैं।

हमेशा तीन (P50, P90, P99) रिपोर्ट करें। उपयोगकर्ता अनुभव के लिए, P99 वह है जिसे आप अनुकूलित करते हैं।

संदर्भ संख्या Llama-3.1-8B-TRT-LLM पर निर्देश, 2026

  • औसत TTFT: 162 ms
  • औसत TPOT: 7.33 ms
  • औसत E2E: 1,093 ms
  • P99 TPOT: टुकड़े-टुकड़े पूर्व-भरण विन्यास के आधार पर 10-25 ms में भिन्न होता है।

ये प्रकाशित NVIDIA संदर्भ बिंदु हैं। वे मॉडल आकार (70B 3-5x दिखाएगा), हार्डवेयर (H100 बनाम B200 ~ 3x), और लोड के साथ बदलते हैं।

माप जाल

2026 में सबसे अधिक इस्तेमाल किए जाने वाले बेंचमार्क टूल में से दो एक ही रन के लिए TPOT पर असहमत हैंः

  • NVIDIA GenAI-Perf: ITL की गणना से TTFT को बाहर रखा गया है। ITL टोकन 2 से शुरू होता है।
  • LLMPerf: TTFT शामिल है. ITL टोकन 1 से शुरू होता है।

500 ms TTFT और 700 ms कुल डिकोड में 100 आउटपुट टोकन के साथ अनुरोध के लिए, GenAI-Perf रिपोर्ट ITL = 700/99 = 7.07 ms, LLMPerf रिपोर्ट ITL = 1200/100 = 12.00 ms. उपकरण विकल्प संख्या बदलता है.

हमेशा बताएं कि कौन सा उपकरण है। हमेशा परिभाषा प्रकाशित करें।

एसएलओ का निर्माण

2026 में 70B चैट मॉडल के लिए उपभोक्ता के लिए एक उचित SLOः

  • TTFT P99 <= 800 ms।
  • TPOT P99 <= 25 ms।
  • E2E P99 <= 3 s <300-टोकन आउटपुट के लिए।
  • अच्छा उत्पादन लक्ष्य >= 99%

एंटरप्राइज एसएलओ टीटीएफटी (200-400 एमएस) को कसते हैं और ई 2 ई को ढीला करते हैं। बिंदु उन्हें लिखना, तीनों को मापना और एक एकल समग्र के रूप में अच्छा उत्पादन ट्रैक करना है।

मापने का तरीका

  • वास्तविक या यथार्थवादी सिंथेटिक ट्रैफ़िक चलाएं (LLMPerf के साथ --mean-input-tokens 800 --stddev-input-tokens 300 --mean-output-tokens 150) ।
  • बेंचमार्क रन के लिए 2x पीक समवर्ती लक्ष्य।
  • 30-50 पुनरावृत्ति चलाओ, संयुक्त नमूना के प्रतिशत लें।
  • उपकरण नाम, उपकरण संस्करण, मॉडल, हार्डवेयर, समवर्ती, शीघ्र वितरण के साथ प्रकाशित करें।

इसका प्रयोग करें

code/main.pyएक खेलौना अच्छापन कैलकुलेटर है। एक सिंथेटिक विलंबता वितरण उत्पन्न करें, एक SLO लागू करें, और अच्छापन गणना करें। यह एक ही निशान पर GenAI-Perf बनाम LLMPerf TPOT अंतर भी दिखाता है।

इसे भेजें

यह सबक हमें फल देता हैoutputs/skill-slo-goodput-gate.md. कार्यभार और SLO को देखते हुए, यह एक CI/CD-ready बेंचमार्क रेसिपी तैयार करता है जिसे गेट आउटपुट की बजाय goodput पर तैनात करता है।

व्यायाम

  1. दौड़ेंcode/main.py. 1% पूंछ की चोटी के साथ वितरण उत्पन्न करें. जब आप 30 ms से 15 ms तक P99 TPOT को कसते हैं तो अच्छापुट कैसे बदलता है?
  2. एक विक्रेता "लमा 3.3 70B H100 पर 15,000 टोक / सेकंड" का उद्धरण देता है। उस पर भरोसा करने से पहले तीन प्रश्न पूछें।
  3. टुकड़े टुकड़े प्रीफिल पी 99 टीपीओटी की रक्षा क्यों करते हैं लेकिन टीपीओटी का मतलब नहीं करते हैं?
  4. एक आवाज सहायक के लिए उपभोक्ता SLO का निर्माण करें (पहला टोकन सुना जाता है, नहीं पढ़ा जाता है) कौन सा मीट्रिक उपयोगकर्ता के लिए सबसे अधिक दृश्यमान है?
  5. LLMPerf README और GenAI-Perf डॉक्स पढ़ें। तीन अन्य मीट्रिक की पहचान करें जहां उपकरण असहमत हैं।

प्रमुख शर्तें

TermWhat people sayWhat it actually means
TTFT"time to first token"Queue + network + prefill; dominated by prefill at long prompts
TPOT"time per output token"Memory-bound decode cost per token after first
ITL"inter-token latency"Same as TPOT in most tools (not all — see GenAI-Perf)
E2E"end to end"TTFT + TPOT * output_len; response-side network on top
Throughput"tok/s"Fleet efficiency; useless without latency percentiles
Goodput"SLO-met rate"Fraction of requests meeting every SLO constraint simultaneously
P99"tail"1-in-100 worst-case latency; the user experience metric
SLO multi-constraint"the joint"AND of all three latency bounds; a request fails if any one is violated
GenAI-Perf vs LLMPerf"the tool trap"Tools disagree on whether ITL includes TTFT

आगे पढ़ना

This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.

Browse the complete course catalog or open this lesson on GitHub.