关于 huawei-cloud-msmodelslim-model-adapt
该技能指导开发者为新模型创建 msModelSlim 适配器,以运行 W8A8/W4A16 量化流程。适用于仅解码器 LLM 和理解型 VLM 的文本骨干,并包含注册与验证步骤。
主要功能
- 01分析模型结构
- 02使用 LLM 和 VLM 模板创建适配器
- 03实现并注册所需接口
- 04执行四步适配器验证
适用场景
- 01为 Ascend NPU 上的新 LLM 添加量化支持
- 02将 VLM 文本骨干接入量化流程
- 03验证适配器的权重与量化工作流
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ huaweicloud/ huaweicloud-skills --skill huawei-cloud-msmodelslim-model-adapt安装后在 Claude Code 中输入/huawei-cloud-msmodelslim-model-adapt确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/model_adapter_template.pyvlm_model_adapter_template.pyreferences/acceptance-criteria.mdcore_workflow.mdimplementation_guide.mdinterface_checklist.mdinterface_reference.mdmodel_analysis.mdmoe_unpacked_adapter_example.pymoe_unpacked_module_example.pyregistration_guide.mdtroubleshooting.mdverification_guide.mdverification-method.mdreferences/llm/fallback_config.yamlw8a8_dynamic_full_model.yamlw8a8_static_full_model.yamlreferences/vlm/fallback_config.yamlw8a8_dynamic_full_model.yamlw8a8_static_full_model.yamlscripts/step1_generate_test_model.pystep2_run_quantization.pystep3_verify_weights.pystep4_verify_quant_description.py详细介绍
Huawei Cloud msModelSlim 模型适配器
概述
本技能介绍如何为新模型创建基础适配器,以在 msModelSlim 中运行 W8A8/W4A16 量化工作流。
架构:模型分析 -> 适配器创建 -> 注册 -> 验证(4 个步骤)
相关技能:
huawei-cloud-msmodelslim-model-analysis- 适配器实现前的模型结构分析huawei-cloud-ascend-profiler-db-explorer- 可选:部署后的性能 分析
范围
支持:
- 仅解码器 LLM
- 理解型 VLM(仅文本/LLM 主干)
不支持:
- 多模态生成(Stable Diffusion/Flux/Wan)
- 仅编码器模型
- 非 Transformers 架构
架构
┌─────────────────────────────────────────────────────────────┐
│ msModelSlim Model Adapter Skill │
├─────────────────────────────────────────────────────────────┤
│ ┌──────────────────┐ ┌──────────────────────────────┐ │
│ │ Model Analysis │───▶│ Adapter Creation │ │
│ │ - config.json │ │ - LLM Adapter Template │ │
│ │ - modeling_*.py│ │ - VLM Adapter Template │ │
│ └──────────────────┘ │ - Required Interfaces │ │
│ └──────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────┐ │
│ │ Registration │ │
│ │ & Installation │ │
│ └──────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ Verification (4 Steps) │ │
│ │ 1. Generate Test Model → 2. Full Fallback Quant │ │
│ │ 3. Weight Verification → 4. Quant Description │ │
│ └──────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
架构组件
本技能涉及以下云服务和组件:
- msModelSlim:Huawei Cloud 的模型量化框架,用于 高效压缩模型
- Transformers Library:用于模型加载和处理的 Hugging Face Transformers
- ModelScope:模型下载和管理平台
- Ascend NPU:量化模型部署的目标硬件
使用场景
典型问题场景:
- 需要在 Ascend NPU 上部署内存占用更低的 LLM 模型
- 希望在不显著损失准确率的情况下提升推理速度
- 迁移未内置 msModelSlim 支持的模型
- 需要为仅解码器 LLM 或 VLM 文本主干进行 W8A8/W4A16 量化
典型用户表述:
- “如何为 Ascend 量化我的自定义 LLM 模型?”
- “为 Qwen 模型创建 msModelSlim 适配器”
- “实现 W4A16 量化工作流”
- “为量化适配我的 VLM 文本主干”
- “如何为新模型添加量化支持?”
核心工作流
1. 准备工作
- 下载模型:建议使用
modelscope download下载非权重文件。- 示例:
modelscope download --model <org>/<model> --local_dir ./models/<name> --exclude '*.safetensors'
- 示例:
- 分析模型:阅读
config.json和modeling_*.py,确认 结构和实现。- 参见:模型分析指南
2. 创建适配器
- 使用模板:
- LLM:
assets/model_adapter_template.py - VLM:
assets/vlm_model_adapter_template.py
- LLM:
- 实现接口:实现
handle_dataset、init_model、generate_model_visit、generate_model_forward、enable_kv_cache。 - 关键原则:
visit和forward必须严格保持一致。- 建议将 MoE 模型拆分为纯线性层。
- 参见:实现指南
3. 注册与安装
- 在
config/config.ini中注册模型和入口,然后执行bash install.sh。 - 参见:注册指南
4. 验证适配器(必需)
- 必须执行四步验证:生成测试模型 -> 完整回退量化 -> 验证完整回退模型与浮点 权重完全一致,且能够完整加载/保存 -> 验证实际量化工作流正常运行(包括描述文件规则 验证)。
- 参见:验证指南
常用脚本
脚本位于 scripts/ 目录:
scripts/step1_generate_test_model.pyscripts/step2_run_quantization.pyscripts/step3_verify_weights.pyscripts/step4_verify_quant_description.py
前置条件
系统要求
- Python 3.8+
- transformers >= 4.40.0
- msmodelslim >= 1.0.0
环境检查
前置条件检查:需要 Python3 + transformers + msmodelslim
python3 --version # Python3 >= 3.8 python3 -c "import transformers; print('OK')" # Transformers library python3 -c "import msmodelslim; print('OK')" # msModelSlim library如果尚未安装:
pip3 install --user transformers msmodelslim
参考文档
| 文档 | 说明 |
|---|---|
| 模型分析指南 | 模型结构分析指南 |
| 实现指南 | 适配器实现说明 |
| 注册指南 | 注册和安装指南 |
| 验证指南 | 四步验证工作流 |
| 接口检查清单 | 必需的接口实现检查清单 |
| 核心工作流 | 核心工作流文档 |
| 验收标准 | 功能验收标准 |
| 故障排除 | 常见问题及解决方案 |
要求
- 已安装 transformers >= 4.40.0
- 已安装 msmodelslim >= 1.0.0
- 待适配的 Transformers 模型
- 了解目标量化方案(W8A8/W4A16)
核心命令
# Create model adapter
python3 scripts/create_adapter.py \
--model Qwen2-7B \
--quantization W8A8
# Run four-step verification
python3 scripts/verify_adapter.py --adapter ./adapter.py
参数确认
| 参数 | 说明 | 必填 |
|---|---|---|
| model | 模型名称或路径 | 是 |
| quantization | 量化方案(W8A8/W4A16) | 是 |
| output | 适配器输出路径 | 否 |
评论
支持 Markdown