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功能

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

launch

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

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

获取当前进程的rank值

获取当前进程数

数据加载

API名称

API功能

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

流式数据加载

集合通信算法API

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

API名称

API功能

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

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

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

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

广播一个tensor到每个进程

分发tensor到每个进程

切分参数到多个设备

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