1 基本介紹?
- 投機采樣(Speculative Sampling)是一種并行預測多個可能輸出,然后快速驗證并采納正確部分的加速策略
- 在不犧牲輸出質量的前提下,減少語言模型生成 token 所需的時間
- 傳統的語言模型生成是 串行 的
- 必須生成一個,再輸入到模型中,才能生成下一個
- 投機采樣的核心思想是
- 用一個“小模型”提前生成多個候選 token(投機結果),然后用“大模型”一起驗證這批候選,并行加速。
2 舉例?
- 比如已有 prompt 是:“The weather today is”
- 小模型(Draft Model)快速生成多個候選 token
- 例如預測出:"The weather today is [sunny, and, warm, with, ...]" 共 5 個 token
- 大模型(Target Model)驗證這些 token
-
大模型并行地計算這 5 個 token 的概率;
-
如果小模型的結果和大模型的前幾個 token 一致(大模型在這個token上概率小于小模型的,即小模型“更有把握”),就“采納”它;如果中途發現不一致,就在那個位置停止,用大模型重新生成。
-
- ?那么下一輪:
- ?那么下一輪:
-