Pull Request已成功合入, 合并人@ascend-robot
(感谢 xiaoheng181 的贡献)Thanks for your pull-request.
The full list of commands accepted by me can be found at here。
You can get sig-info at here
PR Approval Progress
✅ Congratulations! All modules have met the lgtm and approve requirements.
Module Approval Details
| module | lgtm status | approve status |
|---|---|---|
| repo-Ascend/msmodelslim | ✅ joejoezhou, libarry (2/2) | ✅ joejoezhou (1/1) |
💡 Tip:
- Committer can comment
/approveor/lgtm- Commenting
/approveimplies both code review (lgtm) and intent to merge (approve)


compile


问题/功能描述
本次PR旨在为框架新增对GLM-4.6V多模态大语言模型(MoE架构)的完整支持,以解决现有框架无法处理此类结合视觉编码器、文本解码器及混合专家层的复杂模型的问题。具体包括:1) 在模型库中注册该模型并定义其量化配置;2) 实现适配器以支持模型在量化、层融合等压缩流程中的层间数据流模拟与校准;3) 重构MoE层以解决模型权重导出工具无法正确保存路由器偏置参数及专家层权重布局不匹配的问题,确保权重能被完整、正确地导出和加载。
修改方案描述
修改方案包含三个核心部分:首先,在全局配置中注册模型并新增其W8A8量化配置文件。其次,实现GLM4_6VModelAdapter适配器类,它采用层按需加载策略初始化模型,精确复现包含视觉特征提取、特征融合及RoPE编码等步骤的前向传播流程,并将其分解为可逐层执行的请求,以支持多模态校准数据的预处理和逐层校准。最后,通过创建UnstackedGlm4vMoeTextMoE等三个新模块类重构MoE层,将专家MLP拆分为独立线性层,并将路由器偏置参数改为nn.Parameter,从而匹配目标权重格式并确保其能被导出工具正确识别,实现了功能无损的替换。


compile


/lgtm


/lgtm
/approve


Review Guide
This pull-request passes review.
Committers who wrote a comment of /approve are: joejoezhou.
Reviewers who wrote a comment of /lgtm are: joejoezhou, libarry.


增加Glm-4.6V模型适配器与推荐实践
config/config.ini
lab_practice/glm4_6v/glm4_6v_w8a8.yaml
msmodelslim/model/glm4_6v/__init__.py
msmodelslim/model/glm4_6v/model_adapter.py
msmodelslim/model/glm4_6v/moe_utils.py