“ lmsys.org 最近好高产,如果你对这个团队不熟悉,但是他们的很多工作应该都听说过,比如vicuna、longchat、mtbench、fastchat...等等。包括上周的推文"如何用13B模型打败GPT4"写的也是他们的工作。
“ 今天这个博客提出的lookahead decoding策略跟之前的美杜莎解码策略有点类似,感觉基本一样
https://lmsys.org/blog/2023-11-21-lookahead-decoding/
https://github.com/hao-ai-lab/LookaheadDecoding
在这篇论文中,作者提出了一种名为前瞻解码(lookahead decoding)的新型、精确且并行的解码算法,用于加速大型语言模型(LLM)的推理过程。与基于自回归解码的传统方法相比,前瞻解码能够通过直接从LLM中并行提取和验证n-grams来打破顺序依赖性,从而显著降低生成长序列所需的延迟。
核心观点:
- 前瞻解码不需要草稿模型或数据存储,简化了部署过程。
- 该算法可以线性减少解码步骤的数量,与每个解码步骤所使用的log(FLOPs)成正比。
算法原理:
前瞻解码的关键是,尽管在一个步骤中解码多个下一个令牌是不可行的,但LLM确实可以并行生成多个不相交的n-grams。这些n-grams可能适合生成序列的未来部分。为实现这一目标,作者将自回归解码视为求解非线性方程,并采用经典的雅可比迭代方法进行并行解码。生成的n-grams被捕获并在适当时进行验证,然后将其整合到序列中。
前瞻解码分为两个并行分支:前瞻分支和验证分支。前瞻分支使用固定大小的二维窗口来生成n-grams,而验证分支则选择并验证有希望的n-gram候选项。这种设计使得前瞻解码能够在每个步骤中生成n-grams,而不仅仅是产生一个令牌,从而减少了生成N个令牌所需的总解码步骤。
结论:
实验结果表明,前瞻解码在各种模型和数据集上都取得了显著的加速效果。例如,在LLaMA-2-Chat 7B生成任务上,前瞻解码实现了约1.5倍的速度提升;在CodeLLaMA的HumanEval任务上,延迟降低了超过2倍;在CodeLLaMA-Instruct的GSM8K任务上,实现了1.8倍的延迟降低。这些成果表明,前瞻解码算法具有广泛的应用潜力,可以有效地提高大型语言模型推理的性能。