Skip to content

Commit 7df8a3a

Browse files
committed
docs: Primus JAX MaxText v26.4 (ROCm#6361)
(cherry picked from commit cd6e604)
1 parent b43c6b2 commit 7df8a3a

5 files changed

Lines changed: 850 additions & 31 deletions

File tree

docs/data/how-to/rocm-for-ai/training/jax-maxtext-benchmark-models.yaml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
dockers:
2-
- pull_tag: rocm/jax-training:maxtext-v26.3
3-
docker_hub_url: https://hub.docker.com/layers/rocm/jax-training/maxtext-v26.3/images/sha256-548381e496fa1367772964341130cc014ee1a9a5ca715ff4ca3aa92960d162c3
2+
- pull_tag: rocm/jax-training:maxtext-v26.4-jax0.9.1-te2.12.0
3+
docker_hub_url: https://hub.docker.com/layers/rocm/jax-training/maxtext-v26.4-jax0.9.1-te2.12.0/images/
44
components:
5-
ROCm: 7.2.1
6-
JAX: 0.8.2
7-
Python: 3.12
8-
Transformer Engine: 2.8.0.dev0+9b312832
9-
hipBLASLt: 1.3.0+bfcf25fa18
5+
ROCm: 7.14.0a20260526
6+
JAX: 0.9.1
7+
Python: 3.12.3
8+
Transformer Engine: 2.12.0.dev0+635d7c08
9+
hipBLASLt: 1.4.0+807283e5
1010
model_groups:
1111
- group: Meta Llama
1212
tag: llama
@@ -58,7 +58,7 @@ model_groups:
5858
model_repo: Llama-3.1-405B
5959
precision: bf16
6060
multinode_config:
61-
gfx950: env_scripts/gfx950_llama3_405b.yml
61+
gfx950: env_scripts/gfx950_llama3.1_405b.yml
6262
doc_options: ["multi-node"]
6363
- model: Llama 3.3 70B
6464
mad_tag: jax_maxtext_train_llama-3.3-70b
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
dockers:
2+
- pull_tag: rocm/jax-training:maxtext-v26.3
3+
docker_hub_url: https://hub.docker.com/layers/rocm/jax-training/maxtext-v26.3/images/sha256-548381e496fa1367772964341130cc014ee1a9a5ca715ff4ca3aa92960d162c3
4+
components:
5+
ROCm: 7.2.1
6+
JAX: 0.8.2
7+
Python: 3.12
8+
Transformer Engine: 2.8.0.dev0+9b312832
9+
hipBLASLt: 1.3.0+bfcf25fa18
10+
model_groups:
11+
- group: Meta Llama
12+
tag: llama
13+
models:
14+
- model: Llama 2 7B
15+
mad_tag: jax_maxtext_train_llama-2-7b
16+
model_repo: Llama-2-7B
17+
precision: bf16
18+
primus_config_name: llama2_7B-pretrain.yaml
19+
multinode_config:
20+
gfx950: env_scripts/gfx950_llama2_7b.yml
21+
gfx942: env_scripts/llama2_7b.yml
22+
doc_options: ["single-node", "multi-node"]
23+
- model: Llama 2 70B
24+
mad_tag: jax_maxtext_train_llama-2-70b
25+
model_repo: Llama-2-70B
26+
precision: bf16
27+
primus_config_name: llama2_70B-pretrain.yaml
28+
multinode_config:
29+
gfx950: env_scripts/gfx950_llama2_70b.yml
30+
gfx942: env_scripts/llama2_70b.yml
31+
doc_options: ["single-node", "multi-node"]
32+
- model: Llama 3 8B
33+
mad_tag: jax_maxtext_train_llama-3-8b
34+
primus_config_name: llama3_8B-pretrain.yaml
35+
multinode_config:
36+
gfx950: env_scripts/gfx950_llama3_8b.yml
37+
gfx942: env_scripts/llama3_8b.yml
38+
doc_options: ["multi-node"]
39+
- model: Llama 3 70B
40+
mad_tag: jax_maxtext_train_llama-3-70b
41+
primus_config_name: llama3_70B-pretrain.yaml
42+
multinode_config:
43+
gfx950: env_scripts/gfx950_llama3_70b.yml
44+
gfx942: env_scripts/llama3_70b.yml
45+
doc_options: ["multi-node"]
46+
- model: Llama 3.1 8B
47+
mad_tag: jax_maxtext_train_llama-3.1-8b
48+
model_repo: Llama-3.1-8B
49+
precision: bf16
50+
doc_options: ["single-node"]
51+
- model: Llama 3.1 70B
52+
mad_tag: jax_maxtext_train_llama-3.1-70b
53+
model_repo: Llama-3.1-70B
54+
precision: bf16
55+
doc_options: ["single-node"]
56+
- model: Llama 3.1 405B (multi-node)
57+
mad_tag: jax_maxtext_train_llama-3.1-405b
58+
model_repo: Llama-3.1-405B
59+
precision: bf16
60+
multinode_config:
61+
gfx950: env_scripts/gfx950_llama3_405b.yml
62+
doc_options: ["multi-node"]
63+
- model: Llama 3.3 70B
64+
mad_tag: jax_maxtext_train_llama-3.3-70b
65+
model_repo: Llama-3.3-70B
66+
precision: bf16
67+
primus_config_name: llama3.3_70B-pretrain.yaml
68+
multinode_config:
69+
gfx950: env_scripts/gfx950_llama3.3_70b.yml
70+
gfx942: env_scripts/llama3.3_70b.yml
71+
doc_options: ["single-node", "multi-node"]
72+
- group: DeepSeek
73+
tag: deepseek
74+
models:
75+
- model: DeepSeek-V2-Lite (16B)
76+
mad_tag: jax_maxtext_train_deepseek-v2-lite-16b
77+
model_repo: DeepSeek-V2-lite
78+
precision: bf16
79+
primus_config_name: deepseek_v2_16B-pretrain.yaml
80+
multinode_config:
81+
gfx950: env_scripts/gfx950_deepseek2_16b.yml
82+
gfx942: env_scripts/deepseek2_16b.yml
83+
doc_options: ["single-node", "multi-node"]
84+
- group: Mistral AI
85+
tag: mistral
86+
models:
87+
- model: Mixtral 8x7B
88+
mad_tag: jax_maxtext_train_mixtral-8x7b
89+
model_repo: Mixtral-8x7B
90+
precision: bf16
91+
primus_config_name: mixtral_8x7B-pretrain.yaml
92+
multinode_config:
93+
gfx950: env_scripts/gfx950_mixtral_8x7b.yml
94+
gfx942: env_scripts/llama3_8x7b.yml
95+
doc_options: ["single-node", "multi-node"]
96+
- group: Qwen
97+
tag: qwen
98+
models:
99+
- model: Qwen 14B
100+
mad_tag: jax_maxtext_train_qwen3-14b
101+
model_repo: Qwen3-14B
102+
precision: bf16
103+
primus_config_name: qwen3_14B-pretrain.yaml
104+
multinode_config:
105+
gfx950: env_scripts/gfx950_qwen3_14b.yml
106+
gfx942: env_scripts/qwen3_14b.yml
107+
doc_options: ["single-node", "multi-node"]
108+
- model: Qwen 30B A3B
109+
mad_tag: jax_maxtext_train_qwen3-30b-a3b
110+
model_repo: Qwen3-30B-A3B
111+
precision: bf16
112+
primus_config_name: qwen3_30B_a3b-pretrain.yaml
113+
multinode_config:
114+
gfx950: env_scripts/gfx950_qwen3_30b_a3b.yml
115+
gfx942: env_scripts/qwen3_30b_a3b.yml
116+
doc_options: ["single-node", "multi-node"]

docs/how-to/rocm-for-ai/training/benchmark-docker/jax-maxtext.rst

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ MaxText with on ROCm provides the following key features to train large language
5252

5353
- NANOO FP8 (for MI300X series GPUs) and FP8 (for MI355X and MI350X) quantization support
5454

55-
.. _amd-maxtext-model-support-v26.3:
55+
.. _amd-maxtext-model-support-v26.4:
5656

5757
Supported models
5858
================
@@ -134,15 +134,15 @@ Use the following command to pull the Docker image from Docker Hub.
134134
135135
docker pull {{ docker.pull_tag }}
136136
137-
.. _amd-maxtext-multi-node-setup-v26.3:
137+
.. _amd-maxtext-multi-node-setup-v26.4:
138138

139139
Multi-node configuration
140140
------------------------
141141

142142
See :doc:`/how-to/rocm-for-ai/system-setup/multi-node-setup` to configure your
143143
environment for multi-node training.
144144

145-
.. _amd-maxtext-get-started-v26.3:
145+
.. _amd-maxtext-get-started-v26.4:
146146

147147
Benchmarking
148148
============
@@ -169,7 +169,7 @@ benchmark results:
169169
.. container:: model-doc {{ model.mad_tag }}
170170

171171
The following run commands are tailored to {{ model.model }}.
172-
See :ref:`amd-maxtext-model-support-v26.3` to switch to another available model.
172+
See :ref:`amd-maxtext-model-support-v26.4` to switch to another available model.
173173

174174
.. rubric:: Download the Docker image and required packages
175175

@@ -265,7 +265,7 @@ benchmark results:
265265

266266
.. code-block:: shell
267267
268-
./primus-cli container --image rocm/jax-training:maxtext-v26.3 \
268+
./primus-cli container --image {{ docker.pull_tag }} \
269269
-- train pretrain \
270270
--config examples/maxtext/configs/MI300X/{{ model.primus_config_name }}
271271
@@ -301,7 +301,7 @@ benchmark results:
301301
.. tab-item:: MAD-integrated benchmarking
302302

303303
The following run command is tailored to {{ model.model }}.
304-
See :ref:`amd-maxtext-model-support-v26.3` to switch to another available model.
304+
See :ref:`amd-maxtext-model-support-v26.4` to switch to another available model.
305305

306306
1. Clone the ROCm Model Automation and Dashboarding (`<https://github.com/ROCm/MAD>`__) repository to a local
307307
directory and install the required packages on the host machine.
@@ -332,7 +332,7 @@ benchmark results:
332332
.. tab-item:: Standalone benchmarking
333333

334334
The following commands are optimized for {{ model.model }}. See
335-
:ref:`amd-maxtext-model-support-v26.3` to switch to another
335+
:ref:`amd-maxtext-model-support-v26.4` to switch to another
336336
available model. Some instructions and resources might not be
337337
available for all models and configurations.
338338

@@ -452,7 +452,7 @@ benchmark results:
452452

453453
[docker_image] (optional)
454454
The Docker image to use. If not specified, it defaults to
455-
``rocm/jax-training:maxtext-v26.3``.
455+
``rocm/jax-training:maxtext-v26.4-jax0.9.1-te2.12.0``.
456456

457457
For example, to run a multi-node training benchmark on {{ model.model }}:
458458

@@ -477,7 +477,7 @@ benchmark results:
477477
{% else %}
478478
.. rubric:: Multi-node training
479479

480-
For multi-node training examples, choose a model from :ref:`amd-maxtext-model-support-v26.3`
480+
For multi-node training examples, choose a model from :ref:`amd-maxtext-model-support-v26.4`
481481
with an available `multi-node training script <https://github.com/ROCm/MAD/tree/develop/scripts/jax-maxtext/env_scripts>`__.
482482
{% endif %}
483483
{% endfor %}
@@ -549,8 +549,8 @@ Example: Profile a model standalone in Docker
549549
#!/bin/bash
550550
set -e
551551
552-
IMAGE="$1" # Docker image, e.g. rocm/jax-training:maxtext-v26.3
553-
TAG="$2" # Short tag for output folder, e.g. v26.3_llama2_7b
552+
IMAGE="$1" # Docker image, e.g. rocm/jax-training:maxtext-v26.4-jax0.9.1-te2.12.0
553+
TAG="$2" # Short tag for output folder, e.g. v26.4_llama2_7b
554554
PROFILE_DIR="/path/to/profiles/${TAG}"
555555
556556
mkdir -p "${PROFILE_DIR}"
@@ -646,17 +646,14 @@ Known issues
646646
Set ``NVTE_CK_IS_V3_ATOMIC_FP32=1`` for production training when using
647647
real data and input sequence packing (``packing=True``).
648648

649-
- There is a known slight performance regression for DeepSeek-V2-lite
650-
(16B) in v26.3. This is being tracked and will be addressed in a future
651-
release.
652-
653-
- **JAX 0.9.1 Early Access known issues:**
654-
655-
- There is a known performance regression for MoE models
656-
(DeepSeek-V2-lite and Mixtral-8x7B).
649+
- There is a known performance regression for Mixtral-8x7B in v26.4.
650+
This is being tracked and will be addressed in a future release.
657651

658-
- The trace viewer in profiling may be missing some information in the
659-
flame graph.
652+
- There is a discrepancy in the loss curve when setting ``packing=False``.
653+
It converges at a slightly higher value than previous Docker images. To
654+
achieve the same convergence as past Docker images, set
655+
``NVTE_CK_USES_FWD_V3=0`` (using FA v2 for forward instead of FA v3).
656+
This is being tracked and will be addressed in a future release.
660657

661658
- Shardy is a new config in JAX 0.6.0. You might get related errors if
662659
it's not configured correctly. To disable it, set ``shardy=False``

docs/how-to/rocm-for-ai/training/benchmark-docker/previous-versions/jax-maxtext-history.rst

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,28 @@ previous releases of the ``ROCm/jax-training`` Docker image on `Docker Hub <http
1717
- Components
1818
- Resources
1919

20-
* - 26.2 (latest)
20+
* - 26.4 (latest)
21+
-
22+
* ROCm 7.14.0
23+
* JAX 0.9.1
24+
-
25+
* :doc:`Documentation <../jax-maxtext>`
26+
* `Docker Hub <https://hub.docker.com/layers/rocm/jax-training/maxtext-v26.4-jax0.9.1-te2.12.0/images/>`__
27+
28+
* - 26.3
29+
-
30+
* ROCm 7.2.1
31+
* JAX 0.8.2
32+
-
33+
* :doc:`Documentation <jax-maxtext-v26.3>`
34+
* `Docker Hub <https://hub.docker.com/layers/rocm/jax-training/maxtext-v26.3/images/sha256-548381e496fa1367772964341130cc014ee1a9a5ca715ff4ca3aa92960d162c3>`__
35+
36+
* - 26.2
2137
-
2238
* ROCm 7.1.1
2339
* JAX 0.8.2
2440
-
25-
* :doc:`Documentation <../jax-maxtext>`
41+
* :doc:`Documentation <jax-maxtext-v26.2>`
2642
* `Docker Hub <https://hub.docker.com/layers/rocm/jax-training/maxtext-v26.2/images/sha256-a89643388487b1e2fc6b6ef7bd3c44378c05d217309c977a1c18c72d05ebcaeb>`__
2743

2844
* - 26.1

0 commit comments

Comments
 (0)