diff --git a/trinity/trainer/verl_legacy/monkey_patch.py b/trinity/trainer/verl_legacy/monkey_patch.py index cb4c2a194dd..a2722acfc61 100644 --- a/trinity/trainer/verl_legacy/monkey_patch.py +++ b/trinity/trainer/verl_legacy/monkey_patch.py @@ -440,8 +440,10 @@ def state_dict(self, *args, **kwargs): from trinity.common.patch.qwen3_5 import ulysses_gate_delta_net_decorator - for layer in model.model.language_model.layers: - if layer.layer_type == "linear_attention": + language_model = model.model.language_model + for layer_idx, layer in enumerate(language_model.layers): + layer_type = language_model.config.layer_types[layer_idx] + if layer_type == "linear_attention": ulysses_gate_delta_net_decorator(layer.linear_attn, ulysses_sp_size) # Step 3: patch verl.utils.flops_counter