vllm-project/speculators

A unified library for building, evaluating, and storing speculative decoding algorithms for LLM inference in vLLM

Speculators – 用于训练推测解码草稿模型的库

它的作用(用通俗语言解释)

Speculators 允许你训练一个小型“草稿”模型,该模型可以预测大型语言模型(LLM)接下来的几个 token。在推理过程中,草稿模型一次提出多个 token,而大型 LLM(验证器)在单次传递中检查它们。如果草稿的猜测与大型模型本应生成的内容匹配,则这些猜测被接受,从而减少了昂贵的正向传递次数,并在不损失质量的情况下加速生成。

为什么重要

  • 降低延迟:更少的全模型传递意味着更快的响应,这对实时应用至关重要。
  • 生产就绪:该库以 Hugging Face 兼容格式提供模型,可直接放入 vLLM(一个高吞吐量推理服务器)中使用。
  • 研究级灵活性:支持多种推测解码算法(DFlash、DSpark、P‑EAGLE、MTP)和多节点在线训练,因此你可以在实验最新想法的同时,仍然能够部署它们。

核心组件

组件 作用
训练流水线 使用 vLLM 生成隐藏状态数据,然后训练草稿模型(单层或多层、MoE、视觉语言等)。
hs_connectors 可插拔后端,用于在多个节点之间移动 vLLM 和训练器之间的隐藏状态(基于文件或 Mooncake 分布式存储)。
算法实现 DFlash、DSpark、P‑EAGLE、MTP – 每种算法都添加了不同的草稿策略(锚定块、马尔可夫头、并行多 token 预测等)。
Speculators 格式 一个 Hugging Face 风格的模型目录,包含 speculator_config,告诉 vLLM 如何将草稿模型与其验证器一起运行。
CLI / 工具 speculators 命令用于版本检查、响应重新生成的脚本,以及与 GuideLLM 的集成用于基准测试。

典型工作流程

  1. 数据生成 – 使用 vLLM 在语料库上运行大型验证器模型,将隐藏状态保存到磁盘。
  2. 训练草稿 – 选择一种算法(例如 DSpark)并运行 Speculators 训练脚本,可选地通过 hs_connectors 跨节点进行。
  3. 导出 – 训练好的草稿以 Speculators 格式保存。
  4. 部署 – vllm serve <speculator_model> 启动草稿+验证器组合,并自动启用推测解码。
  5. 基准测试 – 使用 GuideLLM 或内置指标,将延迟和接受率与密集验证器进行比较。

谁应该使用它?

  • LLM 服务运营商,需要在生产服务器上降低推理延迟。
  • 研究人员,探索新的推测解码策略;该库提供了现成的实现和统一的训练接口。
  • 开发者,构建自定义 AI 产品,希望在不重写服务栈的情况下,获得即插即用的更快生成升级。

快速开始

pip install speculators          # 安装库
speculators --version           # 检查版本
# 训练草稿(示例命令 – 请参阅文档了解确切标志)
python -m speculators.train \
    --algorithm dspark \
    --verifier Qwen/Qwen3-8B \
    --output_dir ./my_speculator
# 使用 vLLM 提供服务
vllm serve ./my_speculator

文档与社区


Speculators 是一个真正的、面向生产的开源项目,弥合了前沿推测解码研究与实际 LLM 服务之间的差距。

相关

  • 项目
  • Dispatch
  • Dispatch
  • 项目
  • 项目