作者:默思編輯部 發布:2026-05-02
大型語言模型生成文字時,本質上是一次生成一個 token(詞元),每生成一個 token 就要把整個模型的參數完整運算一次——這個「逐字生成」的天性,是大模型推理速度的根本瓶頸,因為就算模型再強大,GPU 的平行運算能力在這個場景下沒有被充分利用,大部分時間都花在等待記憶體讀寫,而不是真正的運算。
Speculative decoding(推測解碼)的做法是:先用一個更小、更快的「草稿模型」(draft model)快速生成一串候選 token,再交給原本的大模型(target model)一次性平行驗證這一整串候選 token 對不對。只要草稿模型猜對的 token,大模型就直接採用,不用再重新一個個生成;只有猜錯的地方,才需要大模型重新接手生成。
這個做法巧妙之處在於:驗證一整串候選 token,跟生成一個 token 所需要的運算量幾乎一樣(因為都能利用 GPU 平行運算),但如果草稿模型猜對率高,等於用一次大模型運算,換到了好幾個 token 的產出,大幅攤薄了大模型每個 token 的平均運算成本。
這些技術目前都已經被整合進 vLLM、SGLang、TensorRT-LLM 這些業界主流的推理服務框架裡,代表 speculative decoding 已經從「研究實驗」正式變成「生產環境標配」,尤其對自架模型(self-hosted)與正式上線的服務場景,效益特別明顯。
很多人第一次聽到「用小模型猜測」會擔心準確度打折——但 speculative decoding 的設計保證了輸出結果在數學上跟原本大模型單獨生成完全一致:驗證階段只會接受跟大模型原本會生成的機率分佈相符的 token,不符合的地方一律丟棄重新來,這代表它純粹是加速技巧,不是準確度與速度的取捨。
對於正在用 Python 串接大型語言模型 API 或自架推理服務的開發者而言,理解 speculative decoding 的原理,有助於判斷不同推理框架、不同模型選擇背後的效能差異——當你看到某個推理服務標榜「2 倍加速」,這背後很可能就是這套技術在運作。