深圳Yolo 视觉
深圳
立即加入
词汇表

推测解码

了解推测解码如何将 AI 推理速度提升 2-3 倍。学习这项技术如何优化 LLMs 和 Ultralytics YOLO26,以实现更快、更高效的输出。

推测解码是一种先进的优化技术,主要用于大型语言模型 (LLM) 和其他序列生成任务,以显著加速推理,同时不损害输出质量。在传统的自回归生成中,模型一次生成一个 token,每一步都等待前一步完成。这个过程可能很慢,尤其是在强大的硬件上,内存带宽而非计算速度往往成为瓶颈。推测解码通过采用一个更小、更快的“草稿”模型来解决这个问题,并行预测一系列未来的 token,然后由更大、更准确的“目标”模型进行单次验证。如果草稿正确,系统会一次性接受多个 token,有效地加速生成过程。

推测解码的工作原理

其核心机制基于这样的观察:序列中的许多 token——例如“the”、“and”等功能词或显而易见的补全——很容易预测,并且不需要大型模型的全部计算能力。通过将这些容易的预测卸载到一个轻量级的代理模型,系统减少了调用大型模型的次数。

当目标模型审查草稿序列时,它会使用并行验证步骤。由于 GPU 高度优化了批处理,同时检查五个草稿 token 所需的时间与生成单个 token 所需的时间大致相同。如果目标模型同意草稿,这些 token 就会被最终确定。如果它在任何一点上不同意,序列就会被截断,插入正确的 token,然后重复该过程。这种方法确保最终输出与目标模型独立生成的结果在数学上是相同的,在许多场景下,在保持准确性的同时将速度提高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."""
    # Concatenate input with candidates for parallel processing
    full_sequence = torch.cat([input_ids, candidate_ids], dim=1)

    with torch.no_grad():
        logits = model(full_sequence)  # Single forward pass for all tokens

    # Get the model's actual predictions (greedy decoding for simplicity)
    predictions = torch.argmax(logits, dim=-1)

    # In a real scenario, we check if predictions match candidate_ids
    return predictions


# Example tensor setup (conceptual)
# input_ids = torch.tensor([[101, 2054, 2003]])
# candidate_ids = torch.tensor([[1037, 3024]])
# verify_candidate_sequence(my_model, input_ids, candidate_ids)

对未来AI发展的影响

随着模型规模的不断扩大,计算能力和内存带宽之间的差距——通常被称为“内存墙”——日益扩大。推测解码通过最大化每次内存访问的算术强度来帮助弥合这一差距。这种效率对于大规模可持续部署生成式AI至关重要,从而降低能耗和运营成本。

研究人员目前正在探索将类似的推测原理应用于计算机视觉任务的方法。例如,在视频生成中,轻量级模型可以草拟未来帧,然后由高保真扩散模型进行细化。随着PyTorchTensorFlow等框架原生集成这些优化,开发人员可以期待在更广泛的模态中实现更快的推理延迟,从文本到由Ultralytics YOLO26等先进架构处理的复杂视觉数据。

对于那些管理此类模型生命周期的人来说,利用Ultralytics Platform等工具可确保底层数据集和训练管道的稳健性,为高级推理技术奠定坚实基础。无论您是使用大型语言模型还是最先进的目标检测,优化推理管道仍然是从原型到生产的关键一步。

让我们一起共建AI的未来!

开启您的机器学习未来之旅