mindscience.distributed

通信组管理

mindscience.distributed.manager.get_context_parallel_group

获取序列并行组对象。

mindscience.distributed.manager.get_context_parallel_group_name

获取序列并行组的名称。

mindscience.distributed.manager.get_context_parallel_rank

获取当前卡在序列并行通信组中的卡号。

mindscience.distributed.manager.get_context_parallel_world_size

获取训练并行组的大小。

mindscience.distributed.manager.get_data_context_parallel_group

获取数据-序列并行组对象。

mindscience.distributed.manager.get_data_context_parallel_group_name

获取数据-序列并行组的名称。

mindscience.distributed.manager.get_data_context_parallel_rank

获取当前卡的数据-序列并行通信组中的卡号。

mindscience.distributed.manager.get_data_context_parallel_world_size

获取数据-序列并行组的大小。

mindscience.distributed.manager.get_data_parallel_group

获取数据并行组对象。

mindscience.distributed.manager.get_data_parallel_group_name

获取数据并行组的名称。

mindscience.distributed.manager.get_data_parallel_rank

获取当前卡在数据并行通信组中的卡号。

mindscience.distributed.manager.get_data_parallel_world_size

获取数据并行组的大小。

mindscience.distributed.manager.get_tensor_parallel_group

获取张量并行组对象。

mindscience.distributed.manager.get_tensor_parallel_group_name

获取张量并行组的名称。

mindscience.distributed.manager.get_tensor_parallel_rank

获取当前卡在张量并行通信组中的卡号。

mindscience.distributed.manager.get_tensor_parallel_world_size

获取张量并行组的大小。

mindscience.distributed.manager.initialize_parallel

初始化分布式训练的并行通信组。

张量排布

mindscience.distributed.mappings.all_to_all_from_hidden_to_sequence

执行从特征维度切分到序列维度切分的 all-to-all 操作。

mindscience.distributed.mappings.all_to_all_from_sequence_to_hidden

执行从序列维度切分到特征维度切分的 all-to-all 操作。

mindscience.distributed.mappings.copy_to_all

将输入转发到指定通信组中的所有卡。

mindscience.distributed.mappings.gather_from_hidden

沿最后一个维度收集切分的张量。

mindscience.distributed.mappings.gather_from_sequence

沿第一个维度收集切分的张量。

mindscience.distributed.mappings.reduce_from_all

对所有卡执行全归约操作。

mindscience.distributed.mappings.reduce_scatter_to_sequence

沿第一个维度对切分的张量执行 reduce-scatter 操作。

mindscience.distributed.mappings.scatter_to_hidden

沿最后一个维度将张量分散到不同卡上。

mindscience.distributed.mappings.scatter_to_sequence

沿第一个维度将张量分散到不同卡上。

分布式模块

mindscience.distributed.modules.ColumnParallelLinear

列并行线性层,将输出特征维度在TP通信组中进行分片。

mindscience.distributed.modules.RowParallelLinear

行并行线性层,将输入特征维度在TP通信组中进行分片。

mindscience.distributed.modules.initialize_affine_weight

为并行处理初始化并(可选)分割权重张量。