paddle.distributed

paddle.distributed 目录包含的 API 支撑飞桨框架大规模分布式训练能力。具体如下:

Fleet 分布式高层 API

paddle.distributed.fleet 是分布式训练的统一入口 API,用于配置分布式训练。

API 名称

API 功能

设置和获取用户自定义的集群信息,支持集合通信(Collective)及参数服务器(ParameterServer)两种训练架构的初始化

设置和获取 paddlecloud 集群信息(百度内部集群使用),支持集合通信(Collective)及参数服务器(ParameterServer)两种训练架构的初始化

配置分布式通信、计算和内存优化等策略

进行分布式训练配置并初始化

集合通信架构下,worker 节点初始化

集合通信架构下,停止正在运行的 worker 节点

集合通信架构下,强制要求所有的 worker 在此处相互等待一次,保持同步

参数服务器架构下,server 节点的初始化

参数服务器架构下的进程启动

保存用于预测的模型

保存全量模型参数

基于分布式并行策略进行模型拆分和优化计算

分布式训练工具的基类,用户集合通信、文件系统操作

Hadoop 文件系统查看和管理

本地文件系统查看和管理

环境配置和训练启动管理

API 名称

API 功能

初始化并行训练环境,支持动态图模式

启动分布式训练进程,支持集合通信及参数服务器架构

启动分布式训练进程,仅支持集合通信架构

获取当前进程的 rank 值

获取当前进程数

数据加载

API 名称

API 功能

数据加载到内存中,在训练前随机整理数据

流式数据加载

集合通信算法 API

在集群上,对多设备的进程组的参数数据 tensor 或 object 进行计算处理。

API 名称

API 功能

规约,规约进程组内的 tensor,返回结果至指定进程

规约,指定逐元素规约操作

组规约,规约进程组内的 tensor,结果广播至每个进程

组聚合,聚合进程组内的 tensor,结果广播至每个进程

组聚合,聚合进程组内的 object,结果广播至每个进程

广播一个 tensor 到每个进程

分发 tensor 到每个进程

切分参数到多个设备

同步路障,进行阻塞操作,实现组内所有进程的同步