How Lossless Is Lossless Speculative Decoding? The Role of Numerical Precision in Orthrus
本文表明,尽管 Orthrus 在 FP32 精度下通过精确的轨迹匹配实现了无损推测解码,但其声称的无损性在 BF16 精度下显著退化,这凸显了即使下游任务性能不受影响,数值精度也会关键性地影响轨迹等效性。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
现代能够编写文本的计算机,即语言模型,已成为我们生成信息的一种主导力量。这些系统通过基于前文单词来预测句子中下一个单词的方式,逐一进行工作。这种方法虽然可靠,但本质上很慢,因为计算机必须在开始思考第二个词之前,先完成第一个词的计算。随着这些模型规模的扩大以及对话长度的增加,这种循序渐进的过程成为了一个瓶颈,使得这项技术在使用时既昂贵又迟缓。为了提高速度,研究人员开发了一种称为“投机采样”(speculative decoding)的技术。这种方法试图一次性猜测多个未来的单词,就像读者在书中快速浏览一样,然后检查这些猜测是否正确。如果猜测正确,计算机就能节省大量时间。
最近,一个名为 Orthrus 的系统承诺可以在不损失任何准确性的情况下实现这一点。它将一个标准的、缓慢的文本生成器与一个更快的、并行的猜测引擎结合在一起。其开发者声称,内置的检查机制将确保快速引擎生成的单词序列与原始的慢速引擎完全一致,从而使这种加速真正实现“无损”。在这种语境下,“无损”意味着最终输出与原始、较慢的模型所产生的序列完全相同,精确到最后一个字符。这一承诺意义重大,因为它表明我们可以兼得两者的优势:并行猜测的速度以及原始模型完美的可靠性。
一个研究小组决定独立测试这一承诺。他们构建了自己版本的 Orthrus 系统,并将其实际输出与原始模型进行了对比,涵盖了包括编写代码、解决数学问题和创作诗歌在内的各种任务。他们在运行这些测试时,使用了大多数现代计算机为了效率而采用的标准数值精度水平。当研究人员将快速的 Orthرus 系统生成的单词序列与缓慢的原始系统进行比较时,发现了一个令人惊讶的结果。这两个系统并不总是达成一致。事实上,对于最初发布的模型,两者的序列仅在约 45% 的情况下完美匹配。对于研究人员自己独立训练的版本,匹配率甚至更低,为 43%。这意味着在超过一半的情况下,快速系统采取了略微不同的路径,选择了与原始模型不同的单词。
研究人员进行了深入调查以了解发生这种情况的原因。他们发现,系统达成一致的可能性与原始模型预测文本的难度有关。当原始模型对下一个词非常确定时,快速系统通常能与之匹配。然而,当文本更加复杂或模型不太确定时,快速系统就更容易产生分歧并选择不同的词。这表明,在标准的计算机计算条件下,“无损”这一说法并未成立。研究人员还注意到,这种分歧并不一定会让文本变差。当他们在推理和编程的标准基准测试中对模型进行测试时,快速系统的得分有时甚至比慢速系统略高,这表明不同的路径并不一定意味着更差的结果。
为了解开系统产生分歧之谜,研究人员改变了计算机处理数字的方式。他们使用更高水平的数值精度重复了整个实验,这种精度允许计算机以更高的精确度存储数字。当他们进行这一切换后,结果发生了彻底的变化。在这种更精确的计算下,快速的 Orthrus 系统在所有 1,190 个测试提示词中,都与缓慢的原始模型实现了完美匹配。这一发现表明,之前的分歧并非由 Orthrus 系统本身的架构缺陷引起的,而是由于计算机使用标准、较低精度数学运算时产生的微小舍入误差造成的。
该研究得出结论,实现“无损”加速的承诺完全取决于计算机所使用的数学精度。虽然 Orthrus 系统在理论上按预期工作,但在标准硬件上运行的实际情况会引入微小的误差,从而改变最终输出。研究人员认为,当科学家声称一个系统是“无损”时,必须明确说明所使用的数值精度水平,因为在一个环境下表现完美的系统,在另一种环境下可能会产生不同的结果。这项工作阐明了,虽然我们可以让语言模型变得更快,但要确保它们产生与原始模型完全相同的输出,需要对底层的数学逻辑保持细致的关注,而不仅仅是关注模型的架构。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。