Skip to content

Commit 0e12528

Browse files
committed
Temporary fix to the TunixMaxTextAdapter padding logic.
1 parent d8fbfc8 commit 0e12528

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

src/maxtext/integration/tunix/tunix_adapter.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525

2626
from flax import nnx
2727
from jax import Array
28+
import jax.numpy as jnp
2829
from maxtext.checkpoint_conversion.utils.hf_model_configs import HF_MODEL_CONFIGS # pylint: disable=ungrouped-imports
2930
from maxtext.integration.tunix.utils import VllmWeightMapping
3031
from maxtext.models.models import Transformer
@@ -63,6 +64,11 @@ def __call__(
6364
"""Forward compatible with Tunix Trainers default loss.
6465
Returns logits, None.
6566
"""
67+
# Bug B Fix: Dynamically build segment IDs based on padding tokens to block causal attention leaks
68+
# Extract pad_id dynamically from the left-padding prefix
69+
pad_id = input_tokens[0, 0]
70+
decoder_segment_ids = jnp.where(input_tokens == pad_id, 0, 1).astype(jnp.int32)
71+
6672
logits = self.base(
6773
decoder_input_tokens=input_tokens,
6874
decoder_positions=positions,

0 commit comments

Comments
 (0)