滑铁卢大学、北京大学等机构发布EAGLE-人工智能,大模型推理效率无损提高3倍

首页 2024-07-12 06:18:34

大语言模型(LLM)它越来越多地应用于各个领域。然而,它们的文本生成过程既昂贵又缓慢。这种低效率归因于自回归解码的操作规则:每个单词(token)生成都需要进行前向传播,需要访问数十亿到数千亿的参数 LLM。这导致传统的自回归解码速度较慢。

近日,滑铁卢大学、加拿大向量研究所、北京大学等机构联合发布 EAGLE,旨在提高大语言模型的推理速度,确保模型输出文本的一致分布。该方法外推 LLM 第二顶层特征向量可以显著提高生成效率。

  • 技术报告:https://sites.google.com/view/eagle-llm
  • 代码(支持商业用途 Apache 2.0):https://github.com/SafeAILab/EAGLE

EAGLE 具有以下特点:

  • 快于普通自回归解码(13B) 3 倍;
  • 比 Lookahead 快速解码(13B) 2 倍;
  • 比 Medusa 快速解码(13B) 1.6 倍;
  • 在生成文本的分布上可以证明与普通解码一致;
  • 可以在 RTX 3090 训练(1-2 天内)和测试;
  • 可以与 vLLM、DeepSpeed、Mamba、FlashAttention、其他平行技术,如量化和硬件优化相结合。
加速自回归解码的一种方法是投机采样(speculative sampling)。该技术采用较小的草稿模型,通过标准自回归生成来猜测下一个单词。随后,原始 LLM 并行验证这些猜测的单词(只需要一次前向传播验证)。如果草稿模型准确预测 α 词,原始 LLM 前向传播可以生成 α 1 个词。

在投机采样中,草稿模型的任务是基于当前的单词序列来预测下一个单词。使用参数较少的模型来完成这项任务是非常具有挑战性的,通常会产生次优结果。此外,标准投机采样方法中的草稿模型独立预测下一个单词,而不使用原始单词 LLM 语义信息提取丰富,导致潜在效率低下。

启发了这种局限性 EAGLE 的开发。EAGLE 利用原始 LLM 提取的上下文特征(即模型第二顶输出的特征向量)。EAGLE 基于以下第一性原理:

特征向量序列是可压缩的,因此更容易根据前面的特征向量预测后续的特征向量。

EAGLE 训练了一个叫做自回归头的轻量级插件(Auto-regression Head),下一个特征是基于当前特征序列从原始模型的第二顶层预测的。然后使用原始 LLM 冷冻分类首先预测下一个单词。特征比单词序列包含更多的信息,使得回归特征的任务比预测单词的任务简单得多。总之,EAGLE 外推在特征层面,使用小型自回头,然后使用冷冻分类头生成预测的词序列。投机采样,Medusa 和 Lookahead 类似的工作是一致的,EAGLE 重点是每次推理的延迟,而不是整个系统的吞吐量。

EAGLE——一种提高大语言模型生成效率的方法

上图显示了 EAGLE 标准投机采样,Medusa 以及 Lookahead 关于输入输出的差异。下图展示了 EAGLE 工作流程。在原始 LLM 在前向过程中,EAGLE 特征从第二顶收集。以这些特征和之前生成的单词嵌入为输入,自回归头开始猜下一个单词。然后,使用冻结的分类头(LM Head)确定下一个单词的分布,以确定下一个单词的分布 EAGLE 采样可以从这个分布中进行。通过多次重复采样,EAGLE 如下图右侧所示,类似树状的生成过程已经进行。这个例子中,EAGLE 三次前向传播 “猜” 出了 10 由单词组成的树。

EAGLE 使用轻量级自回归来预测原始 LLM 特征。为确保生成文本分布的一致性,EAGLE 然后验证预测的树状结构。这个验证过程可以通过一次前向传播来完成。通过这个预测和验证循环,EAGLE 能快速生成文本词。

回头训练的成本很小。EAGLE 使用 ShareGPT 数据集训练,不包括在内 70,000 轮对话。自回归头的可训练参数也很少。如上图所示,大部分组件都是冻结的。唯一需要额外训练的是自回头,这是一个单层 Transformer 结构,具有 0.24B-0.99B 参数。即使是 GPU 在资源不足的情况下,也可以训练自回头。例如,Vicuna 33B 自回头可以在那里 8 卡 RTX 3090 服务器上在 24 训练在小时内完成。

