Release Notes
MindSpore 2.7.1 Release Notes
主要特性及增强
Dataset
[STABLE] 重构dataset
.map操作和.batch操作多进程并行加速能力,将原有的c++ thread(with GIL) -> python process pool -> worker[i]数据传递逻辑优化为c++ thread -> msg & shm -> worker[i]数据传递,减少数据传递链路,解决GIL锁依赖,实现自定义数据处理效率显著提升。
Parallel
[STABLE] 静态图模式场景,支持
AlltoAllVC正反向算子,用户可通过 mindspore.ops.AlltoAllVC接口使用该算子。动态图模式场景,支持通信接口mindspore.communication.comm_func.all_to_all_v_c,用户可通过该接口使用该算子。[STABLE] 动态图模式场景,支持
TCPStore功能,支持通信类mindspore.mint.distributed.TCPStore,用户可通过该类使用TCPStore功能。[STABLE] mindspore.communication.create_group接口支持传入参数
hccl_comm,从而复用外部创建通信组。用户可以用其他方式创建hccl通信组,然后传入给 MindSpore 组网。[BETA] mindspore.mint.distributed.init_process_group 接口支持传入参数
init_method或store,用户可通过该接口以不依赖scheduler进程的方式初始化通信。
Ascend
[BETA] 动态图异步执行模式下支持算子自动融合功能,用户可通过设置环境变量
export MS_DEV_PYNATIVE_FUSION_FLAGS="--opt_level=1"开启。[BETA] 静态图场景支持CustomOpBuilder方式接入自定义算子,开放MS_CUSTOM_OPS_REGISTER自定义算子功能类注册宏。
[BETA] 动态图场景支持 mindspore.runtime.use_mem_pool 方式传入自定义内存池,以实现在上下文中自定义内存分配。
PyNative
[STABLE] mindspore.mint.empty_like和mindspore.mint.empty接口支持
pin_memory参数,用户将pin_memory参数置为True,则返回的Tensor会分配到锁页内存,该特性只对CPU Tensor有效。[STABLE] View类算子性能优化。通过精简执行流程和优化关键实现,显著提升动态图(eager mode)下 View 算子的执行效率。
[STABLE] mindspore.Tensor.to接口功能扩展,支持Tensor在Device之间拷贝数据。
[STABLE] Tensor storage支持CPU/GPU/Ascend,在2.7.1之前Tensor Storage仅支持Ascend硬件。
Tools
[STABLE] 静态图模式场景支持特征值联合检测方案,用户可通过配置环境变量MS_NPU_ASD_CONFIG启用功能。
[STABLE] 支持HCCS链路故障检测,stress_detect接口新增hccs检测类型。
API 变更
[STABLE] mindspore.mint API新增了部分functional和Tensor接口。mint接口当前大多仍为实验性接口,在图编译模式为O0/O1和PyNative模式下性能比ops更优。当前暂不支持O2编译模式(图下沉)及CPU、GPU后端,后续会逐步完善。
mindspore.mint
mindspore.mint.real
mindspore.mint.imag
mindspore.Tensor
mindspore.Tensor.sign_
mindspore.Tensor.masked_scatter_
mindspore.Tensor.index_copy_
mindspore.Tensor.index_fill_
mindspore.Tensor.sigmoid_
[STABLE] mindspore.mint.nn.functional.conv1d和mindspore.mint.nn.Conv1d接口从demo转为stable。
[STABLE] mindspore.mint.stack和mindspore.mint.concat接口现在支持不同数据类型的Tensor输入。
[BETA] mindspore.ops.Morph 算子支持自定义反向传播函数(bprop),用户可为自定义正向计算定义相应的梯度计算逻辑。
[BETA] mindspore.recompute 支持在静态图下使用,用户可以在@jit装饰的函数中调用该接口。
[BETA] mindspore.enable_dynamic 支持符号推导功能,即其输入的 shape 允许使用mindspore.Symbol。
贡献者
Bellatan,caifubi,chaijinwei,changzherui,chengbin,chujinjin,DavidFFFan,DeshiChen,Dring,ehaleva,fary86,gaoyong10,guangpengz,GuoZhibin,guozhijian,haozhang,hedongdong,Henry Shi,hhz886,huangbingjian,huangzhuo,huangziling,huda,Huilan Li,huoxinyou,jiangshanfeng,jiaorui,jiaxueyu,jizewei,kairui_kou,kingxian,kisnwang,leida,liangchenghui,lichen,limingqi107,Linhai,LiNuohang,linux,liubuyu,liudongxu,liuluobin,liuyanwei,lizhitong,looop5,luochao60,machenggui,maoyuanpeng1,Margaret_wangrui,mengxian,MengXiangyu,mengyuanli,Metaqiang,NaCN,nepdada,panzhihui,Qiao_Fu,qiuleilei,qqqhhhbbb,qujianwei,shaoshengqi,shen_haochen,shenwei41,shuqian0,tanghuikang,uuhuu,wang_ziqi,wangjialin,wujueying,XianglongZeng,Xiaoda,xiaopeng,xiaotianci,xiaoyao,XinDu,xuzhen,yanghaoran,yao_yf,yefeng,yide12,yiguangzheng,YijieChen,yuanqi,yuchaojie,YuJianfeng,YukioZzz,yuliangbin,yyyyrf,zhangbuxue,zhangdanyang,zhanghanLeo,zhangyinxia,ZhangZGC,zhanzhan,zhaochenjie,zhengzuohe,zhunaipan,ZPaC,zyli2020,范吉斌,龚昊宇,胡彬,宦晓玲,李栋,李良灿,李林杰,刘崇鸣,刘飞扬,刘力力,刘子涵,宋佳琪,孙昊辰,王泓皓,王振邦,俞涵,张栩浩,张学同,周一航
MindSpore 2.7.0 Release Notes
主要特性及增强
Dataset
[STABLE] mindspore.dataset.vision.read_video 接口新增支持基于Ascend VDEC的视频解码,用户可以通过 mindspore.dataset.config.set_video_backend 接口指定视频处理后端为
CPU(默认)或Ascend。[STABLE] 新增 mindspore.dataset.vision.VideoDecoder 接口,提供视频抽帧解码及获取元数据的能力,当前仅支持
Ascend后端。
并行
[STABLE] MindSpore 支持收集和规约分发非均匀大小的张量。用户可以通过 mint.distributed.all_gather_into_tensor_uneven 和 mint.distributed.reduce_scatter_tensor_uneven 算子接口使用该功能。mint.distributed.all_gather 和 mint.distributed.reduce_scatter也分别新增对非均匀大小的收集和规约分发操作支持。
[BETA] 流水线并行支持ZeroBubbleV调度,降低流水线并行Bubble,同时可结合1B1F融合掩盖,提升通信和计算overlap的比例。
[STABLE] MindSpore 优化 PP 通讯域,显著降低 HCCL_BUFFER_SIZE。
[BETA] MindSpore 支持细粒度优化
HCCL_BUFFER_SIZE,可以通过环境变量MS_DEV_HCCL_CONF设置,详见环境变量。
Compiler
[BETA] 图模式支持 mindspore.nn.Cell 注册正反向 hook 的功能。
Runtime
[STABLE] MindSpore支持预留大页内存。用户可以通过在 mindspore.runtime.set_memory 接口中传入
huge_page_reserve_size参数使能该功能。
Lite
MindSpore Lite面向不同硬件设备提供轻量化AI推理加速能力,使能智能应用,为开发者提供端到端的解决方案,为算法工程师和数据科学家提供开发友好、运行高效、部署灵活的体验。
为了更好地促进人工智能软硬件应用生态繁荣发展,MindSpore Lite独立建仓促进生态发展。未来MindSpore Lite将与MindSpore AI社区一起,致力于丰富AI软硬件应用生态。
更多详情请参阅MindSpore Lite代码仓。
API 变更
[STABLE] 作为mindspore.mint API接入任务的一部分,一些Tensor API的接口定义和功能进行了对齐和优化。
mindspore.Tensor
mindspore.Tensor.masked_scatter
mindspore.Tensor.bernoulli_
mindspore.Tensor.zero_
mindspore.Tensor.copy_
[STABLE] mindspore.ops API新增mindspore.ops.ring_attention_update接口,当前仅支持 Atlas A2 训练系列产品。
[STABLE] 新增mindspore.enable_dynamic接口,用于指定参数的shape是动态shape或者动态rank。
贡献者
Bellatan,caifubi,ccsszz,chaijinwei,chengbin,chenweifeng,chujinjin,DavidFFFan,DeshiChen,dingjinshan,fary86,fuchao,gaoyong10,GuoZhibin,guozhijian,haozhang,hedongdong,Henry Shi,hhz886,huangbingjian,huangziling,huda,Huilan Li,jiangchao_j,jianghui58,jiangshanfeng,jiaorui,jiaxueyu,jizewei,leida,lichen,limingqi107,LiNuohang,linux,liubuyu,liuluobin,looop5,luochao60,luoyang,maoyuanpeng1,Margaret_wangrui,mengxian,MengXiangyu,NaCN,One_East,panzhihui,Qiao_Fu,qiuleilei,qiuyufeng,r1chardf1d0,SaiYao,shaoshengqi,shen_haochen,shenwei41,shuqian0,St.Universe,suteng,TAJh,tanghuikang,tianxiaodong,wang_ziqi,wangyibo,wujueying,wusimin,XianglongZeng,xiaopeng,xiaotianci,xiaoyao,XinDu,xuzhen,yanghaoran,yangyingchun,yide12,yonibaehr,yuanqi,yuchaojie,YuJianfeng,YukioZzz,yuliangbin,zhangbuxue,zhangdanyang,zhanghanLeo,zhangyinxia,ZhangZGC,zhaochenjie,Zhi Feng Wu,zhuguodong,ZPaC,zyli2020,程超,胡犇,胡彬,宦晓玲,黄勇,李良灿,李林杰,刘飞扬,刘勇琪,刘子涵,王振邦,熊攀,杨卉,俞涵,云骑士,张栩浩,周一航
MindSpore 2.7.0-rc1 Release Notes
主要特性及增强
Ascend
[STABLE] 新增 O1 场景下的 GroupedMatmul 优化,支持该算子后融合 element-wise 算子,大幅减少数据搬运开销,提升计算效率。用户可以通过设置环境变量
MS_DEV_GRAPH_KERNEL_FLAGS为"--enable_cluster_ops=GroupedMatmul"开启。[STABLE] 提升内存 tracker 易用性:用户可以通过 mindspore.runtime.memory_replay(file_path) 导入 tracker 数据,用于模型显存分析;通过设置
export MS_ALLOC_CONF=memory_tracker_path:file_path设置 tracker 数据保存路径;通过设置export MS_ALLOC_CONF=simple_tracker:true仅保存每个内存块最后一个使用者,减少保存数据大小。[STABLE] 优化了图模式下ops.Custom原语针对aclnn类型的自定义算子功能,全面支持非Tensor类型输入,并自动加载RegInfo信息,显著提升了aclnn自定义算子的易用性和灵活性。
PyNative
[STABLE] mindspore.nn.Cell.register_forward_hook 和 mindspore.nn.Cell.register_forward_pre_hook 新增
with_kwargs参数(默认值:False),用于支持将construct调用时的关键字参数传递给hook_fn。[STABLE] mindspore.Tensor.register_hook 现已支持对多输出算子的输出 Tensor 注册 hook。
[STABLE] Cell自定义反向功能增强,支持返回值的类型和对应输入的数据类型和shape形状的校验和自动转换。
[STABLE] Tensor增加Storage接口:支持通过Storage及其相关接口对内存进行操作,从而实现内存优化。
[STABLE] 新增 C++ 的 ms::pynative::PyboostRunner 接口,方便自定义算子支持 PyNative 多级流水运行时。
并行
[STABLE] 针对通信域可配HCCL缓存:communication.create_group 支持传入通信域额外配置
options,通过hccl_config键值对设置通信域HCCL通信域缓存大小,避免多通信域下OOM。[STABLE] 支持CPU通信接口 mint.distributed.all_reduce/mint.distributed.barrier/mint.distributed.send/mint.distributed.recv,用户可通过这些接口使用对应的集合通信算子功能。
[STABLE] 静态图模式场景,支持 AllGatherV 和ReduceScatterV正反向算子。
[BETA] 支持通过mint.distributed.TCPStore类的成员方法实现数据缓存功能。
训练
[STABLE] 重计算通信掩盖:支持对于完全重计算的两个Cell的计算通信进行互相掩盖,提升重计算场景模型的性能。
[STABLE] 精度故障不重启快速恢复:支持当发生精度故障时,在不重启进程的情况下加载CheckPoint继续训练。
[STABLE] 静默检测:支持对正反向计算中
MatMul结果进行校验。用户可以通过设置环境变量MS_SDC_DETECT_ENABLE为1使能,并通过mindspore.utils.sdc_detect模块的接口动态开启/关闭检测并获取结果。
推理
[STABLE] vLLM MindSpore 插件现已适配 vLLM v0.8.3 版本,并支持 vLLM V1 新架构的基础特性,包含 Chunked Prefill、Automatic Prefix Caching 等推理能力,在服务化部署方面,新增支持运行 DeepSeek-V3/R1 DP/TP/EP 混合并行推理能力,有效提升模型全量及增量推理效率,同时降低显存开销;
工具
自2.3版本起MindInsight工具停止更新发布,相关文档已下架。原有系统调优数据可视化已整合至MindStudio Insight,标量可视化、参数分布图可视化和计算图可视化已整合至MindStudio Insight插件,请参阅《MindStudio Insight用户指南》。
[STABLE] MindSpore Profiler支持接入msMonitor功能,支持用户通过在线监控工具采集性能数据。
[STABLE] MindSpore Profiler增加record_shapes参数,支持用户采集框架侧下发算子的shape信息。
[STABLE] MindSpore Profiler增加sys类资源类开关,支持sys资源类信息采集能力。
[STABLE] MindSpore Profiler增加host_sys开关,支持系统调用类、存储类、cpu信息等host信息采集能力。
[STABLE] MindSpore Profiler mstx模块提供domain功能,支持用户精细化控制mstx打点数据。
API 变更
[STABLE] mindspore.mint API中部分DEMO状态的functional、nn和Tensor接口转为STABLE。mint接口当前大多仍为实验性接口,在图编译模式为O0/O1和PyNative模式下性能比ops更优。当前暂不支持O2编译模式(图下沉)及CPU、GPU后端,后续会逐步完善。
mindspore.mint
mindspore.mint.randomperm
mindspore.mint.randn
mindspore.mint.randint
mindspore.mint.triu
mindspore.mint.empty_like
mindspore.mint.empty
mindspore.mint.floor_divide
mindspore.mint.nn
mindspore.mint.nn.BatchNorm1d
mindspore.mint.nn.BatchNorm2d
mindspore.mint.nn.BatchNorm3d
mindspore.mint.nn.PixelShuffle
mindspore.mint.nn.Threshold
mindspore.mint.nn.functional
mindspore.mint.nn.functional.threshold
mindspore.mint.nn.functional.threshold_
mindspore.mint.nn.functional.pixel_shuffle
mindspore.Tensor
mindspore.Tensor.new_full
mindspore.Tensor.new_empty
mindspore.Tensor.floor_divide
mindspore.Tensor.exponential_
[STABLE] mindspore.ops API新增mindspore.ops.swiglu接口,当前仅支持Ascend后端。
[STABLE] mindspore.ops API的mindspore.ops.svd接口现在额外支持了Ascend后端。
[STABLE] mindspore.mint.nn.functional.silu和 mindspore.mint.nn.SiLU 新增支持了入参
inplace。[STABLE] communication.create_group 新增支持通信域额外配置
options。HCCL后端支持设置options中的hccl_config,针对通信域设置HCCL通信域缓存大小。[STABLE] mindspore.runtime增加mindspore.runtime.empty_cache的实现。
[STABLE] mindspore.runtime.set_memory接口新增入参
huge_page_reserve_size。[STABLE] mindspore.runtime.set_cpu_affinity接口新增入参
module_to_cpu_dict。[STABLE] minspore.nn.Cell模块新增查看/保存模型状态的功能。新增接口:
mindspore.nn.Cell
cell.register_state_dict_post_hook
cell.register_state_dict_pre_hook
cell.state_dict
cell.register_load_state_dict_pre_hook
cell.register_load_state_dict_post_hook
cell.load_state_dict
[STABLE] minspore.nn.Cell模块查看/注册模型缓冲区的功能。新增接口:
mindspore.nn.Cell
cell.register_buffer
cell.get_buffer
cell.get_sub_cell
cell.named_buffer
cell.buffers
非兼容性接口变更
-
参数
affinity_cpu_list类型由字典变更为列表,仅针对单一进程自定义配置亲和CPU范围段。新增参数module_to_cpu_dict,支持针对热点模块线程自定义配置CPU亲和策略。2.6
2.7
>>> from mindspore.runtime import set_cpu_affinity
>>> set_cpu_affinity(True, {"device0": ["10-19", "23-40"]})>>> from mindspore.runtime import set_cpu_affinity
>>> set_cpu_affinity(True, ["10-19", "23-40"],
… {"main": [0,1,2,3],
… "runtime": [4,5,6],
… "pynative": [7,8,9]})
贡献者
baochong,Bellatan,BJ-WANG,caifubi,caiji_zhang,Carey,chaijinwei,changzherui,chengbin,chujinjin,DavidFFFan,DeshiChen,dingjinshan,Dring,ehaleva,Erpim,fary86,fengtingyan,fengyixing,fuchao,gaoyong10,gengdongjie,guangpengz,GuoZhibin,gupengcheng0401,haozhang,hedongdong,hhz886,huandong1,huangbingjian,huangziling,huda,HuilanLi,hujiahui8,jiangchao_j,jianghui58,jiangshanfeng,jiaorui,jiaxueyu,jizewei,jjfeing,jshawjc,kairui_kou,kingxian,kisnwang,lanzhineng,leida,LiangZhibo,lichen,limingqi107,LiNuohang,linux,liubuyu,liuchengji,liuluobin,liuyanwei,lkp,looop5,lujiale,luochao60,luoyang,maoyuanpeng1,Margaret_wangrui,mengxian,MengXiangyu,mengyuanli,NaCN,One_East,panshaowu,panzhihui,pengqi,Qiao_Fu,qiuleilei,qiuyufeng,rainyhorse,SaiYao,shaoshengqi,shen_haochen,shenhaojing,shenwei41,shuqian0,tanghuikang,tangmengcheng,tan-wei-cheng,tianxiaodong,uuhuu,wang_ziqi,WangChengzhao,wangshaocong,wangyibo,wujueying,XianglongZeng,xiaopeng,xiaotianci,xiaoyao,XinDu,xuzhen,yangguodong,yanghaoran,yangyingchun,Yanzhi_YI,yide12,yihangchen,YijieChen,yuanqi,yuchaojie,yuezenglin,YuJianfeng,YukioZzz,yuliangbin,yyuse,zhangbuxue,zhangdanyang,zhanghanLeo,zhangyinxia,ZhangZGC,zhanzhan,zhaochenjie,zhengzuohe,zhouyaqiang0,zhunaipan,zichun_ye,ZPaC,zyli2020,程超,范吉斌,胡犇,胡彬,宦晓玲,黄勇,李栋,李良灿,李林杰,李寅杰3,刘飞扬,刘力力,刘勇琪,刘子涵,梅飞要,宋佳琪,王泓皓,王禹程,王振邦,熊攀,徐安越,杨卉,杨明海,俞涵,虞良斌,云骑士,张栩浩,周一航