{"licence":{"name":"CC BY-SA 4.0","spdx":"CC-BY-SA-4.0","url":"https://creativecommons.org/licenses/by-sa/4.0/","attribution":"Atlas, a bilingual technical dictionary (https://cmaintz.github.io/tech-atlas/)"},"id":"ai/time-to-first-token","url":{"en":"https://cmaintz.github.io/tech-atlas/en/terms/ai/time-to-first-token/","da":"https://cmaintz.github.io/tech-atlas/da/terms/ai/time-to-first-token/"},"term":{"en":"Time to first token (TTFT)","da":"Tid til første token (TTFT)"},"aka":{"en":["TTFT"],"da":["TTFT"]},"domain":["ai"],"cluster":"ai-infrastructure","layer":"inference","status":"current","summary":{"en":"How long a user waits after sending a prompt before the first piece of the answer appears on screen.","da":"Hvor længe en bruger venter, efter at have sendt en prompt, før den første del af svaret dukker op på skærmen."},"body":{"formal":{"en":"The latency from a request reaching a language model service until the first token of the reply is returned; it is mostly the time spent waiting in line and reading the whole prompt, and grows with prompt length.","da":"Latensen fra en forespørgsel når frem til en sprogmodeltjeneste, til det første token i svaret sendes tilbage; den består mest af ventetid i kø og læsning af hele prompten og vokser med promptens længde."},"plain":{"en":"Like the pause after you ask someone a question and before they say their first word - a long pause feels slow even if they then talk quickly.","da":"Som pausen efter du har stillet nogen et spørgsmål, og før de siger deres første ord - en lang pause føles langsom, selv om de derefter taler hurtigt."},"inPractice":{"en":"A product owner in a municipality tests a voice assistant for the citizen phone line; callers hang up when the silence after they speak lasts more than about a second, so she tracks time to first token on every test call.","da":"En produktejer i en kommune tester en stemmeassistent til borgertelefonen; borgerne lægger på, når tavsheden, efter at de har talt, varer mere end cirka et sekund, så hun følger tiden til første token på hvert testopkald."},"whyItMatters":{"en":"Because answers stream in word by word, this first wait is what people feel most, so it is the speed number chat products watch closest.","da":"Fordi svar strømmer ind ord for ord, er denne første ventetid det, folk mærker mest, og derfor er det det hastighedstal, chatprodukter holder nøjest øje med."}},"deepDive":{"en":"TTFT is the sum of several stages: client-to-server network time, authentication and gateway overhead, tokenization, time spent queued until the scheduler admits the request, the prefill forward pass over the whole prompt, sampling of the first token, and the return trip of the first streamed chunk. Only one of those stages scales directly with model and prompt size. Prefill costs roughly 2 × parameters × prompt tokens in FLOPs for the dense layers, plus an attention term that grows quadratically with prompt length, and because prefill is compute-bound it benefits from raw accelerator FLOPS rather than memory bandwidth. A 100,000-token prompt can therefore take seconds to prefill even on fast hardware, whereas a short chat message is dominated by queueing and network time.\n\nTTFT should be kept distinct from the metrics that describe the rest of the response. Time per output token (TPOT) is the average interval between subsequent tokens; inter-token latency (ITL) is the distribution of those intervals, where spikes reveal scheduling hiccups; end-to-end latency covers the complete response. A system can have excellent TTFT and poor TPOT or the reverse, and they respond to different optimisations. Where TTFT is measured also matters: client-side measurements include network and TLS setup, server-side measurements usually start when the request is received, and benchmark tools differ in whether an initial empty or role-only chunk counts as the first token.\n\nThe main levers on TTFT are prompt length, prefix or prompt caching (skipping prefill for a cached shared prefix), scheduling policy and capacity headroom. Serving engines face a tension: a new request's prefill competes with the decode steps of requests already running. Prioritising prefill improves TTFT but causes stalls for streaming users; chunked prefill, as in Sarathi-Serve, splits long prompts into pieces interleaved with decode steps to bound that interference, and disaggregated serving moves prefill to separate GPUs entirely. Tensor parallelism across more GPUs also shortens prefill for large models.\n\nTwo newer patterns complicate the metric. Reasoning models may spend many tokens thinking before the visible answer begins; if thinking is hidden or summarised, the user experiences time to first visible token, which can be far larger than the API-level TTFT. Tool-using agents and retrieval pipelines add retrieval and tool latency before the model call even starts. For voice interfaces, where a gap of around a second already feels unnatural, teams budget TTFT together with speech recognition and speech synthesis latency and often use smaller models or speculative early responses to meet the budget.","da":"TTFT er summen af flere trin: netværkstid fra klient til server, overhead i autentificering og gateway, tokenisering, ventetid i kø, indtil scheduleren optager forespørgslen, prefill-gennemløbet over hele prompten, sampling af det første token og returrejsen for den første streamede bid. Kun ét af disse trin vokser direkte med model- og promptstørrelse. Prefill koster cirka 2 × antal parametre × antal prompt-tokens i FLOPs for de tætte lag plus et attention-led, der vokser kvadratisk med promptlængden, og da prefill er compute-bound, har det gavn af acceleratorens rå FLOPS frem for hukommelsesbåndbredde. En prompt på 100.000 tokens kan derfor tage sekunder at prefille selv på hurtig hardware, mens en kort chatbesked domineres af kø- og netværkstid.\n\nTTFT skal holdes adskilt fra de mål, der beskriver resten af svaret. Tid pr. output-token (TPOT) er det gennemsnitlige interval mellem efterfølgende tokens; inter-token-latens (ITL) er fordelingen af disse intervaller, hvor spidser afslører hak i planlægningen; end-to-end-latens dækker hele svaret. Et system kan have fremragende TTFT og dårlig TPOT eller omvendt, og de reagerer på forskellige optimeringer. Hvor TTFT måles, betyder også noget: målinger på klientsiden omfatter netværk og TLS-opsætning, målinger på serversiden starter normalt, når forespørgslen modtages, og benchmarkværktøjer er uenige om, hvorvidt en første tom bid eller en bid, der kun angiver rollen, tæller som første token.\n\nDe vigtigste håndtag på TTFT er promptlængde, prefix eller prompt caching (prefill springes over for et gemt fælles præfiks), planlægningspolitik og ledig kapacitet. Serving-motorer står i et dilemma: en ny forespørgsels prefill konkurrerer med decode-trinnene for de forespørgsler, der allerede kører. Prioriteres prefill, forbedres TTFT, men brugere, der streamer, oplever stop; chunked prefill, som i Sarathi-Serve, deler lange prompter op i stykker, der flettes ind mellem decode-trinnene for at begrænse forstyrrelsen, og disaggregeret servering flytter prefill helt over på separate GPU'er. Tensorparallelisme over flere GPU'er forkorter også prefill for store modeller.\n\nTo nyere mønstre gør målet mere kompliceret. Ræsonnerende modeller kan bruge mange tokens på at tænke, før det synlige svar begynder; er tænkningen skjult eller opsummeret, oplever brugeren tiden til første synlige token, som kan være langt større end TTFT målt i API'et. Agenter, der bruger værktøjer, og retrieval-pipelines lægger søge- og værktøjslatens til, før modelkaldet overhovedet starter. I stemmegrænseflader, hvor en pause på omkring et sekund allerede føles unaturlig, budgetterer teams TTFT sammen med latensen i talegenkendelse og talesyntese og bruger ofte mindre modeller eller spekulative tidlige svar for at holde budgettet."},"edges":[{"type":"requires","to":"ai/token","confidence":"high","strength":"normal"},{"type":"requires","to":"ai/prompt","confidence":"high","strength":"normal"},{"type":"kind-of","to":"ai/latency","why":{"en":"It is latency measured only up to the first token rather than to the end of the whole answer.","da":"Det er latens målt kun frem til det første token i stedet for til slutningen af hele svaret."},"confidence":"high","strength":"primary"}],"depth":4,"sources":[{"title":"Kwon et al. (2023), Efficient Memory Management for Large Language Model Serving with PagedAttention","tier":"reference"},{"title":"NVIDIA NIM for LLMs documentation - benchmarking metrics (time to first token)","tier":"official-doc","publisher":"NVIDIA"}],"draft":true}