为什么用词嵌入来预测特征?

Medusa 只使用第二顶层的特征来预测下一个单词和下一个单词...与 Medusa 不同,EAGLE 还动态预测当前采样得到的单词嵌入作为自回头输入的一部分。这个额外的信息帮助 EAGLE 抽样过程中不可避免的随机性处理。假设提示词是下图中的例子 “I”。LLM 给出了 “I” 后面跟着 “am” 或 “always” 的概率。Medusa 不考虑是抽样 “am” 还是 “always,直接预测 “I” 下一个单词的概率。因此,Medusa 目标是只给定 “I” 在此基础上,预测 “I am” 或 “I always” 下一个单词。由于抽样过程的随机性,Medusa 的相同输入 “I” 下一个单词输出可能会有所不同 “ready” 或 “begin输入和输出之间缺乏一致的映射。相比之下,EAGLE 输入包括嵌入抽样结果的单词,以确保输入和输出之间的一致映射。这种区别使 EAGLE 可以考虑抽样过程中建立的上下文,然后更准确地预测后续单词。

树形生成结构

投机采样,Lookahead 和 Medusa 等其他猜测 - 不同的验证框架,EAGLE 在 “猜词” 阶段采用类似树状的生成结构,从而达到更高的解码效率。如图所示,标准投机采样和 Lookahead 线性或链式的生成过程。Medusa 该方法在猜测阶段无法构建上下文,因此通过笛卡尔积生成树,导致相邻层之间形成全连接图。这种方法通常会导致无意义的组合,例如 “I am begin”。对比之下,EAGLE 它创造了一个更稀疏的树结构。这种稀疏的树结构防止了无意义的序列,将计算资源集中在更合理的单词组合上。

多轮投机采样

标准投机采样方法在进行中 “猜词” 在这个过程中保持分布的一致性。为适应树形猜词场景,EAGLE 将这种方法扩展成多轮递归形式。以下是多轮投机采样的伪代码。在树的生成过程中,EAGLE 记录每个抽样词对应的概率。通过多轮投机采样,EAGLE 确保最终生成的每个单词的分布和原始 LLM 保持一致的分布。

实验结果较多

下图展示了 EAGLE 在 Vicuna 33B 关于不同任务中的加速效果。涉及大量固定模板 “编程”(coding)任务显示出最佳的加速性能。

欢迎体验 EAGLE,并通过 GitHub issue 反馈建议:https://github.com/SafeAILab/EAGLE/issues

以上是大模型推理效率无损提升的三倍。滑铁卢大学、北京大学等机构发布了EAGLE的详细信息。请关注其他相关文章!


p

最新文章

  • 高效远程系统安装,一步到位,轻松便捷!

  • 滑铁卢大学、北京大学等机构发布EAGLE-人工智能,大模型推理效率无损提高3倍

  • 轻松搭建,个人电脑秒变高效服务器!

  • 键盘复制粘贴失效,效率何在?亟待解决!

  • Win7远程桌面,高效连接,掌控全局!

  • 3389端口:远程桌面控制,高效管理之选

  • 解决复制粘贴失效,轻松搞定粘贴难题!

  • 相关文章

  • Redmi K70 至尊版官宣 7 月发布 王腾:Redmi 到目前为止,最完美的作品—硬件评估

  • 减少 70%!AMD 演示 NTBC 纹理压缩技术:使命召唤游戏的安装容量 150GB 压至 45GB-硬件新闻

  • 百度浏览器如何关闭分屏模式-浏览器

  • 百度浏览器如何关闭安全检测-浏览器

  • 百度浏览器如何退出阅读模式-浏览器

  • win11任务栏的所有小图标如何显示?win11右下角的所有小图标都显示了教程-计算机知识

  • win10打不开这台电脑和文件夹怎么办?故障排查

  • 夸克浏览器如何设置垂直屏幕-浏览器

  • 如何设置计算机模式-浏览器

  • 谷歌浏览器如何设置快捷键功能-浏览器

  • Linux 下一步结束过程的方法:详细说明正常和异常终止-LINUX

  • 小编将与您分享Linux中管道和命名管道的用途。我相信大多数人都不太了解它,所以我将与您分享这篇文章供参考linux 命名管道 案例,希望大家看完这篇文章能有所收获。让我们一起来看看。

    在Linux中,pipe允许您