From d26aa3f9cebec8cc2b5f65c3c8c096eec8a856cf Mon Sep 17 00:00:00 2001 From: weijie Date: Fri, 31 Jul 2026 14:44:19 +0800 Subject: [PATCH] fix(qwen3.5): read layer types from model config --- trinity/trainer/verl_legacy/monkey_patch.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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