TTFT
TTFT 越低越好
量測 streaming 使用者等待第一份輸出的時間,主要反映運算密集的 prefill。
1
在調校模型伺服器之前,先界定應用、證明模型品質、選擇服務模式,並決定哪些延遲與吞吐量量測能代表成功。
9 分鐘閱讀
印刷頁: 23–38
最佳化是在可行方案中尋找最合適的平衡,不是只把某個數字推到最大。先釐清應用所需模型、輸入與輸出介面、端到端延遲預算、單位經濟、流量形態與合規界線。這些限制會決定共享推論是否仍然合適、哪些模型值得評估,以及延遲或吞吐量何者應優先。對 streaming 語言模型輸出而言,time to first token(TTFT)描述輸出開始前的等待,tokens per second(TPS)則描述開始後的傳送速度。必須報告兩者的百分位數,區分每位使用者感受到的速度與全服務吞吐量,並比較純推論時間和客戶端真正經歷的時間。技術上更快的模型若無法符合產品品質、成本或可靠度契約,就不算改善。
應用類別先收斂為工作負載契約,再導向模型與評估以及服務模式;生產環境的使用者可見指標最後從結果回饋至原始契約。
推論改善會交換延遲、吞吐量、品質與成本。沒有產品定義,團隊便無法判斷哪一種交換可以接受。高度 batch 化的部署也許能有效率地處理離線語料庫,放進聊天介面卻可能慢得無法使用;高價低延遲服務也許很適合商業工作流程,卻可能摧毀用量波動劇烈的消費產品毛利。限制能縮小搜尋空間,讓吸引人的 benchmark 數字變成可依使用者、流量與經濟條件評估的決策。
處理順序同樣重要。選擇一個能力足夠的小模型,對成本與延遲的影響可能遠超過之後的 inference engine 調校。產品專屬評估能避免工程師加速一個根本不夠好的模型,也提供品質 benchmark,用來檢查可能降低品質的最佳化。這些決策有證據支持後,團隊才應承擔專用推論及其更大的營運責任面。
限制之間也需要排序。品質先決定功能究竟能不能用;互動方式決定使用者看得見延遲的哪一部分;流量和經濟條件決定產品負擔得起多少容量;可用性與合規則決定服務可以在哪裡、以什麼方式執行。當兩個目標衝突時,這套階層能避免某個漂亮 benchmark 數字悄悄重新定義產品。它也讓最佳化提案可以被否證:團隊必須說明哪個限制預期改善、哪個限制可以變差、可接受幅度是多少,以及最後由哪一項評估或生產量測做決定。舉例來說,聊天產品也許願意以稍低總吞吐量換取更快的第一份輸出;離線文件處理則可能接受單件工作較慢,只要每小時完成量提高。這不是一套放諸四海皆準的優先表,而是要求每個產品明確寫出自己的排序。如此一來,效能工作就從無限搜尋轉為有界線、可重複、能判斷成功與失敗的工程實驗。
評估是產品語言與服務語言之間的橋梁。產品負責人可以描述不可接受的失敗,以及最困難但必須成功的案例;評估集則把這些描述轉成可重複的證據。推論工程師因此能比較較小模型、微調變體,或可能影響品質的最佳化,而不必猜測行為改變是否重要。這座橋還必須和工作負載切片保持連結。模型也許在短請求上通過,遇到長上下文卻失敗;服務也許在平均流量下看似經濟,到了高並行尖峰卻超過延遲預算。若評估只測能力、效能測試只用合成輸入、成本估算又依另一套流量假設,三組數字就無法共同回答產品問題。因此契約、評估和服務量測應使用相符的情境、輸入分布與識別方式,讓每次比較都能追溯到同一個使用案例。
端到端延遲 = 排隊時間 + 網路時間 + 推論時間 + 應用程式周邊工作TTFT 越低越好
量測 streaming 使用者等待第一份輸出的時間,主要反映運算密集的 prefill。
TPS 越高越好
量測第一個 token 之後每位使用者收到 token 的速度,主要反映頻寬密集的 decode。
ITL 越低越好
量測連續 token 之間的時間;十毫秒相當於每秒一百個 token。
總 TPS
計算整個服務每秒產生的所有 token,不能和單一使用者感受到的速度混為一談。
P90、P95 與 P99
揭露右偏回應時間分布中,平均值或中位數可能遮蔽的慢速 outlier 請求。
從請求開始到有用結果完成
適合非 streaming 的代理工具呼叫,以及個別 token 對呼叫端沒有用途的其他輸出。
一個指標需要完整量測規約,不能只有名稱。記錄計時器從哪裡開始、在哪裡結束、輸出是否 streaming、提示與輸出長度、並行量、服務模式,以及報告的是哪個百分位數。對 TPS 而言,還要說明分子涵蓋單一回應或整個服務。延遲必須和同一工作負載的評估結果與成本並列,因為答案品質下降,或請求組成已經不同的快速執行,根本不能公平比較。最後,依請求把純推論追蹤和端到端追蹤對齊。若模型時間保持不變而客戶端時間上升,證據就會指向排隊、網路距離或應用工作,而不是再做一輪模型最佳化。規約也要固定負載產生方式與暖機狀態,避免把 cold start、突發排隊和穩態執行混成一個平均值。報告除了中心趨勢,也應保留 P90、P95 或 P99 等尾端結果,並標示樣本時間窗口。只有這樣,不同模型、部署或版本的數字才具有可比性,也才能把使用者抱怨對應回具體服務階段。
線上互動獎勵快速的個別回應;離線工作獎勵單位時間完成更多工作。同一模型若兩邊都有可觀用量,應設計不同部署,而不是迫使單一設定同時滿足方向相反的目標。
共享服務具備低營運負擔、按用量計費和無部署 cold start 等優點,但控制受限且依賴供應商。專用服務提供控制力與規模經濟機會,卻增加最低支出、容量風險和工程責任。
小模型比較容易服務,但必須通過產品評估才有用。微調可能在狹窄領域推進這條界線;若任務確實需要大型通用模型的能力,選擇較大模型仍然正確。
改善平均值有利整體速度;降低高百分位數則能保護使用者,避免罕見但破壞信任的漫長等待。推論延遲通常右偏,因此服務需要同時觀察兩種視角。
GPU 上的時間適合評估模型效能工作;端到端時間適合評估使用者體驗。兩者之間的落差會把 attention 轉向排隊、網路或其他基礎設施問題。
印刷頁 25–26
定義讓最佳化具有具體目標的產品限制。
印刷頁 26–27
比較共享與專用推論,並列出轉換服務模式的主要原因。
印刷頁 27–30
區分應用類別、工作時效、市場與合規需求。
印刷頁 31
把模型大小與架構支援視為一級推論決策。
印刷頁 31–32
說明產品專屬評估及其作為品質基線的功能。
印刷頁 32–35
對照領域微調與教師學生蒸餾。
印刷頁 35–36
定義 streaming token 指標,以及每位使用者 TPS 和總 TPS 的歧義。
印刷頁 36–37
說明右偏回應時間為何需要百分位數報告。
印刷頁 37–38
把 GPU 上的推論時間和完整使用者可見路徑分開。