Breaking Changes
0.4.0 ยท 26.04
CLI Signature Change
Before:
After:
A short alias am is also available:
The positional <command> and <domain> arguments have been removed. The recipe
class is now specified inside the YAML config via the recipe._target_ key.
YAML Config: New Required recipe Section
All YAML configs now require a top-level recipe: key:
Configs without this key will produce an error with guidance on which target to add.
Available Recipe Targets
Launcher Configuration Moved to YAML
Multi-node launch settings (Kubernetes, NeMo-Run) are now configured entirely within the YAML config file rather than through CLI arguments.
If none of these sections are present the job runs locally (interactive mode).
SLURM: Script-Based Submission
The slurm: YAML section and all related fields have been removed. SLURM
jobs are now submitted with sbatch directly, using a self-contained sbatch
script. Copy the reference template and adapt it to your cluster:
The script runs torchrun -m nemo_automodel.cli.app on each node, which
detects the distributed environment and executes the recipe in-process.
All cluster-specific configuration lives in the sbatch script where you can
see and edit it directly.
Lightweight CLI-Only Install
A new automodel[cli] install extra is available for login nodes or environments
where you only need to submit jobs (SLURM, k8s, NeMo-Run) without running
training locally:
This installs only pyyaml โ no PyTorch, no CUDA dependencies. It is enough
to submit jobs via SLURM or Kubernetes. If you also need NeMo-Run, install it
separately (pip install nemo-run). If you try to run a local/interactive job
with the CLI-only install, you will get a clear error message with instructions
to install the full package.
CLI Module Lives Inside the Package
The CLI entry-point lives at nemo_automodel/cli/app.py and is registered as
the automodel / am console entry-points. A thin convenience wrapper
(app.py) at the repository root is available for running from a source
checkout but is not installed as part of the package.
Example Wrapper Scripts Deprecated
The Python wrapper scripts in examples/ (for example, examples/llm_finetune/finetune.py)
are deprecated. They now print a deprecation warning and delegate to the recipe
directly. Use automodel <config.yaml> instead.