Skip to content

Commit 5dc1504

Browse files
committed
Merge branch 'jax_0.8.0_py3.12_v7x' into jax_py3.12_nightly
2 parents 91b50ea + 2f8ce6c commit 5dc1504

1 file changed

Lines changed: 43 additions & 1 deletion

File tree

  • axlearn/experiments/text/gpt

axlearn/experiments/text/gpt/envy.py

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,10 @@
3535
ScaleKey,
3636
ScaleQuery,
3737
TransformerLayer,
38+
RematRegexSavePatterns,
3839
)
3940
from axlearn.common.base_layer import RematSpec
40-
from axlearn.common.config import TrainerConfigFn
41+
from axlearn.common.config import TrainerConfigFn, config_for_function
4142
from axlearn.common.embedding import TransformerTextEmbeddings
4243
from axlearn.common.layers import RMSNorm
4344
from axlearn.common.mixture_of_experts import TransformerFeedForwardMoE, get_outer_batch_from_mesh
@@ -65,6 +66,16 @@
6566
scaled_hidden_dim,
6667
)
6768
from axlearn.experiments.text.gpt.fuji import offload_attention_proj_policy
69+
from axlearn.experiments.trainer_config_utils import (
70+
SplashAttentionConfigModifier,
71+
V6eFlashConfigModifier,
72+
V7xFlashConfigModifier,
73+
)
74+
from axlearn.common.utils import (
75+
combine_remat_policies,
76+
extended_checkpoint_policies,
77+
save_and_offload_only_these_names_regex,
78+
)
6879

6980
MODEL_SIZES = ("test", "Switch-Base", "Switch-Large", "Switch-XXL")
7081

@@ -215,6 +226,37 @@ def get_trainer_kwargs(
215226
],
216227
),
217228
),
229+
(
230+
"tpu-v7x-.*",
231+
ChainConfigModifier.default_config().set(
232+
config_modifiers=[
233+
MeshShapeModifier.default_config().set(
234+
mesh_shape=mesh_shape_from_axes(data=-1, expert=16, fsdp=16)
235+
),
236+
# Use the updated block size for Splash Attention
237+
V7xFlashConfigModifier.default_config(),
238+
RematSpecModifier.default_config().set(
239+
remat_policies={
240+
"model.decoder.transformer.layer": RematSpec(
241+
prevent_cse=False,
242+
policy=config_for_function(
243+
save_and_offload_only_these_names_regex
244+
).set(
245+
names_which_can_be_saved=None,
246+
names_which_can_be_offloaded="|".join(
247+
[
248+
RematRegexSavePatterns.INPUT.value,
249+
]
250+
),
251+
offload_src="device",
252+
offload_dst="pinned_host",
253+
),
254+
),
255+
}
256+
),
257+
],
258+
),
259+
)
218260
),
219261
)
220262
elif model_size == "Switch-Large":

0 commit comments

Comments
 (0)