| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
【msmodelslim】cleancode Co-authored-by: caishengcheng<caishengcheng@huawei.com> | 10 个月前 | |
[Bugfix] modify 950 tag and delete mxfp in support table Co-authored-by: caishengcheng<caishengcheng@huawei.com> # message auto-generated for no-merge-commit merge: !774 merge docs into master [Bugfix] modify 950 tag and delete mxfp in support table Created-by: caishengcheng Commit-by: caishengcheng Merged-by: ascend-robot Description: # PR 提交说明 提交前请阅读 [CONTRIBUTING.md](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/contributing/contributing_guide.md),开发者文档:[模型接入指南](../docs/zh/development_guide/integrating_models.md) PR 标题前缀:[Feature]、[Bugfix]、[Doc]、[Test](与 CONTRIBUTING 一致) **建议标题:** [Bugfix][26.1.0] modify 950 tag and delete mxfp in support table ## 1. 影响面评估 **接口变更(按需):** 无 **输出件变更(按需):** 无 **非兼容变更(按需):** --tag 硬件场景标签由 Atlas_A5_Interface 统一更名为 Ascend_950;使用旧标签将无法匹配对应 lab_practice 配置,需改用 Ascend_950。原Atlas_350 tag下新增 Ascend_950。 **SIG 评审结论(按需):** 无 ## 2. 修改描述 **修改背景(可选):** 昇腾 950 相关场景标签命名不统一(Atlas_350、Atlas_A5_Interface),且 example 支持矩阵表中对外展示了 mxfp 字样,需与产品命名及对外表述对齐。 **修改目的:** 统一硬件场景标签为 Ascend_950,并清理支持矩阵表中的 mxfp 展示文案。 **修改内容:** - lab_practice:相关 YAML 的 verified_tags 中 Atlas_350 / Atlas_A5_Interface 统一改为 Ascend_950 - example:GLM-5、MiniMax-M2、LongCat-Flash、Qwen3-VL-MoE、QwenImageEdit 等 README 支持矩阵去掉 mxfp 字样,示例命令 --tag 同步为 Ascend_950 - docs:中英文一键量化 usage 文档的 tag 硬件形态说明补充 Ascend_950 - cli / app / core:命令行帮助与注释中的硬件 tag 示例更新为 Ascend_950(匹配逻辑仍为大小写不敏感字符串匹配,无接口行为变更) ## 3. 功能验证 冒烟由 CI 门禁检查,无需填写「冒烟是否通过」。 - [x] 功能自验 - [x] 本地自验用例截图(请勿包含个人信息;可附复现命令) **复现步骤(可选):** bash # 使用新硬件标签匹配最佳实践配置(示例) msmodelslim quant \ --model_path ${MODEL_PATH} \ --save_path ${SAVE_PATH} \ --device npu \ --model_type GLM-5.1 \ --quant_type w4a4c8 \ --tag vLLM_Ascend Ascend_950 \ --trust_remote_code True ## 4. 自检(请逐项确认,不适用标 N/A) **典型安全编码问题** - [x] 是否已校验外部数据(N/A:无新增外部输入处理) - [x] 是否未采集或打印敏感信息 - [x] 是否已正确设置文件权限(N/A) - [x] 是否充分考虑浮点运算溢出、除零等异常场景(N/A) - [x] 是否已对正则表达式做 ReDos 检查(N/A) **DT** - [x] 是否具备 UT 测试用例看护(N/A:本次仅为标签命名与文档表述调整;26.1.0 分支无 gemma4 相关用例文件) - [x] 是否需要添加冒烟:否 See merge request: Ascend/msmodelslim!774 | 2 个月前 | |
【msmodelslim】代码回合 Co-authored-by: caishengcheng<caishengcheng@huawei.com> # message auto-generated for no-merge-commit merge: !26 merge code into master 【msmodelslim】代码回合 Created-by: caishengcheng Commit-by: caishengcheng Merged-by: ascend-robot Description: 【msmodelslim】代码回合 See merge request: Ascend/msmodelslim!26 | 9 个月前 | |
[Feature] 接入 DeepSeek-V4-Pro-0813 W4A4C8 配置 Co-authored-by: Rigel_Chen<chenruijie9@huawei.com> # message auto-generated for no-merge-commit merge: !968 merge feature/deepseek-v4-pro-0813-w4a4c8 into master [Feature] 接入 DeepSeek-V4-Pro-0813 W4A4C8 配置 Created-by: Rigel_Chen Commit-by: Rigel_Chen Merged-by: ascend-robot Description: # PR 提交说明 ## 1. 影响面评估 **接口变更(按需):** 无 **输出件变更(按需):** 无 **非兼容变更(按需):** 无 **SIG 评审结论(按需):** 无 ## 2. 修改描述 **修改背景(可选):** 官方 DeepSeek-V4-Pro-0813 结构与 DeepSeek-V4-Pro-DSpark / Flash-0731 相同(投机解码模块键名为 mtp.0/1/2)。Flash-0731 已按同一方式合入;Pro-0813 本地已验证可直接复用 加载路径。 **修改目的:** 在已有 DSpark 加载路径上注册官方 0813 模型名,支持一键 W4A4C8 量化;MTP 不量化并以 FLOAT 落盘。 **修改内容:** - infra:config.ini 将 DeepSeek-V4-Pro-0813 注册到 deepseek_v4_dspark - app:新增 lab_practice/deepseek_v4/deepseek_v4_pro_w4a4c8.yaml ## 3. 功能验证 - [x] 功能自验 - [ ] 本地自验用例截图(请勿包含个人信息;可附复现命令) **复现步骤(可选):** bash msmodelslim quant \ --model_path <DeepSeek-V4-Pro-0813 原始权重> \ --save_path <...-w4a4c8> \ --model_type DeepSeek-V4-Pro-0813 \ --config lab_practice/deepseek_v4/deepseek_v4_pro_w4a4c8.yaml \ --device npu --device_id 0 1 2 3 4 5 6 7 \ --trust_remote_code true ## 4. 自检(请逐项确认,不适用标 N/A) **典型安全编码问题** - [ ] 是否已校验外部数据 - [ ] 是否未采集或打印敏感信息 - [ ] 是否已正确设置文件权限 - [ ] 是否充分考虑浮点运算溢出、除零等异常场景 - [ ] 是否已对正则表达式做 ReDos 检查 **DT** - [ ] 是否具备 UT 测试用例看护(路径:用例路径;未添加请说明原因) - [ ] 是否需要添加冒烟:否(若「是」请说明冒烟场景及对应用途) See merge request: Ascend/msmodelslim!968 | 1 个月前 | |
[Feature] DeepSeek-V4-Flash-DSpark Co-authored-by: caishengcheng<caishengcheng@huawei.com> # message auto-generated for no-merge-commit merge: !757 merge ds_v4_dspark into master [Feature] DeepSeek-V4-Flash-DSpark Created-by: caishengcheng Commit-by: caishengcheng Merged-by: ascend-robot Description: # PR 提交说明 提交前请阅读 [CONTRIBUTING.md](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/contributing/contributing_guide.md),开发者文档:[模型接入指南](../docs/zh/development_guide/integrating_models.md) PR 标题前缀:[Feature]、[Bugfix]、[Doc]、[Test](与 CONTRIBUTING 一致) ## 1. 影响面评估 **接口变更(按需):** 无 **输出件变更(按需):** 无 **非兼容变更(按需):** 无 **SIG 评审结论(按需):** 无 ## 2. 修改描述 **修改背景(可选):** 适配DeepSeek-V4-DSpark 量化 flash(w8a8)、pro(w4a8) **修改目的:** 适配DeepSeek-V4-DSpark 量化 **修改内容:** 1.增加DeepSeek-V4-DSpark模型适配器 2.mtp.0.embed复制主模型未旋转的embed、mtp.2.head复制主模型未旋转的head,然后main_proj右旋 **概念域参考(填写提示):** - cli:命令行 quant / analyze / tune - app:最佳实践量化、量化分析、精度反馈自动调优等 - core:算法、量化服务、调度、张量量化、调优策略、最佳实践、上下文等 - infra:模型适配、调优计划/历史/缓存、测评服务等 - utils:日志、错误处理、插件等 ## 3. 功能验证 冒烟由 CI 门禁检查,无需填写「冒烟是否通过」。 - [x] 功能自验 - [x] 本地自验用例截图(请勿包含个人信息;可附复现命令) **复现步骤(可选):** bash # 在此粘贴可复现命令 ## 4. 自检(请逐项确认,不适用标 N/A) **典型安全编码问题** - [x] 是否已校验外部数据 - [x] 是否未采集或打印敏感信息 - [x] 是否已正确设置文件权限 - [x] 是否充分考虑浮点运算溢出、除零等异常场景 - [x] 是否已对正则表达式做 ReDos 检查 **DT** - [x] 是否具备 UT 测试用例看护(路径:用例路径;未添加请说明原因) - [x] 是否需要添加冒烟:否(若「是」请说明冒烟场景及对应用途) See merge request: Ascend/msmodelslim!757 | 1 个月前 | |
【msmodelslim】【feature】支持默认结构的离群值抑制 Co-authored-by: anreywmh<18845895998@163.com> # message auto-generated for no-merge-commit merge: !142 merge w_dev_default_anti into master 【msmodelslim】【feature】支持默认结构的离群值抑制 Created-by: anreywmh Commit-by: anreywmh Merged-by: ascend-robot Description: 【msmodelslim】【feature】支持默认结构的离群值抑制 See merge request: Ascend/msmodelslim!142 | 7 个月前 | |
[Bugfix] modify 950 tag and delete mxfp in support table Co-authored-by: caishengcheng<caishengcheng@huawei.com> # message auto-generated for no-merge-commit merge: !774 merge docs into master [Bugfix] modify 950 tag and delete mxfp in support table Created-by: caishengcheng Commit-by: caishengcheng Merged-by: ascend-robot Description: # PR 提交说明 提交前请阅读 [CONTRIBUTING.md](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/contributing/contributing_guide.md),开发者文档:[模型接入指南](../docs/zh/development_guide/integrating_models.md) PR 标题前缀:[Feature]、[Bugfix]、[Doc]、[Test](与 CONTRIBUTING 一致) **建议标题:** [Bugfix][26.1.0] modify 950 tag and delete mxfp in support table ## 1. 影响面评估 **接口变更(按需):** 无 **输出件变更(按需):** 无 **非兼容变更(按需):** --tag 硬件场景标签由 Atlas_A5_Interface 统一更名为 Ascend_950;使用旧标签将无法匹配对应 lab_practice 配置,需改用 Ascend_950。原Atlas_350 tag下新增 Ascend_950。 **SIG 评审结论(按需):** 无 ## 2. 修改描述 **修改背景(可选):** 昇腾 950 相关场景标签命名不统一(Atlas_350、Atlas_A5_Interface),且 example 支持矩阵表中对外展示了 mxfp 字样,需与产品命名及对外表述对齐。 **修改目的:** 统一硬件场景标签为 Ascend_950,并清理支持矩阵表中的 mxfp 展示文案。 **修改内容:** - lab_practice:相关 YAML 的 verified_tags 中 Atlas_350 / Atlas_A5_Interface 统一改为 Ascend_950 - example:GLM-5、MiniMax-M2、LongCat-Flash、Qwen3-VL-MoE、QwenImageEdit 等 README 支持矩阵去掉 mxfp 字样,示例命令 --tag 同步为 Ascend_950 - docs:中英文一键量化 usage 文档的 tag 硬件形态说明补充 Ascend_950 - cli / app / core:命令行帮助与注释中的硬件 tag 示例更新为 Ascend_950(匹配逻辑仍为大小写不敏感字符串匹配,无接口行为变更) ## 3. 功能验证 冒烟由 CI 门禁检查,无需填写「冒烟是否通过」。 - [x] 功能自验 - [x] 本地自验用例截图(请勿包含个人信息;可附复现命令) **复现步骤(可选):** bash # 使用新硬件标签匹配最佳实践配置(示例) msmodelslim quant \ --model_path ${MODEL_PATH} \ --save_path ${SAVE_PATH} \ --device npu \ --model_type GLM-5.1 \ --quant_type w4a4c8 \ --tag vLLM_Ascend Ascend_950 \ --trust_remote_code True ## 4. 自检(请逐项确认,不适用标 N/A) **典型安全编码问题** - [x] 是否已校验外部数据(N/A:无新增外部输入处理) - [x] 是否未采集或打印敏感信息 - [x] 是否已正确设置文件权限(N/A) - [x] 是否充分考虑浮点运算溢出、除零等异常场景(N/A) - [x] 是否已对正则表达式做 ReDos 检查(N/A) **DT** - [x] 是否具备 UT 测试用例看护(N/A:本次仅为标签命名与文档表述调整;26.1.0 分支无 gemma4 相关用例文件) - [x] 是否需要添加冒烟:否 See merge request: Ascend/msmodelslim!774 | 2 个月前 | |
[msmodelslim][Feature]support gemma4 mxfp4 quant Co-authored-by: anreywmh<18845895998@163.com> # message auto-generated for no-merge-commit merge: !905 merge w_gemma4_mxfp4 into master [msmodelslim][Feature]support gemma4 mxfp4 quant Created-by: anreywmh Commit-by: anreywmh Merged-by: ascend-robot Description: 提交前请阅读 [贡献指南](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/contributing/contributing_guide.md),开发者文档:[模型接入指南](../docs/zh/knowledge_base/model/integrating_models.md) PR 标题前缀:[Feature]、[Bugfix]、[Doc]、[Test](与 CONTRIBUTING 一致) 建议标题: [Feature] 完善 Gemma4 Dense/MoE MXFP8/MXFP4 混合量化最佳实践 ## 1. 影响面评估 **接口变更(按需):** 有(最佳实践 YAML / 一键量化匹配) - 新增实践配置 lab_practice/gemma4/gemma4_mxfp8_mxfp4.yaml、lab_practice/gemma4_moe/gemma4_moe_mxfp8_mxfp4.yaml - metadata.label 为 w_bit:4 / a_bit:4,可用 --quant_type w4a4 匹配;也可 --config_path 显式指定 - verified_tags 指向 vLLM_Ascend + Ascend_950 - CLI / Python API 无签名变更 **输出件变更(按需):** 有(量化产物类型) - 走上述实践时,AscendV1 导出混合精度权重:语言 Attn / ViT 为 W8A8_MXFP8,Dense MLP 或 MoE experts 为 W4A4_MXFP4;embed_vision / router 及 YAML 中 exclude 层保持浮点 - 导出路径、saver(ascendv1_saver)不变 **非兼容变更(按需):** 无 **SIG 评审结论(按需):** 无 ## 2. 修改描述 **修改背景(可选):** Gemma4 Dense(gemma-4-31B-it)与 MoE(gemma-4-26B-A4B-it)已支持 W8A8,但 MXFP8/MXFP4 混合实践 YAML 缺 metadata/锚点/group,文档未收录一键量化路径,无法作为正式最佳实践发布。 **修改目的:** 将 Gemma4 Dense/MoE 的 MXFP 混合量化配置对齐现有最佳实践规范,并同步用户文档与支持矩阵,支持 w4a4 一键量化(优先 Ascend 950 + vLLM Ascend)。 **修改内容:** - app:新增/规整 Gemma4 Dense、Gemma4 MoE 的 MXFP8/MXFP4 最佳实践 YAML(锚点 qconfig、group 混合量化、敏感层 exclude、Ascend 950 验证标签) - infra:Gemma4 dense 适配器与 MoE 实现对齐(去掉 dense 独有 tied lm_head 导出与 dtype cast;data-free MXFP/W8A8 走 generate_model_visit) - docs:更新 example/multimodal_vlm/Gemma4、Gemma4-MoE、多模态 README、大模型支持矩阵、仓库最新消息 **代码变动清单:** | 路径 | 变化 | |------|------| | lab_practice/gemma4/gemma4_mxfp8_mxfp4.yaml | 新增/规整:Attn/ViT=MXFP8,dense MLP=MXFP4;回退 layers.{1,9,10,11,27,28} MLP | | lab_practice/gemma4_moe/gemma4_moe_mxfp8_mxfp4.yaml | 规整:Attn/dense MLP/ViT=MXFP8,experts=MXFP4;router/embed_vision 浮点 | | lab_practice/gemma4_moe/gemma4_moe_mxfp8_mxfp4_vit.yaml | 删除(能力已并入主实践 YAML) | | lab_practice/gemma4_moe/gemma4_moe_mxfp8_mxfp4_vit_fallback_top10.yaml | 删除(实验回退配置,不作为正式实践) | | msmodelslim/model/gemma4/model_adapter.py | dense 适配器对齐 MoE:去掉 tied lm_head 导出与 dtype cast;标明 MXFP 为 data-free | | example/multimodal_vlm/Gemma4/README.md | 补充 MXFP 混合量化说明与 w4a4 / config_path 命令 | | example/multimodal_vlm/Gemma4-MoE/README.md | 同上(MoE experts=MXFP4) | | example/multimodal_vlm/README.md | 支持量化列补充 MXFP 实践 | | docs/zh/knowledge_base/model/README.md | 支持矩阵注明 MXFP / 一键量化 w4a4 | | README.md | 最新消息补充 Dense/MoE MXFP 实践 | ## 3. 功能验证 冒烟由 CI 门禁检查,无需填写「冒烟是否通过」。 - [x] 功能自验 - [ ] 本地自验用例截图(请勿包含个人信息;可附复现命令) **复现步骤(可选):** bash # Dense MXFP8/MXFP4 msmodelslim quant \ --model_path /path/to/gemma-4-31B-it \ --save_path /path/to/gemma4_mxfp8_mxfp4 \ --device npu \ --model_type gemma-4-31B-it \ --quant_type w4a4 \ --tag vLLM_Ascend Ascend_950 \ --trust_remote_code True # MoE MXFP8/MXFP4 msmodelslim quant \ --model_path /path/to/gemma-4-26B-A4B-it \ --save_path /path/to/gemma4_moe_mxfp8_mxfp4 \ --device npu \ --model_type gemma-4-26B-A4B-it \ --quant_type w4a4 \ --tag vLLM_Ascend Ascend_950 \ --trust_remote_code True ## 4. 自检(请逐项确认,不适用标 N/A) **典型安全编码问题** - [x] 是否已校验外部数据(沿用现有 get_valid_read_path / 校准样本校验,本 PR 未新增外部输入解析) - [x] 是否未采集或打印敏感信息 - [x] 是否已正确设置文件权限(N/A:未新增可执行脚本或写权限变更) - [x] 是否充分考虑浮点运算溢出、除零等异常场景(N/A:未改量化核算法) - [x] 是否已对正则表达式做 ReDos 检查(N/A:未新增正则) **DT** - [x] 是否具备 UT 测试用例看护:N/A。本 PR 以实践 YAML 与文档为主;dense 适配器行为与既有 test/cases/model/gemma4/ 对齐,未改量化算法,故未新增 UT - [x] 是否需要添加冒烟:否(实践配置走现有 multimodal_vlm_v1 一键量化路径,无新 CLI/服务入口) ``` See merge request: Ascend/msmodelslim!905 | 1 个月前 | |
[msmodelslim][Feature]support gemma4 mxfp4 quant Co-authored-by: anreywmh<18845895998@163.com> # message auto-generated for no-merge-commit merge: !905 merge w_gemma4_mxfp4 into master [msmodelslim][Feature]support gemma4 mxfp4 quant Created-by: anreywmh Commit-by: anreywmh Merged-by: ascend-robot Description: 提交前请阅读 [贡献指南](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/contributing/contributing_guide.md),开发者文档:[模型接入指南](../docs/zh/knowledge_base/model/integrating_models.md) PR 标题前缀:[Feature]、[Bugfix]、[Doc]、[Test](与 CONTRIBUTING 一致) 建议标题: [Feature] 完善 Gemma4 Dense/MoE MXFP8/MXFP4 混合量化最佳实践 ## 1. 影响面评估 **接口变更(按需):** 有(最佳实践 YAML / 一键量化匹配) - 新增实践配置 lab_practice/gemma4/gemma4_mxfp8_mxfp4.yaml、lab_practice/gemma4_moe/gemma4_moe_mxfp8_mxfp4.yaml - metadata.label 为 w_bit:4 / a_bit:4,可用 --quant_type w4a4 匹配;也可 --config_path 显式指定 - verified_tags 指向 vLLM_Ascend + Ascend_950 - CLI / Python API 无签名变更 **输出件变更(按需):** 有(量化产物类型) - 走上述实践时,AscendV1 导出混合精度权重:语言 Attn / ViT 为 W8A8_MXFP8,Dense MLP 或 MoE experts 为 W4A4_MXFP4;embed_vision / router 及 YAML 中 exclude 层保持浮点 - 导出路径、saver(ascendv1_saver)不变 **非兼容变更(按需):** 无 **SIG 评审结论(按需):** 无 ## 2. 修改描述 **修改背景(可选):** Gemma4 Dense(gemma-4-31B-it)与 MoE(gemma-4-26B-A4B-it)已支持 W8A8,但 MXFP8/MXFP4 混合实践 YAML 缺 metadata/锚点/group,文档未收录一键量化路径,无法作为正式最佳实践发布。 **修改目的:** 将 Gemma4 Dense/MoE 的 MXFP 混合量化配置对齐现有最佳实践规范,并同步用户文档与支持矩阵,支持 w4a4 一键量化(优先 Ascend 950 + vLLM Ascend)。 **修改内容:** - app:新增/规整 Gemma4 Dense、Gemma4 MoE 的 MXFP8/MXFP4 最佳实践 YAML(锚点 qconfig、group 混合量化、敏感层 exclude、Ascend 950 验证标签) - infra:Gemma4 dense 适配器与 MoE 实现对齐(去掉 dense 独有 tied lm_head 导出与 dtype cast;data-free MXFP/W8A8 走 generate_model_visit) - docs:更新 example/multimodal_vlm/Gemma4、Gemma4-MoE、多模态 README、大模型支持矩阵、仓库最新消息 **代码变动清单:** | 路径 | 变化 | |------|------| | lab_practice/gemma4/gemma4_mxfp8_mxfp4.yaml | 新增/规整:Attn/ViT=MXFP8,dense MLP=MXFP4;回退 layers.{1,9,10,11,27,28} MLP | | lab_practice/gemma4_moe/gemma4_moe_mxfp8_mxfp4.yaml | 规整:Attn/dense MLP/ViT=MXFP8,experts=MXFP4;router/embed_vision 浮点 | | lab_practice/gemma4_moe/gemma4_moe_mxfp8_mxfp4_vit.yaml | 删除(能力已并入主实践 YAML) | | lab_practice/gemma4_moe/gemma4_moe_mxfp8_mxfp4_vit_fallback_top10.yaml | 删除(实验回退配置,不作为正式实践) | | msmodelslim/model/gemma4/model_adapter.py | dense 适配器对齐 MoE:去掉 tied lm_head 导出与 dtype cast;标明 MXFP 为 data-free | | example/multimodal_vlm/Gemma4/README.md | 补充 MXFP 混合量化说明与 w4a4 / config_path 命令 | | example/multimodal_vlm/Gemma4-MoE/README.md | 同上(MoE experts=MXFP4) | | example/multimodal_vlm/README.md | 支持量化列补充 MXFP 实践 | | docs/zh/knowledge_base/model/README.md | 支持矩阵注明 MXFP / 一键量化 w4a4 | | README.md | 最新消息补充 Dense/MoE MXFP 实践 | ## 3. 功能验证 冒烟由 CI 门禁检查,无需填写「冒烟是否通过」。 - [x] 功能自验 - [ ] 本地自验用例截图(请勿包含个人信息;可附复现命令) **复现步骤(可选):** bash # Dense MXFP8/MXFP4 msmodelslim quant \ --model_path /path/to/gemma-4-31B-it \ --save_path /path/to/gemma4_mxfp8_mxfp4 \ --device npu \ --model_type gemma-4-31B-it \ --quant_type w4a4 \ --tag vLLM_Ascend Ascend_950 \ --trust_remote_code True # MoE MXFP8/MXFP4 msmodelslim quant \ --model_path /path/to/gemma-4-26B-A4B-it \ --save_path /path/to/gemma4_moe_mxfp8_mxfp4 \ --device npu \ --model_type gemma-4-26B-A4B-it \ --quant_type w4a4 \ --tag vLLM_Ascend Ascend_950 \ --trust_remote_code True ## 4. 自检(请逐项确认,不适用标 N/A) **典型安全编码问题** - [x] 是否已校验外部数据(沿用现有 get_valid_read_path / 校准样本校验,本 PR 未新增外部输入解析) - [x] 是否未采集或打印敏感信息 - [x] 是否已正确设置文件权限(N/A:未新增可执行脚本或写权限变更) - [x] 是否充分考虑浮点运算溢出、除零等异常场景(N/A:未改量化核算法) - [x] 是否已对正则表达式做 ReDos 检查(N/A:未新增正则) **DT** - [x] 是否具备 UT 测试用例看护:N/A。本 PR 以实践 YAML 与文档为主;dense 适配器行为与既有 test/cases/model/gemma4/ 对齐,未改量化算法,故未新增 UT - [x] 是否需要添加冒烟:否(实践配置走现有 multimodal_vlm_v1 一键量化路径,无新 CLI/服务入口) ``` See merge request: Ascend/msmodelslim!905 | 1 个月前 | |
Glm-4.6V模型W8A8量化适配【part1】增加Glm-4.6V模型适配器与推荐实践 Co-authored-by: xiaoheng181<eudemoniaxh@163.com> # message auto-generated for no-merge-commit merge: !209 merge master_glm46v_code into master Glm-4.6V模型W8A8量化适配【part1】增加Glm-4.6V模型适配器与推荐实践 Created-by: xiaoheng181 Commit-by: xiaoheng181 Merged-by: ascend-robot Description: 增加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 See merge request: Ascend/msmodelslim!209 | 7 个月前 | |
【bugfix】支持GLM4MOE模型的MTP(Multi-Token Prediction)接入 Co-authored-by: qq_46439621<wanlongze1@huawei.com> # message auto-generated for no-merge-commit merge: !398 merge glm4moe_mtp_fix_0512 into master 【bugfix】支持GLM4MOE模型的MTP(Multi-Token Prediction)接入 Created-by: qq_46439621 Commit-by: qq_46439621 Merged-by: ascend-robot Description: ## PR 提交说明 **PR 标题:** [Bugfix] 支持 GLM4MOE 模型的 MTP(Multi-Token Prediction)接入 --- ### 1. 影响面评估 **接口变更(按需):** 无 **输出件变更(按需):** 无 **非兼容变更(按需):** 无 **SIG 评审结论(按需):** 无 --- ### 2. 修改描述 **修改背景:** GLM4MOE 量化流程当前仅覆盖基础 Decoder Layer,未对 MTP(Multi-Token Prediction)层执行量化,导致 MTP 层权重保持 FP16、无法导出统一量化模型。 **修改目的:** 使 GLM4MOE 模型适配器完整支持 MTP 层的量化接入,包括层发现、子图构造、LN-线性融合映射、旋转映射,开箱即用。 **修改内容:** - **core/模型适配**:重写 init_model,从 safetensors 加载 MTP 解码器权重并注入已有 HF 模型的最末层;重写 generate_model_visit / generate_model_forward,在 Decoder Layer 遍历基础上追加 MTP 层子图访问与前向过程;新增 mtp_preprocess、generate_decoder_layer、load_decoder_if_not_exist、load_mtp_if_not_load 等辅助方法。 - **core/算子**:新增 mtp_quant_module.py,实现 MTPLayer、SharedHead、GLM4MoeRMSNorm 等 MTP 子模块定义,以及 wrap_mtp_decoder、remove_zero_and_shift 等权重重排/装配工具。 - **core/子图 & 融合映射**:更新 get_adapter_config_for_subgraph 为 MTP 层补齐 Subgraph→AdapterConfig;更新 glm4_moe_get_ln_fuse_map 和 glm4_moe_get_rotate_map,新增 MTP 层的 Layernorm-Linear 融合及 QuaRot 旋转映射项。 - **infra/模型适配**:__init__.py 显式导出 GLM4MoeModelAdapter,修复直接 import 不可用的问题。 - **app/量化实践**:YAML 配置移除无效 runner 字段、为第 92 层(MTP 层)各量化 config 增加 exclude 排除项,避免与新增的 MTP 子图量化冲突。 - **test**:扩展 UT 用例,修复 test_init_model Mock 适配新的模型加载路径;新增 test_get_adapter_config_for_subgraph_with_mtp_then_include_mtp_layer 验证 MTP 层子图数量。 --- ### 3. 功能验证 **量化命令:** bash export ASCEND_RT_VISIBLE_DEVICES=15 msmodelslim quant \ --model_path /home/weights/GLM-4.7 \ --save_path /home/weights/GLM-4.7-W8A8-MTP \ --device npu \ --model_type GLM-4.7 \ --quant_type w8a8 \ --trust_remote_code True 服务化命令 bash export ASCEND_RT_VISIBLE_DEVICES=8,9,10,11,12,13,14,15 vllm serve /home/weights/GLM-4.7-W8A8-MTP \ --served-model-name glm-4.7-w8a8-mtp \ --trust-remote-code \ --quantization ascend \ --port 8802 \ --tensor-parallel-size 8 \ --speculative-config '{"method": "mtp", "num_speculative_tokens": 3}' \ --tool-call-parser glm45 \ --reasoning-parser glm45 \ --enable-auto-tool-choice \ --additional-config '{"ascend_scheduler_config": {"enable": true}}' **测试镜像:vllm v0.18.0rc1-a3** 模型量化后,MTP采信率正常  因为是bugfix,这里稍微做一下精度验证: **AIME2025**:精度达标 标杆95.3  --- ### 4. 自检(请逐项确认,不适用标 N/A) **典型安全编码问题** - [x] 是否已校验外部数据 - [x] 是否未采集或打印敏感信息 - [x] 是否已正确设置文件权限 - [x] 是否充分考虑浮点运算溢出、除零等异常场景 - [x] 是否已对正则表达式做 ReDos 检查 **DT** - [x] 是否具备 UT 测试用例看护(路径:test/cases/model/glm4_moe/test_model_adapter_glm4_moe.py;已随 commit 扩展用例) - [ ] 是否需要添加冒烟:否 See merge request: Ascend/msmodelslim!398 | 3 个月前 | |
【bugfix】修复glm47-flash的yaml格式错误 Co-authored-by: qq_46439621<wanlongze1@huawei.com> # message auto-generated for no-merge-commit merge: !688 merge sglang_test into master 【bugfix】修复glm47-flash的yaml格式错误 Created-by: qq_46439621 Commit-by: qq_46439621 Merged-by: ascend-robot Description: # PR 提交说明 提交前请阅读 https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/contributing/contributing_guide.md ,开发者文档: https://msmodelslim.readthedocs.io/zh-cn/latest/zh/development_guide/integrating_models PR 标题前缀:[Bugfix] ## 1. 影响面评估 **接口变更(按需):** 无 **输出件变更(按需):** 无 **非兼容变更(按需):** 无 **SIG 评审结论(按需):** 无 ## 2. 修改描述 **修改背景:** 使用 msmodelslim quant 命令对 GLM-4.7-Flash 模型进行 W8A8 量化时,出现 SchemaValidateError 错误,提示 metadata.verified_model_types 字段应为列表类型,但实际接收到的是字典类型。 **修改目的:** 修复 GLM-4.7-Flash 模型量化配置文件中的字段名错误,确保量化流程正常执行。 **修改内容:** - infra/yaml_practice: 修正 lab_practice/glm4_moe_lite/glm4_moe_lite_w8a8.yaml 配置文件中的字段名错误,将错误的 verified_model_types 字段更正为 verified_tags,与 PracticeConfig 模型定义保持一致。 ## 3. 功能验证 - [ ] 功能自验 - [ ] 本地自验用例截图(请勿包含个人信息;可附复现命令) **复现步骤:** bash # 修复前命令报错 msmodelslim quant \ --model_path ${MODEL_PATH} \ --save_path ${SAVE_PATH} \ --device npu:0 \ --model_type GLM-4.7-Flash \ --quant_type w8a8 \ --trust_remote_code True # 修复后命令正常执行 ## 4. 自检(请逐项确认,不适用标 N/A) **典型安全编码问题** - [x] 是否已校验外部数据(YAML 配置文件字段名已校验) - [x] 是否未采集或打印敏感信息 - [x] 是否已正确设置文件权限 - [x] 是否充分考虑浮点运算溢出、除零等异常场景(不适用) - [x] 是否已对正则表达式做 ReDos 检查(不适用) **DT** - [ ] 是否具备 UT 测试用例看护(路径:用例路径;未添加请说明原因) - [ ] 是否需要添加冒烟:否(若「是」请说明冒烟场景及对应用途) See merge request: Ascend/msmodelslim!688 | 3 个月前 | |
【bugfix】GLM-5.1 量化配置移除 layer78 排除项,和性能出口对齐 Co-authored-by: qq_46439621<wanlongze1@huawei.com> # message auto-generated for no-merge-commit merge: !840 merge glm51_yaml_update into master 【bugfix】GLM-5.1 量化配置移除 layer78 排除项,和性能出口对齐 Created-by: qq_46439621 Commit-by: qq_46439621 Merged-by: ascend-robot Description: # PR 提交说明 提交前请阅读 https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/contributing/contributing_guide.md ,开发者文档:[模型接入指南](../docs/zh/knowledge_base/model/integrating_models.md) PR 标题前缀:[Feature]、[Bugfix]、[Doc]、[Test](与 CONTRIBUTING 一致) ## 1. 影响面评估 **接口变更(按需):** 无 > 备注:若无变更请保留「无」;涉及 CLI、API、YAML 等请在此项补充说明。 **输出件变更(按需):** 无 > 备注:若无变更请保留「无」;涉及导出格式、产物路径等请在此项补充说明。 **非兼容变更(按需):** 无 > 备注:若无变更请保留「无」;若有非兼容变更请说明迁移方式。 **SIG 评审结论(按需):** 无 > 提醒:非兼容、安全风险等高危 PR 须经 SIG 评审后合入;无则保留「无」。 ## 2. 修改描述 **修改背景(可选):** GLM-5.1 量化案例 yaml 配置中,model.layers.78.* 作为硬编码的层排除项,仅针对特定故障层的规避方案,属历史遗留的个案处理,会导致同网络结构在其他模型规模或版本下量化范围不一致,且难以维护。 **修改目的:** 移除量化 yaml 配置中硬编码的 model.layers.78.* 层排除项,恢复按模型结构自动进行量化分层的逻辑,提升配置通用性与可维护性。 **修改内容:** - app/最佳实践量化:移除 GLM-5.1 W8A8/W8A8C8/W4A8/W4A8C8 共 4 个量化案例 yaml 中 model.layers.78.* 的层排除项(self_attn、mlp、mlp.experts 三处 exclude 列表),并同步清理 w4a8/w4a8c8 中 mlp.experts 对应的空 exclude 块。 **首先,78层为MTP,MTP不影响模型精度,然后这里是为了和性能出口保持一致,所以做如下更新** ## 3. 功能验证 冒烟由 CI 门禁检查,无需填写「冒烟是否通过」。 - [ ] 功能自验 - [ ] 本地自验用例截图(请勿包含个人信息;可附复现命令) **复现步骤(可选):** bash # 在此粘贴可复现命令 ## 4. 自检(请逐项确认,不适用标 N/A) **典型安全编码问题** - [ ] N/A 是否已校验外部数据 - [ ] N/A 是否未采集或打印敏感信息 - [ ] N/A 是否已正确设置文件权限 - [ ] N/A 是否充分考虑浮点运算溢出、除零等异常场景 - [ ] N/A 是否已对正则表达式做 ReDos 检查 **DT** - [ ] N/A 是否具备 UT 测试用例看护(路径:用例路径;未添加请说明原因) - [ ] N/A 是否需要添加冒烟:否(若「是」请说明冒烟场景及对应用途) See merge request: Ascend/msmodelslim!840 | 2 个月前 | |
【Feature】新增GLM-5.3 W8A8/W8A8C8 量化 Co-authored-by: qq_46439621<wanlongze1@huawei.com> # message auto-generated for no-merge-commit merge: !917 merge glm53_quant into master 【Feature】新增GLM-5.3 W8A8/W8A8C8 量化 Created-by: qq_46439621 Commit-by: qq_46439621 Merged-by: ascend-robot Description: # PR 提交说明 提交前请阅读 [贡献指南](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/contributing/contributing_guide.md),开发者文档:[模型接入指南](../docs/zh/knowledge_base/model/integrating_models.md) PR 标题前缀:[Feature]、[Bugfix]、[Doc]、[Test](与 CONTRIBUTING 一致) ## 1. 影响面评估 **接口变更(按需):** 无 > 备注:若无变更请保留「无」;涉及 CLI、API、YAML 等请在此项补充说明。 **输出件变更(按需):** - 新增 GLM-5.3 模型量化适配能力,可导出 GLM-5.3 的 W8A8/W8A8C8(int8 与 MXFP8)量化权重(ascendv1_saver),属新增能力,对存量模型无影响。 > 备注:若无变更请保留「无」;涉及导出格式、产物路径等请在此项补充说明。 **非兼容变更(按需):** 无 > 备注:若无变更请保留「无」;若有非兼容变更请说明迁移方式。 **SIG 评审结论(按需):** 无 > 提醒:非兼容、安全风险等高危 PR 须经 SIG 评审后合入;无则保留「无」。 ## 2. 修改描述 **修改背景(可选):** GLM-5.3 是 GLM 系列新版本模型,模型结构与 GLM-5.2 一致(复用 Glm52AdapterLoader 加载器)。当前 msmodelslim 尚未提供该模型的量化配置,用户无法通过一键量化命令完成 GLM-5.3 量化。 **修改目的:** 为 GLM-5.3 提供 W8A8 / W8A8C8 两种量化策略(各含 int8 与 MXFP8 变体,共 4 个最佳实践配置),并同步补充中文资料,使开发者可通过一键量化命令完成 GLM-5.3 量化。 **修改内容:** - infra/模型映射: config/config.ini 注册 glm_5_3 模型名(GLM-5.3)、加载器映射(复用 Glm52AdapterLoader)及 transformers==5.15.0 版本约束。 - app/最佳实践量化:新增 lab_practice/glm_5_2/ 下 4 个量化配置: - glm_5_3_w8a8.yaml(W8A8,int8 动态量化,verified_tags: vLLM_Ascend + Atlas_A2/A3_Inference) - glm_5_3_w8a8_mxfp8.yaml(W8A8 MXFP8,per_block mxfp8,verified_tags: vLLM_Ascend + Atlas_350) - glm_5_3_w8a8c8.yaml(W8A8C8,int8 + KV Cache INT8) - glm_5_3_w8a8c8_mxfp8.yaml(W8A8C8 MXFP8 + KV Cache INT8) - docs/中文资料: - 模型支持矩阵(docs/zh/knowledge_base/model/README.md)新增 GLM-5.3 行(transformers==5.15.0,w8a8/w8a8c8 一键量化) - 并行支持列表(docs/zh/knowledge_base/parallel/README.md)GLM52ModelAdapter 行补充 GLM-5.3 - example/GLM-5/README.md 新增 GLM-5.3 版本准备说明、量化策略表行及 4 个一键量化命令示例(MXFP8 变体通过 --tags Atlas_350 匹配) **概念域参考(填写提示):** - cli:命令行 quant / analyze / tune - app:最佳实践量化、量化分析、精度反馈自动调优等 - core:算法、量化服务、调度、张量量化、调优策略、最佳实践、上下文等 - infra:模型适配、调优计划/历史/缓存、测评服务等 - utils:日志、错误处理、插件等 ## 3. 功能验证 冒烟由 CI 门禁检查,无需填写「冒烟是否通过」。 - [ ] 功能自验 - [ ] 本地自验用例截图(请勿包含个人信息;可附复现命令) **复现步骤(可选):** 环境安装 # 0. 环境准备(拉取本 PR 分支并安装) git clone https://gitcode.com/qq_46439621/msmodelslim.git cd msmodelslim git fetch origin git checkout glm53_quant bash install.sh cd .. bash # W8A8 一键量化(匹配 glm_5_3_w8a8.yaml,int8) msmodelslim quant \ --model_path ${MODEL_PATH} \ --save_path ${SAVE_PATH} \ --device npu \ --model_type GLM-5.3 \ --quant_type w8a8 \ --trust_remote_code True # W8A8 MXFP8 一键量化(匹配 glm_5_3_w8a8_mxfp8.yaml) msmodelslim quant \ --model_path ${MODEL_PATH} \ --save_path ${SAVE_PATH} \ --device npu \ --model_type GLM-5.3 \ --quant_type w8a8 \ --tags Atlas_350 \ --trust_remote_code True # W8A8C8 一键量化(匹配 glm_5_3_w8a8c8.yaml,int8 + KV Cache INT8) msmodelslim quant \ --model_path ${MODEL_PATH} \ --save_path ${SAVE_PATH} \ --device npu \ --model_type GLM-5.3 \ --quant_type w8a8c8 \ --trust_remote_code True # W8A8C8 MXFP8 一键量化(匹配 glm_5_3_w8a8c8_mxfp8.yaml) msmodelslim quant \ --model_path ${MODEL_PATH} \ --save_path ${SAVE_PATH} \ --device npu \ --model_type GLM-5.3 \ --quant_type w8a8c8 \ --tags Atlas_350 \ --trust_remote_code True ## 4. 自检(请逐项确认,不适用标 N/A) 内部精度数据集验证结果(GPQA 论文基线91-92分) glm5.3 W8A8C8 A5 双机混部 dp8tp4ep 90.4 A3 双机混部 dp8tp4ep 92.42 A2 四机混部 dp4tp8ep 90.4 **典型安全编码问题** - [ ] N/A 是否已校验外部数据 - [ ] N/A 是否未采集或打印敏感信息 - [ ] N/A 是否已正确设置文件权限 - [ ] N/A 是否充分考虑浮点运算溢出、除零等异常场景 - [ ] N/A 是否已对正则表达式做 ReDos 检查 **DT** - [ ] N/A 是否具备 UT 测试用例看护(路径:用例路径;未添加请说明原因):本次仅新增量化配置(YAML)与中文资料,无新增 Python 代码;GLM-5.3 复用 GLM-5.2 适配器(Glm52AdapterLoader),已有 UT 用例看护(test_model_adapter_glm_5_2 等) - [ ] 是否需要添加冒烟:否(若「是」请说明冒烟场景及对应用途) See merge request: Ascend/msmodelslim!917 | 1 个月前 | |
[Doc] 将英文文档、example 与 skills 中的 CLI 示例对齐当前命令行规范 补齐 --config、--device/--device_id 与 trust_remote_code 小写 true/false 的残留旧写法,并同步 load 配置示例与 issue 模板。 Co-authored-by: Cursor <cursoragent@cursor.com> | 1 个月前 | |
[Bugfix] modify 950 tag and delete mxfp in support table Co-authored-by: caishengcheng<caishengcheng@huawei.com> # message auto-generated for no-merge-commit merge: !774 merge docs into master [Bugfix] modify 950 tag and delete mxfp in support table Created-by: caishengcheng Commit-by: caishengcheng Merged-by: ascend-robot Description: # PR 提交说明 提交前请阅读 [CONTRIBUTING.md](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/contributing/contributing_guide.md),开发者文档:[模型接入指南](../docs/zh/development_guide/integrating_models.md) PR 标题前缀:[Feature]、[Bugfix]、[Doc]、[Test](与 CONTRIBUTING 一致) **建议标题:** [Bugfix][26.1.0] modify 950 tag and delete mxfp in support table ## 1. 影响面评估 **接口变更(按需):** 无 **输出件变更(按需):** 无 **非兼容变更(按需):** --tag 硬件场景标签由 Atlas_A5_Interface 统一更名为 Ascend_950;使用旧标签将无法匹配对应 lab_practice 配置,需改用 Ascend_950。原Atlas_350 tag下新增 Ascend_950。 **SIG 评审结论(按需):** 无 ## 2. 修改描述 **修改背景(可选):** 昇腾 950 相关场景标签命名不统一(Atlas_350、Atlas_A5_Interface),且 example 支持矩阵表中对外展示了 mxfp 字样,需与产品命名及对外表述对齐。 **修改目的:** 统一硬件场景标签为 Ascend_950,并清理支持矩阵表中的 mxfp 展示文案。 **修改内容:** - lab_practice:相关 YAML 的 verified_tags 中 Atlas_350 / Atlas_A5_Interface 统一改为 Ascend_950 - example:GLM-5、MiniMax-M2、LongCat-Flash、Qwen3-VL-MoE、QwenImageEdit 等 README 支持矩阵去掉 mxfp 字样,示例命令 --tag 同步为 Ascend_950 - docs:中英文一键量化 usage 文档的 tag 硬件形态说明补充 Ascend_950 - cli / app / core:命令行帮助与注释中的硬件 tag 示例更新为 Ascend_950(匹配逻辑仍为大小写不敏感字符串匹配,无接口行为变更) ## 3. 功能验证 冒烟由 CI 门禁检查,无需填写「冒烟是否通过」。 - [x] 功能自验 - [x] 本地自验用例截图(请勿包含个人信息;可附复现命令) **复现步骤(可选):** bash # 使用新硬件标签匹配最佳实践配置(示例) msmodelslim quant \ --model_path ${MODEL_PATH} \ --save_path ${SAVE_PATH} \ --device npu \ --model_type GLM-5.1 \ --quant_type w4a4c8 \ --tag vLLM_Ascend Ascend_950 \ --trust_remote_code True ## 4. 自检(请逐项确认,不适用标 N/A) **典型安全编码问题** - [x] 是否已校验外部数据(N/A:无新增外部输入处理) - [x] 是否未采集或打印敏感信息 - [x] 是否已正确设置文件权限(N/A) - [x] 是否充分考虑浮点运算溢出、除零等异常场景(N/A) - [x] 是否已对正则表达式做 ReDos 检查(N/A) **DT** - [x] 是否具备 UT 测试用例看护(N/A:本次仅为标签命名与文档表述调整;26.1.0 分支无 gemma4 相关用例文件) - [x] 是否需要添加冒烟:否 See merge request: Ascend/msmodelslim!774 | 2 个月前 | |
【msmodelslim】【Feature】support hy3 w8a8 quant Co-authored-by: anreywmh<18845895998@163.com> # message auto-generated for no-merge-commit merge: !712 merge hy_3.0_a2_a3 into master 【msmodelslim】【Feature】support hy3 w8a8 quant Created-by: anreywmh Commit-by: anreywmh Merged-by: ascend-robot Description: # PR 提交说明 提交前请阅读 [CONTRIBUTING.md](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/contributing/contributing_guide.md),开发者文档:[模型接入指南](https://msmodelslim.readthedocs.io/zh-cn/latest/zh/development_guide/integrating_models) PR 标题前缀:[Feature]、[Bugfix]、[Doc]、[Test](与 CONTRIBUTING 一致) ## 1. 影响面评估 **接口变更(按需):** 无 > 备注:若无变更请保留「无」;涉及 CLI、API、YAML 等请在此项补充说明。 **输出件变更(按需):** 无 > 备注:若无变更请保留「无」;涉及导出格式、产物路径等请在此项补充说明。 **非兼容变更(按需):** 无 > 备注:若无变更请保留「无」;若有非兼容变更请说明迁移方式。 **SIG 评审结论(按需):** 无 > 提醒:非兼容、安全风险等高危 PR 须经 SIG 评审后合入;无则保留「无」。 ## 2. 修改描述 **修改背景(可选):**(问题现象、使用场景等) 0Day 支持HY3 W8A8 量化 **修改目的:**(本 PR 要达成什么目标) 0Day 支持HY3 W8A8 量化 **修改内容:**(按「概念 - 变化」分条,示例:core/算法:新增 SmoothQuant 离群值抑制) 1、接入HY3 model_adpter.py 2、给出HY3 W8A8量化最佳实践 3、补充支持HY3 W8A8量化资料 关键细节: 1、checkpoint中mlp.experts.*.gate_proj.weight + up_proj.weight是独立的, from_pretrained 读 safetensors 时被 fuse 为 gate_up_proj 是Parameter 的,无法量化需要转换 .解决手段:在量化某一 decoder layer 之前,如果该层的 MLP 还是 融合 MoE 结构,就先把它拆成逐专家的 nn.Linear,否则 linear_quant 无法按专家粒度量化,量化到第 N 层时才拆第 N 层的 MoE,有利于控制显存峰值。Hy3 约有 192 个专家,单层 MoE 权重量很大。在 NPU 上做 copy_ 通常比 CPU 更快。注意要将transformers处理后的e_score_correction_bias、shared_experts和gate,变为expert_bias、shared_mlp和router.gate 2、mtp在model.layers.80,但是config.num_hidden_layers等于80,需要处理MTP和mlp_layer_types 3、e_score_correction_bias要从buffer转为Parameter 4、mlp.gate要回退 5、名字得换回去: model.layers.1.mlp.expert_bias - model.layers.1.mlp.router.gate.weight - model.layers.1.mlp.shared_mlp.down_proj.weight - model.layers.1.mlp.shared_mlp.gate_proj.weight - model.layers.1.mlp.shared_mlp.up_proj.weight **概念域参考(填写提示):** - cli:命令行 quant / analyze / tune - app:最佳实践量化、量化分析、精度反馈自动调优等 - core:算法、量化服务、调度、张量量化、调优策略、最佳实践、上下文等 - infra:模型适配、调优计划/历史/缓存、测评服务等 - utils:日志、错误处理、插件等 ## 3. 功能验证 冒烟由 CI 门禁检查,无需填写「冒烟是否通过」。  md5值一致  - [x] 功能自验 - [x] 本地自验用例截图(请勿包含个人信息;可附复现命令) **复现步骤(可选):** bash msmodelslim quant \ --model_path ${model_path} \ --save_path ${save_path} \ --device npu \ --model_type Hy3 \ --quant_type w8a8 \ --trust_remote_code True ## 4. 自检(请逐项确认,不适用标 N/A) **典型安全编码问题** - [x] 是否已校验外部数据 NA - [ ] 是否未采集或打印敏感信息 NA - [ ] 是否已正确设置文件权限 NA - [ ] 是否充分考虑浮点运算溢出、除零等异常场景 NA - [ ] 是否已对正则表达式做 ReDos 检查 NA **DT** - [ ] 是否具备 UT 测试用例看护(路径:用例路径;未添加请说明原因) NA - [ ] 是否需要添加冒烟:否(若「是」请说明冒烟场景及对应用途) NA See merge request: Ascend/msmodelslim!712 | 3 个月前 | |
[feature]适配internvl-38B模型w8a8 Co-authored-by: 李明宇<limingyu35@h-partners.com> # message auto-generated for no-merge-commit merge: !484 merge master-internvl-dense-0602 into master [feature]适配internvl-38B模型w8a8 Created-by: code_mingming Commit-by: code_mingming;李明宇 Merged-by: ascend-robot Description: 感谢您贡献的Pull Request! 在提交之前,请务必阅读 [CONTRIBUTING.md](https://gitcode.com/Ascend/msmodelslim/blob/master/CONTRIBUTING.md)。 Thanks for sending a pull request! BEFORE SUBMITTING, PLEASE READ [CONTRIBUTING.md](https://gitcode.com/Ascend/msmodelslim/blob/master/CONTRIBUTING.md). ## PR描述 (What this PR does / why we need it?) 适配internvl-38B模型w8a8量化 ## 面向用户的变更 (Does this PR introduce _any_ user-facing change)? - 请注意,这里指的是**任何**面向用户的变更,包括但不限于API、用户界面或其他使用方式上的变更。 - Note that it means *any* user-facing change including all aspects such as API, interface or other behavior changes. ## 功能验证 (How was this patch tested?) 请确认CI已通过增量及存量的单元测试用例。 如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤(最好提供完整的可复现的操作路径及关键截图),以便Committer能够快速复现验证,也便于后续的维护。 如果未添加测试,请说明未添加的原因,以及为何难添加测试。 - [_] 功能自验 - [_] 本地自验截图(涉及个人标识符等敏感信息请注意脱敏) - [_] 新增/变更内容是否已新增/适配UT测试用例看护 CI passed with new added/existing test. If it was tested in a way different from regular unit tests, please clarify how you tested step by step, ideally copy and paste-able, so that other reviewers can test and check, and descendants can verify in the future. If tests were not added, please describe why they were not added and/or why it was difficult to add. - [_] Self-verification of the feature. - [_] Screenshot of local self-verification (please anonymize any sensitive information such as personal identifiers) - [_] Have new or modified unit test (UT) cases been added or adapted to cover the newly added or changed content? See merge request: Ascend/msmodelslim!484 | 4 个月前 | |
[feature]适配internvl-moe模型w8a8 Co-authored-by: 李明宇<limingyu35@h-partners.com> # message auto-generated for no-merge-commit merge: !486 merge master-internvl-moe into master [feature]适配internvl-moe模型w8a8 Created-by: code_mingming Commit-by: 李明宇 Merged-by: ascend-robot Description: 感谢您贡献的Pull Request! 在提交之前,请务必阅读 [CONTRIBUTING.md](https://gitcode.com/Ascend/msmodelslim/blob/master/CONTRIBUTING.md)。 Thanks for sending a pull request! BEFORE SUBMITTING, PLEASE READ [CONTRIBUTING.md](https://gitcode.com/Ascend/msmodelslim/blob/master/CONTRIBUTING.md). ## PR描述 (What this PR does / why we need it?) 适配internvl-moe模型w8a8量化 ## 面向用户的变更 (Does this PR introduce _any_ user-facing change)? - 请注意,这里指的是**任何**面向用户的变更,包括但不限于API、用户界面或其他使用方式上的变更。 - Note that it means *any* user-facing change including all aspects such as API, interface or other behavior changes. ## 功能验证 (How was this patch tested?) 请确认CI已通过增量及存量的单元测试用例。 如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤(最好提供完整的可复现的操作路径及关键截图),以便Committer能够快速复现验证,也便于后续的维护。 如果未添加测试,请说明未添加的原因,以及为何难添加测试。 - [_] 功能自验 - [_] 本地自验截图(涉及个人标识符等敏感信息请注意脱敏) - [_] 新增/变更内容是否已新增/适配UT测试用例看护 CI passed with new added/existing test. If it was tested in a way different from regular unit tests, please clarify how you tested step by step, ideally copy and paste-able, so that other reviewers can test and check, and descendants can verify in the future. If tests were not added, please describe why they were not added and/or why it was difficult to add. - [_] Self-verification of the feature. - [_] Screenshot of local self-verification (please anonymize any sensitive information such as personal identifiers) - [_] Have new or modified unit test (UT) cases been added or adapted to cover the newly added or changed content? See merge request: Ascend/msmodelslim!486 | 4 个月前 | |
【msmodelslim】代码回合 Co-authored-by: caishengcheng<caishengcheng@huawei.com> # message auto-generated for no-merge-commit merge: !26 merge code into master 【msmodelslim】代码回合 Created-by: caishengcheng Commit-by: caishengcheng Merged-by: ascend-robot Description: 【msmodelslim】代码回合 See merge request: Ascend/msmodelslim!26 | 9 个月前 | |
[Bugfix] modify 950 tag and delete mxfp in support table Co-authored-by: caishengcheng<caishengcheng@huawei.com> # message auto-generated for no-merge-commit merge: !774 merge docs into master [Bugfix] modify 950 tag and delete mxfp in support table Created-by: caishengcheng Commit-by: caishengcheng Merged-by: ascend-robot Description: # PR 提交说明 提交前请阅读 [CONTRIBUTING.md](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/contributing/contributing_guide.md),开发者文档:[模型接入指南](../docs/zh/development_guide/integrating_models.md) PR 标题前缀:[Feature]、[Bugfix]、[Doc]、[Test](与 CONTRIBUTING 一致) **建议标题:** [Bugfix][26.1.0] modify 950 tag and delete mxfp in support table ## 1. 影响面评估 **接口变更(按需):** 无 **输出件变更(按需):** 无 **非兼容变更(按需):** --tag 硬件场景标签由 Atlas_A5_Interface 统一更名为 Ascend_950;使用旧标签将无法匹配对应 lab_practice 配置,需改用 Ascend_950。原Atlas_350 tag下新增 Ascend_950。 **SIG 评审结论(按需):** 无 ## 2. 修改描述 **修改背景(可选):** 昇腾 950 相关场景标签命名不统一(Atlas_350、Atlas_A5_Interface),且 example 支持矩阵表中对外展示了 mxfp 字样,需与产品命名及对外表述对齐。 **修改目的:** 统一硬件场景标签为 Ascend_950,并清理支持矩阵表中的 mxfp 展示文案。 **修改内容:** - lab_practice:相关 YAML 的 verified_tags 中 Atlas_350 / Atlas_A5_Interface 统一改为 Ascend_950 - example:GLM-5、MiniMax-M2、LongCat-Flash、Qwen3-VL-MoE、QwenImageEdit 等 README 支持矩阵去掉 mxfp 字样,示例命令 --tag 同步为 Ascend_950 - docs:中英文一键量化 usage 文档的 tag 硬件形态说明补充 Ascend_950 - cli / app / core:命令行帮助与注释中的硬件 tag 示例更新为 Ascend_950(匹配逻辑仍为大小写不敏感字符串匹配,无接口行为变更) ## 3. 功能验证 冒烟由 CI 门禁检查,无需填写「冒烟是否通过」。 - [x] 功能自验 - [x] 本地自验用例截图(请勿包含个人信息;可附复现命令) **复现步骤(可选):** bash # 使用新硬件标签匹配最佳实践配置(示例) msmodelslim quant \ --model_path ${MODEL_PATH} \ --save_path ${SAVE_PATH} \ --device npu \ --model_type GLM-5.1 \ --quant_type w4a4c8 \ --tag vLLM_Ascend Ascend_950 \ --trust_remote_code True ## 4. 自检(请逐项确认,不适用标 N/A) **典型安全编码问题** - [x] 是否已校验外部数据(N/A:无新增外部输入处理) - [x] 是否未采集或打印敏感信息 - [x] 是否已正确设置文件权限(N/A) - [x] 是否充分考虑浮点运算溢出、除零等异常场景(N/A) - [x] 是否已对正则表达式做 ReDos 检查(N/A) **DT** - [x] 是否具备 UT 测试用例看护(N/A:本次仅为标签命名与文档表述调整;26.1.0 分支无 gemma4 相关用例文件) - [x] 是否需要添加冒烟:否 See merge request: Ascend/msmodelslim!774 | 2 个月前 | |
[Feature] kimi k3 add practice Co-authored-by: xyxin_006<xiayingxin1@huawei.com> # message auto-generated for no-merge-commit merge: !903 merge model/kimi_k3_b050 into master [Feature] kimi k3 add practice Created-by: xyxin_006 Commit-by: xyxin_006 Merged-by: ascend-robot Description: # PR 提交说明 提交前请阅读 [贡献指南](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/contributing/contributing_guide.md),开发者文档:[模型接入指南](../docs/zh/knowledge_base/model/integrating_models.md) PR 标题前缀:[Feature]、[Bugfix]、[Doc]、[Test](与 CONTRIBUTING 一致) ## 1. 影响面评估 **接口变更(按需):** 无 > 沿用既有 msmodelslim quant CLI 与实践匹配逻辑;通过新增/完善 lab_practice YAML 与 README 示例接入,不新增命令行参数或 API。 **输出件变更(按需):** 无 > 导出仍为 ascendv1_saver;INT / MXFP / FA3 走既有量化与保存链路,不改变既有产物格式约定。 **非兼容变更(按需):** 无 **SIG 评审结论(按需):** 无 ## 2. 修改描述 **修改背景(可选):** Kimi-K3 为原生多模态大模型(语言侧 KDA/MLA + Latent MoE)。此前缺少可一键命中的官方实践配置与文档说明;INT W4A8 与 MXFP W4A8 共用 quant_type=w4a8,需通过 verified_tags + --tags 区分。 **修改目的:** 为 Kimi-K3 补齐 INT W4A8、INT W4A8C8(含 FA3)与 MXFP W4A8 三套可验证实践,并更新 example/multimodal_vlm/Kimi-K3/README.md,便于按场景一键量化。 **修改内容:** - app/最佳实践:新增/完善 lab_practice/kimi_k3/kimi_k3_w4a8.yaml - app/最佳实践:新增 lab_practice/kimi_k3/kimi_k3_w4a8c8.yaml - app/最佳实践:新增 lab_practice/kimi_k3/kimi_k3_w4a8_mxfp.yaml - docs/示例:更新 example/multimodal_vlm/Kimi-K3/README.md(模型说明、三套方法与命令;说明仅 --quant_type w4a8 默认命中 INT,MXFP 需加 --tags vLLM_Ascend Ascend_950) ## 3. 功能验证 冒烟由 CI 门禁检查,无需填写「冒烟是否通过」。 - [x] 功能自验 - [ ] 本地自验用例截图(请勿包含个人信息;可附复现命令) **复现步骤(可选):** ## 4. 自检(请逐项确认,不适用标 N/A) **典型安全编码问题** - [x] 是否已校验外部数据(N/A:仅实践 YAML / 文档) - [x] 是否未采集或打印敏感信息 - [x] 是否已正确设置文件权限(N/A) - [x] 是否充分考虑浮点运算溢出、除零等异常场景(N/A) - [x] 是否已对正则表达式做 ReDos 检查(N/A) **DT** - [x] 是否具备 UT 测试用例看护(未添加:本 PR 为 lab_practice 配置与示例文档,走既有匹配/调度路径,无新增算法代码) - [x] 是否需要添加冒烟:否 See merge request: Ascend/msmodelslim!903 | 1 个月前 | |
【feature】model_type支持transformers Co-authored-by: zhangz200102<zhangzheng183@huawei.com> # message auto-generated for no-merge-commit merge: !891 merge feature/support_transformers_model_type into master 【feature】model_type支持transformers Created-by: zhangz200102 Commit-by: zhangz200102 Merged-by: ascend-robot Description: # PR 提交说明 提交前请阅读 [贡献指南](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/contributing/contributing_guide.md),开发者文档:[模型接入指南](../docs/zh/knowledge_base/model/integrating_models.md) PR 标题前缀:[Feature]、[Bugfix]、[Doc]、[Test](与 CONTRIBUTING 一致) ## 1. 影响面评估 **接口变更(按需):** 无 > 备注:若无变更请保留「无」;涉及 CLI、API、YAML 等请在此项补充说明。 **输出件变更(按需):** 无 > 备注:若无变更请保留「无」;涉及导出格式、产物路径等请在此项补充说明。 **非兼容变更(按需):** 无 > 备注:若无变更请保留「无」;若有非兼容变更请说明迁移方式。 **SIG 评审结论(按需):** 无 > 提醒:非兼容、安全风险等高危 PR 须经 SIG 评审后合入;无则保留「无」。 ## 2. 修改描述 **修改背景(可选):**(问题现象、使用场景等) 详见关联issue:https://gitcode.com/Ascend/msmodelslim/issues/512 **修改目的:**(本 PR 要达成什么目标) 提供transformers模型的基础量化方案 1、model_type支持transformers,仅支持加载transformers模型,不支持算法接口(与default区别,default有算法默认适配) 2、资料声明model_type支持transformers,仅支持LLM 3、transformers最佳实践配置增加A3 W8A16,A5 W8A8(MXFP8)量化配置,无抑制,全量化 **修改内容:**(按「概念 - 变化」分条,示例:core/算法:新增 SmoothQuant 离群值抑制) model:模型库增加LLM transformers模型的基础适配器 lab_practice:最佳实践库增加transformers模型 A3 W8A16,A5 W8A8(MXFP8)量化配置 **概念域参考(填写提示):** - cli:命令行 quant / analyze / tune - app:最佳实践量化、量化分析、精度反馈自动调优等 - core:算法、量化服务、调度、张量量化、调优策略、最佳实践、上下文等 - infra:模型适配、调优计划/历史/缓存、测评服务等 - utils:日志、错误处理、插件等 ## 3. 功能验证 冒烟由 CI 门禁检查,无需填写「冒烟是否通过」。 - [x] 功能自验 - [ ] 本地自验用例截图(请勿包含个人信息;可附复现命令) **复现步骤(可选):** bash # 在此粘贴可复现命令 ## 4. 自检(请逐项确认,不适用标 N/A) **典型安全编码问题** - [x] 是否已校验外部数据 - [x] 是否未采集或打印敏感信息 - [x] 是否已正确设置文件权限 - [x] 是否充分考虑浮点运算溢出、除零等异常场景 - [x] 是否已对正则表达式做 ReDos 检查 **DT** - [x] 是否具备 UT 测试用例看护(路径:用例路径;未添加请说明原因)  路径:test/cases/model/transformers/ - [ ] 是否需要添加冒烟:否(若「是」请说明冒烟场景及对应用途) See merge request: Ascend/msmodelslim!891 | 1 个月前 | |
[Bugfix] modify 950 tag and delete mxfp in support table Co-authored-by: caishengcheng<caishengcheng@huawei.com> # message auto-generated for no-merge-commit merge: !774 merge docs into master [Bugfix] modify 950 tag and delete mxfp in support table Created-by: caishengcheng Commit-by: caishengcheng Merged-by: ascend-robot Description: # PR 提交说明 提交前请阅读 [CONTRIBUTING.md](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/contributing/contributing_guide.md),开发者文档:[模型接入指南](../docs/zh/development_guide/integrating_models.md) PR 标题前缀:[Feature]、[Bugfix]、[Doc]、[Test](与 CONTRIBUTING 一致) **建议标题:** [Bugfix][26.1.0] modify 950 tag and delete mxfp in support table ## 1. 影响面评估 **接口变更(按需):** 无 **输出件变更(按需):** 无 **非兼容变更(按需):** --tag 硬件场景标签由 Atlas_A5_Interface 统一更名为 Ascend_950;使用旧标签将无法匹配对应 lab_practice 配置,需改用 Ascend_950。原Atlas_350 tag下新增 Ascend_950。 **SIG 评审结论(按需):** 无 ## 2. 修改描述 **修改背景(可选):** 昇腾 950 相关场景标签命名不统一(Atlas_350、Atlas_A5_Interface),且 example 支持矩阵表中对外展示了 mxfp 字样,需与产品命名及对外表述对齐。 **修改目的:** 统一硬件场景标签为 Ascend_950,并清理支持矩阵表中的 mxfp 展示文案。 **修改内容:** - lab_practice:相关 YAML 的 verified_tags 中 Atlas_350 / Atlas_A5_Interface 统一改为 Ascend_950 - example:GLM-5、MiniMax-M2、LongCat-Flash、Qwen3-VL-MoE、QwenImageEdit 等 README 支持矩阵去掉 mxfp 字样,示例命令 --tag 同步为 Ascend_950 - docs:中英文一键量化 usage 文档的 tag 硬件形态说明补充 Ascend_950 - cli / app / core:命令行帮助与注释中的硬件 tag 示例更新为 Ascend_950(匹配逻辑仍为大小写不敏感字符串匹配,无接口行为变更) ## 3. 功能验证 冒烟由 CI 门禁检查,无需填写「冒烟是否通过」。 - [x] 功能自验 - [x] 本地自验用例截图(请勿包含个人信息;可附复现命令) **复现步骤(可选):** bash # 使用新硬件标签匹配最佳实践配置(示例) msmodelslim quant \ --model_path ${MODEL_PATH} \ --save_path ${SAVE_PATH} \ --device npu \ --model_type GLM-5.1 \ --quant_type w4a4c8 \ --tag vLLM_Ascend Ascend_950 \ --trust_remote_code True ## 4. 自检(请逐项确认,不适用标 N/A) **典型安全编码问题** - [x] 是否已校验外部数据(N/A:无新增外部输入处理) - [x] 是否未采集或打印敏感信息 - [x] 是否已正确设置文件权限(N/A) - [x] 是否充分考虑浮点运算溢出、除零等异常场景(N/A) - [x] 是否已对正则表达式做 ReDos 检查(N/A) **DT** - [x] 是否具备 UT 测试用例看护(N/A:本次仅为标签命名与文档表述调整;26.1.0 分支无 gemma4 相关用例文件) - [x] 是否需要添加冒烟:否 See merge request: Ascend/msmodelslim!774 | 2 个月前 | |
[Feature] add mimo-v2-flash-w8a8 quant adapter Co-authored-by: Kingbo_998<jingbo_gao@163.com> # message auto-generated for no-merge-commit merge: !384 merge master into master [Feature] add mimo-v2-flash-w8a8 quant adapter Created-by: Kingbo_998 Commit-by: Kingbo_998 Merged-by: ascend-robot Description: ## 1. 影响面评估 **接口变更(按需):** 无 **输出件变更(按需):** 无 **非兼容变更(按需):** 无 **SIG 评审结论(按需):** 无 ## 2. 修改描述 **修改背景(可选):** msModelSlim 当前缺少 MiMo-V2-Flash 模型的量化适配。 **修改目的:** 新增 MiMo-V2-Flash 模型适配器及 W8A8 量化配置,使该模型能够接入 msModelSlim 量化流程,并在降低模型加载内存占用的情况下完成量化。 **修改内容:** - infra/模型适配:新增 mimo_v2_flash 模型适配器,实现模型初始化、数据处理、逐层加载、模型遍历和前向流程。 - infra/模型注册:在 config/config.ini 中注册 MiMo-V2-Flash 模型名称、适配器加载入口及 transformers==4.57.6 依赖。 - infra/逐层加载:根据权重索引按需加载 Decoder Layer,支持 MiMo-V2-Flash 的 Hybrid Attention 和 MoE/MLP 混合层结构。 - app/最佳实践量化:新增 lab_practice/mimo_v2/mimo-v2-flash-w8a8.yaml,提供 per-token 激活量化和 per-channel 权重量化的 W8A8 配置。 - utils/安全校验:模型路径和权重索引分别通过 get_valid_read_path、json_safe_load 进行读取与校验。 ## 3. 功能验证 冒烟由 CI 门禁检查,无需填写“冒烟是否通过”。 - [x] 功能自验 - [x] 本地自验用例截图(请勿包含个人信息;可附复现命令) msmodelslim quant --device npu --model_path ./MiMo-V2-Flash-BF16/ --save_path ./MiMo-V2-Flash-w8a8/ --model_type MiMo-V2-Flash --config_path ./config.yaml --trust_remote_code True **验证结果:** - MiMo-V2-Flash 模型能够正常识别并加载对应适配器。 - W8A8 量化流程可以正常执行并导出量化模型。 - 量化模型精度已完成自验,与 BF16 基线精度对齐。 - 逐层加载流程运行正常,可以按需加载 Decoder Layer。 **验证配置:** text lab_practice/mimo_v2/mimo-v2-flash-w8a8.yaml ## 4. 自检(请逐项确认,不适用标 N/A) **典型安全编码问题** - [x] 是否已校验外部数据:模型路径和权重索引使用项目安全接口进行校验和读取。 - [x] 是否未采集或打印敏感信息:未采集或打印用户敏感信息。 - [ ] N/A:是否已正确设置文件权限。本次修改未新增文件写入和权限设置逻辑。 - [ ] N/A:是否充分考虑浮点运算溢出、除零等异常场景。本次修改未新增相关数值计算逻辑。 - [ ] N/A:是否已对正则表达式做 ReDoS 检查。本次修改未使用正则表达式。 **DT** - [ ] N/A:是否具备 UT 测试用例看护。本次未新增 UT;适配验证依赖完整 MiMo-V2-Flash 权重及 NPU 量化环境,已通过真实模型量化、精度对比和 CI 门禁进行验证。 - [x] 是否需要添加冒烟:否,现有 CI 门禁及模型量化自验已覆盖本次适配的主要流程。 See merge request: Ascend/msmodelslim!384 | 2 个月前 | |
[Bugfix] modify 950 tag and delete mxfp in support table Co-authored-by: caishengcheng<caishengcheng@huawei.com> # message auto-generated for no-merge-commit merge: !774 merge docs into master [Bugfix] modify 950 tag and delete mxfp in support table Created-by: caishengcheng Commit-by: caishengcheng Merged-by: ascend-robot Description: # PR 提交说明 提交前请阅读 [CONTRIBUTING.md](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/contributing/contributing_guide.md),开发者文档:[模型接入指南](../docs/zh/development_guide/integrating_models.md) PR 标题前缀:[Feature]、[Bugfix]、[Doc]、[Test](与 CONTRIBUTING 一致) **建议标题:** [Bugfix][26.1.0] modify 950 tag and delete mxfp in support table ## 1. 影响面评估 **接口变更(按需):** 无 **输出件变更(按需):** 无 **非兼容变更(按需):** --tag 硬件场景标签由 Atlas_A5_Interface 统一更名为 Ascend_950;使用旧标签将无法匹配对应 lab_practice 配置,需改用 Ascend_950。原Atlas_350 tag下新增 Ascend_950。 **SIG 评审结论(按需):** 无 ## 2. 修改描述 **修改背景(可选):** 昇腾 950 相关场景标签命名不统一(Atlas_350、Atlas_A5_Interface),且 example 支持矩阵表中对外展示了 mxfp 字样,需与产品命名及对外表述对齐。 **修改目的:** 统一硬件场景标签为 Ascend_950,并清理支持矩阵表中的 mxfp 展示文案。 **修改内容:** - lab_practice:相关 YAML 的 verified_tags 中 Atlas_350 / Atlas_A5_Interface 统一改为 Ascend_950 - example:GLM-5、MiniMax-M2、LongCat-Flash、Qwen3-VL-MoE、QwenImageEdit 等 README 支持矩阵去掉 mxfp 字样,示例命令 --tag 同步为 Ascend_950 - docs:中英文一键量化 usage 文档的 tag 硬件形态说明补充 Ascend_950 - cli / app / core:命令行帮助与注释中的硬件 tag 示例更新为 Ascend_950(匹配逻辑仍为大小写不敏感字符串匹配,无接口行为变更) ## 3. 功能验证 冒烟由 CI 门禁检查,无需填写「冒烟是否通过」。 - [x] 功能自验 - [x] 本地自验用例截图(请勿包含个人信息;可附复现命令) **复现步骤(可选):** bash # 使用新硬件标签匹配最佳实践配置(示例) msmodelslim quant \ --model_path ${MODEL_PATH} \ --save_path ${SAVE_PATH} \ --device npu \ --model_type GLM-5.1 \ --quant_type w4a4c8 \ --tag vLLM_Ascend Ascend_950 \ --trust_remote_code True ## 4. 自检(请逐项确认,不适用标 N/A) **典型安全编码问题** - [x] 是否已校验外部数据(N/A:无新增外部输入处理) - [x] 是否未采集或打印敏感信息 - [x] 是否已正确设置文件权限(N/A) - [x] 是否充分考虑浮点运算溢出、除零等异常场景(N/A) - [x] 是否已对正则表达式做 ReDos 检查(N/A) **DT** - [x] 是否具备 UT 测试用例看护(N/A:本次仅为标签命名与文档表述调整;26.1.0 分支无 gemma4 相关用例文件) - [x] 是否需要添加冒烟:否 See merge request: Ascend/msmodelslim!774 | 2 个月前 | |
[Feature][model]: Add MiniMax-M3 W8A8 quant Co-authored-by: tanxiangyuu<tanxiangyu2@huawei.com> # message auto-generated for no-merge-commit merge: !720 merge minimax_m3_master into master [Feature][model]: Add MiniMax-M3 W8A8 quant Created-by: tanxiangyuu Commit-by: tanxiangyuu Merged-by: ascend-robot Description: # PR 提交说明 提交前请阅读 [CONTRIBUTING.md](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/contributing/contributing_guide.md),开发者文档:[模型接入指南](https://msmodelslim.readthedocs.io/zh-cn/latest/zh/development_guide/integrating_models) PR 标题前缀:[Feature](与 CONTRIBUTING 一致) ## 1. 影响面评估 **接口变更(按需):** 无 **输出件变更(按需):** 无 **非兼容变更(按需):** 无 **SIG 评审结论(按需):** 无 ## 2. 修改描述 **修改背景:** MiniMax-M3(VL)是 MiniMax 最新发布的多模态大模型,采用稀疏 MoE + Dense 混合架构,支持 text/image/video 多模态输入。需要在 msmodelslim 中适配以支持 W8A8 量化。 **修改目的:** 支持 MiniMax-M3 模型的 W8A8 量化,包括 MoE 专家权重展开、RMSNorm 精度保持、稀疏注意力层检测、导出命名对齐等功能。 **修改内容:** - infra/模型适配:新增 MiniMax-M3 模型适配器,包括: - msmodelslim/model/minimax_m3/model_adapter.py — 核心适配器(layer-wise 加载、iter_smooth/QuaRot/导出等接口实现) - msmodelslim/model/minimax_m3/moe_utils.py — MoE 工具模块,将 transformers 原生 3D 专家权重展开为 per-expert nn.Linear(gate_proj/up_proj/down_proj) - msmodelslim/model/minimax_m3/loader.py — 适配器加载器 - config/config.ini — 注册 MiniMax-M3 模型类型映射 - app/最佳实践量化:新增 W8A8 最佳实践配置 lab_practice/minimax_m3/minimax_m3_w8a8.yaml,包含 iter_smooth + linear_quant 流程 - infra/子图配置:修复 iter_smooth 子图路径不匹配问题,yield 内部名而非保存名 - infra/稀疏层检测:修复 _is_sparse_layer 从自定义字段读取失败的问题,改为直接从原始 config.json 解析 sparse_attention_freq - infra/导出命名对齐:在 ascendv1_save_module_preprocess 中实现完整 SAVE 方向命名转换(model.language_model.* → language_model.model.*、mlp → block_sparse_moe、gate_proj → w1/w3/w2、vision_tower 嵌套展开、multi_modal_projector → patch_merge_mlp 等) - infra/RMSNorm 精度:将 Gemma-style RMSNorm 的 +1/-1 转换统一在 float32 精度下进行,消除 bf16 精度损失 - infra/e_score_correction_bias:修复 MoE 层 e_score_correction_bias 导出问题,buffer 转 parameter 确保被导出 **概念域参考(填写提示):** - cli:命令行 quant / analyze / tune - app:最佳实践量化、量化分析、精度反馈自动调优等 - core:算法、量化服务、调度、张量量化、调优策略、最佳实践、上下文等 - **infra:模型适配、调优计划/历史/缓存、测评服务等** - utils:日志、错误处理、插件等 ## 3. 功能验证 - [x] 功能自验 - [ ] 本地自验用例截图(请勿包含个人信息;可附复现命令) **复现步骤(可选):** bash # 量化命令 msmodelslim quant \ --model_path ${MODEL_PATH} \ --save_path ${SAVE_PATH} \ --device npu \ --model_type MiniMax-M3 \ --quant_type w8a8 \ --trust_remote_code True # 验证命令 mstool cmp --good-path ${GOOD_PATH} --eval-path ${SAVE_PATH} --backend msit ## 4. 自检(请逐项确认,不适用标 N/A) **典型安全编码问题** - [x] 是否已校验外部数据 - [x] 是否未采集或打印敏感信息 - [x] 是否已正确设置文件权限 - [x] 是否充分考虑浮点运算溢出、除零等异常场景 - [x] 是否已对正则表达式做 ReDos 检查 **DT** - [ ] 是否具备 UT 测试用例看护(路径:用例路径;未添加请说明原因) - [x] 是否需要添加冒烟:否(若「是」请说明冒烟场景及对应用途) See merge request: Ascend/msmodelslim!720 | 2 个月前 | |
【msmodelslim】代码回合 Co-authored-by: caishengcheng<caishengcheng@huawei.com> # message auto-generated for no-merge-commit merge: !26 merge code into master 【msmodelslim】代码回合 Created-by: caishengcheng Commit-by: caishengcheng Merged-by: ascend-robot Description: 【msmodelslim】代码回合 See merge request: Ascend/msmodelslim!26 | 9 个月前 | |
【msmodelslim】代码回合 Co-authored-by: caishengcheng<caishengcheng@huawei.com> # message auto-generated for no-merge-commit merge: !26 merge code into master 【msmodelslim】代码回合 Created-by: caishengcheng Commit-by: caishengcheng Merged-by: ascend-robot Description: 【msmodelslim】代码回合 See merge request: Ascend/msmodelslim!26 | 9 个月前 | |
【msmodelslim】cleancode Co-authored-by: caishengcheng<caishengcheng@huawei.com> | 10 个月前 | |
Qwen2.5 Omni模型W8A8量化适配【part5】更新config.ini和lab_practice,增加legacy datasetloader单元测试 Co-authored-by: xiaoheng181<eudemoniaxh@163.com> # message auto-generated for no-merge-commit merge: !140 merge qwen2_5_omni_pr5 into master Qwen2.5 Omni模型W8A8量化适配【part5】更新config.ini和lab_practice,增加legacy datasetloader单元测试 Created-by: xiaoheng181 Commit-by: xiaoheng181 Merged-by: ascend-robot Description: 更新config.ini和lab_practice,增加legacy datasetloader单元测试 config/config.ini lab_practice/qwen2_5_omni_thinker/qwen2_5_omni_thinker_w8a8.yaml test/cases/infra/test_legacy_directory_dataset_loader.py See merge request: Ascend/msmodelslim!140 | 7 个月前 | |
[Bugfix] modify 950 tag and delete mxfp in support table Co-authored-by: caishengcheng<caishengcheng@huawei.com> # message auto-generated for no-merge-commit merge: !774 merge docs into master [Bugfix] modify 950 tag and delete mxfp in support table Created-by: caishengcheng Commit-by: caishengcheng Merged-by: ascend-robot Description: # PR 提交说明 提交前请阅读 [CONTRIBUTING.md](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/contributing/contributing_guide.md),开发者文档:[模型接入指南](../docs/zh/development_guide/integrating_models.md) PR 标题前缀:[Feature]、[Bugfix]、[Doc]、[Test](与 CONTRIBUTING 一致) **建议标题:** [Bugfix][26.1.0] modify 950 tag and delete mxfp in support table ## 1. 影响面评估 **接口变更(按需):** 无 **输出件变更(按需):** 无 **非兼容变更(按需):** --tag 硬件场景标签由 Atlas_A5_Interface 统一更名为 Ascend_950;使用旧标签将无法匹配对应 lab_practice 配置,需改用 Ascend_950。原Atlas_350 tag下新增 Ascend_950。 **SIG 评审结论(按需):** 无 ## 2. 修改描述 **修改背景(可选):** 昇腾 950 相关场景标签命名不统一(Atlas_350、Atlas_A5_Interface),且 example 支持矩阵表中对外展示了 mxfp 字样,需与产品命名及对外表述对齐。 **修改目的:** 统一硬件场景标签为 Ascend_950,并清理支持矩阵表中的 mxfp 展示文案。 **修改内容:** - lab_practice:相关 YAML 的 verified_tags 中 Atlas_350 / Atlas_A5_Interface 统一改为 Ascend_950 - example:GLM-5、MiniMax-M2、LongCat-Flash、Qwen3-VL-MoE、QwenImageEdit 等 README 支持矩阵去掉 mxfp 字样,示例命令 --tag 同步为 Ascend_950 - docs:中英文一键量化 usage 文档的 tag 硬件形态说明补充 Ascend_950 - cli / app / core:命令行帮助与注释中的硬件 tag 示例更新为 Ascend_950(匹配逻辑仍为大小写不敏感字符串匹配,无接口行为变更) ## 3. 功能验证 冒烟由 CI 门禁检查,无需填写「冒烟是否通过」。 - [x] 功能自验 - [x] 本地自验用例截图(请勿包含个人信息;可附复现命令) **复现步骤(可选):** bash # 使用新硬件标签匹配最佳实践配置(示例) msmodelslim quant \ --model_path ${MODEL_PATH} \ --save_path ${SAVE_PATH} \ --device npu \ --model_type GLM-5.1 \ --quant_type w4a4c8 \ --tag vLLM_Ascend Ascend_950 \ --trust_remote_code True ## 4. 自检(请逐项确认,不适用标 N/A) **典型安全编码问题** - [x] 是否已校验外部数据(N/A:无新增外部输入处理) - [x] 是否未采集或打印敏感信息 - [x] 是否已正确设置文件权限(N/A) - [x] 是否充分考虑浮点运算溢出、除零等异常场景(N/A) - [x] 是否已对正则表达式做 ReDos 检查(N/A) **DT** - [x] 是否具备 UT 测试用例看护(N/A:本次仅为标签命名与文档表述调整;26.1.0 分支无 gemma4 相关用例文件) - [x] 是否需要添加冒烟:否 See merge request: Ascend/msmodelslim!774 | 2 个月前 | |
[docs] convert docs Co-authored-by: caishengcheng<caishengcheng@huawei.com> # message auto-generated for no-merge-commit merge: !552 merge converts_docs into master [docs] convert docs Created-by: caishengcheng Commit-by: caishengcheng Merged-by: ascend-robot Description: # PR 提交说明 提交前请阅读 [CONTRIBUTING.md](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/appendix/CONTRIBUTING.md),开发者文档:[模型接入指南](https://msmodelslim.readthedocs.io/zh-cn/latest/zh/developer_guide/integrating_models/) PR 标题前缀:[Feature]、[Bugfix]、[Doc]、[Test](与 CONTRIBUTING 一致) ## 1. 影响面评估 **接口变更(按需):** 无 > 备注:若无变更请保留「无」;涉及 CLI、API、YAML 等请在此项补充说明。 **输出件变更(按需):** 无 > 备注:若无变更请保留「无」;涉及导出格式、产物路径等请在此项补充说明。 **非兼容变更(按需):** 无 > 备注:若无变更请保留「无」;若有非兼容变更请说明迁移方式。 **SIG 评审结论(按需):** 无 > 提醒:非兼容、安全风险等高危 PR 须经 SIG 评审后合入;无则保留「无」。 ## 2. 修改描述 **修改背景(可选):**(问题现象、使用场景等) **修改目的:**(本 PR 要达成什么目标) **修改内容:**(按「概念 - 变化」分条,示例:core/算法:新增 SmoothQuant 离群值抑制) (在此填写) **概念域参考(填写提示):** - cli:命令行 quant / analyze / tune - app:最佳实践量化、量化分析、精度反馈自动调优等 - core:算法、量化服务、调度、张量量化、调优策略、最佳实践、上下文等 - infra:模型适配、调优计划/历史/缓存、测评服务等 - utils:日志、错误处理、插件等 ## 3. 功能验证 冒烟由 CI 门禁检查,无需填写「冒烟是否通过」。 - [ ] 功能自验 - [ ] 本地自验用例截图(请勿包含个人信息;可附复现命令) **复现步骤(可选):** bash # 在此粘贴可复现命令 ## 4. 自检(请逐项确认,不适用标 N/A) **典型安全编码问题** - [ ] 是否已校验外部数据 - [ ] 是否未采集或打印敏感信息 - [ ] 是否已正确设置文件权限 - [ ] 是否充分考虑浮点运算溢出、除零等异常场景 - [ ] 是否已对正则表达式做 ReDos 检查 **DT** - [ ] 是否具备 UT 测试用例看护(路径:用例路径;未添加请说明原因) - [ ] 是否需要添加冒烟:否(若「是」请说明冒烟场景及对应用途) See merge request: Ascend/msmodelslim!552 | 4 个月前 | |
[feature]qwen3_6_27b_w8a8c8_quant Co-authored-by: m0_622025341111<ligengxi1@huawei.com> # message auto-generated for no-merge-commit merge: !942 merge master into master [feature]qwen3_6_27b_w8a8c8_quant Created-by: m0_622025341111 Commit-by: m0_622025341111 Merged-by: ascend-robot Description: [Feature] qwen3_5_moe: 新增 Qwen3.5-27B 的 W8A8 + FA mxfp8(C8) 最佳实践配置 ## 1. 影响面评估 **接口变更(按需):** 无 > 备注:仅新增 lab_practice 配置 YAML,不涉及 CLI / API 变更;既有配置与调用方式不受影响。 **输出件变更(按需):** 无 > 备注:沿用既有 ascendv1_saver 导出格式与产物路径,不改变输出件结构。 **非兼容变更(按需):** 无 > 备注:无。 **SIG 评审结论(按需):** 无 > 提醒:非兼容、安全风险等高危 PR 须经 SIG 评审后合入;本 PR 无。 ## 2. 修改描述 **修改背景(可选):** Qwen3.5-27B 为 hybrid 注意力(full_attention + linear_attention 交替)的 dense 多模态模型。当前 lab_practice/qwen3_5_moe/ 下缺少该模型「W8A8 + FA mxfp8(Q/K per_block 动态、V per_channel 静态,即 C8)」的最佳实践配置,用户量化时需自行拼装 YAML(尤其 FA 分支的 Q/K/V 量化策略与注意 KV 的 8bit 配置),易出错且难以复现。 **修改目的:** 提供一份经验证的 Qwen3.5-27B W8A8 + FA mxfp8(C8) 最佳实践 YAML,覆盖注意力 KV 的 8bit 量化(Q/K 动态 per_block、V 静态 per_channel)与线性层 W8A8 量化,降低用户使用门槛并保证结果可复现。 **修改内容:** - app(最佳实践量化):新增最佳实践配置 lab_practice/qwen3_5_moe/qwen3_5_27b_w8a8_fa_mxfp8.yaml - linear_quant:W8A8(act int8/per_token、weight int8/per_channel,对称 minmax),作用于 *self_attn*,排除 *self_attn.o_proj*、mtp*、*linear_fc2*、*visual*。 - fa3_quant(C8):fa_q、fa_k = mxfp8/per_block(动态);fa_v = mxfp8/per_channel(静态);作用于 full-attention 的 *self_attn*,排除 *linear_attn*、mtp*、*visual*。 - save:ascendv1_saver(part_file_size: 4)。 - dataset:qwen3_cot_vlm_text。 - metadata:verified_tags: Qwen3.5-27B → vLLM_Ascend / Ascend_950,label: w_bit=8, a_bit=8, kv_cache=True。 - 无 Python 代码、其他配置或行为变更。 ## 3. 功能验证 冒烟由 CI 门禁检查,无需填写「冒烟是否通过」。 - [x] 功能自验 - [ ] 本地自验用例截图(请勿包含个人信息;可附复现命令) **复现步骤(可选):** bash msmodelslim quant \ --model_path <Qwen3.5-27B 原始权重目录> \ --save_path <量化输出目录> \ --model_type Qwen3.5-27B \ --device npu \ --config_path <msmodelslim>/lab_practice/qwen3_5_moe/qwen3_5_27b_w8a8_fa_mxfp8.yaml \ --trust_remote_code True # 校验:量化输出中 full-attention 层的 quant_type 应为 QK_MXFP8_DYNAMIC_V_MXFP8_PER_CHANNEL, # 且 fa_v 存在 per_channel 静态 scale(fa_v.scale),fa_q/fa_k 无静态 scale。 python3 -c "import json;d=json.load(open('<量化输出目录>/quant_model_description.json'));print({k:d[k] for k in d if k.endswith('.self_attn.quant_type')})" ## 4. 自检(请逐项确认,不适用标 N/A) **典型安全编码问题** - [N/A] 是否已校验外部数据 - [N/A] 是否未采集或打印敏感信息 - [N/A] 是否已正确设置文件权限 - [N/A] 是否充分考虑浮点运算溢出、除零等异常场景 - [N/A] 是否已对正则表达式做 ReDos 检查 > 说明:本 PR 仅新增一份 YAML 配置,无新增 Python 代码 / 无外部输入处理 / 无敏感信息 / 无文件与浮点运算 / 无正则。 **DT** - [N/A] 是否具备 UT 测试用例看护(路径:用例路径;未添加请说明原因) - 原因:仅新增 lab_practice 配置 YAML,无新增代码逻辑;配置合法性由既有配置校验(precheck / pydantic 校验)与 CI 冒烟覆盖。 - [ ] 是否需要添加冒烟:否(若「是」请说明冒烟场景及对应用途) See merge request: Ascend/msmodelslim!942 | 1 个月前 | |
补充Qwen3-30B 一键量化配置 Co-authored-by: keith_wa<keith_wwa@163.com> # message auto-generated for no-merge-commit merge: !261 merge add_v0_cmd_qwen3_30B into master 补充Qwen3-30B 一键量化配置 Created-by: keith_wa Commit-by: keith_wa Merged-by: ascend-robot Description: 感谢您贡献的Pull Request! 在提交之前,请务必阅读 [CONTRIBUTING.md](https://gitcode.com/Ascend/msmodelslim/blob/master/CONTRIBUTING.md)。 Thanks for sending a pull request! BEFORE SUBMITTING, PLEASE READ [CONTRIBUTING.md](https://gitcode.com/Ascend/msmodelslim/blob/master/CONTRIBUTING.md). ## PR描述 (What this PR does / why we need it?) - 请明确说明您提交PR的变更内容。本部分旨在概述所做的变更,以及此PR是如何解决该问题的。请尽可能地提供有助于评审人员更高效、更快速完成检视审查的实用说明。 补充Qwen3-30B 一键量化配置 - 请说明为何需要这些更改,例如具体的使用场景或bug描述。 由于V0量化已不再演进,新增模型均需支持一键量化。 - 关联issue号(如果有)。 - Please clarify what changes you are proposing. The purpose of this section is to outline the changes and how this PR fixes the issue. If possible, please consider writing useful notes for better and faster reviews in your PR. - Please clarify why the changes are needed. For instance, the use case and bug description. - Related issue number (if any) ## 面向用户的变更 (Does this PR introduce _any_ user-facing change)? - 请注意,这里指的是**任何**面向用户的变更,包括但不限于API、用户界面或其他使用方式上的变更。 - Note that it means *any* user-facing change including all aspects such as API, interface or other behavior changes. ## 功能验证 (How was this patch tested?) 请确认CI已通过增量及存量的单元测试用例。 如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤(最好提供完整的可复现的操作路径及关键截图),以便Committer能够快速复现验证,也便于后续的维护。 如果未添加测试,请说明未添加的原因,以及为何难添加测试。 - [_] 功能自验 - [_] 本地自验截图(涉及个人标识符等敏感信息请注意脱敏) - [_] 新增/变更内容是否已新增/适配UT测试用例看护 执行命令 msmodelslim quant --model_path {} --save_path {} --model_type Qwen3-30B --quant_type w8a8 --trust_remote_code True 生成如下权重:  使用mstool 工具验证两份权重差异:  CI passed with new added/existing test. If it was tested in a way different from regular unit tests, please clarify how you tested step by step, ideally copy and paste-able, so that other reviewers can test and check, and descendants can verify in the future. If tests were not added, please describe why they were not added and/or why it was difficult to add. - [_] Self-verification of the feature. - [_] Screenshot of local self-verification (please anonymize any sensitive information such as personal identifiers) - [_] Have new or modified unit test (UT) cases been added or adapted to cover the newly added or changed content? See merge request: Ascend/msmodelslim!261 | 6 个月前 | |
【msmodelslim】修改qwen3-next的yaml Co-authored-by: caishengcheng<caishengcheng@huawei.com> # message auto-generated for no-merge-commit merge: !36 merge qwen3-next into master 【msmodelslim】修改qwen3-next的yaml Created-by: caishengcheng Commit-by: caishengcheng Merged-by: ascend-robot Description: 【msmodelslim】修改qwen3-next的yaml See merge request: Ascend/msmodelslim!36 | 9 个月前 | |
【msmodelslim】【feature】msModelSlim 支持 Qwen3-Omni-30B-A3B-Thinking、Qwen3-Omni-30B-A3B-Instruct W8A8量化 Co-authored-by: anreywmh<18845895998@163.com> # message auto-generated for no-merge-commit merge: !147 merge w_qwen3_omni_moe into master 【msmodelslim】【feature】msModelSlim 支持 Qwen3-Omni-30B-A3B-Thinking、Qwen3-Omni-30B-A3B-Instruct W8A8量化 Created-by: anreywmh Commit-by: anreywmh Merged-by: ascend-robot Description: 【msmodelslim】【feature】msModelSlim 支持 Qwen3-Omni-30B-A3B-Thinking、Qwen3-Omni-30B-A3B-Instruct W8A8量化 See merge request: Ascend/msmodelslim!147 | 7 个月前 | |
【Feature】增加qwen3-vl-embedding量化适配 Co-authored-by: wangyongjun<wangyongjun7@huawei.com> # message auto-generated for no-merge-commit merge: !510 merge add_qwen3_vl_embedding into master 【Feature】增加qwen3-vl-embedding量化适配 Created-by: wangyongjun Commit-by: wangyongjun Merged-by: ascend-robot Description: ## 1. 影响面评估 - **接口变更(按需):** 无 - **输出件变更(按需):** 无 - **非兼容变更(按需):** 无 - **SIG 评审结论(按需):** 无 --- ## 2. 修改描述 - **修改背景(可选):** 300I_Duo卡上支持qwen3-vl-embedding和reranker模型w8a8量化推理 - **修改目的:** qwen3-vl-embedding和reranker支持w8a8量化 - **修改内容:** - msmodelslim/model/qwen3_vl/model_adapter.py:对于qwen3-vl-embedding-2b模型不存在model.safetensors.index.json文件,_get_weight_map函数适配,适配从权重目录中的safetensors文件构造weight_map - lab_practice/qwen3_vl/qwen3_vl_embedding_w8a8.yaml:新增qwen3-vl-embedding和reranker量化最近实践配置文件 - example/multimodal_vlm/Qwen3-VL-Embedding/README.md:新增量化指导说明 - [ ] **涉及代码双合**(关联 PR 链接):后续策略见 MR !510 --- ## 3. 功能验证 - [x] **功能自验** - [ ] **本地自验用例截图**(请勿包含个人信息;可附复现命令) --- ## 4. 自检(请逐项确认,不适用标 N/A) **典型安全编码问题** - [x] **是否已校验外部数据** — N/A - [x] **是否未采集或打印敏感信息** — N/A - [x] **是否已正确设置文件权限** — N/A - [x] **是否充分考虑浮点运算溢出、除零等异常场景** — N/A - [x] **是否已对正则表达式做 ReDos 检查** — N/A **DT** - [x] **是否具备 UT 测试用例看护**(路径:test/cases/model/qwen3_vl/test_model_adapter_qwen3_vl.py:TestQwen3VLModelAdapterGetWeightMap, TestQwen3VLModelAdapterGetWeightMapNull, TestQwen3VLModelAdapterGetWeightMapFallback) - [ ] **是否需要添加冒烟:** 否 See merge request: Ascend/msmodelslim!510 | 4 个月前 | |
[Bugfix] modify 950 tag and delete mxfp in support table Co-authored-by: caishengcheng<caishengcheng@huawei.com> # message auto-generated for no-merge-commit merge: !774 merge docs into master [Bugfix] modify 950 tag and delete mxfp in support table Created-by: caishengcheng Commit-by: caishengcheng Merged-by: ascend-robot Description: # PR 提交说明 提交前请阅读 [CONTRIBUTING.md](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/contributing/contributing_guide.md),开发者文档:[模型接入指南](../docs/zh/development_guide/integrating_models.md) PR 标题前缀:[Feature]、[Bugfix]、[Doc]、[Test](与 CONTRIBUTING 一致) **建议标题:** [Bugfix][26.1.0] modify 950 tag and delete mxfp in support table ## 1. 影响面评估 **接口变更(按需):** 无 **输出件变更(按需):** 无 **非兼容变更(按需):** --tag 硬件场景标签由 Atlas_A5_Interface 统一更名为 Ascend_950;使用旧标签将无法匹配对应 lab_practice 配置,需改用 Ascend_950。原Atlas_350 tag下新增 Ascend_950。 **SIG 评审结论(按需):** 无 ## 2. 修改描述 **修改背景(可选):** 昇腾 950 相关场景标签命名不统一(Atlas_350、Atlas_A5_Interface),且 example 支持矩阵表中对外展示了 mxfp 字样,需与产品命名及对外表述对齐。 **修改目的:** 统一硬件场景标签为 Ascend_950,并清理支持矩阵表中的 mxfp 展示文案。 **修改内容:** - lab_practice:相关 YAML 的 verified_tags 中 Atlas_350 / Atlas_A5_Interface 统一改为 Ascend_950 - example:GLM-5、MiniMax-M2、LongCat-Flash、Qwen3-VL-MoE、QwenImageEdit 等 README 支持矩阵去掉 mxfp 字样,示例命令 --tag 同步为 Ascend_950 - docs:中英文一键量化 usage 文档的 tag 硬件形态说明补充 Ascend_950 - cli / app / core:命令行帮助与注释中的硬件 tag 示例更新为 Ascend_950(匹配逻辑仍为大小写不敏感字符串匹配,无接口行为变更) ## 3. 功能验证 冒烟由 CI 门禁检查,无需填写「冒烟是否通过」。 - [x] 功能自验 - [x] 本地自验用例截图(请勿包含个人信息;可附复现命令) **复现步骤(可选):** bash # 使用新硬件标签匹配最佳实践配置(示例) msmodelslim quant \ --model_path ${MODEL_PATH} \ --save_path ${SAVE_PATH} \ --device npu \ --model_type GLM-5.1 \ --quant_type w4a4c8 \ --tag vLLM_Ascend Ascend_950 \ --trust_remote_code True ## 4. 自检(请逐项确认,不适用标 N/A) **典型安全编码问题** - [x] 是否已校验外部数据(N/A:无新增外部输入处理) - [x] 是否未采集或打印敏感信息 - [x] 是否已正确设置文件权限(N/A) - [x] 是否充分考虑浮点运算溢出、除零等异常场景(N/A) - [x] 是否已对正则表达式做 ReDos 检查(N/A) **DT** - [x] 是否具备 UT 测试用例看护(N/A:本次仅为标签命名与文档表述调整;26.1.0 分支无 gemma4 相关用例文件) - [x] 是否需要添加冒烟:否 See merge request: Ascend/msmodelslim!774 | 2 个月前 | |
[Bugfix] modify 950 tag and delete mxfp in support table Co-authored-by: caishengcheng<caishengcheng@huawei.com> # message auto-generated for no-merge-commit merge: !774 merge docs into master [Bugfix] modify 950 tag and delete mxfp in support table Created-by: caishengcheng Commit-by: caishengcheng Merged-by: ascend-robot Description: # PR 提交说明 提交前请阅读 [CONTRIBUTING.md](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/contributing/contributing_guide.md),开发者文档:[模型接入指南](../docs/zh/development_guide/integrating_models.md) PR 标题前缀:[Feature]、[Bugfix]、[Doc]、[Test](与 CONTRIBUTING 一致) **建议标题:** [Bugfix][26.1.0] modify 950 tag and delete mxfp in support table ## 1. 影响面评估 **接口变更(按需):** 无 **输出件变更(按需):** 无 **非兼容变更(按需):** --tag 硬件场景标签由 Atlas_A5_Interface 统一更名为 Ascend_950;使用旧标签将无法匹配对应 lab_practice 配置,需改用 Ascend_950。原Atlas_350 tag下新增 Ascend_950。 **SIG 评审结论(按需):** 无 ## 2. 修改描述 **修改背景(可选):** 昇腾 950 相关场景标签命名不统一(Atlas_350、Atlas_A5_Interface),且 example 支持矩阵表中对外展示了 mxfp 字样,需与产品命名及对外表述对齐。 **修改目的:** 统一硬件场景标签为 Ascend_950,并清理支持矩阵表中的 mxfp 展示文案。 **修改内容:** - lab_practice:相关 YAML 的 verified_tags 中 Atlas_350 / Atlas_A5_Interface 统一改为 Ascend_950 - example:GLM-5、MiniMax-M2、LongCat-Flash、Qwen3-VL-MoE、QwenImageEdit 等 README 支持矩阵去掉 mxfp 字样,示例命令 --tag 同步为 Ascend_950 - docs:中英文一键量化 usage 文档的 tag 硬件形态说明补充 Ascend_950 - cli / app / core:命令行帮助与注释中的硬件 tag 示例更新为 Ascend_950(匹配逻辑仍为大小写不敏感字符串匹配,无接口行为变更) ## 3. 功能验证 冒烟由 CI 门禁检查,无需填写「冒烟是否通过」。 - [x] 功能自验 - [x] 本地自验用例截图(请勿包含个人信息;可附复现命令) **复现步骤(可选):** bash # 使用新硬件标签匹配最佳实践配置(示例) msmodelslim quant \ --model_path ${MODEL_PATH} \ --save_path ${SAVE_PATH} \ --device npu \ --model_type GLM-5.1 \ --quant_type w4a4c8 \ --tag vLLM_Ascend Ascend_950 \ --trust_remote_code True ## 4. 自检(请逐项确认,不适用标 N/A) **典型安全编码问题** - [x] 是否已校验外部数据(N/A:无新增外部输入处理) - [x] 是否未采集或打印敏感信息 - [x] 是否已正确设置文件权限(N/A) - [x] 是否充分考虑浮点运算溢出、除零等异常场景(N/A) - [x] 是否已对正则表达式做 ReDos 检查(N/A) **DT** - [x] 是否具备 UT 测试用例看护(N/A:本次仅为标签命名与文档表述调整;26.1.0 分支无 gemma4 相关用例文件) - [x] 是否需要添加冒烟:否 See merge request: Ascend/msmodelslim!774 | 2 个月前 | |
qwq32B w8a8 量化 Co-authored-by: ylzzz<yelinzhong@huawei.com> # message auto-generated for no-merge-commit merge: !262 merge ylzzz_qwq32b into master qwq32B w8a8 量化 Created-by: ylzzz Commit-by: ylzzz Merged-by: ascend-robot Description:   See merge request: Ascend/msmodelslim!262 | 6 个月前 | |
[feature] support step3p5-flash model_apapter and w8a8 int8 best pratice Co-authored-by: yejiajun<yejiajun4@huawei.com> # message auto-generated for no-merge-commit merge: !362 merge step3p5_adapter_and_w8a8 into master [feature] support step3p5-flash model_apapter and w8a8 int8 best pratice Created-by: yejiajun Commit-by: yejiajun Merged-by: ascend-robot Description: 感谢您贡献的Pull Request! 在提交之前,请务必阅读 [CONTRIBUTING.md](https://gitcode.com/Ascend/msmodelslim/blob/master/CONTRIBUTING.md)。 ## PR描述 (What this PR does / why we need it?) 为 Step-3.5-Flash 模型提供 msmodelslim 量化支持,包括模型适配器、MoE 层转换工具、MTP 层实现以及 W8A8 最佳实践配置。 Step-3.5-Flash 是 MoE(Mixture-of-Experts)架构模型,权重以 experts 合并形式存储(单权重张量含多个 expert),无法直接被线性量化算子处理。需要通过适配器中的 moe_utils代码将合并格式转换为展开的独立 expert 结构,才能正确量化。 - **ModelAdapter** ( Step3_5FlashModelAdapter):实现量化所需的各接口,驱动 layer-wise 前向和子图配置 - **MoE Utils** (moe_utils.py):提供 Step3p5MoEMLPWithUnpackExperts 类及转换函数,将合并的 MoELinear 权重展开为 nn.ModuleList 形式,适配线性量化流程 - **MTP Module** (step3p5_mtp.py):自定义 Multi-Token Prediction 层组件(RotaryEmbedding、RMSNorm、Attention、SharedHead),用于扩展模型层数,用于保存mtp层权重 - **Best Practice** (step3_5_moe_w8a8.yaml):定义 W8A8 量化配置,仅对 *moe.experts* 层应用 linear_quant,使用 ascendv1_saver 导出 ## 面向用户的变更 (Does this PR introduce _any_ user-facing change)? - 请注意,这里指的是**任何**面向用户的变更,包括但不限于API、用户界面或其他使用方式上的变更。 - Note that it means *any* user-facing change including all aspects such as API, interface or other behavior changes. ## 功能验证 (How was this patch tested?) 相关权重已在modelscope平台上传,https://www.modelscope.cn/models/Eco-Tech/Step-3.5-Flash-w8a8-mtp/summary  - [_] 功能自验 - [_] 本地自验截图(涉及个人标识符等敏感信息请注意脱敏) - [_] 新增/变更内容是否已新增/适配UT测试用例看护 See merge request: Ascend/msmodelslim!362 | 4 个月前 | |
[Feature] 适配Step-3.7-Flash模型W8A8量化 Co-authored-by: 李明宇<limingyu35@h-partners.com> # message auto-generated for no-merge-commit merge: !880 merge master-step37 into master [Feature] 适配Step-3.7-Flash模型W8A8量化 Created-by: code_mingming Commit-by: 李明宇;code_mingming Merged-by: ascend-robot Description: # PR 提交说明 ## 1. 影响面评估 **接口变更(按需):** 无 **输出件变更(按需):** 无 **非兼容变更(按需):** 无 **SIG 评审结论(按需):** 无 ## 2. 修改描述 **修改背景(可选):**(问题现象、使用场景等) **修改目的:** 适配Step-3.7-Flash模型W8A8量化 **修改内容:** 1. 模型注册与量化配置: config/config.ini 新增 step3_7_flash 的名称、加载器类路径与依赖版本映射;新增 lab_practice/step_3_7_flash/step3_7_flash_w8a8_mxfp.yaml,定义对 *moe.experts* 采用 per_block mxfp8 minmax 对称量化的 linear_quant 流程并配置 ascendv1_saver 保存。 2. 懒加载模型适配器 Step3_7FlashModelAdapter: init_model 临时将 num_hidden_layers 置为 1 以降低 CPU 显存占用,加载后恢复;_load_decoder_if_not_exist/_load_mtp_layer_if_not_exist 按需从 safetensors 分片加载单层权重(先剥离 model.language_model.layers.X. 前缀再 load_state_dict),并逐层调用 convert_step35_moe_to_unpacked 解包 MoE 专家权重。 3. 前向与保存流程适配: generate_model_forward 按图像有无走视觉编码器分支、构建 full_attention/sliding_attention 因果掩码并逐层驱动解码器前向(跳过 MTP 层);generate_decoder_layer 依次产出解码器层与 45/46/47 三个 MTP 层;ascendv1_save_module_preprocess 将模块前缀重写为 HF safetensors 命名(model.language_model.layers. → model.layers. 等)。 4. 新增 Step3p7MTPModule 及配套子模块: 在 step3p7_mtp.py 中新增 Step3p5RotaryEmbedding、Step3p5RMSNorm、Step3p5MLP、Step3p5Attention、SharedHead 等结构;Step3p5RotaryEmbedding 通过 per-instance 配置副本避免污染共享 config 导致后续层 rope_theta/partial_rotary_factor 错乱,MTP 层支持从 swiglu_limits[layer_idx] 读取 SwiGLU 截断上限并按 layer_types 解析 attention_type。 5. 新增单元测试: 新增 test/cases/model/step3_7_flash/ 下 test_loader.py、test_step3p7_model_adapter.py、test_step3p7_mtp.py,覆盖加载器契约与 precheck/load 行为、适配器的懒加载与 key 前缀改写、MTP 模块初始化及配置隔离等场景。 ## 3. 功能验证 冒烟由 CI 门禁检查,无需填写「冒烟是否通过」。 - [x] 功能自验 - [x] 本地自验用例截图(请勿包含个人信息;可附复现命令) **复现步骤(可选):** bash # 在此粘贴可复现命令 ## 4. 自检(请逐项确认,不适用标 N/A) **典型安全编码问题** - [x] 是否已校验外部数据 - [x] 是否未采集或打印敏感信息 - [x] 是否已正确设置文件权限 - [x] 是否充分考虑浮点运算溢出、除零等异常场景 - [x] 是否已对正则表达式做 ReDos 检查 **DT** - [x] 是否具备 UT 测试用例看护(路径:用例路径;未添加请说明原因) - [ ] 是否需要添加冒烟:否(若「是」请说明冒烟场景及对应用途) See merge request: Ascend/msmodelslim!880 | 1 个月前 | |
【msmodelslim】cleancode Co-authored-by: caishengcheng<caishengcheng@huawei.com> | 10 个月前 | |
[Doc] 补充DAOS、TLQ、OASQ相关词条与使用指南 Co-authored-by: xyxin_006<xiayingxin1@huawei.com> # message auto-generated for no-merge-commit merge: !914 merge doc/add_daos_doc into master [Doc] 补充DAOS、TLQ、OASQ相关词条与使用指南 Created-by: xyxin_006 Commit-by: xyxin_006 Merged-by: ascend-robot Description: # PR 提交说明 提交前请阅读 [贡献指南](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/contributing/contributing_guide.md),开发者文档:[模型接入指南](../docs/zh/knowledge_base/model/integrating_models.md) PR 标题前缀:[Feature]、[Bugfix]、[Doc]、[Test](与 CONTRIBUTING 一致) ## 1. 影响面评估 **接口变更(按需):** 无 **输出件变更(按需):** 无(新增 lab_practice 实践配方,不改变既有导出格式与产物约定) **非兼容变更(按需):** 无 **SIG 评审结论(按需):** 无 ## 2. 修改描述 **修改背景:** 多模态生成模型(如 Wan2.2)在 W4A4 / MXFP 等极低比特场景需要 **OASQ + TLQ** 的联合低比特路径;仓库已有实现与实践需求,但知识库缺少对应联合方案(DAOS)及 OASQ / TLQ 的词条与配置流程说明。同时需与面向 LLM 的 LAOS 联合方案形成清晰对照,避免任务协议与校准路径混用。 **修改目的:** 补齐 DAOS / OASQ / TLQ 的术语百科与参数配置流程指南,更新算法总览索引与交叉引用,并提供 Wan2.2 T2V 的 DAOS 实践 YAML,便于复现与评审。 **修改内容:** - docs / 量化算法知识库:新增 **DAOS** 词条与使用指南(联合方案:先 OASQ、后 TLQ,可叠加 FA3) - docs / 量化算法知识库:新增 **OASQ**、**Trainable Linear Quant(TLQ)** 词条与使用指南 - docs / 算法总览:在 quantization_algorithms/README.md 增加 DAOS / OASQ / TLQ 索引与选型说明;澄清 LAOS 面向 LLM、DAOS 面向多模态生成 - docs / 关联词条:更新 LAOS、SmoothQuant、Iterative Smooth、Flex Smooth、AutoRound 等交叉引用 - lab_practice:新增 wan2_2/wan2_2_w4a4f4_mxfp_daos_t2v.yaml(Wan2.2 T2V W4A4F4 MXFP DAOS 实践配方) ## 3. 功能验证 冒烟由 CI 门禁检查,无需填写“冒烟是否通过”。 - [x] 功能自验(文档结构对照术语百科 / 流程指南 checklist;链接与索引抽查) - [ ] 本地自验用例截图(请勿包含个人信息;可附复现命令) **复现步骤(可选):** ## 4. 自检(请逐项确认,不适用标 N/A) **典型安全编码问题** - [x] 是否已校验外部数据(N/A:纯文档与实践 YAML) - [x] 是否未采集或打印敏感信息(N/A) - [x] 是否已正确设置文件权限(N/A) - [x] 是否充分考虑浮点运算溢出、除零等异常场景(N/A) - [x] 是否已对正则表达式做 ReDos 检查(N/A) **DT** - [x] 是否具备 UT 测试用例看护(N/A:文档变更,无代码逻辑改动) - [x] 是否需要添加冒烟:否 See merge request: Ascend/msmodelslim!914 | 1 个月前 | |
【msmodelslim】刷新文件头部声明和版权 Co-authored-by: caishengcheng<caishengcheng@huawei.com> # message auto-generated for no-merge-commit merge: !28 merge license into master 【msmodelslim】刷新文件头部声明和版权 Created-by: caishengcheng Commit-by: caishengcheng Merged-by: ascend-robot Description: 【msmodelslim】刷新文件头部声明和版权 See merge request: Ascend/msmodelslim!28 | 9 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 10 个月前 | ||
| 2 个月前 | ||
| 9 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 7 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 7 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 3 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 9 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 10 个月前 | ||
| 7 个月前 | ||
| 2 个月前 | ||
| 4 个月前 | ||
| 1 个月前 | ||
| 6 个月前 | ||
| 9 个月前 | ||
| 7 个月前 | ||
| 4 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 6 个月前 | ||
| 4 个月前 | ||
| 1 个月前 | ||
| 10 个月前 | ||
| 1 个月前 | ||
| 9 个月前 |