知行札记
专题AI 模型与系统模型推理与计算承载

投机解码与量化推理

推导目标分布修正,说明量化目标、算术路径与性能边界。

用较便宜的草稿减少昂贵步进

投机解码由草稿分布 qq 提出多个 token,目标模型 pp 并行计算这些候选位置的条件分布,再逐位置接受或修正。因果掩码允许一次验证取得多个位置的分数;草稿本身可以是小模型、额外预测头、跳层路径或多 token 训练模块。

对候选 x∼qx\sim q,以 min⁡(1,p(x)/q(x))\min(1,p(x)/q(x)) 接受;拒绝时从归一化的 (p−q)+(p-q)_+ 采样。单位置接受质量为 min⁡(p(x),q(x))\min(p(x),q(x)),拒绝后补足 pp 超出 qq 的部分。因此

P(X=x)=min⁡(p(x),q(x))+(p(x)−q(x))+=p(x).P(X=x)=\min(p(x),q(x))+(p(x)-q(x))_+=p(x).

接受总概率 α=∑xmin⁡(p(x),q(x))\alpha=\sum_x\min(p(x),q(x))。当它为一,拒绝分支不会发生;候选采样处的 q(x)q(x) 为正。多位置按已接受前缀逐步修正,首次拒绝之后重新开始;全接受后可再采目标分布中的下一个 token。这一保证建立在正确的条件分布、采样规则、停止处理和实现数值之上。投机采样原论文

保持分布不等于固定随机种子逐字相同。贪心模式需要与目标逐位 argmax 的 tie-breaking 和数值规则对应。树候选、多头预测或“典型接受”不自动具有相同分布保证,必须检查它们的验证策略。

接受率怎样变成速度

假定每位置接受率近似相同且独立,一轮提出 kk 个候选,再包含一次修正或额外 token,预期产出为 1+α+⋯+αk1+\alpha+\cdots+\alpha^k。真实接受率随位置、任务和上下文变化,这只是简化估算。速度需要将产出与草稿、验证、同步、内存和调度耗时比较。

低批量 decode 中,目标验证多个位置可能摊薄同一次权重读取。高并发已充分使用算力时,验证增加工作可能抵消收益。草稿上下文失配降低接受率,额外草稿权重占用容量,MoE 路由也会增加专家交换。优化目标应使用完整端到端耗时,不能只报接受率或理想每轮 token 数。

量化改变什么

量化用有限电平表示权重、激活或 KV。仿射量化可写成 x^=s(q−z)\hat x=s(q-z),ss 为尺度、zz 为零点。块或通道独立缩放可以减少离群值影响,尺度元数据和反量化需付出成本。标称四位只是载荷的一部分。

weight-only 低位权重配高精度激活,主要压缩存储与读取;权重和激活同时低位,还可能利用设备原生低位矩阵乘。存储格式、计算格式与累加精度是三个选择。若设备没有匹配内核,反量化与回退可让更低位数变慢。

GPTQ 用校准输入 XX 最小化层输出重建误差 ∥WX−W^X∥F2\|WX-\hat WX\|_F^2,借二阶信息补偿后续量化。AWQ 根据激活观察选择缩放,保护重要权重通道;SmoothQuant 将激活离群带来的量化难度部分迁到权重侧。它们各有校准分布、算子和格式条件。GPTQ、AWQ、SmoothQuant

FP8、INT8、FP4 和不同块量化具有不同数值范围、尺度组织和硬件路径。峰值算力提高无法直接推出总服务加速;注意力、内存、互联与非支持算子仍可能成为瓶颈。

量化会改变模型数值和通常的输出分布。投机解码可以针对这个已量化目标保持其分布,但无法恢复原浮点模型的质量。两种优化可以组合,需要分别验证目标质量、缓存精度和采样一致性。

评价一条优化路径

比较相同模型身份、任务、输入输出长度、并发与服务目标,记录量化校准、真实存储大小、内存峰值、首 token、token 间隔和成功率。特别检查长上下文、数值任务、低频实体和分布外输入。历史论文中的倍数属于特定基线与硬件,新部署应重新测量。

最后更新于

本页目录