Skip to content

Commit 3815dc6

Browse files
committed
Merge remote-tracking branch 'origin/main' into fix/model-config-reject-unmigrated
Signed-off-by: Eugenio "Jay" Zuccarelli <11176606+jayzuccarelli@users.noreply.github.com>
2 parents dbea8be + 5f1250a commit 3815dc6

400 files changed

Lines changed: 30297 additions & 5649 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/actions/test-template/action.yml‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,9 @@ runs:
177177
set -e
178178
export GH_TOKEN=${{ inputs.github-token }}
179179
180+
# Keep the FlashAttention generation policy scoped to CI tests.
181+
export NVTE_FLASH_ATTN_V2=1 NVTE_FLASH_ATTN_V3=0 NVTE_FLASH_ATTN_V4=0
182+
180183
if [[ "${{ contains(inputs.runner, 'gcp') }}" == "true" ]]; then
181184
export NCCL_ENV_PLUGIN=none
182185
export NCCL_NET_PLUGIN=none

‎.github/workflows/link-check.yml‎

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ name: Link check
2121
# cross-page links in the Fern docs use a `.md` extension while the source files
2222
# are `.mdx`, so filesystem-level checking of relative links would report ~600
2323
# false positives; that convention is out of scope here. GitHub links are NOT
24-
# excluded (GITHUB_TOKEN is supplied to avoid rate limits).
24+
# excluded. File links are checked through GitHub's raw-content endpoint to
25+
# avoid transient 503s from HTML pages; GITHUB_TOKEN supports API fallback.
2526

2627
on:
2728
pull_request:
@@ -46,20 +47,24 @@ jobs:
4647
fail: true
4748
# TODO(kimi-k3): drop the two kimi_k3 / kimi-k3 excludes below once this PR is
4849
# merged. They point at files added by the same PR, so blob/main 404s until then.
50+
# Keep requests bounded and check file availability without GitHub HTML rendering.
4951
args: >-
5052
--no-progress
53+
--max-concurrency 8
54+
--host-concurrency 2
5155
--max-retries 3
5256
--retry-wait-time 10
5357
--scheme https
5458
--scheme http
5559
--accept '200..=299,401,403,429'
5660
--root-dir docs/fern
57-
--exclude 'github\.com/deepseek-ai/DeepSeek-V4'
61+
--remap '^https://github\.com/([^/]+/[^/]+)/blob/(.+)$ https://raw.githubusercontent.com/$1/$2'
62+
--exclude '(github\.com|raw\.githubusercontent\.com)/deepseek-ai/DeepSeek-V4'
5863
--exclude 'github\.com/NVIDIA-NeMo/Megatron-Bridge/stargazers'
5964
--exclude 'sched\.com'
6065
--exclude 'llama\.com'
61-
--exclude 'Megatron-Bridge/blob/main/src/megatron/bridge/models/kimi/kimi_k3_'
62-
--exclude 'Megatron-Bridge/blob/main/examples/model_verification_cards/kimi-k3/'
66+
--exclude 'Megatron-Bridge/(blob/)?main/src/megatron/bridge/models/kimi/kimi_k3_'
67+
--exclude 'Megatron-Bridge/(blob/)?main/examples/model_verification_cards/kimi-k3/'
6368
"docs/fern/**/*.mdx"
6469
"docs/**/*.md"
6570
env:

‎.main.commit‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
e998be072d22ff57b4b49899819a1a153f4f3dc9
1+
a8a5977f7611e9a8aac205eabd2f9b43f786bc8f

‎3rdparty/Megatron-LM‎

Submodule Megatron-LM updated 503 files

