提交 468c82a9 编写于 作者: W Wu Yi 提交者: Cheerego

Update nccl2 tips (#430)

* update nccl2 dist train tips

* update

* update

* update

* update

* follow comments
上级 928eb2a6
...@@ -218,8 +218,15 @@ NCCL2模式的分布式训练,由于没有parameter server角色,是trainer ...@@ -218,8 +218,15 @@ NCCL2模式的分布式训练,由于没有parameter server角色,是trainer
目前使用NCCL2进行分布式训练仅支持同步训练方式。使用NCCL2方式的分布式训练,更适合模型体积较大,并需要使用\ 目前使用NCCL2进行分布式训练仅支持同步训练方式。使用NCCL2方式的分布式训练,更适合模型体积较大,并需要使用\
同步训练和GPU训练,如果硬件设备支持RDMA和GPU Direct,可以达到很高的分布式训练性能。 同步训练和GPU训练,如果硬件设备支持RDMA和GPU Direct,可以达到很高的分布式训练性能。
注意如果系统中有多个网络设备,需要手动指定NCCL2使用的设备, NCCL2分布式训练注意事项
假设需要使用 :code:`eth2` 为通信设备,需要设定如下环境变量: +++++++++++++++++++++
**注意:** 使用NCCL2模式分布式训练时,需要确保每个节点训练等量的数据,防止在最后一轮训练中任务不退出。通常有两种方式:
- 随机采样一些数据,补全分配到较少数据的节点上。(推荐使用这种方法,以训练完整的数据集)。
- 在python代码中,每个节点每个pass只训练固定的batch数,如果这个节点数据较多,则不训练这些多出来的数据。
**注意:** 如果系统中有多个网络设备,需要手动指定NCCL2使用的设备,假设需要使用 :code:`eth2` 为通信设备,需要设定如下环境变量:
.. code-block:: bash .. code-block:: bash
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册