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进行计算处理。
API名称 | API功能 |
---|---|
规约,规约进程组内的tensor,返回结果至指定进程 | |
规约,指定逐元素规约操作 | |
组规约,规约进程组内的tensor,结果广播至每个进程 | |
组聚合,聚合进程组内的tensor,结果广播至每个进程 | |
广播一个tensor到每个进程 | |
分发tensor到每个进程 | |
切分参数到多个设备 | |
同步路障,进行阻塞操作,实现组内所有进程的同步 |