LLM 笔记:Speculative Decoding 投机采样

1 基本介绍

  • 投机采样(Speculative Sampling)是一种并行预测多个可能输出,然后快速验证并采纳正确部分的加速策略
    • 在不牺牲输出质量的前提下,减少语言模型生成 token 所需的时间
  • 传统的语言模型生成是 串行
    • 必须生成一个,再输入到模型中,才能生成下一个
  • 投机采样的核心思想是
    • 用一个"小模型"提前生成多个候选 token(投机结果),然后用"大模型"一起验证这批候选,并行加速

2 举例

  • 比如已有 prompt 是:"The weather today is"
  • 小模型(Draft Model)快速生成多个候选 token
    • 例如预测出:"The weather today is [sunny, and, warm, with, ...]" 共 5 个 token
  • 大模型(Target Model)验证这些 token
    • 大模型并行地计算这 5 个 token 的概率;

    • 如果小模型的结果和大模型的前几个 token 一致(大模型在这个token上概率小于小模型的,即小模型"更有把握"),就"采纳"它;如果中途发现不一致,就在那个位置停止,用大模型重新生成。

      • 那么下一轮:
相关推荐
崎岖Qiu5 小时前
【设计模式笔记11】:简单工厂模式优缺分析
java·笔记·设计模式·简单工厂模式
2501_938176885 小时前
远期合约和期权合约的区别是什么?
笔记
能工智人小辰5 小时前
VMamba: Visual State Space Model学习笔记
笔记·学习
Ligocious6 小时前
操作系统---第一章:2.操作系统的发展和分类
笔记
im_AMBER6 小时前
React 10
前端·javascript·笔记·学习·react.js·前端框架
LEEBELOVED6 小时前
R语言高效数据处理-3个自定义函数笔记
开发语言·笔记·r语言
朝新_6 小时前
【SpringMVC】SpringMVC 请求与响应全解析:从 Cookie/Session 到状态码、Header 配置
java·开发语言·笔记·springmvc·javaee
wdfk_prog13 小时前
[Linux]学习笔记系列 -- [kernel][time]alarmtimer
linux·笔记·学习
小志biubiu13 小时前
【Linux】Ext系列文件系统
linux·服务器·c语言·经验分享·笔记·ubuntu·操作系统
charlie11451419113 小时前
现代 Python 学习笔记:Statements & Syntax
笔记·python·学习·教程·基础·现代python·python3.13