mindspore.parallel

mindspore.parallel提供了大量的自动并行接口,包括并行基础配置、模型加载与转换、函数式并行切分等。

模块导入方法如下:

from mindspore import parallel

并行基础配置

mindspore.parallel.auto_parallel.AutoParallel

对顶层Cell或函数进行封装,实现单个网络的静态图并行。

mindspore.parallel.nn.GradAccumulation

实现静态图并行梯度累加功能。

mindspore.parallel.nn.MicroBatchInterleaved

实现静态图并行多副本拆分功能,使得计算及通信能并发。

mindspore.parallel.nn.Pipeline

指定流水线并行的micro_batch个数及stage的划分规则。

mindspore.parallel.nn.PipelineGradReducer

函数式训练场景下,实现流水线并行的梯度规约及累加。

模型加载与转换

mindspore.parallel.convert_checkpoints

将一个分布式网络的Checkpoint由源切分策略转换到目标切分策略。

mindspore.parallel.convert_checkpoint_by_rank

将一个分布式网络的Checkpoint由源切分策略转换到目标切分策略,对特定一个rank进行转换。

mindspore.parallel.load_distributed_checkpoint

加载分布式checkpoint参数到网络,用于分布式推理。

mindspore.parallel.load_segmented_checkpoints

加载指定路径下所有checkpoint文件。

mindspore.parallel.rank_list_for_convert

在对分布式Checkpoint转换的过程中,获取目标rank的Checkpoint文件所需的源Checkpoint文件rank列表。

mindspore.parallel.unified_safetensors

将多个safetensors文件合并为一系列统一的safetensors文件。

函数式并行切分

mindspore.parallel.function.reshard

将张量从一种分布式排布转换成另一种分布式排布。

mindspore.parallel.Layout

描述集群设备的拓扑抽象,用于张量分片在集群上的放置。

mindspore.parallel.shard

指定一个Cell或函数的输入、输出切分策略。

其他

mindspore.parallel.build_searched_strategy

从策略文件中提取网络中每个参数的切分策略,用于分布式推理的场景。

mindspore.parallel.merge_pipeline_strategys

汇聚所有流水线并行子图的切分策略文件到目的文件。

mindspore.parallel.parameter_broadcast

在数据并行维度,将参数广播到其他卡上。

mindspore.parallel.restore_group_info_list

从通信域文件中提取rank list信息。

mindspore.parallel.sync_pipeline_shared_parameters

在流水线并行推理场景下,对stage间的共享权重进行同步。