跳到内容

主页

Speculators logo

Speculators 是一个统一的库,用于构建、训练和存储大型语言模型 (LLM) 推理的投机解码算法,包括在 vLLM 等框架中。投机解码是一种无损技术,它通过使用一个更小、更快的草稿模型(即“投机器”)来预测 token,然后由更大的基础模型进行验证,从而加速 LLM 推理。这可以减少延迟,同时不损害输出质量。投机器会智能地提前草拟多个 token,然后基础模型在一次前向传播中进行验证。这种方法在不牺牲输出质量的情况下提高了性能,因为每个被接受的 token 都保证与主模型单独生成的内容相匹配。

Speculators 通过提供一个生产级的端到端框架来标准化这一过程,该框架使用可重用的格式和工具来训练草稿模型。训练好的模型可以无缝地在 vLLM 中运行,从而可以在生产级的推理服务器中部署投机解码。

Speculators user flow diagram

主要特性

  • 使用 vLLM 进行离线训练数据生成: 启用使用 vLLM 生成隐藏状态。数据样本将保存到磁盘,可用于草稿模型训练。
  • 草稿模型训练支持: 支持单层和多层草稿模型的端到端训练。支持非 MoE 和 MoE 模型。VL 训练即将推出。
  • 标准化、可扩展的格式: 提供 Hugging Face 兼容的格式来定义投机模型,并提供工具将外部研究存储库转换为标准的 Speculators 格式,以便轻松采用。
  • 无缝 vLLM 集成: 专为直接部署到 vLLM 而设计,可在最小的开销下实现低延迟、生产级的推理。

快速入门

要尝试使用投机解码模型,您可以先通过 vLLM 运行一个预先制作好的模型。在 安装 vLLM 后,运行以下命令:

VLLM_USE_V1=1 vllm serve RedHatAI/Qwen3-8B-speculator.eagle3
(或者从 RedHatAI/speculator-models 集合中选择其他模型。)

在后台,这将从 Hugging Face 读取模型,解析 speculators_config,并设置投机器和验证器模型以协同运行。

要为不同的验证器模型创建投机解码模型,您可以选择两种方法:1. 训练一个新的投机解码模型(说明)(示例)。2. 将第三方库中的现有模型转换为 Speculators 格式,以便与 vLLM 轻松部署(说明)(示例)。