Ouroboros:利用大型模型增强的推测解码

💡 原文中文,约1400字,阅读约需4分钟。
📝

内容提要

推测解码通过草稿模型生成候选词元、目标模型并行验证,在不改变输出分布的前提下加速大语言模型推理。相关方法包括多候选分段采样与批量验证、无需辅助模型的自推测解码、将起草融入目标模型的Speculative Streaming、级联投机编码及Hydra heads等,在多个模型和任务上实现1.7至3.1倍加速,并保持生成质量。

🔎

延伸解读

推测解码的加速效果与质量保持

文章指出,推测解码能在不改变输出分布的前提下加速大语言模型推理,在多个模型和任务上实现1.7至3.1倍加速,并保持生成质量。这意味着该技术具有通用性,且不会牺牲生成结果的准确性,为实际部署提供了可靠的速度提升方案。

无需辅助模型的自推测解码

自推测解码通过跳过中间层生成草稿,再由原模型验证,无需额外训练和内存,是一种即插即用的加速方案。在LLaMA-2上最高实现1.73倍加速,且输出与原始模型完全一致,适合资源受限场景。

Speculative Streaming的参数效率优势

Speculative Streaming将起草融入目标模型,在总结、结构查询等任务中实现1.8-3.1倍加速,且不损失质量。与Medusa-style架构相比,它使用的额外参数更少,更适合资源受限设备,体现了参数效率方面的优势。

级联投机编码与Hydra heads的改进

级联投机编码通过垂直和水平级联消除自回归生成,进一步提高72%的加速度。Hydra heads作为draft heads的替代,基于顺序依赖显著提高推测准确性,从而提升推测解码速度。这些方法展示了推测解码领域的持续优化。

❓

Q&A

推测解码的基本原理是什么?

推测解码通过草稿模型生成候选词元,然后由目标模型并行验证,在不改变输出分布的前提下加速大语言模型推理。

有哪些方法可以提升推测解码的接受率?

可以从草稿模型中采样多个候选分段,并将它们分批进行验证,同时设计高效的多候选验证算法,以保持目标模型的分布,从而显著提高接受率。

自我推测解码如何在不使用辅助模型的情况下加速LLM?

自我推测解码通过两阶段过程:草稿阶段选择性跳过某些中间层以更快速度生成草稿标记,验证阶段使用原始LLM在一次前向传递中验证这些标记,确保输出与原始LLM完全相同,无需额外训练和内存,实现最高1.73倍加速。

Speculative Streaming 相比其他推测解码方法有什么优势?

Speculative Streaming 将起草融入目标模型,通过微调目标从下一个标记预测改为未来n-gram预测,在多个任务中提高1.8-3.1倍解码速度且不损失质量,同时参数效率高,适用于资源受限设备。

级联投机式编码如何进一步提高加速效果?

级联投机式编码通过引入垂直级联和水平级联来消除自回归生成并提高草拟中的时间分配效率,从而在原有基础上进一步提高72%的加速度。

Hydra heads 在推测解码中起什么作用?

Hydra heads 作为 draft heads 的替代品,基于顺序依赖,显著提高了推测准确性,从而提高了推测解码速度。

🏷️

标签

➡️

继续阅读