详细内容或原文请订阅后点击阅览
探索 Medusa 和多标记预测
这篇博文将详细介绍“MEDUSA:具有多个解码头的简单 LLM 推理加速框架”论文作者 — SDXL 的图片互联网是一个竞争异常激烈的地方。研究表明,如果网页加载时间超过 5 秒,客户就会离开网页 [2][3]。这对大多数大型语言模型 (LLM) 来说是一个挑战,因为它们无疑是目前最慢的程序之一。虽然定制硬件可以显着加快您的 LLM 速度,但目前在这种硬件上运行成本很高。如果我们能够找到充分利用标准硬件的方法,我们将能够大幅提升 LLM 的客户体验。《MEDUSA:具有多个解码头的简单 LLM 推理加速框架》论文的作者提出了一种架构变更,在现有硬件上运行时可实现 2 至 3 倍的速度提升。让我们开始吧!推测解码推测解码是为了加快 LLM 的推理速度而引入的。您会看到,LLM 是自回归的,这意味着我们采用刚刚预测的输出标记并使用它来帮助预测我们想要的下一个标记。通常,我们一次预测一个标记(或每次神经网络前向传递一个标记)。但是,由于下一个标记的注意模式与前一个标记的注意模式非常相似,因此我们重复了大部分相同的计算,并没有获得太多新信息。推测解码意味着,与其做一次前向传递,不如做一次后向传递。
来源:走向数据科学推测解码
推测解码是为了加快 LLM 的推理速度而引入的。您会看到,LLM 是自回归的,这意味着我们采用刚刚预测的输出标记并使用它来帮助预测我们想要的下一个标记。通常,我们一次预测一个标记(或每次神经网络前向传递预测一个标记)。但是,由于下一个标记的注意力模式与前一个标记的注意力模式非常相似,因此我们重复了大部分相同的计算,并没有获得太多新信息。
推测解码意味着我们不会对一个标记进行一次前向传递,而是在一次前向传递之后尝试找到尽可能多的标记。一般来说,这有三个步骤:
(1) 生成候选
(2) 处理候选
(3) 接受某些候选
Medusa 是一种推测解码,因此其步骤直接映射到这些步骤上。Medusa 将解码头附加到模型的最后一层作为其 (1) 的实现。树注意力是它处理 (2) 候选的方式。最后,Medusa 使用拒绝抽样或典型的接受方案来完成 (3)。让我们详细了解一下每一个步骤。
解码头和 Medusa
解码头采用模型前向传递产生的隐藏状态的内部表示,然后创建与词汇表中不同标记相对应的概率。本质上,它将模型学到的东西转换成确定下一个标记是什么的概率。
论文中的图 1
t
SiLU
SiLU = x * sigmoid(x)
SiLU
W2
softmax
树注意力sk