VIP 專屬 部署與推理優化 實戰

延遲預算分配:從使用者體驗反推每一段的上限

先決定使用者能忍受多久,再把時間分配給各個環節。

部署與推理優化教程封面

多數團隊的做法是:把系統做出來,量一下延遲,然後說「就這樣吧」。正確的做法相反——先訂出體驗目標,再反推每個環節的預算。

體驗門檻的參考值

  • 100ms 以內:感覺像即時反應。
  • 300ms 以內:流暢,使用者不會分心。
  • 1 秒以內:可接受,但已能感知等待。
  • 超過 3 秒:需要明確的載入回饋,否則使用者會懷疑壞掉。
  • 超過 10 秒:必須改成非同步流程,不要讓使用者盯著等。

一個 RAG 問答的預算分配範例

目標:TTFT p95 < 1200ms

  前端與網路往返          120ms
  身分驗證與權限查詢       40ms
  查詢改寫(小模型)      180ms
  向量檢索                 60ms
  關鍵字檢索(平行)        —
  重排                    220ms
  提示組裝                 20ms
  模型預填充(TTFT)      500ms
  ─────────────────────────────
  合計                   1140ms   餘裕 60ms

超出預算時的處理順序

  1. 平行化:向量檢索與關鍵字檢索同時跑,不要序列。
  2. 去掉可選環節:查詢改寫在短問題上可以跳過。
  3. 降低規模:重排候選從 50 降到 20。
  4. 快取:熱門查詢直接回。
  5. 改成串流:讓 TTFT 成為使用者感知的時間,而非總時間。

用漸進呈現爭取時間

無法把總時間壓下來時,可以改變「感知時間」:先在 200ms 內顯示「正在查詢 3 份相關文件」,再顯示文件標題,最後才串流答案。使用者全程有回饋,體感遠優於盯著轉圈圈。

要量 p95 不要量平均

# 每一段都要有自己的計時,且要能組合成完整的火焰圖
with span('rerank'):
    ranked = rerank(q, cands)
# 匯總時看各段的 p50 / p95 / p99,找出長尾來源

長尾往往來自少數環節

實務上 p99 的延遲常常集中在一兩個環節——通常是外部 API 或未設逾時的查詢。針對長尾優化的投資報酬率,往往比優化平均值高得多。

為每個環節設定獨立逾時,且總和要小於整體預算。沒有分段逾時,一個卡住的環節會吃掉全部預算。
🔒

訂閱後繼續閱讀全文

本篇為訂閱者專屬內容。訂閱後可取得下列權限:

  • 解鎖全部內容權限
  • 閱讀不限篇數
  • 全站移除廣告
月卡
NT$240
開通 30 天
一次付清,開通 30 天
季卡
NT$620
開通 90 天
一次付清,開通 90 天,每天約 NT$7
年卡
NT$2,160
開通 365 天
一次付清,開通 365 天,每天約 NT$6

一次性付款,付款成功後立即開通,到期自動結束,不會再次扣款,也不需要取消訂閱。

立即訂閱

金額均為新臺幣(TWD),即實際扣款金額,不另收手續費
支援信用卡 · Apple Pay · Google Pay · WebATM · ATM 轉帳
購買須知與退款政策