Run the Nemotron-3 Ultra Text2SQL LoRA fine-tuning tutorial (NeMo Megatron-Bridge) end-to-end for the user on their SLURM cluster: data prep, distributed checkpoint conversion, and packed LoRA fine-tuning of the 550B hybrid Mamba-Transformer MoE, ending at a saved adapter. Use when the user wants to run this cookbook, fine-tune Nemotron-3 Ultra with LoRA, or adapt the notebook to their own cluster.
70
85%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
This skill helps you run the cookbook in this directory (mbridge_lora_cookbook.ipynb) on the
user's behalf. The notebook is generic and ships with placeholders; your job is to gather the
user's environment details, fill them in, launch the SLURM jobs, watch them, and report results.
Three steps, in order, each a SLURM job:
training.jsonl from both the no-reasoning and reasoning
splits, formatted with Ultra's tokenizer/chat template. Short CPU job.sbatch and run in a
container via Pyxis/enroot. Run everything from a cluster login node where sbatch/squeue/
sacct are available.48 / GPUS_PER_NODE (e.g. 12 nodes at 4 GPUs/node). The user's QOS
must permit a job of that size — an interactive or small-node-capped QOS will not work.config.env, which the notebook's setup
cell generates from the values you fill in. Every step and every slurm/*.sbatch script sources
it. You can run the notebook cell, or write config.env directly with the same keys.WORKSPACE is the single output root; everything generated lands under
$WORKSPACE/{base, dataprep, trained, cache/hf, logs}. The base checkpoint (HF_MODEL_PATH) is
the only separate, read-only path.sacct/squeue), and a sanity cell confirms the expected output exists before you
move on. Follow this loop; don't skip the sanity check.Before launching anything, ask the user for the following and confirm the prerequisites. Don't guess these — a wrong value wastes a large multi-node allocation. Prefer asking all of them up front in one batch.
How to reach the cluster
SLURM settings
48 / GPUS_PER_NODE nodes (not an
interactive or small-node-capped QOS). Confirm the wall-clock limit is enough (convert is short;
training is well under a couple of hours by default).Paths (all on a shared filesystem the compute nodes can mount)
WORKSPACE — the output root to create/use.HF_MODEL_PATH — where the already-downloaded Ultra base checkpoint lives (read-only
input). The tutorial does not download the base model; confirm it is present.WORKSPACE
and HF_MODEL_PATH).Container & credentials
${WORKSPACE}/cache/hf/token; ask the user to place it there (or provide it so you can), and
reference it by path — never print or echo a token.If the user has an environment-reference document for their cluster, ask for it first and pull these values from there instead of asking one by one.
cd into this cookbook directory (it must be on the shared filesystem).config.env directly with the values gathered above. The setup cell has a guard that
refuses to proceed while any placeholder (<...>) remains — make sure none are left.sbatch, poll the check
cell until the job reaches COMPLETED, then run the sanity cell.sacct/squeue — do not hold an interactive session open waiting, and do not
stream logs live.$WORKSPACE/dataprep/training.jsonl exists and has many rows; a sampled record
shows the Nemotron-3 chat template.$WORKSPACE/base/latest_checkpointed_iteration.txt plus an iter_* checkpoint dir
exist.$WORKSPACE/trained/<experiment-name>/ there is a
latest_checkpointed_iteration.txt and an iter_* adapter checkpoint; the training log shows the
loss trending down and ends with a LORA_TRAIN_DONE marker.Report per-step status and elapsed time (from sacct) and the final training loss.
async_save=False). Under some container
runtimes the async-save path can hang; leave it as configured.GPUS_PER_NODE, in which case keep the world size at 48 GPUs.training.jsonl exists; convert skips if the
checkpoint already exists. Safe to re-run.5277655
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.