Prhub

#21849 [VLM]: allow Qwen3.5 models for encoder disaggregation

原始 PR 作者 Ratish1 合并时间 2026-04-07 02:07 文件变更 4 提交数 9 评论 20 代码增减 +190 / -3

执行摘要

修复 Qwen3.5 多模态模型在编码器分离中的验证错误,允许 EPD 部署。

根据 issue #21805,SGLang 运行时已支持 Qwen3.5 多模态模型,但编码器分离验证在服务器启动时错误地拒绝它们,阻碍了有效的 EPD 部署。根本原因是 server_args.py 中的架构允许列表未包含 Qwen3_5ForConditionalGeneration 和 Qwen3_5MoeForConditionalGeneration。

该 PR 值得精读,特别是 server_args.py 中的验证逻辑和测试设计,以了解编码器分离的架构支持和多模态模型集成模式。

讨论亮点

review 中主要讨论了三点:

1) gemini-code-assist[bot] 建议将 ENCODER_DISAGGREGATION_MODEL_ARCH_CHOICES 从列表改为集合以提高效率,但未在 PR 中采纳;
2) ShangmingCai 询问是否需要修改 qwen3_5.py,Ratish1 解释 Qwen3.5 继承自 Qwen3VL,EPD 标志已处理,因此无需额外改动;
3) ZhengWG 建议在 CI 中跳过测试以减少流水线时间,Ratish1 响应并添加了 skipIf 装饰器。

实现拆解

实现包括三个关键改动:

1) 在 python/sglang/srt/server_args.py 的 ENCODER_DISAGGREGATION_MODEL_ARCH_CHOICES 列表中添加 Qwen3.5 模型架构;
2) 在 python/sglang/srt/disaggregation/encode_server.py 和 python/sglang/srt/multimodal/processors/qwen_vl.py 中更新模型类型检查以包含 qwen3_5 和 qwen3_5_moe;
3) 在 test/registered/distributed/test_epd_disaggregation.py 中添加 TestEPDDisaggregationQwen35 测试类,验证图像和视频请求。

文件 模块 状态 重要度
python/sglang/srt/server_args.py 服务器参数处理 modified 8.0
python/sglang/srt/disaggregation/encode_server.py 编码器分离 modified 7.0
test/registered/distributed/test_epd_disaggregation.py 测试 modified 6.0

关键符号

_handle_encoder_disaggregation _process_mm_items get_mm_data

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

代码结构优化:列表 vs 集合 设计

gemini-code-assist[bot] 建议使用集合以提高成员测试效率

结论:未在 PR 中修改,可能留待未来优化 · 未解决

是否需要修改其他文件 正确性

ShangmingCai 询问是否需在 qwen3_5.py 中添加 encoder_only 和 language_only 支持

结论:Ratish1 解释 Qwen3.5 继承自 Qwen3VL,EPD 标志已处理,无需额外改动 · 已解决

测试优化:CI 跳过 测试

ZhengWG 建议在 CI 中标记测试为本地 only 以减少流水线时间

结论:Ratish1 更新测试添加 skipIf 装饰器 · 已解决

风险与影响

风险包括:

1) 验证逻辑变更可能影响其他模型类型的兼容性,需确保允许列表完整;
2) 新增测试依赖于本地环境,CI 中跳过可能降低持续验证覆盖率;
3) 修改涉及多模态处理器,需确保视频元数据处理与现有模型一致。

对用户影响:Qwen3.5 模型现在可以用于编码器分离部署,提升多模态应用灵活性。对系统影响:扩展了 EPD 支持的模型范围,增强系统功能。对团队影响:需要维护新增的测试,并关注类似验证逻辑的更新。

验证逻辑变更 测试依赖本地环境

关联 Issue

#21805 [Bug] Qwen3_5ForConditionalGeneration is not supported for encoder disaggregation

完整报告

参与讨论