From 0443587a570334843d56f94e50e4358e40b254a4 Mon Sep 17 00:00:00 2001 From: gaoziyuan <88373061+gzy19990617@users.noreply.github.com> Date: Mon, 4 Aug 2025 16:34:07 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90Feature=E3=80=91support=20qwen3=20name?= =?UTF-8?q?=5Fmapping=20(#3179)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add fd plugins && rm model_classed * fix reviews * add docs * fix * fix unitest ci * support qwen3 name_mapping --- fastdeploy/rl/rollout_model.py | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/fastdeploy/rl/rollout_model.py b/fastdeploy/rl/rollout_model.py index 6d0974a5f..11701c0e0 100644 --- a/fastdeploy/rl/rollout_model.py +++ b/fastdeploy/rl/rollout_model.py @@ -429,4 +429,24 @@ class Qwen3ForCausalLMRL(Qwen3ForCausalLM, BaseRLModel): return "Qwen3ForCausalLMRL" def get_name_mappings_to_training(self, trainer_degree=None) -> Dict[str, str]: - pass + # Prepare placeholders + place_holders = ["weight"] + + # Initialize mapping dictionary + self._update_base_mappings("model") + base_name = "model.layers" + + # Helper function to add layer mappings + def _add_layer_mappings(layer_idx): + # FFN mappings + for ph in place_holders: + self.infer_to_train_mapping[f"{base_name}.{layer_idx}.mlp.up_gate_proj.{ph}"] = ( + f"{base_name}.{layer_idx}.mlp.gate_up_fused_proj.{ph}" + ) + + for layer_idx in range(self.fd_config.model_config.num_hidden_layers): + _add_layer_mappings(layer_idx) + + self._complete_missing_mappings() + + return self.infer_to_train_mapping