Pull Request已成功合入, 合并人@ascend-robot
(感谢 joejoezhou 的贡献)变更摘要
本 PR 将 msAgent 的 skills 体系迁移到 msModelSlim,新增安装、适配、敏感层分析、调优策略、量化、评测、调优编排等 skills(全部为新增文件,共 103 个文件、新增约 9273 行),核心是把 agent skills 中依赖 MCP 的调优/评测流程替换为可直接运行的脚本与示例,并引入「减层结构覆盖」的量化验证流程。改动集中在 skills/ 目录下的 calibration 适配示例、verify 减层验证脚本、evaluation 评测脚本、tuning 调优编排脚本及其共享库 tuning-loop-lib/scripts。
主要改动
-
新增模型适配与校准素材(
skills/adaptation/calibration):提供 LLM 与 VLM 适配器模板(model_adapter_template.py的MyModelAdapter、vlm_model_adapter_template.py的MyVLMModelAdapter,实现ModelInfoInterface/ModelSlimPipelineInterfaceV1),MoE 融合权重解包示例(moe_unpacked_adapter_example.py的unpack_packed_moe_weights与moe_unpacked_module_example.py的SparseMoeBlockWithLinearExperts),safetensors 权重结构检查脚本inspect_safetensors.py,逐层加载适配示例layerwise_adapter_example.py,以及 LLM/VLM 的三类量化配置(fallback_config.yaml全回退、w8a8_dynamic_full_model.yaml、w8a8_static_full_model.yaml)。 -
新增 verify 减层结构覆盖验证流程(
skills/adaptation/calibration/verify/scripts):四步脚本实现「结构覆盖而非全量」的减层验证语义——step1_generate_test_model.py依据每层结构标签(注意力类型 × FFN dense/MoE 类型)计算覆盖完备的最小前缀层数并生成随机权重模型(plan_structure_cover可输出覆盖计划、检测截断漏盖),step2_run_quantization.py以全回退配置执行msmodelslim quant,step3_verify_weights.py对比量化前后权重(对 tie-embedding 等价克隆做数值豁免),step4_verify_quant_description.py按规则校验quant_model_description.json的量化类型。 -
新增评测 skill(
skills/evaluation):evaluate/scripts/run_evaluation.py将评测封装为从 Evaluation YAML 驱动的run_evaluation(替代 MCPevaluation_run),内置长度配置门禁_length_config_violation(强制max_out_len < max-model-len)与 accuracy=0.0 诊断_diagnose_zero_accuracy(区分 vLLM 全拒、真实 0 分与无法确认上报EVALUATION_INVALID);新增可复用模板evaluation_config.example.yaml及 GPQA 数据集切换全量/子集路径的示例脚本run_gpqa_fullset.sh、run_gpqa_subset.sh。 -
新增调优编排与策略校验脚本(
skills/tuning、skills/strategy、skills/tuning-loop-lib):将原 MCP 能力改写为独立 CLI 脚本,包括精度缓存与历史记录的读写清理(accuracy_append.py/accuracy_lookup.py/accuracy_cleanup.py、history_append.py/history_clear.py,经YamlTuningAccuracyManager/YamlTuningHistoryManager落盘history/accuracy.yaml)、最终 Practice 归档finalize_practice_repo.py(门禁失败显式返回PRACTICE_SAVE_SKIPPED而非静默成功)、validate_practice_yaml.py校验 Practice YAML,并抽取共享库tuning-loop-lib/scripts(script_utils.py的结果序列化/超时重试、shared.py的设备与量化类型解析、lab_paths.py的lab_practice/lab_calib路径解析、yaml_validation_helpers.py);其中 accuracy 读写脚本通过预热导入msmodelslim.processor规避插件 5s 冷启动超时(Code 303/203)导致的半截 registry 问题。


| 阶段 | 任务名 | 状态 | 详情 |
|---|---|---|---|
| 编译构建 | Build_msmodelslim | ✅ COMPLETED | >>> |
| 恶意代码检查 | Antipoison_MindStudio-ModelSlim | ✅ COMPLETED | >>> |
| 编码安全与规范检查 | codecheck_pre-commit | ✅ COMPLETED | >>> |
| md_check | md_check | ✅ COMPLETED | >>> |
| pre-commit | ✅ COMPLETED | >>> | |
| 开源片段检查 | SCA_MindStudio-ModelSlim | ✅ COMPLETED | >>> |
| 开发者测试 | UT_msmodelslim | ✅ COMPLETED | >>> |
| PreSmoke_msmodelslim | ✅ COMPLETED | >>> | |
| 流水线 | PR-pipeline_msmodelslim | ✅ COMPLETED | >>> |
- compile : 运行流水线
- retry : 重试流水线所有失败子任务
- retry <任务名> : 仅重试指定失败子任务
- stop : 停止流水线


PR 提交说明
提交前请阅读 贡献指南,开发者文档:模型接入指南
PR 标题前缀:[Feature]、[Bugfix]、[Doc]、[Test](与 CONTRIBUTING 一致)
1. 影响面评估
接口变更(按需): 无
输出件变更(按需): 无
非兼容变更(按需): 无
SIG 评审结论(按需): 无
2. 修改描述
修改背景(可选): msAgent skills迁移到msModelSlim,便于用户下载msModelSlim即可快速量化调优
修改目的: msAgent skills迁移到msModelSlim
修改内容:
3. 功能验证
冒烟由 CI 门禁检查,无需填写「冒烟是否通过」。
4. 自检(请逐项确认,不适用标 N/A)
典型安全编码问题
DT