modelopt-speculative-decoding
Skill5.6k starsChanged 3 days agoApache-2.0View on GitHub
Train, debug, and validate a speculative decoding draft model (EAGLE3, DFlash, DSpark, Domino) through the ModelOpt launcher pipeline. Use when the user wants to add a new model to a draft-training pipeline, asks why a pipeline run failed, wants experiment logs reviewed, or wants to check whether a run's acceptance rate meets threshold. Triggers on "EAGLE3", "DFlash", "DSpark", "Domino", "draft model", "acceptance rate", "speculative decoding pipeline". Do NOT use for quantizing a model (use modelopt-ptq) or serving a checkpoint (use modelopt-deployment).
Trending
More talk lately.about the whole repository
Who's talking about NVIDIA/Model-Optimizer
- @github-trending.bsky.social“📦 NVIDIA / Model-Optimizer ⭐ 3,886 (+22) 🗒 Python A unified library of SOTA model optimization techniques …”Bluesky · Sep 25, 2026 · 5 likes
- onnxsim/onnxsim“Maintaining status of this project”GitHub · Jan 6, 2026 · 5 reactions
- vllm-project/vllm“Add LM head quantization support for ModelOpt”GitHub · May 8, 2026 · 4 reactions
- @chrisshort.net“to optimize inference speed. #devopsish”Bluesky · Sep 27, 2026 · 1 likes
- @dailygithubtrends.bsky.social“今日のGitHubトレンド NVIDIA/Model-Optimizer NVIDIA Model Optimizerは、量子化やプルーニング、蒸留などの手法を用いてモデルを高速化するためのライブラリです。 …”Bluesky · Sep 26, 2026 · 1 likes
The biggest 5 of 54 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 54
Talked about on GitHub and Bluesky (54 times).
On GitHub · 50
- Jan 6, 2026Maintaining status of this project — onnxsim/onnxsim5 reactions · 4 comments
- May 8, 2026Add LM head quantization support for ModelOpt — vllm-project/vllm4 reactions · 7 comments
- Apr 12, 2026Add support for ModelOpt MXFP8 non-gated MoE with ReLU2 — vllm-project/vllm1 reaction · 3 comments
- Apr 2, 2026[Bugfix] Fix NVFP4+MTP crash: force unquantized mtp.fc for Qwen3.5 — vllm-project/vllm1 reaction
- Feb 8, 2026[ModelOpt MXFP8] — sgl-project/sglang1 reaction · 5 comments
45 more on GitHub
- Jan 21, 2026ORT inference fails after upgrading model's opset from 20 to 21 — microsoft/onnxruntime1 reaction · 5 comments
- Nov 15, 2026Watch list: who to follow and where (Edge0 upstream, Qwen4, llama.cpp, MLX, the labs) — toshi38/Edge00 reactions
- Nov 14, 2026Bump nvidia-modelopt from 0.47.0 to 0.48.0 — marek-burza/shrubbery0 reactions
- Nov 11, 2026build(deps-dev): bump nvidia-modelopt from 0.47.0 to 0.48.0 — verl-project/verl0 reactions · 4 comments
- Nov 10, 2026Prepare ModelOpt catalog onboarding: original six skills plus QAD — NVIDIA/skills0 reactions
- Nov 8, 2026build(deps-dev): bump nvidia-modelopt from 0.47.0 to 0.48.0 — ysq111333/verl_jev0 reactions
- Nov 5, 2026python3Packages.nvidia-modelopt: 0.47.0 -> 0.48.0 — NixOS/nixpkgs0 reactions · 1 comment
- Nov 2, 2026claude-code-marketplaces.github.nvidia.model-optimizer: 0.47.0 → 0.48.0 — sudosubin/agents.nix0 reactions
- Nov 2, 2026codex-plugins.github.nvidia.model-optimizer: 0.47.0 → 0.48.0 — sudosubin/agents.nix0 reactions
- Nov 2, 2026claude-code-plugins.github.nvidia.model-optimizer: 0.47.0 → 0.48.0 — sudosubin/agents.nix0 reactions
- Nov 2, 2026build(deps): Update nvidia-modelopt requirement from ~=0.47.0 to ~=0.48.0 — Jonah-May-OSS/wyoming-whisper-trt0 reactions · 2 comments
- Nov 2, 2026codex-marketplaces.github.nvidia.model-optimizer: 0.47.0 → 0.48.0 — sudosubin/agents.nix0 reactions
- Oct 28, 2026claude-code-plugins.github.nvidia.model-optimizer: init at 0.47.0 — sudosubin/agents.nix0 reactions
- Oct 28, 2026claude-code-marketplaces.github.nvidia.model-optimizer: init at 0.47.0 — sudosubin/agents.nix0 reactions
- Oct 28, 2026[ONNX GraphSurgeon] Export fails for a single initializer larger than 2 GiB before external-data saving — NVIDIA/TensorRT0 reactions · 2 comments
- Oct 28, 2026[Bug] make_graph serializes an individual >2 GiB initializer before external-data saving — onnx/onnx0 reactions
- Oct 26, 2026build(deps-dev): bump nvidia-modelopt from 0.44.0 to 0.47.0 — WncFht/verl-opd0 reactions
- Oct 22, 2026chore(deps-dev): Bump nvidia-modelopt from 0.44.0 to 0.47.0 — yiqiu0215/verl-main0 reactions
- Oct 14, 2026Bump nvidia-modelopt from 0.44.0 to 0.47.0 — zery00568/verlxx0 reactions
- Oct 8, 2026Add native packed-cache attention tests — yingguo-trt/Model-Optimizer0 reactions
- Oct 8, 2026Add inline-media CLI HTTP tests — yeyu-nvidia/Model-Optimizer0 reactions
- Oct 8, 2026Add FP8 zero-scale and export tests — raashish1601/Model-Optimizer0 reactions
- Oct 8, 2026Add native CUDA coverage for MXFP4 packing — raashish1601/Model-Optimizer0 reactions
- Oct 8, 2026Add NVFP4 offloaded export tests and collector typing — niko4244/Model-Optimizer0 reactions
- Oct 4, 2026codex-plugins.github.nvidia.model-optimizer: init at 0.47.0 — sudosubin/agents.nix0 reactions
- Oct 4, 2026codex-marketplaces.github.nvidia.model-optimizer: init at 0.47.0 — sudosubin/agents.nix0 reactions
- Oct 2, 2026build(deps-dev): bump nvidia-modelopt from 0.44.0 to 0.47.0 — ydwhhh/gspo0 reactions
- Sep 30, 2026build(deps-dev): bump nvidia-modelopt from 0.44.0 to 0.47.0 — verl-project/verl0 reactions · 1 comment
- Sep 29, 2026Admin AI: Install skills https://github.com/mattpocock/skills https://github.com/ — mehrshadevilb-cell/ArtistYar-Website0 reactions
- Sep 29, 2026Admin AI: Install skills https://github.com/mattpocock/skills https://github.com/ — mehrshadevilb-cell/ArtistYar-Website0 reactions
- Sep 27, 2026🔥 GitHub Trending AI 早报 · 2026-09-27 · Top 6 项目 — happydog-intj/ai-xiaohongshu-daily0 reactions
- Sep 27, 2026🔥 GitHub Trending AI 早报 · 2026-09-27 · Top 6 项目 — Mystery406/ai-xiaohongshu-daily0 reactions
- Sep 27, 2026Github trending [NVIDIA/Model-Optimizer] 一站式模型量化优化加速 — web1992/github-trending0 reactions
- Sep 26, 2026🔥 GitHub Trending AI 早报 · 2026-09-27 · Top 6 项目 — Mystery406/ai-xiaohongshu-daily0 reactions
- Sep 26, 2026🔥 GitHub Trending AI 早报 · 2026-09-27 · Top 6 项目 — happydog-intj/ai-xiaohongshu-daily0 reactions
- Sep 25, 2026Github trending [NVIDIA/Model-Optimizer] 模型推理加速优化库 — web1992/github-trending0 reactions
- Sep 19, 2026Bump nvidia-modelopt from 0.46.0 to 0.46.1 — marek-burza/shrubbery0 reactions
- Sep 17, 2026Add Anima 2B support to Model Optimizer for calibrated PTQ and future NVFP4 QAT/QAD — ruwwww/Model-Optimizer0 reactions
- Sep 16, 2026build(deps-dev): bump nvidia-modelopt from 0.44.0 to 0.46.1 — verl-project/verl0 reactions · 1 comment
- Sep 15, 2026Bump nvidia-modelopt from 0.44.0 to 0.46.1 — HuipengHuang/opd-rl0 reactions
- Sep 9, 2026build(deps-dev): bump nvidia-modelopt from 0.44.0 to 0.46.0 — HuipengHuang/verl-baseline0 reactions
- Sep 9, 2026[None][docs] retarget ModelOpt examples llm_ptq paths to hf_ptq — NVIDIA/TensorRT-LLM0 reactions · 1 comment
- Sep 4, 2026DeepSeek-V4-Pro-0813-NVFP4 — Bibbleq/frontier-model-tracker0 reactions · 1 comment
- Aug 28, 2026[Doc] Broken links in READMEs referencing files removed by legacy TensorRT backend cleanup — NVIDIA/TensorRT-LLM0 reactions · 1 comment
- Aug 19, 2026Fix ModelOpt integration for the >=0.44 list quant_cfg format — huggingface/diffusers0 reactions
On Bluesky · 4
- Sep 25, 2026📦 NVIDIA / Model-Optimizer ⭐ 3,886 (+22) 🗒 Python A unified library of SOTA model optimization techniques like quantization,… — @github-trending.bsky.social5 likes and reposts
- Sep 27, 2026to optimize inference speed. #devopsish — @chrisshort.net1 likes and repost
- Sep 26, 2026今日のGitHubトレンド NVIDIA/Model-Optimizer NVIDIA Model Optimizerは、量子化やプルーニング、蒸留などの手法を用いてモデルを高速化するためのライブラリです。 Hugging… — @dailygithubtrends.bsky.social1 likes and repost
- Sep 25, 20265. NVIDIA Model-Optimizer Library for Deployment LINK 6. World Action Agent for Robot Manipulation via VLMs LINK — @hackobar.bsky.social0 likes and reposts · 1 reply
In this repository33 other files it gives its agents.
- AGENTS.mdAGENTS.md
- tools/debugger/CLAUDE.mdCLAUDE.md
- tools/launcher/CLAUDE.mdCLAUDE.md
- accessing-mlflowSkill
- benchmark-model-kernelsSkill
- commonSkill
- compare-resultsSkill
- day0-releaseSkill
- debugSkill
- deploymentSkill
- evaluationSkill
- launching-evalsSkill
- modelopt-accessing-mlflowSkill
- modelopt-benchmark-model-kernelsSkill
- modelopt-compare-resultsSkill
- modelopt-day0-releaseSkill
- modelopt-debugSkill
- modelopt-deploymentSkill
- modelopt-evaluationSkill
- modelopt-launching-evalsSkill
- modelopt-monitorSkill
- modelopt-ptqSkill
- modelopt-qadSkill
- modelopt-quant-recipe-searchSkill
- modelopt-release-cherry-pickSkill
- modelopt-run-agentxSkill
- monitorSkill
- ptqSkill
- qadSkill
- quant-recipe-searchSkill
- release-cherry-pickSkill
- run-agentxSkill
- speculative-decodingSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 0 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 35
Read the stage file for *what to do*, and the algorithm sheet for *the values to plug in*.
- Very specific: line 62
All recipes live in modelopt_recipes/general/speculative_decoding/<algorithm>.yaml.
- Very specific: line 81
If the user's algorithm has no sheet yet, the stage procedures still apply — derive the missing values from an existing launcher example …
- Very specific: line 98
Review logs: when it finishes (references/stages/review-logs.md).
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Speculative Decoding Draft-Model Training
Everything needed to take a target model from "no draft head" to "validated acceptance rate" lives in this directory. Work through the stages below in order for a new model; jump straight to a stage when you already know which one you need.
Two axes: stage and algorithm
The pipeline is the same shape for every draft-model algorithm — synthesize data, dump base-model hidden states, train the draft, benchmark acceptance rate. What changes between algorithms is which training script and recipe run, which knobs matter, and which failures are typical.
So this skill is split along those two axes, and you almost always read one file from each:
| Axis | Directory | What it holds |
| Stage | references/stages/ | The procedure — algorithm-independent |
| Algorithm | references/algorithms/ | The data sheet — scripts, recipe, knobs, thresholds, known failures |
Read the stage file for what to do, and the algorithm sheet for the values to
plug in. When a stage file says "see the algorithm sheet", it means the section of
references/algorithms/<algorithm>.md with the matching heading.
Where the code lives
The launcher scripts in tools/launcher/common/{eagle3,specdec}/ are thin wrappers around
examples/speculative_decoding/ — main.py (training), collect_hidden_states/ (dumps),
scripts/{export_hf_checkpoint,ar_validate,quantize_drafter}.py. Read a wrapper for the
flags it passes, that directory for what they do. Its README.md is also the non-launcher
path: training invoked directly, without Slurm.
Stages
| Stage | Reference | Use when |
| 1. Configure | references/stages/configure.md | Adding a model that has no pipeline YAML yet |
| 2. Review logs | references/stages/review-logs.md | A run finished (or died) and you want a pass/fail summary |
| 3. Triage | references/stages/triage.md | A task failed and you need root cause plus a fix |
| 4. Validate | references/stages/validate.md | All tasks passed and you need to confirm the acceptance rate gate |
Review-logs and triage overlap by design: review-logs is the fast sweep across all tasks, triage is the deep dive into one failing task. Start with review-logs unless the user already knows which task broke.
Algorithms
All recipes live in modelopt_recipes/general/speculative_decoding/<algorithm>.yaml.
| Algorithm | Sheet | Family |
| EAGLE3 | references/algorithms/eagle3.md | Autoregressive draft head |
| DFlash | references/algorithms/dflash.md | Block diffusion |
| DSpark | references/algorithms/dspark.md | DFlash backbone + Markov head + optional confidence head |
| Domino | references/algorithms/domino.md | DFlash backbone + GRU causal correction head |
| DFlash2 | references/algorithms/dflash2.md | DFlash backbone + sublayer convolutions + candidate selector |
| LiLiCorr | references/algorithms/lilicorr.md | DFlash backbone + candidate-lattice reranker (covers lilicorr_conv.yaml) |
Everything below EAGLE3 is a DFlash variant, not a separate pipeline: same
recipe_type: speculative_dflash, same training script, same dflash.* config
namespace, selected by dflash_architecture_config.projector_type. Read
references/algorithms/dflash.md first, then the variant's sheet for the delta.
LiLiCorr ships two recipes — lilicorr.yaml and lilicorr_conv.yaml, the latter
adding DFlash2's sublayer convolutions — but one sheet covers both.
If the user's algorithm has no sheet yet, the stage procedures still apply — derive
the missing values from an existing launcher example for that algorithm
(tools/launcher/examples/*/*/hf_*_<algorithm>.yaml) and its recipe, then write the
sheet as you go. references/algorithms/README.md defines what a sheet must contain.
End-to-end: a new model
- Confirm the algorithm and find the closest existing launcher example.
- Configure — write the pipeline YAML (
references/stages/configure.md). Preview with
--dryrun, then submit:cd tools/launcher uv run launch.py --yaml examples/<Org>/<Model>/<config>.yaml --yes- Register the job and set up monitoring per the modelopt-monitor skill.
- Review logs when it finishes (
references/stages/review-logs.md). - Triage anything that failed (
references/stages/triage.md), fix, re-run only the failed tasks onward viapipeline.task_N.skip=true. - Validate once all tasks pass (
references/stages/validate.md).
Model-support gaps that need code changes land in modelopt/torch/speculative/ and
require a separate ModelOpt PR — the pipeline YAML alone cannot fix an unrecognized
architecture.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

