投机采样(Speculative Decoding)原理与实验验证
创作时间:
作者:
@小白创作中心
投机采样(Speculative Decoding)原理与实验验证
引用
CSDN
1.
https://blog.csdn.net/qq_41664845/article/details/86470705
投机采样(Speculative Decoding)是一种用于优化大模型推理速度的技术。通过使用一个参数量较小的Draft模型和一个参数量较大的Target模型,可以在保持推理精度的同时显著提高生成速度。本文详细介绍了投机采样的原理、实现方法以及实验结果。
概念
大模型推理过程中存在一个重要的性能瓶颈:内存访问带宽。在自回归采样过程中,每个Token的生成都需要将所有参数从存储单元传输到计算单元,导致decode阶段的速度远低于prefill阶段。现有的优化方法如in-flight batching和prefix cache虽然缓解了内存访问问题,但带宽瓶颈仍然存在。
投机采样原理
投机采样提供了一种从根本上解决内存访问带宽瓶颈的方法。其核心思想是使用两个具有不同参数量但共享相同词汇表的模型:Target模型(大模型)和Draft模型(小模型)。具体步骤如下:
- 给定输入序列,由Draft模型生成K个token得到输出序列。
- 将输入序列和Draft模型输出序列拼接,得到新的输入序列,由Target模型进行推理。
- 评估Target模型在每个位置上的概率分布,保留与Draft模型输出一致的token作为最终输出。
最佳与最差情况分析
- 最佳情况:Draft模型生成的K个token与Target模型完全一致。此时,Draft模型推理K次,Target模型推理一次,可以得到K个可用的token,节省了K-1次大模型的推理。
- 最差情况:Draft模型生成的K个token与Target模型都不一致。此时,Draft模型推理K次,Target模型推理一次,只有1个可用的token,性能与原始推理相当。
实验结果
实验中使用了一个4B参数量的Draft模型和一个70B参数量的Target模型。实验结果表明,在HumanEval数据集上,投机采样的加速效果达到了2.5倍。随着K值的增大,总耗时会出现先降后增的现象,XSum数据集上的最优K值为3。分析显示,编程数据集Human Eval的接受率明显高于XSum,这可能是因为编程任务的字符搭配更具有规律性,更容易预测。
投机采样在不同数据集上的加速效果
K值对投机采样性能的影响分析
热门推荐
动画《龙族》第二季&《武动乾坤》动画均新增12集备案
器官移植后人格会改变?最新研究揭示惊人发现
毛巾什么材质的好?毛巾怎么选择质量好的?
夏天就是要吃瓜,五種減肥必吃瓜:營養、清爽、熱量低!簡單食譜度盛夏
小网球中的消费大潜力
焦虑和绘画艺术疗法
焦虑和绘画艺术疗法
在社交媒体上被人侵犯名誉权,平台应该担责吗?
减脂期间,要不要每天称体重?哪些因素影响着体重的波动?
台湾高山乌龙茶:科学解析八大好处与注意事项
春风十里,不如一杯春茶——精选国产春茶推荐
儿童糖分摄入指南:6招帮助控制糖摄入
学校心理咨询师简介包括哪些内容?
河南新密伏羲大峡谷:自然奇观与文化瑰宝的交响
车型总览及办理流程_留学生免税车政策全攻略
超详细的婚前检查攻略,领证新人必看!
结肠癌pMMR是什么意思?
组合基金产品的投资优势与选择指南
别看花椒小小个,若是加它们一起泡水喝,可能收获不少的意外惊喜
公共政策制定者如何提升政策效果与公众参与
一直放屁真的好困扰!营养师告诉你4大主因
刀郎音乐风格引发的争议:一场关于审美与定位的讨论
百嘎丽弘扬科学家精神 | B站科普UP主、82岁火山院士刘嘉麒的“斜杠”人生
小雪 | 共识不可能性定理
小雪 | 共识不可能性定理
化学小课堂:一眼识别“共价键”,从此化学不再难!
数据库数据分表如何查询
北京香山:一座海拔不高的山,被打造成市精品公园,可以俯瞰整个北京城
原神新手攻略:开服初期角色阵容与培养策略
如何通过可信查询确保数据验证的有效性与准确性?