发表时间: 2025-07 · Blog post by The SGLang Team (lmsys.org)
原文: https://lmsys.org/blog/2025-07-25-spec-forge
作者/机构:The SGLang Team
发布日期:2025年7月25日
一句话结论 针对投机解码中草稿模型训练工具匮乏且难以与推理引擎对齐的问题,本文开源了专为 SGLang 设计的 Eagle3 草稿模型训练框架 SpecForge,在 Llama 4 模型上实现了最高 2.18 倍的推理加速,并做到了从训练到部署的无缝衔接。
要解决什么问题 投机解码(Speculative decoding)是加速大语言模型推理的重要技术,但其核心环节——草稿模型(draft model)的训练,一直缺乏健壮的开源工具。现有的基于 Eagle3 算法的开源项目普遍存在维护不善、功能受限的问题,最致命的卡点是它们无法与 SGLang 等主流推理引擎兼容。这种训练与部署环境的割裂,导致模型训练完成后需要繁琐的适配才能上线,成为了实际部署的重大障碍。此外,当前的头部大模型(如 Llama 4、DeepSeek 等混合专家模型 MoE)结构日益复杂,传统的草稿模型训练代码在显存管理和分布式扩展性上无法支撑这种规模。缺乏能够处理这些复杂性并实现高效扩展的基础设施,极大地阻碍了前沿投机解码技术在工业界的实际落地,使得研究与实际部署之间存在巨大的鸿沟。
怎么做的 为了打通从研究到部署的壁垒,作者开发了 SpecForge 框架。其核心思路是构建一个原生集成 SGLang 的训练生态,使得草稿模型训练完成后能开箱即用地进行推理,无需任何额外适配。该框架的关键设计包含三个部分。首先是深度集成了 Eagle3 算法。Eagle3 通过训练一个轻量级的草稿模型来精准预测大目标模型的 token 分布,以此获得高接受率;其高性能依赖于训练时测试(Training-Time Test, TTT)架构,该架构通过模拟多步生成来增强草稿模型的鲁棒性。由于 TTT 需要处理特殊的注意力掩码(attention masks)和递归的数据循环,工程实现极具挑战,SpecForge 参照官方实现内置了 TTT 支持,封装了复杂逻辑以确保正确性。其次,框架设计了在线(Online)和离线(Offline)两种隐藏状态(hidden state)收集模式以适应不同硬件条件:在线模式在训练时实时生成目标模型的隐藏状态,适合快速迭代,不需要占用大量磁盘,但如果目标模型很大则需要更多 GPU;离线模式则提前计算并保存隐藏状态,训练时只需加载草稿模型,最低 1 张 GPU 即可运行,适合注重可复现性和数据复用的场景。最后,在底层工程实现上,框架提供了模块化接口以便于注册新的草稿和目标模型,原生支持复杂的 MoE 层和 Transformer 变体,并接入了 PyTorch 的完全分片数据并行(FSDP)和张量并行(TP),通过优化显存管理确保了超大底座模型草稿训练的可扩展性。
效果如何 实验基于 320K 条来自 ShareGPT 和 UltraChat 的样本数据集,使用 SpecForge 训练了 Llama 4 的 Scout 和 Maverick 两个版本的草稿模型。在 MT-Bench 基准测试中评估其推理加速效果。在具体设置上,测试固定了 SGLang 的 speculative-eagle-topk 参数为 8,speculative-num-draft-tokens 参数为 10,以此来确保树状注意力(tree attention)机制能够正常启用,并使用 SGLang 仓库中的 bench_speculative 脚本在不同配置下运行吞吐量基准测试以寻找最佳硬件性能。量化结果显示,Llama 4 Maverick 草稿模型在 MT-Bench 上实现了 2.18 倍的推理加速,而 Scout 版本也获得了 2.0 倍的加速比,证明了该框架训练出的模型能够直接胜任 Eagle3 的推理加速任务。作者也指出了该方案在离线模式下的存储代价,即需要极大的磁盘空间来预存隐藏状态(例如处理上述数据集需约 12TB 存储)。在未来的演进路线上,作者计划进一步支持 Kimi K2 和 Qwen-3 MoE 等更多模型架构,集成视觉语言模型(VLM),并开发更高效的并行策略和内核级优化。
投机解码(Speculative decoding)是加速大语言模型(LLM)推理的强大技术。然而,当前生态中缺乏用于训练草稿模型(draft models)的稳健开源工具,这严重阻碍了该技术的实际应用与普及。为了解决这一核心痛点,SGLang团队开源了SpecForge——这是一个专为基于Eagle3的投机解码设计的全新训练框架。
SpecForge旨在提供极高的易用性,并与SGLang推理引擎进行了紧密的原生集成,实现了从模型训练到实际部署的无缝过渡。其核心创新点在于填补了学术研究与实际部署之间的空白,为复杂的前沿大模型(如Llama 4、DeepSeek及混合专家模型MoE)提供了全面支持、可扩展的分布式训练能力以及内存高效的训练方案。
现有框架的局限性:尽管投机解码已成为加速大语言模型推理的突破性技术,但作为该过程关键组件的“草稿模型训练”却缺乏可靠的开源工具。现有的许多基于Eagle3的项目普遍面临维护不善、功能有限,或者与SGLang等主流推理框架不兼容的问题。这些固有的限制已经成为该技术在实际部署和广泛采用时的重大障碍。
SpecForge的设计初衷:为了弥合学术研究与实际部署之间的鸿沟,研究团队开发了SpecForge。这是一个专门构建的生态系统,用于训练能够与SGLang原生集成的草稿模型。其核心优势在于,一旦模型训练完成,即可开箱即用地直接进行推理,完全不需要进行任何额外的适配工作。同时,为当今的前沿大模型(如Llama 4、DeepSeek以及其他混合专家MoE模型)训练有效的草稿模型,需要能够应对其复杂性和庞大规模的底层基础设施。SpecForge从底层开始专门构建,正是为了满足这些严苛的需求。
SpecForge的核心能力:
Eagle3集成:Eagle是一种用于投机解码的最先进(state-of-the-art)方法,其核心目标是加速大语言模型的推理过程。该方法的工作原理是通过训练一个专门的、轻量级的草稿模型(draft model),使其能够准确预测更大规模目标模型(target model)的Token分布。这种机制能够带来极高的接受率(acceptance rates),从而实现显著的性能提升。
训练时测试(Training-time Test)支持:Eagle之所以能够实现如此高的性能,在很大程度上归功于其新颖的训练时测试(Training-Time Test, TTT)架构。TTT架构通过模拟多步生成(multi-step generation)过程,使得草稿模型具备极强的鲁棒性。然而,尽管TTT功能极其强大,但由于其需要使用专门的注意力掩码(attention masks)以及复杂的递归数据循环机制,导致其实现难度极高。为了解决这一痛点,SpecForge通过提供内置的TTT支持极大地简化了这种复杂性。在具体实现中,SpecForge严格参考了官方的Eagle3实现代码,以此确保算法的正确性并达到最优的性能表现。
两种训练模式(在线与离线):为了简化隐藏状态(hidden state)的收集过程,SpecForge提供了两种功能多样的训练模式:在线模式(Online)和离线模式(Offline)。这种双模式设计确保了在不同的工作流中都能保持高度的灵活性,无论用户面临的是何种模型规模或硬件限制。
以下是两种训练模式的具体运行机制与对比:
对可扩展性与系统扩展性的优先级考量:SpecForge框架在设计之初就高度强调可扩展性(extensibility)和系统扩展性(scalability),以满足工程生产环境的严苛要求。通过提供模块化的接口,SpecForge允许开发者极其简便地实现并注册全新的草稿模型与目标模型。此外,为了支持超大规模的模型训练,SpecForge深度利用了PyTorch的FSDP(完全分片数据并行)技术,并无缝集成了张量并行(TP)机制,从而确保在多GPU集群环境中依然能够保持高效的训练吞吐量。
bench_speculative.py脚本。研究团队使用SpecForge训练的模型在MT-Bench等基准测试中展现出了强大的性能,证明了其有效性以及对Eagle3推理的准备就绪状态。
speculative-num-steps参数(对应图表中的x轴步骤数)被作为变量进行测试。同时,为了确保能够启用树状注意力(tree attention)机制,测试严格固定了两个关键参数:SGLang的speculative-eagle-topk设置为8,speculative-num-draft-tokens设置为10。通过使用bench_speculative.py脚本运行不同配置下的吞吐量基准测试,能够有效帮助用户针对特定硬件调优出最佳性能。代码与模型可用性:
未来路线图(Roadmap):
在不久的将来,SpecForge计划扩展以下核心支持:
致谢与合作:
项目感谢了SGLang团队及社区成员、SafeAILab团队(因其在Eagle3算法上的开创性工作)以及美团(Meituan)的早期支持。特别强调了与官方基础设施合作伙伴Voltage Park的合作。Voltage Park为SpecForge提供了关键的算力基础,使得团队能够高效、可靠地训练和评估大规模投机解码模型。Voltage Park的首席产品与技术官Saurabh Giri表示,支持像SpecForge这样的高质量开源项目符合公共利益,对于推动高性能AI基础设施的民主化和技术进步至关重要。
SpecForge作为一个专为SGLang设计的Eagle3投机解码训练框架,成功填补了前沿大模型研究与实际部署之间的工具生态空白。通过提供内置的TTT(训练时测试)支持、灵活的在线/离线双训练模式,以及高度可扩展的分布式训练架构(FSDP与TP),SpecForge不仅大幅降低了训练复杂草稿模型(如MoE架构)的工程门槛,还在实际基准测试中实现了超过2倍的推理加速。未来,随着对更多模型架构(如Qwen-3 MoE、VLM)的支持以及底层内核优化的持续推进,SpecForge有望进一步推动开源大语言模型的高效推理与创新应用。