Skip to content

Commit 9c27279

Browse files
Merge pull request #4232 from AI-Hypercomputer:hengtaoguo-resize
PiperOrigin-RevId: 936353929
2 parents a78fb81 + 1b7859e commit 9c27279

5 files changed

Lines changed: 5 additions & 4 deletions

File tree

src/maxtext/configs/types.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1884,6 +1884,7 @@ class MultimodalGeneral(BaseModel):
18841884
"""General configuration for Multimodal models."""
18851885

18861886
use_multimodal: bool = Field(False, description="Enable multimodal capabilities.")
1887+
attention_for_vit: str = Field("dot_product", description="The attention algorithm to use for vision encoder.")
18871888
freeze_vision_encoder_params: bool = Field(True, description="Freeze the parameters of the vision encoder.")
18881889
freeze_audio_encoder_params: bool = Field(True, description="Freeze the parameters of the audio encoder.")
18891890
use_audio: bool = Field(False, description="Enable audio encoder for multimodal models.")

src/maxtext/models/gemma3.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -449,7 +449,7 @@ def __init__(
449449
dtype=self.config.dtype_mm,
450450
weight_dtype=self.config.weight_dtype,
451451
mesh=self.mesh,
452-
attention_kernel="dot_product",
452+
attention_kernel=self.config.attention_for_vit,
453453
inputs_q_shape=(self.config.per_device_batch_size, self.seq_len, self.config.hidden_size_for_vit),
454454
inputs_kv_shape=(self.config.per_device_batch_size, self.seq_len, self.config.hidden_size_for_vit),
455455
dropout_rate=0,

src/maxtext/models/gemma4_vision.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -472,7 +472,7 @@ def __init__(
472472
head_dim=config.hidden_size_for_vit // config.num_attention_heads_for_vit,
473473
max_target_length=seq_len,
474474
mesh=mesh,
475-
attention_kernel="dot_product",
475+
attention_kernel=config.attention_for_vit,
476476
inputs_q_shape=dummy_shape,
477477
inputs_kv_shape=dummy_shape,
478478
dtype=config.dtype_mm,

src/maxtext/models/llama4.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -642,7 +642,7 @@ def __init__(self, config: Config, mesh: Mesh, *, rngs: nnx.Rngs = None):
642642
num_kv_heads=self.config.num_attention_heads_for_vit,
643643
head_dim=self.config.hidden_size_for_vit // self.config.num_attention_heads_for_vit,
644644
max_target_length=(self.config.image_size_for_vit // self.config.patch_size_for_vit) ** 2 + 1,
645-
attention_kernel="dot_product",
645+
attention_kernel=self.config.attention_for_vit,
646646
inputs_q_shape=self.hidden_states_shape,
647647
inputs_kv_shape=self.hidden_states_shape,
648648
float32_qk_product=self.config.float32_qk_product,

src/maxtext/models/qwen3.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1906,7 +1906,7 @@ def __init__(self, config: Config, *, mesh=None, rngs: nnx.Rngs = None):
19061906
num_kv_heads=self.config.num_attention_heads_for_vit,
19071907
head_dim=head_dim,
19081908
max_target_length=self.config.num_position_embeddings_for_vit,
1909-
attention_kernel="dot_product",
1909+
attention_kernel=self.config.attention_for_vit,
19101910
inputs_q_shape=(1, 1, self.config.hidden_size_for_vit),
19111911
inputs_kv_shape=(1, 1, self.config.hidden_size_for_vit),
19121912
float32_qk_product=self.config.float32_qk_product,

0 commit comments

Comments
 (0)