增大Batch训练神经网络:单GPU、多GPU及分布式配置的实用技巧

  1. 云栖社区>
  2. 翻译小组>
  3. 博客>
  4. 正文

增大Batch训练神经网络:单GPU、多GPU及分布式配置的实用技巧

【方向】 2018-10-28 09:57:17 浏览3329
展开阅读全文

2018年中的大部分时间,我都在尝试利用训练神经网络克服GPUs的局限。无论是在包含1.5亿个参数的语言模型中,比如OpenAI’s huge Generative Pre-trained Transformer (or the recent and similar BERT model),还是在拥有3000万个输入元素的神经网络中,我都只能利用GPU处理很少的训练样本。

可是若想利用随机梯度下降算法得出不错的结果,大批量的训练样本必不可少。

如果你的GPU只能处理少量样本,该如何训练大批量模型呢?

接下来,我将介绍几类工具和技巧。

本文主要会讨论PyTorch框架,并就以下几个问题进行探讨:

  1. 当训练批量甚至单个训练样本大于GPU内存时,如何训练模型;
  2. 如何高效地利用多GPU机器;
  3. 如何在分布式设备上简单的使用多个机器。

在一个或多个GPU上训练


网友评论

登录后评论
0/500
评论