CN108108813A - 一种大类别深度学习gpu并行加速的方法 - Google Patents
一种大类别深度学习gpu并行加速的方法 Download PDFInfo
- Publication number
- CN108108813A CN108108813A CN201711251410.3A CN201711251410A CN108108813A CN 108108813 A CN108108813 A CN 108108813A CN 201711251410 A CN201711251410 A CN 201711251410A CN 108108813 A CN108108813 A CN 108108813A
- Authority
- CN
- China
- Prior art keywords
- gpu
- model
- parallel
- deep learning
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种大类别深度学习GPU并行加速的方法,包括:采用模型并行对深度神经网络结构中的softmax层的模型参数进行训练,每个GPU训练各自的模型分片,各GPU的softmax层之间通过交互模型参数的数据特征,完成深度学习;本发明采用混合式架构,即softmax层之前的所有层级,依然是采用数据并行方式,softmax层采用模型并行方式,突破了大类别深度学习并行运算的瓶颈,克服了在深度神经网络结构中的最后一层全链接层上,进行参数交互的通信成本和花费的通信时间过高的问题,能够在保持原有深度学习效果的同时,大幅度提升模型学习效率,减少GPU占用率。
Description
技术领域
本发明涉及计算机及其应用领域,尤其涉及一种大类别深度学习GPU并行加速的方法。
背景技术
目前,深度学习在几个主要领域都获得了突破性的进展:在语音识别领域,在图像识别领域,在自然语言处理领域。可以说到目前为止,深度学习是最接近人类大脑的智能学习方法。但是深度学习模型参数多,计算量大,训练数据的规模也更大,需要消耗很多计算资源。如果可以让训练加速,工作效率会明显提升,对于大规模的训练数据和模型来说,更可以将难以完成的任务变成可能。
随着GPU的大规模并行架构支持的不断推进,面向通用计算的GPU(General-Purposed GPU,GPGPU)已成为加速可并行应用程序的重要手段。得益于GPU众核(many-core)体系结构,程序在GPU系统上的运行速度相较于单核CPU往往提升几十倍乃至上千倍。利用GPU来训练深度神经网络,可以充分发挥其数以千计计算核心的高效并行计算能力,在使用海量训练数据的场景下,所耗费的时间大幅缩短,占用的服务器也更少。
目前大部分服务器都有8个或更多的GPU。原则上,使用更多的GPU可以大幅度地提升效率,但实现起来有一定困难,处理器之间需要交互大量的数据,并且花费更多的时间进行通信而非计算。传统的深度学习并行方法都是数据并行,将数据划分为几个分片,每个GPU处理其中一份,并且进行参数交互。但对于类别数很多的数据,在深度神经网络结构中的最后一层全链接层上,进行参数交互的通信成本太高,花费的通信时间远高过参数计算的时间,成为大类别深度学习并行运算的瓶颈,因此,需要一种新的技术手段,能够在保持原有深度学习效果的同时,大幅度提升模型学习效率,减少GPU占用率。
发明内容
鉴于以上所述现有技术的缺点,本发明提供一种大类别深度学习GPU并行加速的方法,以解决上述技术问题。
本发明提供的一种大类别深度学习GPU并行加速的方法,包括:
采用模型并行对深度神经网络结构中的softmax层的模型参数进行训练;
每个GPU训练各自的模型分片,获取模型参数的数据特征;
各GPU的softmax层之间通过交互模型参数的数据特征,完成深度学习。
进一步,采用混合架构对深度神经网络结构中的模型参数进行训练,所述混合结构包括采用模型并行对深度神经网络结构中的softmax层的模型参数进行训练,采用数据并行对深度神经网络结构中的其他层的模型参数进行训练。
进一步,所述模型并行包括将完整模型划分为若干模型分片,每个模型分片分别在不同的GPU上进行参数训练。
进一步,将深度神经网络结构中的softmax层划分为若干个模型分片,分别在不同的GPU上进行参数训练,每个GPU计算各自的模型分片,并获取对应模型分片的参数数据特征,所述模型分片的数量与GPU的数量一致。
进一步,所述数据并行包括,根据GPU数量对训练数据进行切分,通过不同的GPU对切分后的训练数据分别进行训练,获取训练数据特征组,各GPU之间通过训练数据特征数组进行交互,所述训练数据为传输图像数据。
进一步,每个GPU完成自己的模型分片计算后,将所有GPU上的模型分配组合为一个完整的模型。
进一步,通过all-gather算法,将数据传输至每块GPU上。
本发明的有益效果:本发明中的大类别深度学习GPU并行加速的方法,采用混合式架构,突破了大类别深度学习并行运算的瓶颈,克服了在深度神经网络结构中的最后一层全链接层上,进行参数交互的通信成本和花费的通信时间过高的问题,能够在保持原有深度学习效果的同时,大幅度提升模型学习效率,减少GPU占用率。
附图说明
图1是本发明实施例中的大类别深度学习GPU并行加速的方法流程示意图。
图2是本发明实施例中的大类别深度学习GPU并行加速的方法原理示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
如图1所示,本实施例中的大类别深度学习GPU并行加速的方法,包括:
采用模型并行对深度神经网络结构中的softmax层的模型参数进行训练;
每个GPU训练各自的模型分片,获取模型参数的数据特征;
各GPU的softmax层之间通过交互模型参数的数据特征,完成深度学习。
传统深度学习采用的GPU数据并行,假设一个深度神经网络结构有7层,共有4个GPU,图像数据的batch_size为64,图像特征的维度为128,类别数为100万,最后一层softmax层需要处理的数据参数如下:每个GPU处理的数据参数量为64*128,模型参数量为128*100W,每个GPU针对不同的数据,在同一模型结构上进行训练,GPU间需要交互的参数量为4*128*100W。即,每个GPU利用部分数据,训练完整的模型,但由于GPU间数据有差别,所以最后需要将每个GPU上计算的模型参数汇总,由此可见,百万级的参数量已经严重影响模型的学习效率,在实际的工作过程中,深度学习模型参数多,计算量大,训练数据的规模也更大,需要消耗很多计算资源,对于类别数很多的数据,在深度神经网络结构中的最后一层全链接层上,花费的通信时间远高过参数计算的时间。
在本实施例中,采用混合架构对深度神经网络结构进行训练,对于网络结构中的其他层,需要交互的参数量不多,在GPU并行过程中,产生的通信成本不高,可以采用数据并行方法,本实施例在最后一层softmax层中采用模型并行的方式,由于模型参数的数量与数据类别数息息相关,针对大类别的深度学习,最后一层的参数交互就成为了算法性能的瓶颈。本实施例中的混合架构将最后一层softmax层由数据并行改为模型并行,可以大幅度提升算法性能,本实施例利用GPU的特性,将softmax层改为模型并行,即每块GPU在softmax层不再将模型参数共享给其他GPU,而是将参数特征通信给其他GPU,大大降低了通信成本,每块GPU不是拥有完全的模型参数,而是只有各自计算的这一部分参数,这部分参数称为一个模型分片。
模型并行包括将完整模型划分为若干分片,每个分片分别在不同的GPU上进行运行,在本实施例中,将深度神经网络结构中的softmax层划分为若干个模型分片,分别在不同的GPU上进行参数训练,每个GPU计算各自的模型分片,并获取对应模型分片的参数数据特征,模型分片的数量与GPU的数量一致,每个GPU完成自己的模型分片计算后,再将所有GPU上的模型分配组合为一个完整的模型。
如图2所示,本实施例在softmax层之前先将各GPU上的数据(即图像特征)通过all-gather的方式通信,达到每块GPU上都有全部的数据信息。接下来再通过模型并行的方式来训练softmax层。在本实施例中,以4核GPU为例,将最后一层改为模型并行,则将一个完整模型划分为4个模型分片,每个模型分片分别在4个GPU上进行计算,各个GPU不再需要进行模型参数的通信,而是通过将参数特征通信给其他GPU。本实施例通过采用GPU的all-gather算法,使每个GPU上都能获得所有的数据信息。这样,每个GPU都可以根据所有的数据信息来训练自己的模型分片,保证了模型的每个部分都是由所有的数据学习得到的,在本实施例中,A,B,C,D视为每个GPU上处理的数据部分(图片特征),数据量即为上述的64*128,通过all-gather算法,将数据部分(即图片特征)传输至每块GPU上,以保证4个GPU上的数据完全一致。每个GPU只计算自己的模型分片,而传输的信息由模型参数变为特征参数,数据量上由4*128*100W变为4*64*128。最后再将4个GPU上的模型分片组合为一个完整的模型,极大幅度的降低了softmax层通信的数据量,本发明利用GPU的特征对深度学习的架构进行优化,尤其适用于大类别情况,通过将深度学习架构优化成混合模式,从而大大提高了实际应用中学习效率。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (7)
1.一种大类别深度学习GPU并行加速的方法,其特征在于,包括:
采用模型并行对深度神经网络结构中的softmax层的模型参数进行训练;
每个GPU训练各自的模型分片,获取模型参数的数据特征;
各GPU的softmax层之间通过交互模型参数的数据特征,完成深度学习。
2.根据权利要求1所述的大类别深度学习GPU并行加速的方法,其特征在于,采用混合架构对深度神经网络结构中的模型参数进行训练,所述混合结构包括采用模型并行对深度神经网络结构中的softmax层的模型参数进行训练,采用数据并行对深度神经网络结构中的其他层的模型参数进行训练。
3.根据权利要求2所述的大类别深度学习GPU并行加速的方法,其特征在于,所述模型并行包括将完整模型划分为若干模型分片,每个模型分片分别在不同的GPU上进行参数训练。
4.根据权利要求3所述的大类别深度学习GPU并行加速的方法,其特征在于,将深度神经网络结构中的softmax层划分为若干个模型分片,分别在不同的GPU上进行参数训练,每个GPU计算各自的模型分片,并获取对应模型分片的参数数据特征,所述模型分片的数量与GPU的数量一致。
5.根据权利要求4所述的大类别深度学习GPU并行加速的方法,其特征在于,所述数据并行包括,根据GPU数量对训练数据进行切分,通过不同的GPU对切分后的训练数据分别进行训练,获取训练数据特征组,各GPU之间通过训练数据特征数组进行交互,所述训练数据为传输图像数据。
6.根据权利要求5所述的大类别深度学习GPU并行加速的方法,其特征在于,每个GPU完成自己的模型分片计算后,将所有GPU上的模型分配组合为一个完整的模型。
7.根据权利要求4所述的大类别深度学习GPU并行加速的方法,其特征在于,通过all-gather算法,将数据传输至每块GPU上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711251410.3A CN108108813A (zh) | 2017-12-01 | 2017-12-01 | 一种大类别深度学习gpu并行加速的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711251410.3A CN108108813A (zh) | 2017-12-01 | 2017-12-01 | 一种大类别深度学习gpu并行加速的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108108813A true CN108108813A (zh) | 2018-06-01 |
Family
ID=62208007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711251410.3A Pending CN108108813A (zh) | 2017-12-01 | 2017-12-01 | 一种大类别深度学习gpu并行加速的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108108813A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109657793A (zh) * | 2018-12-26 | 2019-04-19 | 广州小狗机器人技术有限公司 | 模型训练方法及装置、存储介质及电子设备 |
WO2020164338A1 (zh) * | 2019-02-13 | 2020-08-20 | 阿里巴巴集团控股有限公司 | 利用gpu集群更新卷积神经网络的方法、装置及设备 |
CN112966829A (zh) * | 2021-03-03 | 2021-06-15 | 山东英信计算机技术有限公司 | 一种深度学习模型的训练方法、装置、设备及可读介质 |
CN114004730A (zh) * | 2021-11-03 | 2022-02-01 | 奥特贝睿(天津)科技有限公司 | 一种基于图形处理器的深度神经网络多模型并行推理方法 |
CN115934181A (zh) * | 2022-11-07 | 2023-04-07 | 北京百度网讯科技有限公司 | 数据加载方法、装置、电子设备和存储介质 |
-
2017
- 2017-12-01 CN CN201711251410.3A patent/CN108108813A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109657793A (zh) * | 2018-12-26 | 2019-04-19 | 广州小狗机器人技术有限公司 | 模型训练方法及装置、存储介质及电子设备 |
WO2020164338A1 (zh) * | 2019-02-13 | 2020-08-20 | 阿里巴巴集团控股有限公司 | 利用gpu集群更新卷积神经网络的方法、装置及设备 |
TWI716102B (zh) * | 2019-02-13 | 2021-01-11 | 開曼群島商創新先進技術有限公司 | 利用gpu集群更新卷積神經網路的方法、裝置及設備 |
US11640531B2 (en) | 2019-02-13 | 2023-05-02 | Advanced New Technologies Co., Ltd. | Method, apparatus and device for updating convolutional neural network using GPU cluster |
CN112966829A (zh) * | 2021-03-03 | 2021-06-15 | 山东英信计算机技术有限公司 | 一种深度学习模型的训练方法、装置、设备及可读介质 |
CN114004730A (zh) * | 2021-11-03 | 2022-02-01 | 奥特贝睿(天津)科技有限公司 | 一种基于图形处理器的深度神经网络多模型并行推理方法 |
CN115934181A (zh) * | 2022-11-07 | 2023-04-07 | 北京百度网讯科技有限公司 | 数据加载方法、装置、电子设备和存储介质 |
CN115934181B (zh) * | 2022-11-07 | 2023-10-13 | 北京百度网讯科技有限公司 | 数据加载方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108108813A (zh) | 一种大类别深度学习gpu并行加速的方法 | |
US10552712B2 (en) | Training device and training method for training image processing device | |
CN107392835B (zh) | 一种粒子系统的处理方法及装置 | |
CN109101948B (zh) | 一种基于时空及通道的多注意力机制视频描述方法 | |
CN107066239A (zh) | 一种实现卷积神经网络前向计算的硬件结构 | |
CN106056529A (zh) | 一种对用于图片识别的卷积神经网络训练的方法与设备 | |
CN109598184A (zh) | 一种多分割任务的处理方法和装置 | |
JP2020508504A (ja) | ニューラルネットワークを使用した繰り返しマルチスケール画像生成 | |
CN109284812B (zh) | 一种基于改进dqn的视频游戏模拟方法 | |
CN104268356B (zh) | 面向精益生产的飞机模型组装方法 | |
CN108734288A (zh) | 一种运算方法及装置 | |
CN109597965A (zh) | 基于深度神经网络的数据处理方法、系统、终端及介质 | |
CN109936745A (zh) | 用于改善原始视频数据的解压的方法和系统 | |
CN107515736A (zh) | 一种在嵌入式设备上加速深度卷积网络计算速度的方法 | |
Chwif et al. | Discrete event simulation model reduction: A causal approach | |
CN111738276A (zh) | 基于多核卷积神经网络的图像处理方法、装置及设备 | |
CN113079216A (zh) | 一种云应用的实现方法、装置、电子设备及可读存储介质 | |
CN109408669A (zh) | 一种针对不同应用场景的内容审核方法及装置 | |
CN108021369A (zh) | 一种数据集成处理方法及相关装置 | |
CN109840597A (zh) | 一种模型预测方法、装置、电子设备及存储介质 | |
CN105069450A (zh) | 一种快速的多文字识别方法 | |
CN103678888A (zh) | 一种基于欧拉流体模拟算法的心脏血液流动示意显示方法 | |
CN104156999A (zh) | 一种三维场景渲染方法 | |
Naseh et al. | Enabling Intelligent Vehicular Networks Through Distributed Learning in the Non-Terrestrial Networks 6G Vision | |
CN115829028B (zh) | 一种多模态联邦学习任务处理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180601 |