Nemotron Customize
NVIDIAOfficialCreated by NVIDIA Nemotron Team
- Skill
- Tool integration
- Agent tooling
- Apache-2.0
- Medium risk
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
The nemotron-customize skill provides a structured approach to planning and executing model customization pipelines within the Nemotron repository. It enables users to chain specific steps such as curation, translation, SFT/PEFT, pretraining, RL alignment, and evaluation. The skill emphasizes artifact-based composition, ensuring that data outputs from one step correctly feed into the next. It requires users to provide concrete values like model paths and hardware configurations, and it enforces safety by requiring environment profiles for remote execution and preventing the exposure of sensitive credentials.
What it does
- Plans multi-step DAGs for model customization based on artifact compatibility.
- Configures existing Nemotron steps by creating new YAML files in the step's config directory.
- Validates artifact wiring between pipeline stages.
- Provides commands for running single-step or multi-step training and evaluation workflows.
- Enforces safety by requiring environment profiles and redacting sensitive information.
- Routes requests to appropriate catalog steps based on the user's end goal.
When to use it
- When you need to fine-tune, pretrain, or align a Nemotron model.
- When you need to curate or translate training data using repository-native tools.
- When you need to evaluate or benchmark a model endpoint.
- When you need to convert checkpoints between Hugging Face and Megatron formats.
- When you need to compose multiple customization steps into a single pipeline.
Advantages
- Ensures pipeline consistency by using artifact-based composition.
- Maintains repository integrity by requiring new configs instead of modifying existing ones.
- Provides a clear, reproducible workflow for complex training tasks.
- Reduces errors by validating hardware and configuration constraints before execution.
Usage examples
- “I need to fine-tune a Hugging Face model using LoRA on 2 GPUs.”
- The agent will route the request to peft/automodel, collect the necessary paths and parameters, and provide a command to run the fine-tuning process.
- “Create a pipeline for data preparation and SFT for a Super3 model.”
- The agent will plan a DAG consisting of data_prep/sft_packing followed by sft/megatron_bridge, verify the artifact chain, and guide you through creating the required configs.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/nvidia/nemotron-customize/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip nemotron-customize.zip -d .agents/skills
Documentation by NVIDIA Nemotron Team
nemotron-customize
IMPORTANT: Read this file before answering any nemotron-customize,
Nemotron customization, Curator curation, translation, SFT, PEFT, RL,
conversion, optimization, checkpoint or existing/hosted-endpoint evaluation, or
multi-step pipeline request. This applies whether the user names one step or
asks you to compose several steps into a pipeline.
Evaluation requests count even when no training is involved: "evaluate",
"benchmark", "smoke test", or "score" an existing/hosted endpoint, an API/model
ID, or a deployed model all route to eval/model_eval. Read this skill for
those too.
Purpose
Turn a model-customization request into a repo-native Nemotron step pipeline. Plan the DAG, validate artifact wiring, and create only the YAML/config files needed to run existing steps.
Use this skill only for inspecting, configuring, validating, running, or submitting existing Nemotron steps or multi-step training/customization pipelines. For frontend, dashboard, visualization, generic ML advice, billing/access, or unrelated coding tasks, stop with a short scope note and do not inspect the step catalog or edit files in that turn.
Prerequisites
A checkout of the Nemotron repo with
src/nemotron/steps/present; run from the repo root.uvavailable to invokeuv run nemotron steps ....For remote execution: an env profile TOML (
NEMOTRON_ENV_FILEorenv*.toml) with a section matching the selected step.For hosted services (translation, hosted eval): the auth environment variable expected by the step (for example
NVIDIA_API_KEY), exported in the environment — never inlined or committed.User-provided concrete values (model/checkpoint, data paths, output dir, hardware/GPU count) before any command is presented as runnable.
Limitations
Does not invent new catalog steps. When no existing step, runner, recipe, CLI, or config can satisfy the request, it names the gap (Explorer mode) instead of fabricating a step.
Produces YAML/config for existing steps; new Python/shell is out of scope except in Explorer mode after the gap is approved.
Not for deployment-only/serving, frontend, dashboards, generic ML advice, or non-Nemotron tasks.
Does not guess concrete values (paths, model IDs, GPU counts, profiles); it asks or returns
Blockedwhen they are missing.
Core Rule
Use bundled references first. The references/ folder is the first decision
surface for routing, artifacts, patterns, hardware heuristics, and command
shape. Use src/nemotron/steps/... only as a live verification/fallback source
when you need exact current config fields, manifests, runner imports, or details
missing from bundled references.
If sources disagree:
Checked live repo files win for exact execution.
Bundled references win for initial routing and planning.
Upstream docs/context packs are used only for exceptional code generation or library API details.
Before You Begin
Read this
SKILL.mdworkflow and the relevant bundled reference before opening repo source files.Route from
references/CATALOG.mdandreferences/ARTIFACTS.mdbefore any broad repo exploration. Once a route is determined, verify only the selected live step/config/env files needed for the answer.Do not emit commands with fake paths, placeholder model IDs, guessed task IDs, guessed batch profiles, or default auth variable names presented as facts. Ask for missing concrete values or return a
Blockedhandoff.Use
references/COMMANDS.mdas the authoritative checklist before finalizing configs or execution commands.For pipeline requests, plan before editing. Do not create or modify files until the DAG, artifact edges, required inputs, and validation checks are stated and approved.
For one-shot command requests, prefer a complete parameterized command in one response over exploratory prose, but only after required inputs are known. If the user already provides the needed values and asks for only a command, answer with the command first and keep explanation minimal.
Output discipline (keeps responses tight): emit one command block per step, include only flags the step actually defines, and add no speculative or invented flags. Keep narrative to a few lines — the command plus the required safety/profile callouts, not a tutorial. Do not restate reference content the user did not ask for.
Do not spawn subagents for one-shot command lookup. Use the bundled command reference directly; verify only the selected step if needed.
Safety
Keep Bash scoped to repo-safe commands such as uv run nemotron steps ...,
targeted tests, git status/diff, and config validation. Never run environment
dumps (env, printenv, broad export) or commands that expose secret values.
For remote submissions, destructive changes, or expensive launches, confirm
before execution.
When inspecting env/config files, avoid printing whole files that may contain
secrets. Use targeted reads, report only section names and env-var names, and
redact values for fields containing token, key, secret, password,
credential, or auth.
Reference Map
| Question | Read first | Live fallback / verification |
|---|---|---|
| Which step or category fits? | references/CATALOG.md | uv run nemotron steps list/show, then selected step.toml |
| Do artifacts chain? | references/ARTIFACTS.md | src/nemotron/steps/types.toml |
| What run shape should I emit? | references/COMMANDS.md | checked-in config YAML plus active profile TOML |
| Remote profile generation or selection | references/COMMANDS.md | active NEMOTRON_ENV_FILE, env.toml, or env.*.toml |
| What hardware/backend should I recommend? | references/HARDWARE.md | selected step [[models]] and [[strategies]] |
| Which cross-step guardrails apply? | references/PATTERNS.md | src/nemotron/steps/patterns/<id>.md |
| How do I run the full workflow? | references/WORKFLOW.md | selected step configs, step.py, and runners |
| Which upstream library API should generated code use? | references/context/index.toml -> matching pack | selected step.py, _runners/, upstream docs |
| New project scaffold, only when existing repo code cannot support the request | references/act/PROJECT.md | existing repo project/recipe shape |
| Per-stage code rules, only when existing repo code cannot support the request | references/act/STAGE.md | selected step.py and shared runner |
Do not start by reading category READMEs or step.toml for ordinary decisions.
Select candidates from bundled references, then verify exact live details before
writing configs or final commands.
Routing
Use references/CATALOG.md as the authoritative home for step selection and
route-specific fast paths. Use ARTIFACTS.md, PATTERNS.md, and HARDWARE.md
only to resolve artifact, cross-step, or hardware constraints after the catalog
narrows the route.
Each step is independent and stitching steps together is your job. Compose any pipeline by artifact matching from the user's end goal: chain a step only when the next step consumes an artifact type nothing upstream already produces. Do not rely on fixed, named step combinations.
Instructions
Follow the flow that matches the request: a recommendation/plan, a single-step command, or a multi-step pipeline. In all cases, route from the bundled references first, gather required inputs, and verify the selected live step before presenting anything as runnable.
Recommendation Response
Use this shape for planning answers:
Decision, Why, Required inputs, Config/command, Avoid, and Next step.
Call out the stack to avoid when the user's constraints make it a poor fit.
Whenever the answer includes a command that touches a hosted service or remote execution, also state, in the answer:
The auth env-var name and that its value must be exported in the environment, never inlined or committed (never print the value).
For
--batch/--run, the env TOML profile prerequisite; if no profile exists, mark the commandBlockedor give the local--dry-runshape.
Single-Step Command Flow
Confirm repo root has
pyproject.tomlandsrc/nemotron/steps/.Read
references/CATALOG.mdand the selected section ofreferences/COMMANDS.md.Verify the selected live step with
uv run nemotron steps show <step_id>when available, or the selectedstep.tomlwhen the CLI is unavailable.Read the requested checked-in config or user overlay before emitting the command.
For remote execution, read
NEMOTRON_ENV_FILEor repo-rootenv*.tomland pick an actual section whose profile matches the step.Emit the full command in one reply with the source tier:
Verified,Repo-grounded,Reference-grounded, orBlocked.
Canonical command shapes live in references/COMMANDS.md.
Pipeline Workflow
For pipelines with two or more stages, use Orient -> Plan -> Act -> Verify.
Read references/WORKFLOW.md for the phase checklist.
Orient from bundled references and user constraints.
Plan a DAG with artifact types, configs, patterns, and validation checks.
Wait for approval before writing configs or code.
Act with YAML/config-only changes whenever an existing step can satisfy the request.
Verify every generated YAML, artifact edge, command, and README command before reporting completion.
Catalog Mode
Use when the request maps to existing steps. Fast path:
references/CATALOG.md -> references/ARTIFACTS.md ->
references/COMMANDS.md -> verify selected live manifest/config/profile ->
add a new named config under the selected step's config/ directory.
Customization Surface
Always customize through the step catalog under
src/nemotron/steps/. Never divert to alternate recipe CLIs such assrc/nemotron/cli/commands/super3/or.../nano3/, even for Super3/Nano3 work. If a request seems to need those, map it back to the equivalent catalog step (e.g.sft/megatron_bridge).Make customizations as NEW config files inside the selected step's
src/nemotron/steps/<cat>/<step>/config/directory, for examplesrc/nemotron/steps/sft/megatron_bridge/config/my_super3.yaml.Never edit the checked-in
default.yaml,tiny.yaml, other shipped configs,step.toml,step.py, or shared runners. Adding a new config file beside them is the expected and only customization write.Base new configs on the checked-in
default.yamlschema (read it, copy the needed fields), then override only what the request requires.
Explorer Mode
Use only after confirming no existing step, runner, recipe, CLI, or YAML config
surface can satisfy the request. Full procedure lives in
references/WORKFLOW.md.
Configuration Alignment
Surface these constraints before commands or config writes:
SFT packing
pack_size, Megatron-Bridgeseq_length, packed sequence size, tokenizer, and chat template must match.Prepared
packed_parquetandbinidxare tokenizer-locked; rebuild after tokenizer, chat-template, sequence-length, split, or blend changes.Megatron-Bridge global batch size must be divisible by data-parallel size; start distributed validation with micro batch size 1.
TP/PP/CP/EP choices must fit GPU count, memory, topology, and model divisibility.
LoRA merge requires the exact base checkpoint/model and tokenizer used during adapter training.
Conversion/eval of Megatron checkpoints should point at a concrete
iter_*checkpoint, not a parent run directory.Hosted eval and translation configs store auth env-var names only, not values.
Operational Nuances
Smoke configs (
tiny.yaml,tiny_chat.yaml) are wiring tests, not quality evidence.${art:...}references belong in recipe-backed configs; standalone YAML uses plain paths.Keep pretraining
bin/idxdata andblend.jsonfrom the same run/release.Write customized configs as new files in the step's
src/nemotron/steps/<cat>/<step>/config/directory; never modify the checked-indefault.yamlor other shipped configs.For LoRA, preserve the exact base checkpoint and tokenizer/template metadata needed by later merge/eval.
For translation and hosted eval, mention auth environment variable names only, never values.
Boundaries
Do:
Always route through the step catalog under
src/nemotron/steps/; never use alternate recipe CLIs (src/nemotron/cli/commands/super3|nano3/...).Reuse repo CLIs, runners, recipes, steps, and checked-in configs first.
Customize by adding a new config under the step's
config/directory; base it ondefault.yamlrather than copying it blindly.Validate artifact edges and cite patterns that changed the plan.
Ask about hardware/data/backend/output path when missing.
Surface tradeoffs such as AutoModel vs Megatron-Bridge and full SFT vs LoRA.
Do not:
Invent steps when a catalog step fits.
Skip Plan for pipelines with two or more stages.
Generate Python or shell when YAML is enough.
Add monitoring/W&B unless asked.
Assume GPU count, env profile, endpoint type, task ID, or auth value.
Generate Slurm/Airflow/Kubeflow wrappers unless the request explicitly needs deployment scaffolding.
Edit checked-in step files (
default.yaml/tiny.yaml, other shipped configs,step.toml,step.py, runners); only add a new config beside them.Restate all per-step rules in
SKILL.md; use bundled references and source fallback.
Examples
Single-step routing (LoRA on a small box). User: "LoRA fine-tune a HF model
on 2 GPUs." Route per CATALOG.md -> peft/automodel (HF base + small GPU
count); do not offer Megatron-Bridge. Collect base model, JSONL data path,
output dir, LoRA rank/alpha, then emit one uv run nemotron steps run peft/automodel -c <config> --dry-run ... command.
Multi-step pipeline (Super3 SFT). User: "data prep + SFT for Super3." This is
two stages, so plan first: SFT on Super3 -> Megatron-Bridge, which consumes
packed_parquet, so data_prep/sft_packing is required upstream. Present the
DAG (sft_packing -> sft/megatron_bridge), align pack_size/seq_length/
tokenizer, wait for approval, then add new configs under
src/nemotron/steps/<step>/config/<name>.yaml. Super3 needs a remote profile;
state the env TOML prerequisite or mark Blocked.
Hosted-endpoint evaluation (no training). User: "benchmark my hosted model
endpoint." Route to eval/model_eval with -c tiny_chat. Collect endpoint URL,
model id, task IDs, and the auth env-var name (value exported, never inlined).
See references/COMMANDS.md Evaluation Examples.
Troubleshooting
| Situation | Action |
|---|---|
| Artifact types do not chain | Recheck references/ARTIFACTS.md; insert a converter or change the DAG before writing configs. |
Remote profile or --batch is unclear | Read active env TOML; do not guess profile names. |
| Config key is unclear | Verify selected checked-in config, step.py, and shared runner before editing. |
| Strategy points to a missing context pack | Skip the pack, use catalog/pattern text, and flag the plan with WARNING: <topic> docs unavailable. |
| Hardware looks too small | Use references/HARDWARE.md; suggest smaller model, AutoModel, then LoRA before full Megatron-Bridge. |
| Two Act attempts fail | Stop, explain what was tried and failed, and ask how to proceed. |
| No existing repo path matches | Check references/context/index.toml and selected source fallback; use Explorer mode only after naming the gap. |
Files
- .claude-plugin/plugin.json639 B
- ATTRIBUTION.mdAdded by AutoGineer926 B
- BENCHMARK.md3.7 KiB
- LICENSELicence file added by AutoGineer11.2 KiB
- SKILL.md16.1 KiB
- evals/evals.json9.7 KiB
- references/ARTIFACTS.md4.8 KiB
- references/CATALOG.md13.0 KiB
- references/COMMANDS.md9.3 KiB
- references/HARDWARE.md3.1 KiB
- references/PATTERNS.md4.0 KiB
- references/WORKFLOW.md5.2 KiB
- references/act/PROJECT.md7.2 KiB
- references/act/STAGE.md8.9 KiB
- references/context/README.md1.6 KiB
- references/context/automodel-launcher-executor-modes.txt2.4 KiB
- references/context/automodel-pretrain.txt6.0 KiB
- references/context/automodel-sft-peft-core.txt2.1 KiB
- references/context/byob-benchmark-curator-translation.txt4.9 KiB
- references/context/checkpoint-conversion.txt1.8 KiB
- references/context/curator-data-acquisition.txt2.3 KiB
- references/context/curator-processing-language-quality.txt1.7 KiB
- references/context/curator-translation-faith.txt4.8 KiB
- references/context/data-designer-sdg.txt4.6 KiB
- references/context/eval-deploy-formats.txt1.7 KiB
- references/context/eval-sovereign-benchmarks.txt2.0 KiB
- references/context/eval-standard-nlu.txt1.7 KiB
- references/context/index.toml7.4 KiB
- references/context/mbridge-parallelism-performance.txt2.0 KiB
- references/context/mbridge-pretrain.txt1.8 KiB
- references/context/mbridge-sft.txt1.8 KiB
- references/context/modelopt-optimization.txt8.3 KiB
- references/context/nemo-rl-alignment.txt5.7 KiB
- references/context/nemotron-data-prep.txt6.1 KiB
- references/examples/CALIBRATION.md2.5 KiB
- skill-card.md4.1 KiB
- skill.oms.sig11.9 KiB
references/CATALOG.md
Nemotron Step Catalog
Use this as the first-line routing reference for /nemotron-customize.
After selecting a likely step here, verify the exact live contract with the
CLI and source files only when you need current fields, checked-in config names,
or runner behavior.
Table Of Contents
Selection Rules
Step Summary
Category Notes
Fallbacks
Selection Rules
Pick an existing catalog step before considering new code.
Route by artifact contract first: downstream
consumesdecides upstreamproduces.Compose multi-step pipelines by artifact matching, not by fixed recipes: start from the requested end goal, then walk backward through
ARTIFACTS.md, inserting whichever step produces the input type the next step consumes. Add prerequisite steps (data cleaning, packing/prep, conversion, eval) only when a downstreamconsumestype is not already available upstream. Do not hardcode named step combinations; derive every chain from the goal and the artifact graph.Each step is independent and selected on its own merits; the agent stitches steps together. A given step never implies a fixed predecessor or successor.
Use AutoModel for HF-native JSONL, small GPU counts, quick LoRA, and direct HF output.
Use Megatron-Bridge for packed Parquet, bin/idx, multi-node parallelism, Nano3/Super3 recipe parity, and Megatron checkpoints.
LoRA/PEFT on a HuggingFace base with a small GPU count (about 1-8 GPUs) routes to
peft/automodel. Usepeft/megatron_bridgeonly when the base is a Megatron checkpoint or the run needs packed Parquet plus multi-node parallelism. When the user says LoRA/PEFT + HF model + few GPUs and gives no Megatron signal, the answer ispeft/automodel(do not offer Megatron-Bridge as the default).Use
data_prep/sft_packingbeforesft/megatron_bridgeorpeft/megatron_bridge; skip it for AutoModel SFT/PEFT.Use
data_prep/pretrain_prepbefore either pretraining backend.Use
data_prep/rl_prepwhen RL data starts as HF references, blends, or needs sharding/materialization.Route light Curator smoke tests, cleaned local JSONL output, permissive filtering, and first-pass IO/schema validation to
curate/nemo_curator. Require concreteinput_globandoutput_dirbefore a runnable command.Route direct corpus translation to
translate/nemo_curator. It consumesfiltered_jsonl, so any upstream producing translation-ready JSONL (curation, SDG, or a user corpus) satisfies it; insert an upstream step only when the input is not yet translation-ready.HARD GUARD (overrides artifact composition): MCQ, multiple-choice, or any benchmark/evaluation dataset routes to
byob/mcqfor BOTH creation and translation — nevertranslate/nemo_curator, even when the user says "translate".translate/nemo_curatoris for plain training corpora only; it flattens MCQ structure (question/options/answer_index) and breaks the benchmark. Trigger on: "MCQ", "multiple choice", "benchmark", "eval set", "questions and options", or anyanswer/answer_indexschema. When unsure whether data is a benchmark, ask before routing.Insert conversion only when adjacent stages disagree on checkpoint type.
Bookend quality-changing stages with
eval/model_eval.
Step Summary
| Step | Use When | Consumes | Produces | Configs | Key Knobs / Notes |
|---|---|---|---|---|---|
byob/mcq | Generate or translate domain MCQ benchmarks while preserving answer indexes and row identity. | benchmark_source_corpus; optional benchmark_parquet | mcq_benchmark_parquet; optional translated_mcq_benchmark_parquet | default, tiny, translate | family=mcq, stage=prepare/generate/translate/all, target_source_mapping, translation settings. Final rows keep question_id, question, options, answer_index, answer, cot_content, src, category. |
curate/nemo_curator | Filter raw/local/HF JSONL before translation, SFT prep, or pretrain prep; use for light Curator smoke tests and cleaned local JSONL output. | raw_jsonl | filtered_jsonl | default, tiny | Start with dataset=null, language_codes=[], domains=[], and quality_filters={} until reader/writer IO and schema are verified. |
translate/nemo_curator | Translate plain JSONL/Parquet training corpora or chat messages. NOT for MCQ/benchmark/eval datasets -> those go to byob/mcq. | filtered_jsonl | translated_jsonl | default | Require source/target language, input/output paths, format, text_field, backend, and auth env-var names. Preserve user-provided globs exactly. Use messages.*.content with reconstruct_messages=true for chat. |
sdg/data_designer | Generate synthetic SFT, tool-call SFT, or DPO preference data from seeds and declarative columns. | optional training_jsonl | synthetic_jsonl | default, customer_support_tools, rl_pref, tiny | Use preview/tiny before scale. default emits OpenAI messages, customer_support_tools emits tool-call records, rl_pref emits DPO preference rows. |
data_prep/sft_packing | Pack chat JSONL for Megatron-Bridge SFT/PEFT. | training_jsonl | packed_parquet | default, tiny | tokenizer, pack_size, chat_template, split ratios, shard counts. pack_size must match downstream seq length. |
data_prep/pretrain_prep | Tokenize text blends into Megatron bin/idx shards and blend.json. | filtered_jsonl | binidx | default, tiny | blend_path, tokenizer, shards, splits, text_field. Rebuild if tokenizer changes. |
data_prep/rl_prep | Resolve HF references and shard prompt/preference data for RL. | training_jsonl | training_jsonl | default, tiny | Validate DPO chosen/rejected ordering and RLVR verifier fields before training. |
sft/automodel | HF-format SFT on OpenAI-style chat JSONL, smaller GPU counts, direct HF output. | training_jsonl | checkpoint_hf | default, tiny | model.pretrained_model_name_or_path, dataset.path_or_dataset_id, peft=null/lora. Do not feed packed Parquet. |
sft/megatron_bridge | Distributed SFT with packed Parquet and Megatron checkpoints. | packed_parquet; optional checkpoint_megatron | checkpoint_megatron | default, tiny | Nano3 default min 8 GPUs; Super3 min 32. Keep packed sequence size, data prep pack size, and model seq length identical. |
peft/automodel | LoRA adapter tuning with HF base and direct JSONL, especially 1-4 GPUs. | training_jsonl | checkpoint_lora | default, tiny | Keep base model/tokenizer/rank/alpha provenance for later merge. |
peft/megatron_bridge | LoRA over a Megatron base with packed Parquet and distributed parallelism. | packed_parquet, checkpoint_megatron | checkpoint_lora | default, tiny | Plan merge/export path up front; keep base, adapter, merged outputs separate. |
pretrain/automodel | HF-native pretraining/CPT over bin/idx data. | binidx | checkpoint_hf | default, tiny | load_weights=true for CPT with lower LR; set dataset paths to emitted blend.json. |
pretrain/megatron_bridge | Large distributed pretraining/CPT with TP/PP/CP/EP and Megatron output. | binidx; optional checkpoint_megatron | checkpoint_megatron | default, tiny | Use for large token budgets and recipe parity; keep token budget, seq length, and blend fixed. |
rl/nemo_rl/dpo | Static preference-pair alignment. | training_jsonl, checkpoint_megatron | checkpoint_megatron | default, tiny | Data requires prompt, chosen, rejected; validate pair ordering. |
rl/nemo_rl/rlvr | GRPO/RLVR with deterministic/verifiable rewards. | training_jsonl, checkpoint_megatron | checkpoint_megatron | default, nemo_gym, tiny | Data needs verifier fields such as answer/tests/env metadata. Use nemo_gym for resource-server rewards. |
rl/nemo_rl/rlhf | RLHF with learned judge/GenRM reward model. | training_jsonl, checkpoint_megatron, checkpoint_hf | checkpoint_megatron | default, tiny | Keep policy, reference, reward model, NeMo-Gym server config, and prompt data separate. |
convert/hf_to_megatron | A Megatron consumer needs an HF checkpoint. | checkpoint_hf | checkpoint_megatron | default | Convert clean model dirs, not logs/optimizer/adapters. Merge LoRA first when needed. |
convert/megatron_to_hf | HF-native eval/deploy/optimize needs a Megatron checkpoint. | checkpoint_megatron | checkpoint_hf | default | Point at a concrete iter_* checkpoint, not the parent run directory. |
convert/merge_lora | Produce a standalone checkpoint from a LoRA adapter and exact base. | checkpoint_lora, checkpoint_hf; optional checkpoint_megatron | checkpoint_hf; optional checkpoint_megatron | default | Merge only into the exact base used for adapter training. Evaluate adapter and merged outputs separately. |
optimize/modelopt/quantize | FP8/NVFP4/PTQ for deployment footprint. | checkpoint_hf | checkpoint_megatron | default, fp8, nvfp4, tiny | H100/Hopper -> fp8; B200/Blackwell -> nvfp4; representative calibration is required for quality. |
optimize/modelopt/prune | Structured architecture pruning or target-parameter search. | checkpoint_hf | checkpoint_hf | default, tiny | Use target params or exact export config, not both. Distill afterward if quality matters. |
optimize/modelopt/distill | Teacher-student recovery or standalone distillation. | checkpoint_hf; optional binidx | checkpoint_megatron | default, tiny | Mock data is launch validation only. Teacher is usually the original BF16 checkpoint. |
eval/model_eval | Hosted endpoint smoke/benchmark or Megatron checkpoint evaluation. | optional checkpoint_megatron | eval_results | default, tiny_chat | Use exact Launcher task IDs. Chat tasks need chat endpoints; logprob tasks need compatible completions/tokenizer support. |
env/env_toml | Generate Lepton, Slurm, or DGX Cloud env profile TOML. | - | env_toml | lepton, slurm, dgxcloud | Keep site logistics in env TOML and step runtime flags in YAML. Export NEMOTRON_ENV_FILE for non-default env files. |
Category Notes
Curation, Translation, And Data Generation
Curation is lightweight JSONL filtering: cleaning, language/word/domain filtering, smoke testing, or quality gating. It is a standalone step that stands on its own and feeds any downstream consumer of
filtered_jsonl. Full crawling/dedup pipelines belong in dedicated Curator recipes unless a catalog step is added.Translation is a data step, not benchmark translation for MCQ artifacts. For chat/tool/code data prefer the
llmbackend; for large plain text and local service prefernmt; for high-value data enable FAITH and keep scores.SDG must project to the downstream schema: OpenAI messages for SFT, structured messages for tool-call SFT, DPO preference rows for DPO.
SFT And PEFT
AutoModel paths consume JSONL directly and produce HF-format outputs or HF adapters.
Megatron-Bridge paths consume packed Parquet and produce Megatron checkpoints or Megatron adapters.
For small datasets, tight memory, or narrow changes, try LoRA before full SFT.
Deterministic LoRA backend choice: HuggingFace base + LoRA/PEFT + about 1-8 GPUs ->
peft/automodel. Megatron base, packed Parquet, or multi-node scale ->peft/megatron_bridge. Do not present Megatron-Bridge as the default for the small-GPU HuggingFace LoRA case.Preserve tokenizer, chat template, base checkpoint, LoRA rank/alpha, and data blend provenance through merge/eval.
Pretraining And CPT
Data prep is mandatory: both backends consume bin/idx plus
blend.json.CPT is a lower-LR, blend-sensitive run from existing weights; from-scratch pretraining uses a full token-budget schedule.
Record target tokens, seq length, global batch size, train iters, LR schedule, checkpoint cadence, and validation slices before launch.
RL
DPO: static preference pairs only.
RLVR: deterministic/programmatic verifier, tests, answers, or resource-server reward.
RLHF: learned reward/judge model or GenRM path.
All RL stages warm-start from a validated SFT
checkpoint_megatron.
Conversion, Optimization, Evaluation
Convert only at real format boundaries.
Optimization happens after source checkpoint eval, never before the customization is proven.
Evaluation should surround SFT, RL, conversion, and optimization whenever quality is being claimed.
Fallbacks
Use bundled references first:
This catalog for routing and step fit.
ARTIFACTS.mdfor type compatibility.COMMANDS.mdfor run shapes, profile rules, and source tiers.PATTERNS.mdfor cross-step guardrails.HARDWARE.mdfor GPU/backend heuristics.
Fall back to source files only when:
The bundled reference is missing a needed field or looks stale.
You need exact current parameter names, config fields, smoke config names, or runner imports.
You are about to write YAML or emit a command that must match the checked-in repo.
Source fallback order for a selected step: CLI steps show/list when available,
then src/nemotron/steps/<step>/step.toml, checked-in config YAML, step
README, step.py, and shared runner code.
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs an API key, Needs Python
Security
What our scanner noticed· Medium risk
- Large base64-encoded blobs
- Instructions that use the network
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- NVIDIA Nemotron Team
- Publisher
- NVIDIA (Official)
- Source
- NVIDIA/skills · skills/nemotron-customize · commit fce3cca
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE-APACHE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by NVIDIA Nemotron Team or NVIDIA.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download nemotron-customize.zip