当前位置:首页 > 书籍文档 >

什么是mpi系统(mpi协议一般用于什么设备)

来源:原点资讯(www.yd166.com)时间:2023-12-04 17:57:28作者:YD166手机阅读>>

编者按:Google、Uber、DeepMind和Microsoft这四大科技公司是当前将深度学习研究广泛应用于自身业务的典型代表,跻身全球深度学习研究水平最高的科技公司之列。GPipe、Horovod、TF Replicator和DeepSpeed分别是这四家公司开发应用的深度学习框架,它们结合了深度学习研究及其基础设施的前沿技术,以提高深度学习模型的训练效率。这四个深度学习框架各有什么特点和优势呢?本文将对此做一个基本介绍。

什么是mpi系统,mpi协议一般用于什么设备(1)

作者 | Jesus Rodriguez

译者 | 苏本如,责编 | 夕颜

封图 | CSDN下载自东方IC

出品 | CSDN(ID:CSDNnews)

以下为译文:

大规模深度学习训练是在现实世界中构建深度学习解决方案最具挑战性的方面之一。 正如俗语所说,你最大的优点可以成为你最大的缺点,这一点自然也适用于深度学习模型。整个深度学习空间在一定程度上取决于深度神经网络(DNN)跨越GPU拓扑的能力。然而,同样的扩展能力导致了计算密集型程序的创建,这给大多数组织带来了操作上的挑战。从训练到优化,深度学习项目的生命周期需要健壮的基础设施构建块,以便能够并行化和扩展计算工作负载。

尽管深度学习框架正在快速发展,但相应的基础架构模型仍处于初期阶段。在过去的几年里,技术巨头谷歌、微软、优步(Uber)、DeepMind和其他公司定期发布了各自的研究成果,以便在大型GPU等基础设施上实现深度学习模型的并行化。

分布式和并行化计算的原理与深度学习程序生命周期的几乎所有阶段都息息相关。训练一个深度学习模型可能是一个非常昂贵的任务,运行也是如此。显而易见的答案是,可以利用大型GPU网络来分配深度学习程序的工作负载,但这绝非易事。众所周知,并发和并行编程是非常复杂的,尤其在应用于大型神经网络时更是如此。大型科技公司每天都在面临这些挑战,因为它们必须为关键业务应用运行极其复杂的深层神经网络。

今天,我想回顾一下谷歌、微软、DeepMind、和优步(Uber)等科技巨头用于并行化大规模深度学习模型训练的一些顶级框架。具体来说,我们将讨论以下四个框架:

  • 谷歌的 GPipe

  • 优步的Horovod

  • DeepMind的TF-Replicator

  • 微软的 DeepSpeed

什么是mpi系统,mpi协议一般用于什么设备(2)

谷歌的GPipe

GPipe专注于为深度学习项目提高训练工作量。从基础设施的角度来看,训练过程的复杂性是深度学习模型中经常被忽视的一个方面。训练数据集越来越大,也越来越复杂。例如,在医疗保健领域,遇到需要使用数百万高分辨率图像进行训练的模型已不罕见。因此,训练过程通常需要很长的时间才能完成,并且由于内存和CPU消耗而导致的成本也非常高。

将深度学习模型的并行性分为数据并行性和模型并行性,是一种研究深度学习模型并行性的有效方法。数据并行方法使用大量的机器集群来拆分输入数据。模型并行性尝试将模型移至加速器上,如GPU或TPU,它们具有加速模型训练的特殊硬件。在较高的层次上,几乎所有的训练数据集都可以按照一定的逻辑进行并行化,但在模型上却不是这样。例如,一些深度学习模型是由可以独立训练的并行分支组成的。在这种情况下,经典的策略是将计算划分为多个分区,并将不同的分区分配给不同的分支。然而,这种策略在连续堆叠层的深度学习模型中存在不足,这给高效并行计算带来了挑战。

GPipe采用一种称为管道的技术,将数据和模型并行性结合起来。从概念上讲,GPipe是一个分布式机器学习库,它使用同步随机梯度下降和管道并行性进行训练,适用于任何由多个连续层组成的深度神经网络(DNN)。GPipe将一个模型划分到不同的加速器上,并自动将一个小批量的训练实例分割成更小的微批量。该模型允许GPipe的加速器并行运行,以最大限度地提高了训练过程的可伸缩性。

