投机解码论文阅读:Falcon

题目:Falcon: Faster and Parallel Inference of Large Language Models through Enhanced Semi-Autoregressive Drafting and Custom-Designed Decoding Tree

地址:https://arxiv.org/pdf/2412.12639

一看它的架构图,可以发现它是基于EAGLE做的改进。falcon是猎鹰的意思,也可以看出来它是从eagle改进来的。

了解EAGLE,可以参考这篇文章:投机解码EAGLE精读_eagle: speculative sampling requires rethinking fe-CSDN博客

半自回归SAR:draft 同时生成多个 token,然而SAR draft 的一个重要局限是它无法完全捕捉相同 block 内 draft tokens 之间的相互依赖关系,可能导致生成的 token 接受率较低

简单来说,相当于是在EAGLE的基础上,把它和Medusa这种半自回归预测方式融合起来。

为了提高半自回归的预测准确性,Falcon提出了一种叫做耦合顺序扫视蒸馏(CSGD)的方法。

CSGD方法是怎么做的:

  • 如下图,在训练过程中,草稿模型预测得到对下面几个token以及其特征的预测之后,会根据正确的预测(也就是LLM自回归生成的token以及特征)对草稿模型输出进行替换

  • 具体替换的比例是根据训练所处的阶段和预测结果和正确结果之间的汉明距离决定的,当前训练轮次越小、汉明距离越大,则替换的比例越高

  • 在将预测结果进行 部分替换 之后,接下来的步骤是重新输入替换后的序列 到drafter中,并计算 训练损失,从而更新模型参数

CSGD方法的理论依据:

  • SAR方法同时预测多个token(例如 k=2时,同时预测 X 和 Y)。

  • 它的目标是同时最小化 H(X)+H(Y),即同时预测两个token的不确定性。

  • 同时预测两个token X 和 Y,其总熵为:H(X)+H(Y) = H(Y∣X) + 2I(X;Y) + H(X∣Y);I(X;Y)表示的是X与Y之间的互信息

  • 传统的半自回归方式,只关注H(Y∣X),而忽略I(X;Y) 和 H(X∣Y),导致模型无法有效学习token之间的依赖关系,从而影响生成质量。

除了这些改动,本文将EAGLE在embedding之后用于降维的MLP换成了一个LSTM,相当于是能够学习到草稿模型输入的时序关系,也就是掌握了一些tokens之间的依赖关系

在实验方面,选用的模型是vicuna-7B/vicuna-13B和llama2-chat-7B和llama2-chat-13B,这是为了和eagle进行对比;对比的方法有标准投机解码、PLD、lookahead、medusa和eagle。

除了加速比的对比实验,还有对草稿序列的接受率和接收长度的对比,被对比的方法是medusa和eagle。

性能试验的评测数据集是MT-bench、HumanEval和GSM8K:

  • MT-bench,用于评估语言模型在多任务场景下的性能

  • HumanEval,用于评估代码生成模型的性能,评估指标是通过率(Pass@k),即生成的代码通过测试用例的比例

  • GSM8K,全称 Grade School Math 8K,包含 8,500 个小学水平的数学问题,目标是测试模型的数学推理能力

相关推荐
张小泡泡26 分钟前
AUTO_EVAL:面向大语言模型的多层次自动化评测框架
论文阅读·人工智能·语言模型·自然语言处理·自动化·微调
额恩663 小时前
NLP五类核心任务:归纳总结与详细讲解
人工智能·自然语言处理
zzzll11113 小时前
Ollama:本地运行大型语言模型的轻量级解决方案
人工智能·语言模型·自然语言处理
如此这般英俊4 小时前
手搓Claude Code-第十章 system_prompt
数据结构·人工智能·python·语言模型·自然语言处理·prompt
AI人工智能+4 小时前
学位证书识别技术通过计算机视觉、自然语言处理和大模型推理相结合,实现了高精度、高效率的证书数字化处理
深度学习·计算机视觉·自然语言处理·ocr·学位证书识别
liyunlong-java6 小时前
部署Qwen2.5-VL-3B-Instruc视觉模型的教程
语言模型
leoZ23115 小时前
本地跑大模型实战(七):llama.cpp 性能调优,让推理更快更省
java·人工智能·spring·生成对抗网络·语言模型·自然语言处理·llama
硅谷秋水18 小时前
EgoSteer:一种基于第一人称视角视频、实现可控灵巧操作的全栈系统
深度学习·机器学习·语言模型·机器人·音视频
AndrewHZ21 小时前
【LLM技术全景】阶段总结:技术原理篇核心知识回顾
人工智能·深度学习·算法·语言模型·大模型·llm·芯片开发
leoZ2311 天前
实战复盘:用 Claude Code 从零搭一个 GitHub PR 统计工具
java·人工智能·python·深度学习·自然语言处理·github·llama