詳細解釋
解碼階段(Decoding Stage)是LLM推理的第二階段,自回歸逐token生成輸出,使用Prefill階段計算的KV Cache。
運作方式:
- 輸入:前一個生成的token
- 使用KV Cache:只需計算新token的注意力
- 計算量:O(d²)每token,與序列長度線性增長
- 生成:直到結束條件
與Prefill的區別:
- Prefill:並行處理提示
- Decode:串行生成輸出
- Prefill計算量大,Decode記憶體帶寬瓶頸
優化:
- KV Cache優化:PagedAttention、壓縮
- 投機解碼:小模型草稿+大模型驗證
- 量化:減少記憶體佔用
- 批處理:多序列一起生成
瓶頸:
- 記憶體帶寬:載入KV Cache
- 串行限制:無法並行生成
- 長序列:KV Cache線性增長
與Prefill共同組成推理過程。
是大型語言模型 (大語言模型 / 大模型)服務優化的重點,尤其高並發場景。