← 所有文章
Inference
大規模 LLM 推論:服務架構與成本最佳化
訓練佔據頭條,但帳單在推論時到來——每一次請求、每一天。以可負擔的成本、夠快的速度提供大型語言模型服務,本身就是一門架構學問。這些是最重要的槓桿。
1. 連續批次處理
GPU 是吞吐量機器;一次只服務一個請求是浪費。連續(in-flight)批次處理讓多個請求交錯通過模型,大幅提升使用率與每秒 token 數。對繁忙的端點而言,這是最大的一項收益。
2. KV cache 就是一切
生成期間,attention 狀態(KV cache)主宰記憶體。Paged attention 與 cache 重用讓你容納更多並行序列,並跳過共用前綴的重算——對 system prompt 與多輪對話是巨大的節省。刻意管理 cache 記憶體;瓶頸通常是它,而不是 FLOPs。
3. 更小、更快的模型
量化(8-bit、4-bit)縮小記憶體、提升速度,品質損失很小。蒸餾與「剛好夠用」——使用能通過你評估集的最小模型——在成本與延遲上常常勝過更大的模型。Speculative decoding 用小模型起草、大模型驗證,再加一層加速。
4. 路由、快取、分層
不是每個請求都需要你最大的模型。簡單查詢路由到便宜的模型,困難的交給高階模型。快取完全相同與語意相近的回應。串流輸出 token 以降低感知延遲。每一層都在負載抵達昂貴路徑前先削減它。
5. 自動擴縮與部署位置
GPU 冷啟動慢、容量稀缺,所以依佇列深度與首個 token 時間擴縮、為尖峰保留暖池、把推論放在靠近使用者的位置。把每千 token 成本與 P95 延遲當成核心 SLO 追蹤,並隨流量成長重新檢視。
快速、可負擔的推論是一疊複利式的最佳化:連續批次、掌握 KV cache、跑最小的堪用模型、積極路由與快取、依正確訊號擴縮。合起來,它們把令人心驚的 GPU 帳單變成可持續的服務。