Release Notes

查看源文件

MindSpore 2.10.0 Release Notes

主要特性及增强

HyperParallel

  • [STABLE] DTensor:基于分布式张量抽象,提供统一的 Stateless 编程模型,支持自动 layout 推导与跨设备 redistribute,实现本地/远程张量的透明化操作。

  • [STABLE] FSDP:全切片数据并行,将参数、梯度和优化器状态在设备间分片,支持 reshard_after_forward、通信融合与 overlap 模式,大幅降低单卡显存占用。

  • [STABLE] Context Parallel(CP):面向长序列训练(128K+)的序列维度切分,提供同步 CP、异步 CP 和 DSA(Dense Sparse Attention)三种变体,支持计算-通信异步 overlap。

  • [STABLE] Pipeline Parallel(PP):支持 GPipe、1F1B、VPP 等多种流水线调度策略,支持 PP+FSDP 融合、P2P 预取 overlap、Mpipe 多模态转置,并提供前反向 overlap 实现 EP all-to-all 通信掩盖。

  • [STABLE] 重计算(Activation Checkpoint):通过 checkpoint_wrapper 实现选择性重计算,以计算换显存,支持策略化选择重计算层,与 swap 机制协同工作。

  • [STABLE] Swap(激活卸载):通过 swap_wrapper 将激活异步卸载至 CPU 并在反向时预取回 NPU,提供 SwapManager 实现层级别的 offload/prefetch 协调管理。

  • [STABLE] 分布式 Checkpoint(DCP):按 rank 分片保存模型状态,支持不同并行策略间的 reshard 加载、异步暂存和离线格式转换,消除单卡内存瓶颈。

  • [STABLE] 分布式优化器:提供 AdamW 和 Muon 优化器,支持 ChainedOptimizer 混合参数组训练、梯度缩放与 FSDP 分片优化器状态。

  • [STABLE] DFunction:自定义分布式 Autograd 函数接口,支持自动 DTensor dispatch、layout 推导和输出封装,方便用户扩展自定义分布式算子。

  • [STABLE] 权重延后初始化:支持模型权重的延后初始化,先在 meta device 上构建模型结构再按需物化参数,降低大模型初始化阶段的峰值内存占用。

  • [DEMO] Tensor Parallel(TP):声明式张量并行,提供 ColwiseParallel、RowwiseParallel、SequenceParallel 等策略,支持 Loss Parallel,兼容 PyTorch 分布式张量 API。

  • [DEMO] Expert Parallel(EP):面向 MoE 模型的专家并行,支持 EP+TP 二维并行,提供 GroupedExperts、TokenChoiceTopKRouter 等构建模块,支持负载均衡与辅助损失。

  • [DEMO] 自动并行搜索(SAPP):SAPP-ND 提供 DP/TP/PP/EP 等多维并行策略自动搜索与内存估算;SAPP-PPB 实现流水线阶段负载均衡与重计算联合调优。

  • [DEMO] Mpipe 多模态并行:提供Mpipe VLM多模态Transpose调度。

  • [DEMO] 芯片内多核并行:提供 O0(Host CPU 调度)和 O1(AICore 调度)两级片上 MPMD 并行,结合多核分发与单边通信,提升 MoE 场景通信掩盖能力和 MAC 利用率。

AKG

  • [STABLE] MFusion:基于 MLIR 开源项目演进的图层算子融合工具,降低计算图层识别可融合的算子子图,将其聚类为一个融合单元,再交由算子编译工具生成代码,从而减少算子间内存搬运开销。

  • [STABLE] Scheduler:基于 MLIR 开源项目演进的深度学习编译器,提供了 CPU/GPU/Ascend 上完整的算子编译 Pipeline。当前包含了 MindSpore Dialect 图编译方言,并对 Linalg、Affine、GPU 等方言进行了扩展,增强了循环融合调度能力。此外,AKG-MLIR 对接了 AscendNPU IR,支持昇腾后端融合算子生成。

API 变更

  • [STABLE] Cell.to/to_empty:新增 Cell 参数和缓冲区的设备迁移与存储分配接口,支持通过 device、dtype 或参考 Tensor 对 Cell 进行原地转换,并可通过 to_empty 为 meta 初始化模型在目标设备上分配未初始化存储,便于模型在不同设备和数据类型间迁移。

依赖变更

  • NumPy 支持 2.x,依赖限制改为 numpy >= 1.25.0

  • Protobuf C++ 依赖升级到 7.34.1,Python 依赖限制为 protobuf >= 7.34.1

  • gRPC 升级到 1.73.0

  • abseil-cpp 升级到 20250127.1

  • re2 升级到 2022-04-01

  • Flatbuffers 升级到 25.12.19

  • Open MPI 升级到 5.0.10

  • GCC 最低支持版本变更为 9.5

贡献者

bellatan,BigSkySea,bleub,cheng_xiaoli,chenshan2623,chujinjin,DavidFFFan,dingjinshan,fangwenyi1,fary86,gaoyong10,ginfung,Hanshize,hbhu_bin,hhz0,huangbingjian1,huan-xiaoling,hujiahui8,hwcaifubi,hwjiaorui,hz893,jeasuiiya,jonyguo,kisnwang,Liangcan-Li,liangchenghui,lijiajie1234,limingqi107,LiNuohang,liuchengji3,liuf9,lllrt,looop5,luochao60,m0_51742343,machangwei,maoyuanpeng1,Margaret_wangrui,mengyuanli,nepdada,nicholas_yhr,panzhihui1,probiotics_53,propathee,qll1998,shawnylee233,shen_haochen,shenwei41,shuqian0,silkage_jiajia,skytier,SorryNaCN,sunshineko,tiancixiao,wangnan39,wangpingan2,wangyin888,wang-ziqi-code,wujueying,wusuqin4,xiong-pan,xuzhenyoumi,yangjiane,yide12,yt_289,yuanjunkang,yuanqi1104,yyuse,zh_qh,zhangyifan999,zhangyinxia,zhaochenjie-huawei,changzherui1,chenmolin37,david-he91,xuxinglei,Meng107,fengyixing,lichen666,zou-jieyu,yangzhenzhang,liuchongming74,lijiajia823,celiaccui,ch-l,lishanni513_admin1,rongyue,zhangbuxue,yao_yf,zhanghanb,suteng,bj-wang1,hwfuchao,wcrzlh,jiangna1111,sargerasking,lzy0920232,huilan_li,zezezechen,yuzhenhua666,wang_hua_2025,guangpengz,lei_xxx,Liang_Ziyi,chuting,memory_deluge,weixin_42266176,zhangyuguo,alpha-junh,jinxiaoxian,liu-yanwei6,qhzhuang11111111,qiang7680219,rainyhorse,SHUYUAN6,donglinzhuo,gemini524,haloradar,HulkTang1,tiandeyu-cs,xmoqian,yanxr123,corleoneliu,huawuyi,ombre_mer1,super_yuziyu,salazar111,lihui488