下图说明了具有多个连续层的神经网络的GPipe模型在四个加速器之间的划分。Fk是第k个划分的复合正向计算函数。Bk是对应的反向传播函数。Bk既依赖于上层的Bk 1,也依赖于Fk的中间激活。在图片的上部中,我们可以看到网络的顺序特性如何导致资源利用不足的。图片的下部显示了GPipe方法,其中输入的小批量(mini-batch)被划分为更小的宏批量(macro-batch),这些宏批量(macro-batch)可以由加速器同时处理。

什么是mpi系统,mpi协议一般用于什么设备(3)

谷歌开源了GPipe的一种实现,作为TensorFlow项目的一部分。

开源地址:https://github.com/tensorflow/lingvo/blob/master/lingvo/core/gpipe.py

什么是mpi系统,mpi协议一般用于什么设备(4)

首页 123下一页

栏目热文

电脑有mpi接口吗(电脑有gpio接口吗)

电脑有mpi接口吗(电脑有gpio接口吗)

学习PLC之间的通信绝对是初学者的难题,如果有通信基础还好,要是没有一点基础怎么入门呢?这里给大家几个建议:一、初步了解...

2023-12-04 17:53:58查看全文 >>

15款mbp最适合的系统(17款mbp用什么系统好)

15款mbp最适合的系统(17款mbp用什么系统好)

年中Apple悄然上架2018年新款Macbook Pro,这也表明着本次的更新不会太大,基本也只是硬件上的常规升级:八...

2023-12-04 17:54:17查看全文 >>

怎么打领带简单方法(怎么打领带最简单)

怎么打领带简单方法(怎么打领带最简单)

超实用领带打法,简单易学,还能系得好看!工作实习、求职面试必备! ,...

2023-12-04 18:18:47查看全文 >>

wish与hope的区别与联系(wish和hope愿望有什么区别)

wish与hope的区别与联系(wish和hope愿望有什么区别)

“ Hope”与“ Wish”意思相近, 都有表达“希望”的意思,两者用法却不同。先来看两句话: I hope I ca...

2023-12-04 18:17:52查看全文 >>

wish和hope有什么区别(wish 和 hope 有什么区别)

wish和hope有什么区别(wish 和 hope 有什么区别)

英语中,hope 与 wish 都有“希望”的意思,但是在使用中既有相同的用法,也有不同的用法,我们总结为“两同三不同”...

2023-12-04 17:54:02查看全文 >>

如何查看电脑是否支持mpi(怎么查看电脑是否支持xmp模式)

如何查看电脑是否支持mpi(怎么查看电脑是否支持xmp模式)

主要是为大家分享几种WINCC连接西门子PLC的常用方式。此次并未列出所有的WINCC连接西门子品牌PLC的所有方法,只...

2023-12-04 17:56:10查看全文 >>

mpi接口是九针接口吗(dp接口与mpi接口区别)

mpi接口是九针接口吗(dp接口与mpi接口区别)

今天给大家分享西门子PLC几种常见的连接口和通讯协议。1、RS232接口与RS485接口的区别一、接口的物理结构1、RS...

2023-12-04 18:15:33查看全文 >>

微软mpi版本对效率的影响(微软mpi并行计算启动慢)

微软mpi版本对效率的影响(微软mpi并行计算启动慢)

超级计算机用于建模和模拟科学计算中最复杂的过程,通常是为了洞察新发现,否则这些新发现在物理上是不切实际的或不可能演示的。...

2023-12-04 18:16:26查看全文 >>

mpi可以和哪些设备通讯(mpi协议使用什么端口)

mpi可以和哪些设备通讯(mpi协议使用什么端口)

1 内容概述首先,这里对S7-200通讯性能做一个整体介绍,请看CPU200和扩展模块示意图(上图),CPU200会集成...

2023-12-04 18:11:01查看全文 >>

mpi工作原理(mpi通信原理)

mpi工作原理(mpi通信原理)

引言随着科技的进步,人类在医学领域的诊疗手段也接连取得突破,像计算机成像,磁共振成像和单光子成像技术都为患者带来了福音,...

2023-12-04 18:22:33查看全文 >>

文档排行