已关闭
[Feature] model adaptor 精简为跑通级适配(run-through scope)并加固验证闭环 #403
kai1949创建于  17 天前关闭于  7 天前
kai1949
kai1949成员
17 天前 创建

Problem/Pain Point Description | 问题/痛点描述

TensorCast 新模型适配流程(model adaptor)此前承担"跑通 + 实测锚定验证"全链路:依赖 MindStudio Insight 原始 profiling 导出(raw_insight.txt)生成 evidence,再对仿真做延迟与算子次数对账。存在三个问题:

  1. 实测输入是硬前置:新模型必须在 NPU 上完成实测才能进入适配验证,阻塞了"先跑通、后精调"的正常节奏;
  2. 职责过宽:shape/dtype 全量校验与 profiling 精度对比即将由下游精度工作流统一负责(串联本流程 + shape/dtype 校验 + profiling 对比),本流程内的实测锚定层成为冗余;
  3. 验证器有断点:仿真崩溃时 verify 直接抛异常退出,AI/下游工作流拿不到结构化输出;custom_fn 适配的 MoE 模型会被误报 MOE_NOT_ADAPTED(error 级,卡死下游流水线)。

Proposed Solution | 建议方案

将 model adaptor 精简为跑通级适配,输入只有仿真命令与开源模型公开信息:

  1. 移除实测锚定层:删除 insight/evidence_builder/evidence/evidence_export/hints 五个模块、doctor 的 --raw-insight-file/--hints-file 输入与 export-evidence 子命令;
  2. verify 重构为"结构推导对账":doctor 全量结构扫描(扫描构建强制 disable_repetition)→ 跑一次基础 case → attention/MoE gating 调用次数与公开结构推导的期望对账(新模块 tensor_cast/adapter/expectations.py,显式算子分类表);
  3. 崩溃闭环:仿真崩溃被捕获为 SIMULATION_ERROR 结构化报告(含 traceback 与自动生成的 patch-discovery ai_tasks),AI 可直接按任务 prompt 驱动修复;
  4. MoE 适配证据加固:TensorCast MoE 路径算子(init_routing_v2/unpermute_tokens/dispatch_ffn_combine/grouped_matmul)作为已适配证据,custom_fn 适配模型不再误报;
  5. ST guardrail 用例与 benchmark 防护网格式完全兼容(仅通过的验证生成,可直接提交 tests/benchmark/models/cases/);
  6. 报告 schema 稳定性契约(稳定键名、issue 类别、退出码)写入设计文档,供下游工作流程序化消费。

Alternative Solutions | 替代方案

  • 保留实测锚定层、仅加开关:输入路径仍需维护,且与下游精度工作流职责重叠,否决;
  • 只删实测输入、不重构 verify:旧 verify 语义完全建立在 evidence 期望值上,删输入后无从对账,必须重构为结构推导,否决;
  • MoE 误报改为降级 warning:会漏掉真正未适配的 MoE(负例回归不允许),选择"路径算子证据"方案精确区分。

Expected Value | 预期价值

  • 新模型接入零实测依赖即可完成跑通级适配并得到验证凭证;
  • 下游精度工作流获得可编程底层组件:verify 永远输出 JSON 报告(passed/issues/ai_tasks)+ 确定退出码,schema 有稳定性承诺;
  • AI 适配的一次性成功率提升:崩溃自动产出修复任务、新 attention 算子未登记时报告直接给出未分类算子清单、custom 模型不再误报卡点。

Acceptance Criteria | 验收标准

  • Out of scope | 非目标:op_mapping.yaml 校准与实测精度对比(下游精度工作流负责);全量 shape/dtype 校验;kimi_k3/bailing_v3 等无 config-only fixture 模型的端到端验证(其算子名已覆盖于分类表)

Evidence and Context | 证据与上下文

  • 实现与验证:PR #791(commit fa616de 精简重构 + a2f6301 崩溃闭环与 MoE 证据加固),openLiBing CI 全绿(ci-pipeline-passed + docs-ci-pipeline-success)
  • 设计文档:docs/design/model_adaptation_efficiency_design.md v2.0(含验证语义表与报告 schema 稳定性契约)
  • 用户指南(zh/en)与 model-adaptation Skill 已按标准 10 步流程重写,含新算子适配位置指引
  • 测试:tests/regression/tensor_cast/test_adapter_automation.py 重写(48 用例,含崩溃捕获、custom-MoE 证据、未分类算子提示)

Preferred AI Collaboration Mode | AI 协作模式

Guided / 关键阶段确认

Contribution Intent | 贡献意向

likedislike
kai1949kai1949成员
17 天前 添加了label:feature
kai1949
kai1949成员
17 天前 评论:

/label add triaged
👋 您好,欢迎向 MindStudio-Modeling 提交 Issue!
我们已收到您的反馈,感谢你对开源社区的支持。🎉

📅处理时效: 维护团队将在8小时内 查看并回复您的问题(工作日)。
🔍自助查询: 在等待期间,建议您先查阅以下资料,可能已有解决方案:

📖 MindStudio-Modeling官方文档
📝 贡献者指南

请确保 Issue 描述清晰,包含复现步骤和日志,这将帮助我们更快定位问题。谢谢!

likedislike
ascend-robotascend-robot成员
17 天前 添加了label:triaged
jiangruitao
jiangruitao成员
16 天前 评论:

/label add resolved

likedislike
ascend-robotascend-robot成员
16 天前 添加了label:resolved
ascend-robot
ascend-robot成员
9 天前 评论:

您好,当前Issue标记为resolved且有一段时间未进一步更新,因此我们将其标记为'stale'(闲置)状态。若您认为这是误操作,可通过添加任意评论来去除'stale'标签。标记为stale的Issue在4天内无更新活动将自动关闭。

likedislike
ascend-robotascend-robot成员
9 天前 添加了label:stale
kai1949kai1949成员
7 天前 issue状态由 TODO 改变为 DONE
kai1949kai1949成员
7 天前 关闭了 issue