
[](https://docs.sglang.io/SpecForge/)
[](https://huggingface.co/collections/lmsys/specbundle)
[](https://deepwiki.com/sgl-project/SpecForge)
[](https://lmsys.org/blog/2025-07-25-spec-forge/)
[](https://sgl-fru7574.slack.com/archives/C09784E3EN6)
[](./LICENSE)
## π Overview
SpecForge is an ecosystem project developed by the SGLang team. It is a framework for training speculative decoding models so that you can smoothly port them over to the SGLang serving framework to speed up your inference.
We have seen many open-source projects for speculative decoding, but most of them are not well-maintained or not directly compatible with SGLang. We prepared this project because we wish that the open-source community can enjoy a speculative decoding framework that is
- regularly maintained by the SpecForge team: the code is runnable out-of-the-box
- directly compatible with SGLang: no additional porting effort is required
- able to run online disaggregated training and both colocated and
disaggregated offline training through one runtime, including the supported
data, tensor, and sequence parallel topologies
Check out [**our documentation**](https://docs.sglang.io/SpecForge/) to get started.
## π§ Supported Methods
Every method uses the same typed training entry point:
```bash
specforge train --config examples/configs/online/disaggregated/external/qwen3-8b-eagle3-disaggregated.yaml
```
The path under `examples/configs` identifies feature mode, topology, and online
service ownership. The command above uses an `external` recipe: SpecForge
supervises the producer and consumer on one trainer node, while the user or
scheduler owns Mooncake and SGLang. Recipes under `managed-local` also start
those services on the local host. Online target parallelism belongs to SGLang;
`deployment.trainer` owns trainer DP and offline EAGLE3 USP process groups.
There are no method-specific Python training entry points.
| Method | Description | Example config | Optimization |
| --- | --- | --- | --- |
| **[EAGLE3](https://arxiv.org/abs/2503.01840)** | Feature-based autoregressive drafting | [Online external](./examples/configs/online/disaggregated/external/qwen3-8b-eagle3-disaggregated.yaml) / [Offline colocated](./examples/configs/offline/colocated/qwen3-8b-eagle3-offline.yaml) / [Offline disaggregated](./examples/configs/offline/disaggregated/qwen3-8b-eagle3-offline-disaggregated.yaml) | [LK loss](https://arxiv.org/pdf/2602.23881) |
| **[P-EAGLE](https://arxiv.org/abs/2602.01469)** | Parallel EAGLE | [Online external](./examples/configs/online/disaggregated/external/qwen3-8b-peagle-disaggregated.yaml) | β |
| **EAGLE3.1** | Feature-based autoregressive drafting with attention drift | [Online external](./examples/configs/online/disaggregated/external/qwen3-30b-a3b-eagle3.1-online.yaml) | β |
| **[DFlash](https://arxiv.org/abs/2602.06036)** | Block-parallel drafting | [Online external](./examples/configs/online/disaggregated/external/qwen3-8b-dflash-online.yaml) / [Offline colocated](./examples/configs/offline/colocated/qwen3-8b-dflash-offline.yaml) / [Online managed-local](./examples/configs/online/disaggregated/managed-local/qwen3-8b-dflash-1server-dp7-disaggregated.yaml) | [D-PACE](https://arxiv.org/abs/2605.18810) |
| **[DFlash2](https://inco.ai/blog/dflash2/)** | DFlash with grouped dynamic convolution and top-k path selection | [Online managed-local](./examples/configs/online/disaggregated/managed-local/qwen3.6-27b-dflash2-disaggregated.yaml) | [D-PACE](https://arxiv.org/abs/2605.18810)|
| **[Domino](https://arxiv.org/html/2605.29707v1)** | DFlash with GRU logit correction | [Online external](./examples/configs/online/disaggregated/external/qwen3-8b-domino-online.yaml) / [Offline colocated](./examples/configs/offline/colocated/qwen3-8b-domino-offline.yaml) / [Online managed-local](./examples/configs/online/disaggregated/managed-local/qwen3-8b-domino-multiserver-disaggregated.yaml) | β |
| **[DSpark](https://arxiv.org/abs/2607.05147)** | Confidence-Scheduled Semi-Autoregressive Generation | [Online external](./examples/configs/online/disaggregated/external/qwen3-4b-dspark-disaggregated.yaml) / [Offline colocated](./examples/configs/offline/colocated/qwen3-4b-dspark-offline.yaml) | β |
See the [training guide](./docs/sections/basic_usage/training.md) for the supported
method/topology matrix and the
[disaggregated guide](./docs/sections/basic_usage/disaggregated_training.md) for the
online/offline launch workflows. Unsupported combinations are rejected during
config validation or run assembly instead of falling back to an older trainer.
## π Accelerate with SpecBundle
SpecBundle is a collection of production-grade speculative decoding models that are released by the SpecForge team and our industry partners. They provide higher acceptance rate compared to the existing open-source checkpoints over a wide range of domains. Together with SGLang, you can experience up to 4x speedup for inference. Check out our resources below:
| Item | Link |
| --- | --- |
| π Documentation | [Link](https://docs.sglang.io/SpecForge/specbundle.html) |
| π Performance Dashboard | [Link](https://docs.sglang.io/SpecForge/specbundle.html#performance-dashboard) |
| π€ Hugging Face Collection | [Link](https://huggingface.co/collections/lmsys/specbundle) |
## π News
- [2026-08] π₯ Added DFlash2 online training for DFlash draft models.
- [2026-08] π Released SpecBundle (phase 2) and SpecForge v0.3.0. Check out our blog at [LMSYS.org](https://www.lmsys.org/blog/2026-08-04-specforge-v0-3)
- [2026-07] π Day0 supported two flagship dspark draft model, [Inkling](https://huggingface.co/RadixArk/Inkling-DSpark-Preview) and [Kimi-K3](https://huggingface.co/RadixArk/Kimi-K3-DSpark).
- [2026-07] π₯ Supported full disaggregation of training and inference in online training.
- [2026-07] π₯ Added DSpark online training for DFlash draft models.
- [2026-06] π₯ Added D-PACE as an optional loss for DFlash training.
- [2026-06] π₯ Added Domino online training for DFlash draft models.
- [2026-01] π₯ Added DFlash block-parallel online training with SGLang serving support.
- [2025-12] π Released SpecBundle (phase 1) and SpecForge v0.2.0. Check out our blog at [LMSYS.org](https://lmsys.org/blog/2025-12-23-spec-bundle-phase-1/)
- [2025-08] π SpecForge is listed as a [flagship project](https://lmsys.org/about/) in LMSYS. Congratulations to the SpecForge team!
- [2025-08] π₯ SpecForge powered the Eagle3 draft model for GPT-OSS. Check out the blog at [LMSYS.org](https://lmsys.org/blog/2025-08-27-gpt-oss/)
- [2025-07] π₯ SpecForge is released together with Llama4-Eagle3 checkpoints. Check out our blog at [LMSYS.org](https://lmsys.org/blog/2025-07-25-spec-forge/)
## β¨ Acknowledgements