How materialczar50/automodel works
NeMo AutoModel is a PyTorch-native platform for fine-tuning and pretraining language, vision-language, retrieval, and diffusion models with distributed execution and specialized kernels. The main user workflow is to provide a YAML recipe to the CLI, load configuration, launch a recipe, prepare datasets and models, train, and checkpoint results. Other documented capabilities include retrieval, diffusion training, speculative decoding, and model-specific support. Some relationships below are supported by README statements or the source index; unsampled implementation details are represented at directory level rather than inferred.
Main entry points: base_recipe.py Recipe orchestration · train_eagle3.py LLM training recipes · app.py Recipe CLI · models Model implementations
Components 22
Configuration and launch
- Recipe CLI
nemo_automodel/cli/app.py - Config loader
nemo_automodel/components/config/loader.py - Launchers
nemo_automodel/components/launcher
Training workflow
- Recipe orchestration
nemo_automodel/recipes/base_recipe.py - LLM training recipes
nemo_automodel/recipes/llm/train_eagle3.py - Training datasets
nemo_automodel/components/datasets - Training losses
nemo_automodel/components/loss
Model and parallel runtime
- Model implementations
nemo_automodel/components/models - Parallel config
nemo_automodel/components/distributed/config.py - Device mesh
nemo_automodel/components/distributed/mesh_utils.py - Model parallelizer
nemo_automodel/components/distributed/parallelizer.py - Pipeline parallelism
nemo_automodel/components/distributed/pipelining/autopipeline.py - LoRA adaptation
nemo_automodel/components/_peft/lora.py
Specialized capabilities
- Diffusion training
nemo_automodel/components/flow_matching/pipeline.py - Diffusion datasets
nemo_automodel/components/datasets/diffusion - Retrieval models
nemo_automodel/_transformers/retrieval.py - Retrieval datasets
nemo_automodel/components/datasets/llm/retrieval_dataset.py - Speculative training
nemo_automodel/recipes/llm/train_eagle3.py
Checkpointing and output
- Checkpoint manager
nemo_automodel/components/checkpoint/checkpointing.py - HF checkpoint storage
nemo_automodel/components/checkpoint/_backports/hf_storage.py
Other components
- Training user
- Model sources
Connections 22
- Training user → Recipe CLI: provides YAML
nemo_automodel/cli/app.py - Recipe CLI → Config loader: loads config
nemo_automodel/cli/app.py - Recipe CLI → Launchers: selects launcher
nemo_automodel/cli/app.py - Recipe CLI → Recipe orchestration: runs recipe
- Config loader → Recipe orchestration: configures
nemo_automodel/recipes/base_recipe.py - Recipe orchestration → Checkpoint manager: saves state
nemo_automodel/recipes/base_recipe.py - Recipe orchestration → Device mesh: sets up mesh
nemo_automodel/recipes/base_recipe.py - LLM training recipes → Training datasets: uses data
nemo_automodel/recipes/llm/train_eagle3.py - LLM training recipes → Checkpoint manager: loads and saves
nemo_automodel/recipes/llm/train_eagle3.py - Recipe orchestration → Parallel config: reads strategy
nemo_automodel/recipes/base_recipe.py - Parallel config → Device mesh: configures mesh
nemo_automodel/components/distributed/mesh_utils.py - Device mesh → Model parallelizer: supplies parallel layout
- Model parallelizer → Model implementations: parallelizes
- Pipeline parallelism → Model implementations: pipelines model stages
- LLM training recipes → LoRA adaptation: applies adapters
nemo_automodel/recipes/llm/train_eagle3.py - LLM training recipes → Training losses: computes training loss
- Model sources → Model implementations: loads pretrained weights
- Diffusion training → Diffusion datasets: trains from batches
- Retrieval models → Retrieval datasets: uses retrieval data
nemo_automodel/components/datasets/llm/retrieval_dataset.py - Retrieval models → Model implementations: selects backbone
nemo_automodel/_transformers/retrieval.py - Speculative training → Training datasets: uses data
nemo_automodel/recipes/llm/train_eagle3.py - Checkpoint manager → HF checkpoint storage: uses storage backend
nemo_automodel/components/checkpoint/checkpointing.py