Speculative Decoding
了解推测解码如何将 AI 推理速度提升 2x-3x。了解这项技术如何优化 LLM 和 Ultralytics YOLO26,从而更快、更高效地生成输出。
推测解码是一种先进的优化技术,主要用于大型语言模型 (LLM) 和其他序列生成任务,可以在不影响输出质量的前提下大幅加快推理速度。在传统的自回归生成中,模型每次生成一个词元,每一步都必须等待上一步完成。这一过程可能很慢,尤其是在强大的硬件上,内存带宽而非计算速度往往会成为瓶颈。推测解码使用更小、更快的“草稿”模型并行预测一系列后续词元,再由更大、更准确的“目标”模型通过一次处理进行验证。如果草稿正确,系统就会一次接受多个词元,从而有效地加快生成进程。
推测解码的工作原理#
其核心机制基于这样一个观察:序列中的许多词元(例如“的”“和”等虚词或显而易见的补全内容)很容易预测,无需消耗大型模型的全部计算能力。系统将这些简单预测交给轻量级代理模型处理,从而减少调用大型模型的次数。
目标模型检查草稿序列时,会通过并行验证步骤进行处理。由于 GPU 针对批处理进行了高度优化,同时检查五个草稿词元所需的时间大致等同于生成一个词元。如果目标模型认可草稿,这些词元就会被定稿。如果它在任何位置出现分歧,序列就会被截断,插入正确的词元,然后重复这一过程。这种方法能确保最终输出在数学上与目标模型单独生成的结果完全相同,在保持准确率的同时,在许多场景中将速度提升 2 到 3 倍。
实际应用#
这项技术正在改变各行业部署生成式 AI 的方式,尤其是在延迟至关重要的场景中。
- 实时代码补全:在集成开发环境 (IDE) 中,AI 编程助手必须在开发者输入时立即提供建议。推测解码使这些助手能够使用小型模型起草完整代码行,同时由大型基础模型在后台验证语法和逻辑。这样就能带来流畅、无缝的用户体验,像实时输入一样迅速,而无需等待服务器响应。
- 边缘设备上的交互式聊天机器人:由于硬件资源有限,在智能手机或笔记本电脑上运行强大的 LLM 很有挑战性。采用推测解码后,设备可以在本地运行量化的小型模型来起草回答,同时偶尔向更大的模型(云端模型或更强大的本地模型)发起查询以进行验证。这种混合方法能够以极低延迟实现高质量的虚拟助手交互,让边缘 AI更适用于复杂任务。
与其他概念的关系#
区分推测解码与类似的优化策略很重要。
- 模型量化:量化会降低模型权重的精度(例如从 FP16 降至 INT8),以节省内存并加快计算,但会永久改变模型,并可能略微降低性能。相比之下,推测解码不会更改目标模型的权重,并能保证输出分布不变。
- 知识蒸馏:这种方法会训练较小的学生模型来模仿较大的教师模型,学生模型会完全取代教师模型。在推测解码中,小模型(起草器)和大模型(验证器)会在推理过程中协同工作,而不是由一个模型取代另一个。
实现示例#
推测解码通常内置于服务框架中,但验证预测这一概念是实现高效 AI 的基础。下面通过一个 PyTorch 概念示例说明大型模型如何为一系列候选输入打分或进行验证,类似于推测解码中的验证步骤。
import torch
def verify_candidate_sequence(model, input_ids, candidate_ids):
"""Simulates the verification step where a target model checks candidate tokens."""
# 拼接输入与候选项以进行并行处理
full_sequence = torch.cat([input_ids, candidate_ids], dim=1)
with torch.no_grad():
logits = model(full_sequence) # 通过单次前向传播处理所有词元
# 获取模型的实际预测结果(为简单起见,使用贪心解码)
predictions = torch.argmax(logits, dim=-1)
# 在实际场景中,我们会检查预测结果是否与 candidate_ids 匹配
return predictions
# 张量设置示例(概念性)
# input_ids = torch.tensor([[101, 2054, 2003]])
# candidate_ids = torch.tensor([[1037, 3024]])
# verify_candidate_sequence(my_model, input_ids, candidate_ids)对未来 AI 开发的影响#
随着模型规模不断扩大,计算能力与内存带宽之间的差距(通常称为“内存墙”)也在加剧。推测解码通过最大化每次内存访问的算术强度,帮助弥合这一差距。对于大规模、可持续地部署生成式 AI而言,这种效率至关重要,可以降低能耗和运营成本。
研究人员目前正在探索将类似的推测原理应用于计算机视觉任务。例如,在视频生成中,轻量级模型可以起草后续帧,再由高保真扩散模型进行优化。随着 PyTorch和 TensorFlow等框架原生集成这些优化,开发者可以期待各种模态的推理延迟进一步降低,范围从文本到由 Ultralytics YOLO26等先进架构处理的复杂视觉数据。
对于需要管理这类模型生命周期的人员,使用 Ultralytics Platform等工具可以确保底层数据集和训练流水线可靠,为先进推理技术提供坚实基础。无论你使用的是大型语言模型,还是最先进的目标检测,优化推理流水线始终是从原型迈向生产环境的关键一步。









