最新汽车资讯训练大型神经网络的四种基本方法简直就是驾驭科技发展的高级技巧
最新汽车资讯:大型神经网络训练的四种夸张方法,简直就像驾驭科技发展的高级技巧!
来源 OpenAI
编译 黄楠编辑 陈彩娴
在人工智能领域,大型神经网络是当前最热门的话题之一。那么,如何训练这些巨大的模型?OpenAI,一家推出大规模预训练模型 GPT-3 的公司,就发表了一篇博文,介绍了基于 GPU 的四种夸张并行训练方法。
数据并行:将相同参数复制到多个 GPU 上,每个 GPU 分配不同的示例进行同时处理。这需要模型与单个 GPU 内存大小匹配,但利用多个 GPU 计算时会有存储参数副本的成本。不过,有一些策略可以增加可用 RAM,如在两次使用之间暂时卸载参数到 CPU 内存。
流水线并行:将模型分块,每个 GPU 只保存一小部分参数,因此每个 GPU 消耗内存按比例减少。由于层间依赖性,可能产生大量空闲时间,这被称为“泡沫”。通过让每个 worker 一次只处理数据元素的一个子集,可以降低产生泡沫的成本,使新计算与等待时间重叠。
张量并行:将模型逐层或逐操作拆分,可以在不同设备上独立计算某些点积,并总结结果。在 Transformer 模型中,如 Megatron-LM 和 PTD-P,它们采用了矩阵乘法的并行化策略。
专家混合(MoE):只有小部分网络用于计算任何一个输入输出。通过门控机制选择权重组,可启用更多参数而不增加计算成本。不同的专家可以主持不同的GPU,从而提供一种扩大用于模型的GPU数量方式。
除了这些,还有一些其他设计和策略,如检查点、混合精度训练、卸载和 Memory Efficient Optimizer(MEo),可以帮助更容易地处理越来越大的神经网络。此外,还有一些异步同步方案可以消除阻塞通信带来的损耗,但这可能会影响学习效率。在实际应用中,人们通常坚持同步方法。