推测解码(Speculative Decoding)是谷歌等机构在 2022 年发现的大模型推理加速方法。它可以在不损失生成效果前提下,获得 3 倍以上的加速比。GPT-4 泄密报告也提到 OpenAI 线上模型推理使用了它。针对如此妙的方法,香港理工大学、北京大学、MSRA 以及阿里共同推出了一篇关于推测解码的综述, 帮助读者了解推测解码的前世今生和应用情况,值得一读。
众所周知,大型语言模型(LLM)的推理通常需要使用自回归采样,这个推理过程相当缓慢。为了解决这个问题,推测解码(Speculative Decoding)已经成为 LLM 推理的一种新型采样方法。这种方法在每个采样步骤中,会先预测几个可能的 token,然后并行地验证是否准确。与自回归解码不同,推测解码能够单步解码多个 token,从而加速推理。
虽然推测解码可以大有作为,但也引出了一些需要进一步调研的关键问题。首先需要考虑如何选择或设计近似模型,以在推测准确性和生成效率之间取得平衡。其次,有必要考虑评估标准是否能够保持生成多样性和输出质量。最后,应仔细考虑对齐近似模型和目标大模型之间的推理过程,以提高推理准确性。
基于上述问题,来自香港理工大学、北京大学、MSRA 以及阿里的研究者对推测解码进行了全面的调研。机器之心进行了总结整理。
论文标题:Unlocking Efficiency in Large Language Model Inference: A Comprehensive Survey of Speculative Decoding
论文地址:https://arxiv.org/pdf/2401.07851.pdf
推测解码的演化之路
本文首先深入介绍了推测解码的早期研究情况,并通过其演变的时间表进行了说明(如下图 2 所示)。
分块采样(Blockwise Decoding)是一种在 Transformer 解码器上集成额外前馈神经(FFN)头的方法,能够单步生成多个 token。
为了进一步释放分块采样算法的潜力,推测解码的方案被提了出来。这种算法包含一个独立的近似模型,通常是一个专门的非自回归 Transformer,能准确高效地执行生成任务。
继推测解码出现之后,有学者接着提出了「投机采样算法」(Speculative Sampling),在推测解码中加入了无损加速核采样。
简而言之,这些在推测解码方面的开创性努力已经逐渐巩固了 Draftthen-Verify 范式,展示了其在 LLM 加速方面的巨大潜力。
公式和定义
本节首先简要概述了标准自回归解码的内容,然后深入阐述了推测解码算法,包括对形式定义、方法论的全面描述以及算法的详细阐述。
本文提出了一个组织框架来对相关研究进行分类,如下图 3 所示。
本文在前人的基础上,对「推测解码算法」再次进行了正式的定义:
推测解码算法是一种先生成后验证的解码模式,在每个解码步骤,它首先需要能生成多个可能的 token,然后使用目标大语言模型并行地评估所有这些 token,以加快推理速度。算法表 2 是一个详细的推测解码过程。
随后,本文深入研究了这一范式不可或缺的两个基本子步骤 —— 生成和评估。
生成
在每个解码步骤中,推测解码算法首先会生成多个可能的 token,作为对目标大语言模型的输出内容的推测。
本文将生成的内容分为两类:独立生成(independent drafting )和自生成(self-drafting),并在下表 1 中总结了其公式。
验证
在每个解码步骤中,并行地验证近似模型生成的 token,以确保输出质量与目标大语言模型高度一致。这个过程还确定了每一步可允许的 token 数量,这是一个能够影响加速情况的一个重要因素。
对各种验证标准的总结如下表 2 所示,包括那些在大语言模型推理中支持贪心解码和核采样的标准。
生成和验证的子步骤会持续迭代,直到满足终止条件为止,即 [EOS] token 被解码或句子达到最大长度。
此外,本文引入了 token 的树验证算法,这是一种逐步提高 token 接受度的有效策略。
模型对齐
提高推测准确性是加速推测解码的关键:近似模型的预测行为越接近目标大语言模型,对其生成 token 的接受率就越高。为此,现有的工作探索了各种知识提取(KD)策略,以使近似模型的输出内容与目标大语言模型的输出内容保持一致。
分块解码首先采用序列级知识提取(Seq-KD)来进行模型对齐,用目标大语言模型生成的句子训练近似模型。
此外,Seq-KD 也是提高并行解码生成质量的有效策略,提高了并行解码的生成性能。
下表 3 中总结了现有推测解码方法的主要特征,包括近似模型的类型或生成策略、模型对齐方法、支持的评估策略和加速程度等情况。
应用
除了作为一种通用范式外,最近的工作还表明,推测解码的一些变体在特定任务中表现出非凡的有效性。此外,其他研究已经将这种范式应用于解决某些应用场景特有的延迟问题,从而实现推理加速。
例如,有些学者认为,推测解码特别适合于模型输入和输出高度相似的任务,如语法纠错和检索增强生成。
除了这些工作之外,RaLMSpec(Zhang et al., 2023b)用推测解码来加速检索增强语言模型(RaLMs)。
机遇与挑战
问题 1:如何权衡预测内容的准确性和生成效率?尽管目前对这个问题取得了一些进展,但在使近似模型与目标大语言模型生成内容保持一致方面仍有相当大的改进空间。除了模型对齐之外,其他因素(如生成质量和预测长度的确定)也会影响推测的准确性,值得进一步探索。
问题 2:如何将推测解码与其他领先技术相结合?作为一种通用的解码模式,推测解码已经与其他先进技术相结合,展示了其潜力。除了加速纯文本的大语言模型之外,推测解码在多模式推理中的应用,如图像合成、文本到语音合成和视频生成,也是未来研究的一个有趣而有价值的方向。
更多细节内容请参阅原论文。