推测性解码(Predictive Decoding)是一种在自然语言处理(NLP)领域中使用的解码策略,特别是在机器翻译和文本生成任务中。它指的是在生成目标文本时,解码器会考虑之前已经生成的词或者短语,来预测接下来可能生成的词或短语。这种方法可以提高翻译或生成文本的流畅性和准确性。
推测性解码是一种用于大语言模型(LLM)推理加速的技术。
其主要思路是“先推测后验证”(Draft-then-Verify):在每个解码步,该算法首先高效地“推测”目标 LLM 未来多个解码步可能生成的 token,然后用目标 LLM 同时验证这些 token,通过验证的 token 作为当前解码步的解码结果。
如果“推测”足够准确,推测解码就可以在单个解码步并行生成多个 token,从而实现 LLM 推理加速。并且,使用目标 LLM 的验证过程可以在理论上保证解码结果和目标 LLM 自回归解码结果的完全一致。
一、解码过程
推测解码目的是在每个解码步骤中,先生成多个可能的 token,然后使用目标大语言模型并行地评估这些 token,以加快推理速度。
- 生成:
- 在每个解码步骤中,推测解码算法首先会生成多个可能的 token,作为对目标大语言模型输出内容的推测。生成的内容可以分为两类:独立生成(Independent Drafting)和自生成(Self-drafting)