TTFT và TPOT

TTFT và TPOT là hai metric độ trễ chuẩn của LLM serving, mỗi metric ứng với một phase của quá trình inference. Vì inference gồm phase prefill (xử lý toàn bộ prompt) và phase decode (sinh token tuần tự), việc tách riêng hai metric cho phép đo và tối ưu từng phase độc lập.

Time to First Token (TTFT) đo thời gian từ khi request đến tới khi token đầu tiên được sinh ra. TTFT phản ánh chi phí của phase prefill nên tăng theo độ dài prompt, và thường được chia thành ba phần: network latency đưa request tới server, thời gian chờ trong queue, và thời gian prefill. Prefill là compute-heavy, và có thể được tăng tốc khi server đã có sẵn prefix cache cho phần prompt trùng lặp.

Time Per Output Token (TPOT) đo thời gian trung bình giữa hai token liên tiếp trong phase decode. Decode là memory-heavy và scale theo số token được sinh, nên TPOT quyết định độ “mượt” mà người dùng cảm nhận khi token được stream về. TTFT thường là metric ràng buộc hơn TPOT trong thực tế.

Độ trễ end-to-end (E2E) xấp xỉ bằng TTFT + (số token sinh × TPOT). Để so sánh các request có độ dài output khác nhau, người ta dùng NTPOT (Normalized Time Per Output Token) — E2E latency chia cho số token output.

flowchart LR
    A["Request den"] -->|"TTFT: network + queue + prefill"| B["Token dau tien"]
    B -->|"TPOT"| C["Token 2"]
    C -->|"TPOT"| D["..."]
    D -->|"TPOT"| E["Token cuoi"]