|
30 | 30 | from megatron.bridge.recipes.utils.dataset_utils import default_peft_config |
31 | 31 | from megatron.bridge.recipes.utils.environment_utils import COMMON_RECIPE_ENV_VARS |
32 | 32 | from megatron.bridge.recipes.utils.optimizer_utils import distributed_fused_adam_with_cosine_annealing |
33 | | -from megatron.bridge.recipes.utils.tokenizer_utils import DEFAULT_NULL_TOKENIZER_VOCAB_SIZE |
34 | 33 | from megatron.bridge.training.config import ConfigContainer |
35 | 34 |
|
36 | 35 |
|
37 | 36 | # ============================================================================= |
38 | 37 | # Qwen3.5-VL Pretrain Configurations (mock dataset) |
39 | 38 | # ============================================================================= |
40 | | -# The mock VLM dataset gets language token IDs from the HF processor. Its |
41 | | -# NullTokenizer is only a runtime placeholder and must not resize the model. |
42 | 39 | def qwen35_vl_9b_pretrain_4gpu_h100_bf16_mock_config() -> ConfigContainer: |
43 | 40 | """Return a pre-training config for Qwen3.5-VL 9B (dense).""" |
44 | 41 | cfg = _pretrain_common() |
@@ -74,9 +71,7 @@ def qwen35_vl_9b_pretrain_4gpu_h100_bf16_mock_config() -> ConfigContainer: |
74 | 71 | persistent_workers=False, |
75 | 72 | pad_to_max_length=True, |
76 | 73 | ) |
77 | | - cfg.tokenizer.tokenizer_type = "NullTokenizer" |
78 | | - cfg.tokenizer.vocab_size = DEFAULT_NULL_TOKENIZER_VOCAB_SIZE |
79 | | - cfg.tokenizer.use_tokenizer_vocab_size = False |
| 74 | + cfg.tokenizer.tokenizer_model = hf_path |
80 | 75 | cfg.train.eval_interval = 500 |
81 | 76 | cfg.train.eval_iters = 32 |
82 | 77 | cfg.ddp.overlap_grad_reduce = False |
@@ -124,9 +119,7 @@ def qwen35_vl_27b_pretrain_16gpu_h100_bf16_mock_config() -> ConfigContainer: |
124 | 119 | persistent_workers=False, |
125 | 120 | pad_to_max_length=True, |
126 | 121 | ) |
127 | | - cfg.tokenizer.tokenizer_type = "NullTokenizer" |
128 | | - cfg.tokenizer.vocab_size = DEFAULT_NULL_TOKENIZER_VOCAB_SIZE |
129 | | - cfg.tokenizer.use_tokenizer_vocab_size = False |
| 122 | + cfg.tokenizer.tokenizer_model = hf_path |
130 | 123 | cfg.train.eval_interval = 500 |
131 | 124 | cfg.train.eval_iters = 32 |
132 | 125 | cfg.ddp.overlap_grad_reduce = False |
@@ -175,9 +168,7 @@ def qwen35_vl_35b_a3b_pretrain_8gpu_h100_bf16_mock_config() -> ConfigContainer: |
175 | 168 | persistent_workers=False, |
176 | 169 | pad_to_max_length=True, |
177 | 170 | ) |
178 | | - cfg.tokenizer.tokenizer_type = "NullTokenizer" |
179 | | - cfg.tokenizer.vocab_size = DEFAULT_NULL_TOKENIZER_VOCAB_SIZE |
180 | | - cfg.tokenizer.use_tokenizer_vocab_size = False |
| 171 | + cfg.tokenizer.tokenizer_model = hf_path |
181 | 172 | cfg.train.eval_interval = 500 |
182 | 173 | cfg.train.eval_iters = 32 |
183 | 174 | cfg.ddp.overlap_grad_reduce = False |
@@ -227,9 +218,7 @@ def qwen35_vl_122b_a10b_pretrain_128gpu_h100_bf16_mock_config() -> ConfigContain |
227 | 218 | persistent_workers=False, |
228 | 219 | pad_to_max_length=True, |
229 | 220 | ) |
230 | | - cfg.tokenizer.tokenizer_type = "NullTokenizer" |
231 | | - cfg.tokenizer.vocab_size = DEFAULT_NULL_TOKENIZER_VOCAB_SIZE |
232 | | - cfg.tokenizer.use_tokenizer_vocab_size = False |
| 221 | + cfg.tokenizer.tokenizer_model = hf_path |
233 | 222 | cfg.train.eval_interval = 500 |
234 | 223 | cfg.train.eval_iters = 32 |
235 | 224 | cfg.ddp.overlap_grad_reduce = False |
@@ -280,9 +269,7 @@ def qwen35_vl_397b_a17b_pretrain_512gpu_h100_bf16_mock_config() -> ConfigContain |
280 | 269 | persistent_workers=False, |
281 | 270 | pad_to_max_length=True, |
282 | 271 | ) |
283 | | - cfg.tokenizer.tokenizer_type = "NullTokenizer" |
284 | | - cfg.tokenizer.vocab_size = DEFAULT_NULL_TOKENIZER_VOCAB_SIZE |
285 | | - cfg.tokenizer.use_tokenizer_vocab_size = False |
| 272 | + cfg.tokenizer.tokenizer_model = hf_path |
286 | 273 | cfg.train.eval_interval = 500 |
287 | 274 | cfg.train.eval_iters = 32 |
288 | 275 | cfg.ddp.overlap_grad_reduce = False |
|
0 commit comments