bridge.recipes.qwen_vl.gb300.qwen35_vl#
GB300 recipes for Qwen3.5/Qwen3.6-VL.
Module Contents#
Functions#
Apply the 64-GB300 execution policy for Qwen3.5/Qwen3.6-VL 397B-A17B. |
|
Return the full-pretraining config for Qwen3.5/Qwen3.6-VL 397B-A17B on 64 GB300 GPUs. |
|
Apply the 16-GB300 execution policy for Qwen3.5/Qwen3.6-VL 35B-A3B. |
|
Return the full-pretraining config for Qwen3.5/Qwen3.6-VL 35B-A3B on 16 GB300 GPUs. |
|
Return the MXFP8 full-pretraining config for Qwen3.5/Qwen3.6-VL 35B-A3B on 8 GB300 GPUs. |
Data#
API#
- bridge.recipes.qwen_vl.gb300.qwen35_vl._apply_qwen35_vl_397b_a17b_64gpu_gb300_execution_config(
- cfg: megatron.bridge.training.config.ConfigContainer,
Apply the 64-GB300 execution policy for Qwen3.5/Qwen3.6-VL 397B-A17B.
Mirrors
qwen35_vl_397b_a17b_pretrain_64gpu_gb300_bf16_configinperf_recipes/qwen_vl/gb300so real-data runs share the benchmark’s execution policy. Only the parallel layout, dispatcher, graph and env settings are copied; dataset/tokenizer/freeze policy stay real-data.
- bridge.recipes.qwen_vl.gb300.qwen35_vl.qwen35_vl_397b_a17b_pretrain_config() megatron.bridge.training.config.ConfigContainer#
Return the full-pretraining config for Qwen3.5/Qwen3.6-VL 397B-A17B on 64 GB300 GPUs.
Counterpart of :func:
qwen35_vl_35b_a3b_pretrain_configfor the 397B-A17B model: the recipe defaults to the mock VLM dataset, while maintained launchers may select a real dataset without rebuilding the model execution policy. The execution policy is the shipped 64-GB300 benchmark layout.
- bridge.recipes.qwen_vl.gb300.qwen35_vl._apply_qwen35_vl_35b_a3b_16gpu_gb300_execution_config(
- cfg: megatron.bridge.training.config.ConfigContainer,
Apply the 16-GB300 execution policy for Qwen3.5/Qwen3.6-VL 35B-A3B.
Counterpart of :func:
_apply_qwen35_vl_397b_a17b_64gpu_gb300_execution_config. Only the parallel layout, dispatcher, graph and env settings are set here; dataset/tokenizer/freeze policy stay real-data.
- bridge.recipes.qwen_vl.gb300.qwen35_vl.qwen35_vl_35b_a3b_pretrain_16gpu_gb300_bf16_config() megatron.bridge.training.config.ConfigContainer#
Return the full-pretraining config for Qwen3.5/Qwen3.6-VL 35B-A3B on 16 GB300 GPUs.
GB300 counterpart of the shared
- Func:
megatron.bridge.recipes.qwen_vl.h100.qwen35_vl.qwen35_vl_35b_a3b_pretrain_config, which keeps its H100 execution policy. The recipe defaults to the mock VLM dataset, while maintained launchers may select a real dataset without rebuilding the model execution policy.
- bridge.recipes.qwen_vl.gb300.qwen35_vl.qwen35_vl_35b_a3b_pretrain_8gpu_gb300_fp8mx_library_config() megatron.bridge.training.config.ConfigContainer#
Return the MXFP8 full-pretraining config for Qwen3.5/Qwen3.6-VL 35B-A3B on 8 GB300 GPUs.
Starts from :func:
qwen35_vl_35b_a3b_pretrain_16gpu_gb300_bf16_configand keeps its parallel layout (EP 4, TP/PP/CP 1), CUDA graphs, recompute, batch shape (micro batch 4, global batch 2048) and real routing. On top it sets MXFP8, Transformer Engine’s CuTe DSL fused grouped MLP, cuDNN GDN, and the HybridEP, dispatcher and normalization settings of the configuration it was tuned on. With TP, PP and CP at 1, data parallelism is 8 on 8 GPUs (expert data parallelism 2), so each rank runs 64 micro batches per step.Like the 16-GPU recipe, it defaults to the mock VLM dataset. The measured runs used an Energon dataset (
--dataset energon dataset.path=...) withdataset.task_encoder.max_pixels=200704, and the vision CUDA graph cap inherited from the 16-GPU recipe (3712 patches per micro batch) was measured with that image budget at micro batch 4. Keep both, or re-measure the cap: a larger image budget can exceed it and stop training with an error.cuDNN GDN is selected only on a Megatron-Core that declares
gdn_kernel_backend(NVIDIA/Megatron-LM#7583); otherwise the GatedDeltaNet layers keep running on FLA.Transformer Engine reads the fused-MLP gate
NVTE_CUTEDSL_FUSED_GROUPED_MLPonce, when it is imported.scripts/training/run_recipe.py, whichtrain.shruns, sets it in time by re-executing itself; with any other entry point, export it before Python starts, or Transformer Engine silently runs the unfused grouped GEMM.The name carries a
_librarysuffix becauseqwen35_vl_35b_a3b_pretrain_8gpu_gb300_fp8mx_configis already a perf recipe (a mock-data benchmark with EP 8 and global batch 512), and bare recipe lookup keeps resolving that name to it.Measured on GB300 with real DataComp data and real routing (steps 101-150, one run per arm, submitted together), a launch configuration close to this recipe reached 11.3% more TFLOP/s per GPU on 8 GPUs than on 16 at the same global batch size. The two runs differ in data-parallel size and in micro batches per rank (64 vs 32), and one run per arm does not separate these effects, so no cause is claimed.
- bridge.recipes.qwen_vl.gb300.qwen35_vl.__all__#
[‘qwen35_vl_35b_a3b_pretrain_8gpu_gb300_fp8mx_library_config’, ‘qwen35_vl_35b_a3b_pretrain_16gpu_gb3…