代码
MindSpore HyperParallel:AI辅助编程,助力分布式算子开发效率提升

MindSpore HyperParallel:AI辅助编程,助力分布式算子开发效率提升

MindSpore HyperParallel:AI辅助编程,助力分布式算子开发效率提升

分布式算子是大模型训练的关键一环:既要正确表达数学语义,又要在多卡 mesh 上保持张量 Layout 一致,还要兼容多个硬件后端。HyperParallel 是面向 PyTorch / MindSpore 双后端的并行训练框架,分布式算子统一构建在 DTensor(分布式张量) 之上——每接入一个新算子都要走一遍分析、实现、测试、提交、门禁,规范分散、链条又长,过去只有少数熟悉该模块的工程师能独立完成。

更有效的提效方式,不是为工具持续叠加功能,而是把资深工程师的经验与通用规范写成规则、封装成 AI 可直接调用的资产。HyperParallel 团队据此沉淀了一套以 .agent/ 目录为核心的 基于 DTensor 的分布式算子 AI 协作开发体系:同一任务的开发周期从约 9 小时压缩到 1.5 小时左右,人工主动操作不超过 10 分钟。

01 分布式算子开发难在哪里

基于 DTensor 接入一个新算子,需同时跨越三道难关:

  1. 领域知识高度专业化

将单机算子正确迁移至多卡,需回答若干共性问题:哪些维度可切分、如何保持张量 Layout 一致、单卡与多卡如何数值等价、如何接入框架对 DTensor 的分发路径,以及双层测试与跨平台一致性。这些问题任何并行框架均无法回避,仅在 HyperParallel 中具体体现为三阶段dispatch、cache_values、get_expand_impl 等本仓约定。

  1. 测试与门禁反复

UT、ST、门禁层层递进,pylint / lizard / codespell / Smoke_Ascend 任一环节失败均需重跑,单轮 Ascend 流水线常需 1 至 2 小时。

  1. 经验难以沉淀

此类判断过去多依赖文档与人际传递,不熟悉该模块的开发者往往需要较长摸索周期,且易随人员变动而流失。

02 AI 协作的五个层次

.agent/不是普通配置目录,而是一套工程化的 AI 协作规程:能规则化的交给机器,需判断的交给人。它由五层资产组成,覆盖「设计 → 编码 → 验证 → 提交 → 门禁」全流程。

其中 Rules 与 Hooks 构成「自动合规」底座:前者按路径注入流同步、DTensor 不变量、双后端对称等高风险约束;后者在文件写入时自动修复 License 头与类型注解、检查 *.yaml 配对、拦截带第三方 AI 署名的 commit。Commands 将高频操作打包为带 lint 与风控的标准流程。

Skills 将跨工具、多步骤的复杂任务封装为可触发的端到端目标——单条指令无法完成的事项(如分布式算子「分析 → 实现 → 测试 → 提交 → 门禁」全链路),由它编排为带人工确认节点的工作流,本文所述 dist-op-analysis、dist-op-dev、autogit 与 gate-doctor 即属此层。Agents 按成本分层,将 DTensor / FSDP / Pipeline / EP 等深度问题指派给领域专家。

03 分布式算子端到端开发流水线:四个 Skill 逐步拆解

针对分布式算子开发场景,.agent/skills/ 沉淀了两个专用 Skill(dist-op-analysis、dist-op-dev)和两个通用 Skill(autogit、gate-doctor),通过人工确认节点串成一条流水线,人可在任意节点接管。

  1. dist-op-analysis:人类把关,AI 推导

接口分析最易出错之处在于 cache_values 范围、参数传递方式与基类选择,故该 Skill 设为非 Goal 模式:分析完成后须停下等待人工确认 plan,不自动编写代码。方案以五步分析法推进,落盘至 plans/ 目录供评审。

plan 模板覆盖接口分析、Layout 推导、约束规则、实现与 UT/ST 清单,模糊项一律标 待确认、绝不臆测——拿到方案的人只需看懂、确认决策。

  1. dist-op-dev:Goal 模式自主交付

plan 确认后无需逐步交互,dist-op-dev 一气完成读 plan、写主文件、YAML 注册、编写 UT/ST,并在 gloo、Ascend、MindSpore 上跑测落盘。它指定 parallel_sort.py 等新 dispatch 文件作模板,测试驱动且不允许 skip、失败必查根因——实测中 AI 初版把 tensor_map 算错,未退出而是回查基类 _build_layout 后自修。

  1. autogit:为「提交」增设门槛

commit-msg 必须先展示给用户、非交互环境直接报错;git hook 校验 commit;PR 必须套用中文模板,不合规在门禁第一关即被挡;squash/rebase 前自动建备份分支、禁止 force-push 主干,git 操作由脚本支撑。

  1. gate-doctor:将门禁等待转为异步托管

该 Skill 将「盯 CI、读日志、改代码、重新触发」整条链路自动化:/check-pr 通过后方可执行 /retest(否则仅触发 17 秒「bypass build」假成功);查询 Jenkins job API 获取真实构建号,按 60s → 270s → 1200s → 1800s指数退避唤醒;成功需同时观测到 pr-check-pass 与 ci-pipeline-passed。平台 AI 检视机器人按行号评论,形成双层把关。

至此,四个 Skill 按「分析 → 实现 → 提交 → 门禁」顺序串接为一条完整的分布式算子开发流水线,每个环节既可由 AI 自主执行,也保留了人工介入的接口。

04 实战案例:Tril 算子从需求到 PR 仅用 1.5 小时

下三角算子 tril 语义直观,但分布式实现存在挑战:行/列维度分片后,本地 tril 须对 diagonal 做 per-rank 调整,才能与单机数值保持一致。

步骤一: 首先完成代码下载,代码仓地址: https://gitcode.com/mindspore/hyper-parallel

步骤二: 基于Agent输入提示词,开始分布式算子方案设计。

步骤三: 审视输出的方案,讨论并修正方案。

步骤四:

开始开发与验证。

步骤五:

使用/commit提交代码,并让AI提交PR与通过门禁。

05 效率与质量数据:研发杠杆从何而来

tril 并非孤例。多个任务上单次开发周期从约 9 小时降到 1.5 小时(含 AI 等待、人工操作 < 10 分钟),整体提效约 83%。

提效之外,质量与经验同样受益:Clean Code 自动满足,流同步、内存释放等高风险 bug 在生成阶段即被拦截,人工 review 得以专注分布式正确性与系统设计;专家经验固化为 Rules/Skills 资产、不随人员流失。

06 设计哲学:把「流程」,而不只是「任务」,交给 AI

几条通用、可复用到其他模块的原则:

07 欢迎加入 HyperParallel

HyperParallel 致力于保障分布式训练的稳定性与精度可复现,这离不开每一位开发者的智慧。如果你也追求极致的算力释放,欢迎加入我们的 SIG(特别兴趣小组):

参与讨论:加入 Parallel Training System SIG 论坛

https://www.mindspore.cn/sig/Parallel%20Training%20System

代码共建:在 GitCode 提交 Issue 或 Pull Request

https://gitcode.com/mindspore/hyper-parallel/

无论是代码实现、文档完善、示例补充还是Bug 反馈,您的每一份贡献都将帮助更多研究者和开发者受益。