# PR #7173 完整报告

- 仓库：`verl-project/verl`
- 标题：Revert "[megatron] fix: Qwen3.5 LoRA & MTP support (with Megatron-Bridge) (#5599)"
- 合并时间：2026-07-28 15:19
- 原文链接：http://prhub.com.cn/verl-project/verl/pull/7173

---

# 执行摘要

此 PR 回滚了之前合并的 #5599，移除了对 Qwen3.5 模型的 LoRA 微调和 MTP 推测解码支持。核心变更为删除 vLLM rollout 中的权重名称规范化函数、替换 Megatron PEFT 工具中的 base_layer 处理逻辑、移除相关测试。Revert 到合并前的稳定状态，对不使用相关功能的用户无影响。

# 功能与动机

PR 标题和 body 信息很少，仅声明回滚。从 Issue 评论可见社区成员对回滚原因感兴趣但未获解释。可能原实现存在兼容性或稳定性问题，或与当前架构方向不一致。

# 实现拆解

1. 在 `verl/workers/rollout/vllm_rollout/utils.py` 中，删除了 `_map_weight_name_for_vllm`、`_is_leaf_weight_or_bias_name`、`_strip_bridge_base_layer_from_expert_alias`、`_adapt_weight_names_for_model`、`_iter_packed_owner_weight_names`、`_resolve_weight_name_for_vllm`、`_candidate_exists`、`_iter_normalized_base_sync_weights` 共 8 个辅助方法，移除约 193 行代码。
2. 在 `verl/utils/megatron_peft_utils.py` 中，用新增的 `add_base_layer_suffix` 函数替换了原有的 `add_base_layer_to_name`、`remove_base_layer_from_name`、`resolve_base_layer_name` 三个函数。`add_base_layer_suffix` 接受参数名迭代器，根据预定义的 `STACKED_PARAMS` 列表为指定模块（如 q_proj, k_proj 等）的参数名添加 `.base_layer` 后缀。同时从 `MEGATRON_TO_HF_MODULES` 映射中移除了 GDN 相关的 `in_proj` 和 `out_proj` 条目。
3. 在 `verl/workers/engine/megatron/transformer_impl.py` 中，将导入语句从 `remove_base_layer_from_name, resolve_base_layer_name` 改为 `add_base_layer_suffix`；在 `get_per_tensor_param` 方法中，当 `non_merge_lora_sync` 为 True 时调用 `add_base_layer_suffix` 对导出的参数名进行转换。
4. 删除 `tests/utils/test_vllm_weight_name_normalization_on_cpu.py` 文件（252 行），该文件包含 4 个测试函数，覆盖了权重名称规范化的各种场景。
5. 在 `tests/utils/test_bucketed_weight_transfer.py` 中，移除了 `test_iter_weights_retains_direct_tensor_until_ack` 测试（依赖被删除的 `iter_weights` 方法），并清理了相关导入（gc, weakref）。
6. 在 `verl/workers/rollout/vllm_rollout/bucketed_weight_transfer.py` 中，删除了 `iter_weights` 方法（28 行），该方法曾被用于逐个产出接收到的权重。
7. 在 `verl/workers/rollout/vllm_rollout/vllm_rollout.py` 中移除一行导入，`verl/trainer/ppo/v1/trainer_base.py` 中调整控制流（+4/-9）。

## 关键源码片段

### 无

# 评论区精华

PR 本身无 review 评论，但在关联 Issue 中，Junxiao-Zhao 和 Mengyuyang 分别询问回滚原因，目前未得到作者回应。

# 风险与影响

- **风险**：使用 Qwen3.5 LoRA 或 MTP 的训练流程将因缺少必要函数而报错。对于未使用这些功能的用户，代码回退到经过验证的基线，风险较低。
- **影响**：影响范围限于使用 Megatron 引擎训练 Qwen3.5 并启用 LoRA 或 MTP 的用户。其他模型和训练流程不受影响。

# 关联脉络

- 本 PR 直接 revert 了 #5599（[megatron] fix: Qwen3.5 LoRA & MTP support (with Megatron-Bridge)）。
- 近期合并的 #7161 和 #7109 等均在重构 FSDP 和 vLLM 的权重管理，但与本 revert 无直接关联。
- 被删除的功能如果未来需要重新引入，需在更稳定的基础上设计。