‎README.md‎

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
## 📣 News
1414
- [08/19/2026] **Megatron Bridge 0.6.0 released!** Highlights include GLM-5.2 with cuDNN fused DSA for 128K THD-packed context-parallel training, new LLM/VLM/diffusion models, more reliable VLM data and sequence packing, improved checkpoint and LoRA workflows, unified training and conversion launchers, and refreshed performance recipes. Huge thanks to our community contributors! See the [full release notes](https://github.com/NVIDIA-NeMo/Megatron-Bridge/releases/tag/v0.6.0).
1515

16-
- [08/11/2026] **NVIDIA Nemotron 3.5 Lightning is released!** Read the technical blog [here](https://developer.nvidia.com/blog/nvidia-nemotron-3-5-lightning-delivers-fast-accurate-specialized-task-execution-for-long-running-agents/). See the [Nemotron 3.5 Lightning README](https://github.com/NVIDIA-NeMo/Megatron-Bridge/blob/main/examples/models/nemotron/nemotron_3/lightning/README.md) for details.
16+
- [08/11/2026] **NVIDIA Nemotron 3.5 Lightning is released!** Read the technical blog [here](https://developer.nvidia.com/blog/nvidia-nemotron-3-5-lightning-delivers-fast-accurate-specialized-task-execution-for-long-running-agents/). See the [Nemotron 3.5 Lightning README](https://github.com/NVIDIA-NeMo/Megatron-Bridge/blob/main/examples/models/nemotron/nemotron_3_5_lightning/README.md) for details.
1717

1818
- [07/31/2026] **[K-EXAONE-2](https://huggingface.co/LGAI-EXAONE/K-EXAONE-2.0-750B-A37B) is now supported**! Day-0 support for LG AI Research's K-EXAONE-2 (750B-A37B MoE) is now available on the [k-exaone-2 branch](https://github.com/NVIDIA-NeMo/Megatron-Bridge/tree/k-exaone-2). Users can convert checkpoints, run inference, fine-tune with SFT or PEFT (LoRA), and use the NVFP4 inference-optimized checkpoint released alongside the model. See the branch documentation for setup instructions and examples.
1919

@@ -31,13 +31,13 @@
3131

3232
- [05/20/2026] [**DeepSeek V4**](https://github.com/NVIDIA-NeMo/Megatron-Bridge/tree/main/examples/models/deepseek_v4) is now merged on **main**! See the [examples README](https://github.com/NVIDIA-NeMo/Megatron-Bridge/blob/main/examples/models/deepseek_v4/README.md) for conversion and inference details.
3333

34-
- [05/20/2026] [**Nemotron-3 Nano Omni**](https://huggingface.co/nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-BF16) day-0 branch support is now merged on **main**! The 30B-A3B MoE multimodal model supports image, video, audio, and text workflows with checkpoint conversion, inference, SFT, and PEFT (LoRA) examples. Read the [NVIDIA Blog](https://blogs.nvidia.com/blog/nemotron-3-nano-omni-multimodal-ai-agents/) and see the [examples README](https://github.com/NVIDIA-NeMo/Megatron-Bridge/blob/main/examples/models/nemotron/nemotron_3_omni/README.md) for the full walkthrough.
34+
- [05/20/2026] [**Nemotron-3 Nano Omni**](https://huggingface.co/nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-BF16) day-0 branch support is now merged on **main**! The 30B-A3B MoE multimodal model supports image, video, audio, and text workflows with checkpoint conversion, inference, SFT, and PEFT (LoRA) examples. Read the [NVIDIA Blog](https://blogs.nvidia.com/blog/nemotron-3-nano-omni-multimodal-ai-agents/) and see the [examples README](https://github.com/NVIDIA-NeMo/Megatron-Bridge/blob/main/examples/models/nemotron/nemotron_3_nano_omni/README.md) for the full walkthrough.
3535

3636
- [05/19/2026] [**Nemotron-Labs Diffusion**](https://github.com/NVIDIA-NeMo/Megatron-Bridge/tree/main/examples/models/nemotron_labs_diffusion) is now supported on **main** with autoregressive-to-diffusion conversion, continuous pretraining, checkpoint conversion, and inference workflows. Read the [NVIDIA Research blog](https://research.nvidia.com/publication/2026-05_nemotron-labs-diffusion-tri-mode-language-model-unifying-autoregressive) for the tri-mode language model overview.
3737

3838
- [05/06/2026] [**Gemma 4 VL 26B-A4B**](https://github.com/NVIDIA-NeMo/Megatron-Bridge/tree/main/examples/models/gemma/gemma4_vl) is now supported! Checkpoint conversion, SFT, and PEFT (LoRA) recipes for Google's MoE vision-language model (26B total / 4B active params, 128 experts top-k=8, dual sliding/global attention with K=V tying on full-attention layers) are available on **main**. See the [examples README](https://github.com/NVIDIA-NeMo/Megatron-Bridge/blob/main/examples/models/gemma/gemma4_vl/README.md) for the full walkthrough.
3939

40-
- [04/28/2026] Day 0 support for [**Nemotron-3 Nano Omni**](https://huggingface.co/nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-BF16), a 30B-A3B MoE multimodal model that jointly processes image, video, audio, and text. Checkpoint conversion, SFT, and LoRA recipes are available on **main** — see the [examples README](https://github.com/NVIDIA-NeMo/Megatron-Bridge/blob/main/examples/models/nemotron/nemotron_3_omni/README.md) for the full walkthrough.
40+
- [04/28/2026] Day 0 support for [**Nemotron-3 Nano Omni**](https://huggingface.co/nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-BF16), a 30B-A3B MoE multimodal model that jointly processes image, video, audio, and text. Checkpoint conversion, SFT, and LoRA recipes are available on **main** — see the [examples README](https://github.com/NVIDIA-NeMo/Megatron-Bridge/blob/main/examples/models/nemotron/nemotron_3_nano_omni/README.md) for the full walkthrough.
4141

4242
- [04/19/2026] [**Qwen3.6-35B-A3B**](https://huggingface.co/Qwen/Qwen3.6-35B-A3B) is now supported! Qwen3.6 uses the same architecture as Qwen3.5 VL MoE (`Qwen3_5MoeForConditionalGeneration`) and works with the existing [Qwen3.5-VL bridge](https://github.com/NVIDIA-NeMo/Megatron-Bridge/tree/main/src/megatron/bridge/models/qwen_vl) out of the box — no code changes needed. HF→Megatron conversion and inference verified.
4343

@@ -55,13 +55,13 @@
5555

5656
- [03/31/2026] **Agent Skills for Megatron Bridge!** We've added a [`skills/`](https://github.com/NVIDIA-NeMo/Megatron-Bridge/tree/main/skills) directory with structured guides that AI coding agents (Cursor, Claude Code, Codex, etc.) can use to help you add model support, set up dev environments, tune performance, and more. Try them out, and PRs to improve or add new skills are very welcome!
5757

58-
- [03/26/2026] [**Nemotron 3 Super**](https://github.com/NVIDIA-NeMo/Megatron-Bridge/tree/main/examples/models/nemotron/nemotron_3) is now on **main**! Checkpoint conversion and SFT/LoRA recipes (120B-A12B) are available in the main branch. Read the [blog post](https://developer.nvidia.com/blog/introducing-nemotron-3-super-an-open-hybrid-mamba-transformer-moe-for-agentic-reasoning/).
58+
- [03/26/2026] [**Nemotron 3 Super**](https://github.com/NVIDIA-NeMo/Megatron-Bridge/tree/main/examples/models/nemotron) is now on **main**! Checkpoint conversion and SFT/LoRA recipes (120B-A12B) are available in the main branch. Read the [blog post](https://developer.nvidia.com/blog/introducing-nemotron-3-super-an-open-hybrid-mamba-transformer-moe-for-agentic-reasoning/).
5959

6060
- [03/12/2026] **Deprecating Python 3.10 support:** We're officially dropping Python 3.10 support with the upcoming 0.4.0 release. Downstream applications must raise their lower boundary to 3.12 to stay compatible with Megatron-Bridge.
6161

6262
- [12/16/2025] [Mind Lab](https://alpha.macaron.im/mindlab) successfully used Megatron-bridge and [VeRL](https://github.com/volcengine/verl) to trained GRPO Lora for Trillion-parameter model on 64 H800 - See their [techblog](https://alpha.macaron.im/mindlab/research/building-trillion-parameter-reasoning-rl-with-10-gpus).
6363

64-
- [12/15/2025] Day 0 support for [NVIDIA-NeMotron-3-Nano-30B-A3B-FP8](https://huggingface.co/nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-FP8)! [Reproducible code](https://github.com/NVIDIA-NeMo/Megatron-Bridge/tree/main/examples/models/nemotron/nemotron_3/nano) and custom NGC container: [nvcr.io/nvidia/nemo:25.11.nemotron_3_nano](https://catalog.ngc.nvidia.com/orgs/nvidia/containers/nemo?version=25.11.nemotron_3_nano)
64+
- [12/15/2025] Day 0 support for [NVIDIA-NeMotron-3-Nano-30B-A3B-FP8](https://huggingface.co/nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-FP8)! [Reproducible code](https://github.com/NVIDIA-NeMo/Megatron-Bridge/tree/main/examples/models/nemotron/nemotron_3_nano) and custom NGC container: [nvcr.io/nvidia/nemo:25.11.nemotron_3_nano](https://catalog.ngc.nvidia.com/orgs/nvidia/containers/nemo?version=25.11.nemotron_3_nano)
6565

6666
## Overview
6767

@@ -229,22 +229,26 @@ Megatron Bridge provides out-of-the-box bridges and training recipes for a wide
229229
230230
| Family | Supported variants |
231231
|----------------|--------------------|
232+
| [**BAGEL**](docs/models/bagel/bagel.md) | BAGEL-7B-MoT (requires the tested MCore `dev` revision and `bagel` extra) |
232233
| [**Bailing**](docs/models/bailing/index.md) | Ling 2.0 / Ling MoE V2 (Bailing) |
234+
| [**BERT**](docs/models/bert/index.md) | Megatron-Style BERT (`MegatronBertForMaskedLM`) |
233235
| [**DeepSeek**](docs/models/deepseek/index.md) | DeepSeek V2 / V2 Lite (deprecated), DeepSeek V3, DeepSeek V4 / V4 Flash |
234236
| [**Diffusion**](https://github.com/NVIDIA-NeMo/Megatron-Bridge/tree/main/src/megatron/bridge/diffusion/models) | FLUX, LLaDA 1.5, Nemotron-Labs Diffusion, WAN |
235237
| **Ernie** | [Ernie 4.5 MoE](https://github.com/NVIDIA-NeMo/Megatron-Bridge/tree/main/src/megatron/bridge/models/ernie), [Ernie 4.5 VL MoE](https://github.com/NVIDIA-NeMo/Megatron-Bridge/tree/main/src/megatron/bridge/models/ernie_vl) |
238+
| [**EXAONE**](docs/models/exaone/exaone.md) | EXAONE 4.0, EXAONE 4.5 VL, K-EXAONE MoE |
236239
| [**Falcon**](docs/models/falcon/index.md) | Falcon H1 |
237240
| [**Gemma**](docs/models/gemma/index.md) | Gemma / Gemma 2 (deprecated), Gemma 3, Gemma 3-VL, Gemma 4 (26B-A4B MoE / 31B dense), Gemma 4-VL (26B-A4B MoE) |
238241
| [**GLM**](docs/models/glm/index.md) | GLM-4.5 / GLM-4.7 / GLM-4.7-Flash, GLM-4.5V, GLM-5 / GLM-5.1 / GLM-5.2 / [GLM-5.3](docs/models/glm/glm5-2.md) |
239242
| [**GPT-OSS**](docs/models/gpt_oss/index.md) | GPT-oss |
240243
| [**HY V3**](https://huggingface.co/tencent/Hy3-preview-Base) | Hy3 preview-Base (HF → Megatron checkpoint conversion) |
241-
| [**Kimi**](docs/models/kimi/index.md) | Kimi K2, Kimi-K2.5-VL |
244+
| [**Kimi**](docs/models/kimi/index.md) | Kimi K2, Kimi-K2.5-VL, Kimi K3 |
242245
| [**Llama**](docs/models/llama/index.md) | Llama 2 (deprecated), Llama 3 / 3.1 / 3.2 / 3.3 |
243-
| [**MiniMax**](docs/models/minimax/index.md) | MiniMax-M2 / M2.5 / M2.7 |
246+
| [**MiniMax**](docs/models/minimax/index.md) | MiniMax-M2 / M2.5 / M2.7, MiniMax-M3 |
244247
| [**Mistral**](docs/models/mistral/index.md) | Mistral 7B / Small 3 24B (deprecated), Ministral 3 (3B/8B/14B) |
245248
| [**Xiaomi-MiMo**](docs/models/mimo/index.md) | Xiaomi-MiMo, MiMo-V2-Flash |
246249
| [**Moonlight**](docs/models/moonlight/index.md) | Moonlight |
247-
| [**Nemotron**](docs/models/nemotron/index.md) | Nemotron H v1 (deprecated), Nemotron Nano v2 (deprecated), Nemotron-3 Nano, Nemotron-3 Super, Llama Nemotron (deprecated), Nemotron Nano v2 VL (deprecated), Nemotron-3 Nano Omni |
250+
| [**Muse Glimmer**](docs/models/muse_glimmer/muse-glimmer.md) | Muse Glimmer 30B |
251+
| [**Nemotron**](docs/models/nemotron/index.md) | Nemotron H v1 (deprecated), Nemotron Nano v2 (deprecated), Nemotron-3 Nano, Nemotron-3 Super, Nemotron-3 Ultra, Llama Nemotron (deprecated), Nemotron Nano v2 VL (deprecated), Nemotron-3 Nano Omni |
248252
| [**OLMoE**](docs/models/olmoe/index.md) | OLMoE |
249253
| [**Qwen**](docs/models/qwen/index.md) | Qwen2 / Qwen2.5, Qwen3, Qwen3-MoE, Qwen3 Next, Qwen3.5 (dense/MoE), Qwen2.5-VL, Qwen3-VL, Qwen3.5-VL, Qwen3.6-VL, Qwen2 Audio, Qwen2.5-Omni, Qwen3-Omni, Qwen3-ASR |
250254
| [**Sarvam**](docs/models/sarvam/index.md) | Sarvam |

‎docker/Dockerfile.ci‎

Lines changed: 34 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.
1+
# Copyright (c) 2025-2026, NVIDIA CORPORATION. All rights reserved.
22
#
33
# Licensed under the Apache License, Version 2.0 (the "License");
44
# you may not use this file except in compliance with the License.
@@ -12,8 +12,30 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
ARG BASE_IMAGE=nvcr.io/nvidia/pytorch:26.08-py3
16-
FROM ${BASE_IMAGE} AS megatron_bridge
15+
ARG BASE_IMAGE=nvcr.io/nvidia/pytorch:26.09-py3
16+
FROM ${BASE_IMAGE} AS base
17+
18+
ENV PATH="/opt/venv/bin:/usr/local/bin:$PATH" \
19+
UV_PROJECT_ENVIRONMENT=/opt/venv \
20+
VIRTUAL_ENV=/opt/venv \
21+
UV_LINK_MODE=copy \
22+
UV_VERSION="0.7.2" \
23+
UV_HTTP_TIMEOUT=120
24+
25+
RUN curl -LsSf https://astral.sh/uv/${UV_VERSION}/install.sh | sh && \
26+
install -m 0755 /root/.local/bin/uv /usr/local/bin/uv && \
27+
uv venv ${UV_PROJECT_ENVIRONMENT} --system-site-packages
28+
29+
# Cache the native wheel independently of Bridge's other dependencies. Both CPU
30+
# platforms use the same base runtime as the final image and build both GPU targets.
31+
FROM base AS mok-wheel
32+
ARG MOK_COMMIT=a2ad2d0ce2366c1817d15498cdbaf8ead5966117
33+
ARG MOK_ARCH=ALL
34+
RUN --mount=type=bind,source=docker/common/install_mok.sh,target=/opt/install_mok.sh \
35+
--mount=type=bind,source=docker/patches/mok.patch,target=/opt/mok.patch \
36+
MOK_ARCH=${MOK_ARCH} bash /opt/install_mok.sh "${MOK_COMMIT}" /opt/mok.patch /opt/mok-wheels
37+
38+
FROM base AS megatron_bridge
1739
WORKDIR /opt/Megatron-Bridge
1840

1941
ARG APPLY_PYTORCH_LIBRARY_FINALIZER_PATCH=False
@@ -50,12 +72,6 @@ ARG REINSTALL_NVSHMEM=True
5072
ARG PRESERVE_BASE_RUNTIME=False
5173

5274
ENV MBRIDGE_PRESERVE_BASE_RUNTIME=${PRESERVE_BASE_RUNTIME} \
53-
PATH="/opt/venv/bin:/usr/local/bin:$PATH" \
54-
UV_PROJECT_ENVIRONMENT=/opt/venv \
55-
VIRTUAL_ENV=/opt/venv \
56-
UV_LINK_MODE=copy \
57-
UV_VERSION="0.7.2" \
58-
UV_HTTP_TIMEOUT=120 \
5975
NVTE_BUILD_NUM_PHILOX_ROUNDS=3 \
6076
NVTE_SKIP_SUBMODULE_CHECKS_DURING_BUILD=1 \
6177
HYBRID_EP_MULTINODE=1 \
@@ -97,9 +113,6 @@ EOF
97113
ARG DEEPEP_NVCC_THREADS
98114

99115
RUN --mount=type=bind,source=docker/patches/deepep.patch,target=/opt/deepep.patch \
100-
curl -LsSf https://astral.sh/uv/${UV_VERSION}/install.sh | sh && \
101-
install -m 0755 /root/.local/bin/uv /usr/local/bin/uv && \
102-
uv venv ${UV_PROJECT_ENVIRONMENT} --system-site-packages && \
103116
apt-get update && apt install -y --only-upgrade gnupg openssl libssl3t64 && \
104117
apt-get clean && \
105118
rm -rf /var/lib/apt/lists/* && \
@@ -264,6 +277,12 @@ RUN --mount=type=cache,target=/root/.cache/uv \
264277
fi && \
265278
chown -R 1000:1000 ${UV_PROJECT_ENVIRONMENT}
266279

280+
# Install after every uv sync so the Docker-only package is retained. Bind-mount
281+
# the wheel to avoid retaining a second archive in the final image.
282+
RUN --mount=type=bind,from=mok-wheel,source=/opt/mok-wheels,target=/opt/mok-wheels \
283+
uv pip install --python "${UV_PROJECT_ENVIRONMENT}/bin/python" --no-deps --no-cache /opt/mok-wheels/*.whl && \
284+
chown -R 1000:1000 ${UV_PROJECT_ENVIRONMENT}
285+
267286
COPY --chown=1000:1000 . /opt/Megatron-Bridge
268287

269288
RUN python /opt/preserve_base_runtime.py check /opt/base-runtime-packages.json
@@ -274,5 +293,8 @@ RUN python /opt/preserve_base_runtime.py check /opt/base-runtime-packages.json
274293
RUN install -d -o 1000 -g 1000 -m 0755 /nemo_run /home/ubuntu/.cache && \
275294
chown -R 1000:1000 /opt/Megatron-Bridge
276295

296+
# Remove the Nsight Systems EFA metrics plugin to address CVE-2026-27143.
297+
RUN rm -rf /usr/local/cuda-*/NsightSystems-cli-*/target-linux-x64/plugins/efa_metrics/
298+
277299
ENV HOME=/home/ubuntu
278300
USER 1000:1000

0 commit comments

Comments
 (0)