Molt is a PyTorch-based reinforcement-learning framework for training software agents, including multimodal and multi-turn agents. It is intended for research using Ray for orchestration, vLLM for model rollouts, and NVIDIA AutoModel with FSDP2 for training.
Borrowing it
Nothing to install: this file belongs to NVIDIA-NeMo/labs-molt. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/NVIDIA-NeMo/labs-molt/main/.agents/skills/train-inference-consistency/SKILL.mdgit clone --depth 1 https://github.com/NVIDIA-NeMo/labs-moltWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/nvidia-nemo/labs-molt/train-inference-consistency)<a href="https://agentmods.dev/skills/nvidia-nemo/labs-molt/train-inference-consistency"><img src="https://agentmods.dev/badge/skills/nvidia-nemo/labs-molt/train-inference-consistency/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/nvidia-nemo/labs-molt/train-inference-consistency"><img src="https://agentmods.dev/badge/skills/nvidia-nemo/labs-molt/train-inference-consistency.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00111 | $0.02847 |
| Opus 5.5 | $0.00044 | $0.01139 |
| Sonnet 5.5 | $0.00022 | $0.00569 |
| Haiku 4.5 | $0.00011 | $0.00285 |
Grade A, and why
train-inference-consistency scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 116 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Train–inference consistency
Goal: for every valid response token, the logprob the trainer recomputes under the same weights equals the
logprob vLLM returned when it sampled the token — the same bytes in the original dtype,
mismatch/bitwise_frac = 0, at every RL step. Then bring rollout throughput back to within the
performance budget: the aligned arm loses at most 20 % of the BI=0
arm's rollout tokens/s.
Where the code is: main has the measurement side — the mismatch/* metrics, rollout dump and replay, the
engine and trainer flags in molt-integration.md. The aligned kernels behind --train.batch_invariant exist
only on branch jianh/batch-invariant, the reference implementation (vLLM 0.28; Qwen2/Qwen3 dense and
Qwen3-MoE). On main the task is therefore a port along training-side.md, never a flag flip. Read the
installed vLLM inside a worker (which vLLM am I on); when it
differs from the reference implementation's pin, say so before porting anything. Engine facts that depend
on the installed version sit in one table with their re-verify checks: facts bound to the pinned
vLLM.
Method: the training forward calls vLLM's own kernels for every operator that produces a value, so inference defines the numbers. The backward reuses the native math of the training stack under a written gradient contract; it is not bitwise. Molt's take on the idea, inspired by the vLLM blog post Finish RL Training Faster: Bitwise-Consistent, High-Performance, Agent-Driven (verl + Megatron): the gates C0–C10 match it one-to-one so the two can be read together, and every rule here is written for FSDP2 + AutoModel + vLLM. Scope: consistency only — day-0 model support, per-model case records and cluster notes are not part of this skill.
Start by task
Read the sections of your route in order; the rest of the skill is lookup material.
What ships with it
7 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago Changed 2d80ceb6c3d9
- 9d ago Changed · +7 lines · +8 tokens per session 44a58a916cf0
- 12d ago Changed · +3 lines 81fe131ff414
- 13d ago First seen · 106 lines · 103 tokens per session scan A 7a3fd09a808b
train-inference-consistency is a skill published in the GitHub repository NVIDIA-NeMo/labs-molt (1,209 stars, last pushed 2d ago), licensed Apache-2.0. It adds 111 tokens to every session and 2,847 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-16.
Other skills, from other repositories
autorag-doctor
Diagnose and repair a broken or half-working AutoRAG install so every configured source is both indexed and searchable. Checks AutoRAG, MinSync, Jikji, the embedding backend, and every CLI-backed datasource (lazykatok, discrawl, slacrawl, wacrawl, telecrawl, notcrawl, mailcrawl, rclone, Spotlight), then fixes orphan…
eval-triage
Investigate failing experiments and evaluations with LangWatch. Triage a failing experiment run to the exact rows and evaluator scores that regressed, then to a root cause. Use when an experiment fails, scores drop, or evaluations regress.
trulens-instrumentation
Instrument LLM apps with TruLens OTEL-based tracing - from setup to debugging and optimization.
browserwing-admin
Manage and operate BrowserWing — an intelligent browser automation platform. Install dependencies, configure LLM, create/manage/execute automation scripts, use AI-driven exploration to generate scripts, browse the script marketplace, and troubleshoot issues.
error-analysis
Evals-first error analysis for LLM apps: clusters real Langfuse or JSONL traces into a human-confirmed failure taxonomy with counts, then recommends binary pass/fail evals for recurring named modes. Use to learn what to measure before writing evals. Not for CI failures.
examples-qa
Verify Instructor behavior through the repository's ./examples/ suite in pass, live record, or hermetic replay mode. Use when running selected examples or the corpus, capturing and reusing recorded LLM HTTP responses, diagnosing hub results, or distinguishing real errors, assertion failures, skipped examples, and…