推测解码(Speculative Decoding)是一种用于加速大语言模型推理的采样技术,其核心思想是让一个更小的“草稿模型”预先推测生成多个候选词元,再由原始大模型进行快速验证和修正,从而在一次前向传播中确认多个词元,显著提升生成速度。
可以将其类比为一位资深专家(大模型)与一位敏捷助手(小模型)的协作流程。首先,助手根据当前语境,快速“推测”出接下来可能出现的几个词(例如3到5个),形成一段候选序列。然后,专家并不需要逐个思考这些词,而是将这段候选序列作为一个整体进行审阅。专家会一次性判断:助手提出的第一个词是否正确?如果正确就采纳,并继续判断第二个词;一旦发现某个词不正确,专家就会否决它,并亲自生成一个正确的词来替换。此后,流程基于新的上下文重新开始。

在技术实现上,“助手”通常是一个参数量远小于原模型的小型模型或一个简单的预测头。关键优势在于,验证多个候选词元所需的大模型计算量,远小于大模型自己逐个生成这些词元。只要小模型的推测有较高的命中率,整体推理速度就能获得数倍的提升。

理解推测解码,可关联以下概念:自回归生成、推理优化、大语言模型、采样策略、注意力机制。

若想深入了解,可查阅关于推测解码的开创性论文《Fast Inference from Transformers via Speculative Decoding》,以及探讨其变体(如使用级联模型或损失函数进行推测)的后续研究。这些文献深入分析了其理论加速上界、与小模型质量的权衡,以及在实际系统中的集成方法。

