@@ -12,28 +12,29 @@ This guide helps you migrate from NeMo 2.0 training and recipes to Megatron Brid
1212
1313## Model Configuration Mapping
1414
15- Megatron Bridge offers model providers that directly map to NeMo 2.0 model configs.
15+ Megatron Bridge derives model provider settings from Hugging Face configs through
16+ ` AutoBridge ` , or from recipe functions that configure a base provider directly.
1617
1718### Examples
1819
1920| NeMo 2.0 | Megatron Bridge |
2021| ----------| -----------------|
21- | ` llm.Llama3Config8B ` | {py : class } ` bridge.models.Llama3ModelProvider8B ` |
22- | ` llm.Llama31Config70B ` | {py : class } ` bridge.models.Llama31ModelProvider70B ` |
23- | ` llm.Qwen2Config7B ` | {py : class } ` bridge.models.Qwen2ModelProvider7B ` |
22+ | ` llm.Llama3Config8B ` | ` AutoBridge.from_hf_pretrained("meta-llama/Meta-Llama-3-8B").to_megatron_provider() ` |
23+ | ` llm.Llama31Config70B ` | ` AutoBridge.from_hf_pretrained("meta-llama/Llama-3.1-70B").to_megatron_provider() ` |
24+ | ` llm.Qwen2Config7B ` | ` AutoBridge.from_hf_pretrained("Qwen/Qwen2-7B").to_megatron_provider() ` |
2425| ` llm.DeepseekV2Config ` | {py: class }` bridge.models.DeepseekV2ModelProvider ` |
2526
2627### Supported Model Families
2728
28- Megatron Bridge supports the following model families with preset providers :
29+ Megatron Bridge supports the following model families through bridge mappings and provider classes :
2930- ** Base Models** : ` GPTModelProvider ` , ` T5ModelProvider ` , ` MambaModelProvider `
3031- ** Llama** : Llama2, Llama3, Llama3.1, Llama3.2, CodeLlama, Llama4
3132- ** Qwen** : Qwen2, Qwen2.5, Qwen3, Qwen3MoE, Qwen2.5VL
3233- ** DeepSeek** : DeepSeek, DeepSeekV2, DeepSeekV2Lite, DeepSeekV3, Moonlight
3334- ** Nemotron** : Nemotron3, Nemotron4, NemotronH, NemotronNano
3435- ** NVIDIA Mamba** : Mamba variants and hybrid models
3536
36- For a complete list of all model providers and their parameters, see {py: mod }` bridge.models ` .
37+ For a complete list of bridge mappings, providers, and their parameters, see {py: mod }` bridge.models ` .
3738
3839<!-- TODO: Create a dedicated model support table with tested HF checkpoint mappings -->
3940
@@ -114,7 +115,7 @@ from megatron.bridge.training.config import (
114115 LoggerConfig,
115116 TrainingConfig,
116117)
117- from megatron.bridge.models import Llama3ModelProvider8B # Direct equivalent to Llama3Config8B
118+ from megatron.bridge.models import GPTModelProvider # Configure directly or derive with AutoBridge
118119from megatron.core.optimizer import OptimizerConfig
119120from megatron.bridge.training.config import SchedulerConfig
120121from megatron.bridge.training.pretrain import pretrain
@@ -123,8 +124,8 @@ from megatron.bridge.training.gpt_step import forward_step
123124
124125def create_config ():
125126 return ConfigContainer(
126- # Model with parallelism built-in - using preset 8B config
127- model = Llama3ModelProvider8B (
127+ # Model with parallelism built in
128+ model = GPTModelProvider (
128129 # Parallelism settings (moved from MegatronStrategy)
129130 tensor_model_parallel_size = 2 ,
130131 pipeline_model_parallel_size = 2 ,
@@ -224,13 +225,13 @@ llm.finetune(
224225#### Now: Megatron Bridge
225226``` python
226227# Megatron Bridge fine-tuning configuration (with optional PEFT)
227- from megatron.bridge.models import Llama3ModelProvider8B
228+ from megatron.bridge.models import GPTModelProvider
228229from megatron.bridge.peft import LoRA
229230
230231def create_finetune_config ():
231232 return ConfigContainer(
232- model = Llama3ModelProvider8B (
233- # Preset config matching Llama3Config8B
233+ model = GPTModelProvider (
234+ # Configure architecture fields directly or derive with AutoBridge
234235 ),
235236 train = TrainingConfig(
236237 micro_batch_size = 1 ,
@@ -382,7 +383,7 @@ from megatron.bridge.training.config import (
382383 SchedulerConfig,
383384)
384385from megatron.core.optimizer import OptimizerConfig
385- from megatron.bridge.models import Llama3ModelProvider8B
386+ from megatron.bridge.models import GPTModelProvider
386387from megatron.bridge.training import pretrain
387388
388389def llama3_8b_config (
@@ -404,9 +405,9 @@ def llama3_8b_config(
404405) -> ConfigContainer:
405406 """ Create a Llama3 8B pretraining configuration."""
406407 return ConfigContainer(
407- model = Llama3ModelProvider8B (
408- # Preset architecture from Llama3Config8B (num_layers=32, hidden_size=4096, etc.)
409- # Only need to specify parallelism and overrides
408+ model = GPTModelProvider (
409+ # Configure architecture fields directly or derive this provider with AutoBridge
410+ # Then specify parallelism and overrides
410411 tensor_model_parallel_size = tensor_parallelism,
411412 pipeline_model_parallel_size = pipeline_parallelism,
412413 ),
@@ -697,7 +698,7 @@ In Megatron Bridge, vocabulary size can be specified in either the model provide
697698``` python
698699# Option 1: Let tokenizer determine vocab size
699700config = ConfigContainer(
700- model = Llama3ModelProvider8B (
701+ model = GPTModelProvider (
701702 # vocab_size not set - will use tokenizer's vocab size
702703 vocab_size = None ,
703704 ),
@@ -709,7 +710,7 @@ config = ConfigContainer(
709710
710711# Option 2: Explicitly set vocab size in model
711712config = ConfigContainer(
712- model = Llama3ModelProvider8B (
713+ model = GPTModelProvider (
713714 vocab_size = 128256 , # Explicitly set (must be >= tokenizer vocab size)
714715 ),
715716 tokenizer = TokenizerConfig(... ),
@@ -1154,7 +1155,7 @@ from megatron.bridge.training.config import ConfigContainer, CheckpointConfig
11541155
11551156# Include PEFT in ConfigContainer
11561157config = ConfigContainer(
1157- model = Llama3ModelProvider8B (),
1158+ model = GPTModelProvider (),
11581159 # ... other configs
11591160 checkpoint = CheckpointConfig(
11601161 pretrained_checkpoint = " /path/to/megatron/checkpoint" , # Required for PEFT
@@ -1288,7 +1289,7 @@ from megatron.bridge.training import pretrain
12881289from megatron.bridge.training.gpt_step import forward_step
12891290
12901291config = ConfigContainer(
1291- model = Llama3ModelProvider8B (
1292+ model = GPTModelProvider (
12921293 tensor_model_parallel_size = 2 ,
12931294 pipeline_model_parallel_size = 2 ,
12941295 ),
@@ -1324,7 +1325,7 @@ from megatron.bridge.training import finetune
13241325from megatron.bridge.training.gpt_step import forward_step
13251326
13261327config = ConfigContainer(
1327- model = Llama3ModelProvider8B (),
1328+ model = GPTModelProvider (),
13281329 train = TrainingConfig(
13291330 train_iters = 1000 ,
13301331 eval_interval = 100 ,
@@ -1355,7 +1356,7 @@ Add a `peft` configuration to enable parameter-efficient training:
13551356from megatron.bridge.peft import LoRA
13561357
13571358config = ConfigContainer(
1358- model = Llama3ModelProvider8B (),
1359+ model = GPTModelProvider (),
13591360 train = TrainingConfig(
13601361 train_iters = 1000 ,
13611362 eval_interval = 100 ,
0 commit comments