JP2020077300A - 分散深層学習システムおよびデータ転送方法 - Google Patents
分散深層学習システムおよびデータ転送方法 Download PDFInfo
- Publication number
- JP2020077300A JP2020077300A JP2018211345A JP2018211345A JP2020077300A JP 2020077300 A JP2020077300 A JP 2020077300A JP 2018211345 A JP2018211345 A JP 2018211345A JP 2018211345 A JP2018211345 A JP 2018211345A JP 2020077300 A JP2020077300 A JP 2020077300A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- calculation
- transfer
- data
- layer
- 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
- 238000012546 transfer Methods 0.000 title claims abstract description 275
- 238000013135 deep learning Methods 0.000 title claims abstract description 98
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000004364 calculation method Methods 0.000 claims abstract description 313
- 238000004891 communication Methods 0.000 claims abstract description 165
- 238000012545 processing Methods 0.000 claims abstract description 141
- 239000000872 buffer Substances 0.000 claims abstract description 123
- 230000008569 process Effects 0.000 claims abstract description 59
- 238000013528 artificial neural network Methods 0.000 claims description 31
- 239000000470 constituent Substances 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 5
- 230000004069 differentiation Effects 0.000 claims description 5
- 238000004148 unit process Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 11
- 239000011159 matrix material Substances 0.000 description 11
- 230000004048 modification Effects 0.000 description 11
- 238000012986 modification Methods 0.000 description 11
- 238000012790 confirmation Methods 0.000 description 9
- 230000020169 heat generation Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 229940050561 matrix product Drugs 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
Images
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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Multi Processors (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
図1は、本発明の第1の実施の形態に係る分散深層学習システムの構成を示すブロック図である。本実施の形態に係る分散深層学習システムは、通信ネットワークで互いに接続され、順伝搬計算および逆伝搬計算を反復的に行う複数の計算機1−0〜1−2と、これら複数の計算機1−0〜1−2と通信ネットワークで接続されたAllreduce処理装置2(集団通信部)とを備える。分散深層学習システムは、通信ネットワークを介して互いに接続された計算機1−0〜1−2内、および計算機1−0〜1−2とAllreduce処理装置2との間でデータを転送して分散深層学習を行う。
転送バッファ111は、後述のAllreduce処理装置2によってAllreduce処理された逆伝搬計算の計算結果を通信部15を介して受信し、一時的に記憶する。
転送バッファ121は、後述のAllreduce処理装置2に送信する逆伝搬計算の計算結果を一時的に記憶する。転送バッファ121は、逆伝搬計算部12が出力層、中間層、入力層の順に勾配を算出するたびに、層ごとの勾配を格納する。転送バッファ121に記憶される逆伝搬計算の計算結果は、転送バッファ121から計算機1のメインメモリである記憶部14に転送され記憶される。
次に、上述した計算機1のハードウェア構成について図2を参照して説明する。
図2に示すように、計算機1は、CPU101、メインメモリ102、GPU103、およびNIC106を備える。
メインメモリ102は、図1で説明した記憶部14を実現する。
GPU103は、図1で説明した順伝搬計算部11および逆伝搬計算部12を実現する。GPU103は、メモリ104と転送バッファ105を備える。
転送バッファ105は、図1で説明した順伝搬計算部11および逆伝搬計算部12がそれぞれ備える転送バッファ111、121を実現する。
次に、本実施の形態に係る分散深層学習システムによるデータ転送処理の概要について、図2および図3を用いて説明する。
次に、上述した本実施の形態のデータ転送方法の詳細について、図4を用いて説明する。
図4に示すように、分散深層学習システムを構成する計算機1−0〜1−2は、それぞれ順伝搬計算を行う(ステップS1−0,S1−1,S1−2)。より詳細には、学習データ入力部10は外部からの入力に応じて、学習データ1,3,5をそれぞれの計算機1−0〜1−2の順伝搬計算部11に入力する。
次に、第1の実施の形態の変形例1について、図5を参照して説明する。
前述したようにGPU103は、複数の処理を並行して実行することができるデバイスである。GPU103(逆伝搬計算部12)が実行する逆伝搬計算は、行列演算として行われる。この行列演算はブロック化(タイリング法)と呼ばれるアルゴリズムで実行される。この方法はGPU103が備える図示しないキャッシュにあるデータを再利用することで計算の高速化を図る手法である。
次に第1の実施の形態の変形例2について、図6を参照して説明する。
変形例1では、逆伝搬計算が行列演算として行われる点に着目したデータ転送について説明した。変形例2に係る分散深層学習システムでは、Allreduce処理装置2において、各層の各行列要素ごとにAllreduce処理を実行する。
次に、本発明の第2の実施の形態について説明する。なお、以下の説明では、上述した第1の実施の形態と同じ構成については同一の符号を付し、その説明を省略する。
次に、本実施の形態に係る分散深層学習システムの動作について、図8から図10のフローチャートを参照して説明する。まず、逆伝搬計算部12は、出力層、中間層、入力層の順に層ごとの逆伝搬計算を行う(ステップS80)。層ごとの逆伝搬計算の結果は記憶部120に記憶される。また、このとき、出力層、中間層、入力層の順に、逆伝搬計算の結果が転送バッファ121に格納されて、転送処理部13の指示に応じて計算機1のメインメモリである記憶部14に順次転送される。
次に、第2の実施の形態の変形例に係る分散深層学習システムについて、図11および図12を参照して説明する。変形例に係る分散深層学習システムは、図11に示すように、計算機1−0〜1−2およびAllreduce処理装置2と互いに通信ネットワークを介して接続された調整部16’を備える。この変形例では、調整部16’は、Allreduce処理の途中においてデータの順序を調整する。なお、調整部16’の機能は、第2の実施の形態で説明した調整部16と同様である。
次に、本発明の第3の実施の形態について説明する。なお、以下の説明では、上述した第1および第2の実施の形態と同じ構成については同一の符号を付し、その説明を省略する。
記憶部331は、計算部33によって実行された計算結果を記憶する。
次に、本実施の形態に係る計算機30のハードウェア構成について、図13を参照して説明する。
メインメモリ302は、図12で説明した記憶部32を実現する。
転送バッファ305は、図12で説明した計算部33が備える転送バッファ332を実現する。
上述した構成を有する計算機30の動作シーケンスについて図14から図16を参照して説明する。まず、計算機30が外部からデータを受信した場合のデータ転送処理について説明する。
図15に示すように、通信部34が備える確認部340は、外部に送信するデータが記憶部32に記憶されているかを確認する(ステップS306)。より詳細には、確認部340は、転送処理部31を介して記憶部32のデータの有無を確認する。
次に、本発明の第4の実施の形態について説明する。なお、以下の説明では、上述した第1から第3の実施の形態と同じ構成については同一の符号を付し、その説明を省略する。
次に、本発明の第5の実施の形態について説明する。なお、以下の説明では、上述した第1から第4の実施の形態と同じ構成については同一の符号を用い、その説明を省略する。
Claims (8)
- 通信ネットワークを介して互いに接続され、それぞれが学習データに基づく順伝搬計算および逆伝搬計算を反復的に行うとともに、逆伝搬計算の計算結果を前記通信ネットワークに送出する複数の計算機と、
前記複数の計算機と前記通信ネットワークを介して接続され、前記複数の計算機から受信した計算結果を処理して送信元に返送する集団通信部とを備え、
各計算機は、
順伝搬計算を層ごとに行う順伝搬計算部と、順伝搬計算の計算結果と設定されているラベルデータとの誤差に対するニューラルネットワークの構成パラメータの偏微分を、前記ニューラルネットワークの出力層、中間層、および入力層の順に層ごとに算出する逆伝搬計算部とを有する計算部と、
前記逆伝搬計算部が逆伝搬計算の計算結果を層ごとに算出するたびに、前記逆伝搬計算の計算結果を転送バッファに格納する転送処理部と、
前記転送バッファに格納された、前記逆伝搬計算の計算結果を、前記通信ネットワークを介して前記集団通信部に順次送信する通信部と、
を有し、
前記集団通信部は、前記逆伝搬計算の計算結果を前記複数の計算機から受信した順に処理して順次出力する
ことを特徴とする分散深層学習システム。 - 請求項1に記載の分散深層学習システムにおいて、
前記通信部は、前記集団通信部によって処理され返送された、層ごとの前記逆伝搬計算の計算結果を前記通信ネットワークを介して受信し、
前記順伝搬計算部は、前記集団通信部によって処理され返送された、層ごとの前記逆伝搬計算の計算結果を前記入力データとして用いることを特徴とする分散深層学習システム。 - 請求項2に記載の分散深層学習システムにおいて、
前記複数の計算機のそれぞれにおいて、前記順伝搬計算部に入力される前記入力データに含まれる前記集団通信部によって処理され返送された、層ごとの前記逆伝搬計算の計算結果が、入力層、中間層、および出力層の順番となるように調整する調整部をさらに備えることを特徴とする分散深層学習システム。 - 通信ネットワークを介して互いに接続された少なくとも1の計算機を備え、
前記計算機は、
前記通信ネットワークを介して外部からデータを受信する通信部と、
前記通信部で受信された受信データを転送する指示を行う第1転送指示部と、
前記第1転送指示部の指示に基づいて、前記受信データを転送バッファに記憶させる記憶部と、
前記転送バッファに記憶された前記受信データを転送する指示を行う第2転送指示部と、
前記受信データを用いてニューラルネットワークの演算を行う計算部と、
を備え、
前記第1転送指示部と前記第2転送指示部とは互いに非同期に指示を行い、
前記第2転送指示部は、前記受信データを前記計算部に転送する指示を行う
ことを特徴とする分散深層学習システム。 - 請求項4に記載の分散深層学習システムにおいて、
前記第2転送指示部は、前記計算部による演算結果を前記転送バッファに転送する指示を行い、
前記第1転送指示部は、前記演算結果を、前記転送バッファから前記通信部に転送する指示を行い、
前記通信部は、前記第1転送指示部からの指示に基づいて転送された前記演算結果を、前記通信ネットワークを介して外部に送信する
ことを特徴とする分散深層学習システム。 - 請求項4または請求項5に記載の分散深層学習システムにおいて、
前記記憶部は複数の転送バッファを備えることを特徴とする分散深層学習システム。 - 請求項1から6のいずれか1項に記載の分散深層学習システムにおいて、
前記転送バッファは格納するデータサイズに応じてバッファサイズが可変に構成されることを特徴とする分散深層学習システム。 - 通信ネットワークを介して互いに接続され、それぞれが学習データに基づく順伝搬計算および逆伝搬計算を反復的に行うとともに、逆伝搬計算の計算結果を前記通信ネットワークに送出する複数の計算機と、
前記複数の計算機と前記通信ネットワークを介して接続され、前記複数の計算機から受信した計算結果を処理して送信元に返送する集団通信部とを備え、
前記複数の計算機の各々で、学習データを含む入力データに基づいてニューラルネットワークの入力層、中間層、および出力層それぞれの順伝搬計算を層ごとに行う第1ステップと、
前記複数の計算機の各々で、順伝搬計算の計算結果と設定されているラベルデータとの誤差に対する前記ニューラルネットワークの構成パラメータの偏微分を、出力層、中間層、および入力層の順に層ごとに算出する第2ステップと、
前記複数の計算機の各々において、前記第2ステップで、逆伝搬計算の計算結果が層ごとに算出されるたびに、前記逆伝搬計算の計算結果を転送バッファに格納する第3ステップと、
前記複数の計算機の各々で、前記転送バッファに格納された、前記逆伝搬計算の計算結果を、前記通信ネットワークを介して前記集団通信部に順次送信する第4ステップと、
前記集団通信部で受信した前記逆伝搬計算の計算結果を前記複数の計算機から受信した順に処理して順次出力する第5ステップと
を備えることを特徴とするデータ転送方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018211345A JP2020077300A (ja) | 2018-11-09 | 2018-11-09 | 分散深層学習システムおよびデータ転送方法 |
PCT/JP2019/042008 WO2020095729A1 (ja) | 2018-11-09 | 2019-10-25 | 分散深層学習システムおよびデータ転送方法 |
US17/291,082 US20210357760A1 (en) | 2018-11-09 | 2019-10-25 | Distributed Deep Learning System and Data Transfer Method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018211345A JP2020077300A (ja) | 2018-11-09 | 2018-11-09 | 分散深層学習システムおよびデータ転送方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020077300A true JP2020077300A (ja) | 2020-05-21 |
Family
ID=70612437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018211345A Pending JP2020077300A (ja) | 2018-11-09 | 2018-11-09 | 分散深層学習システムおよびデータ転送方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210357760A1 (ja) |
JP (1) | JP2020077300A (ja) |
WO (1) | WO2020095729A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022102009A1 (ja) * | 2020-11-11 | 2022-05-19 | 日本電信電話株式会社 | 分散処理システムおよび方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11645534B2 (en) * | 2018-09-11 | 2023-05-09 | Intel Corporation | Triggered operations to improve allreduce overlap |
KR20210092980A (ko) * | 2020-01-17 | 2021-07-27 | 삼성전자주식회사 | 스토리지 컨트롤러, 이를 포함하는 스토리지 시스템 및 스토리지 컨트롤러의 동작 방법 |
JPWO2022004601A1 (ja) * | 2020-07-03 | 2022-01-06 | ||
US20220067508A1 (en) * | 2020-08-31 | 2022-03-03 | Advanced Micro Devices, Inc. | Methods for increasing cache hit rates for neural networks |
CN112463056B (zh) * | 2020-11-28 | 2023-06-09 | 苏州浪潮智能科技有限公司 | 一种多节点分布式训练方法、装置、设备及可读介质 |
CN114897146B (zh) * | 2022-05-18 | 2023-11-03 | 北京百度网讯科技有限公司 | 模型生成方法、装置和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07322076A (ja) * | 1994-05-24 | 1995-12-08 | Fuji Xerox Co Ltd | 画像復号処理装置 |
JPH11224180A (ja) * | 1998-02-06 | 1999-08-17 | Fuji Xerox Co Ltd | インターフェース回路 |
WO2016006150A1 (ja) * | 2014-07-10 | 2016-01-14 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 車載ネットワークシステム、電子制御ユニット、受信方法及び送信方法 |
JP2018018220A (ja) * | 2016-07-26 | 2018-02-01 | 富士通株式会社 | 並列情報処理装置、情報処理方法、およびプログラム |
JP2018018422A (ja) * | 2016-07-29 | 2018-02-01 | 株式会社デンソーアイティーラボラトリ | 予測装置、予測方法および予測プログラム |
-
2018
- 2018-11-09 JP JP2018211345A patent/JP2020077300A/ja active Pending
-
2019
- 2019-10-25 US US17/291,082 patent/US20210357760A1/en active Pending
- 2019-10-25 WO PCT/JP2019/042008 patent/WO2020095729A1/ja active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07322076A (ja) * | 1994-05-24 | 1995-12-08 | Fuji Xerox Co Ltd | 画像復号処理装置 |
JPH11224180A (ja) * | 1998-02-06 | 1999-08-17 | Fuji Xerox Co Ltd | インターフェース回路 |
WO2016006150A1 (ja) * | 2014-07-10 | 2016-01-14 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 車載ネットワークシステム、電子制御ユニット、受信方法及び送信方法 |
JP2018018220A (ja) * | 2016-07-26 | 2018-02-01 | 富士通株式会社 | 並列情報処理装置、情報処理方法、およびプログラム |
JP2018018422A (ja) * | 2016-07-29 | 2018-02-01 | 株式会社デンソーアイティーラボラトリ | 予測装置、予測方法および予測プログラム |
Non-Patent Citations (2)
Title |
---|
JEFFREY DEAN, ET AL.: ""Large Scale Distributed Deep Networks"", PROCEEDINGS OF NEURAL INFORMATION PROCESSING SYSTEMS 2012 (NIPS 2012), JPN6019010779, 2012, pages 1 - 9, XP055980970, ISSN: 0004759833 * |
TUNG D. LE, ET AL.: ""Involving CPUs into Multi-GPU Deep Learning"", PROCEEDINGS OF THE 2018 ACM/SPEC INTERNATIONAL CONFERENCE ON PERFORMANCE ENGINEERING (ICPE'18), JPN7020000089, 13 April 2018 (2018-04-13), pages 56 - 67, ISSN: 0004759834 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022102009A1 (ja) * | 2020-11-11 | 2022-05-19 | 日本電信電話株式会社 | 分散処理システムおよび方法 |
Also Published As
Publication number | Publication date |
---|---|
US20210357760A1 (en) | 2021-11-18 |
WO2020095729A1 (ja) | 2020-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020095729A1 (ja) | 分散深層学習システムおよびデータ転送方法 | |
EP3669304B1 (en) | Systolic neural network engine with crossover connection optimization | |
Chatzipanagiotis et al. | An augmented Lagrangian method for distributed optimization | |
US20180046913A1 (en) | Combining cpu and special accelerator for implementing an artificial neural network | |
CN110832509B (zh) | 使用神经网络的黑盒优化 | |
TW202147188A (zh) | 神經網路模型的訓練方法和相關産品 | |
WO2020026741A1 (ja) | 情報処理方法、情報処理装置及び情報処理プログラム | |
CN116680062B (zh) | 一种基于大数据集群的应用调度部署方法及存储介质 | |
JP7137064B2 (ja) | 最適化装置及び最適化装置の制御方法 | |
JP2020204928A (ja) | 最適化装置および最適化方法 | |
KR20220057396A (ko) | 강화학습 기반 에너지 관리 시스템 제어 방법 및 장치 | |
CN114626516A (zh) | 一种基于对数块浮点量化的神经网络加速系统 | |
WO2022019913A1 (en) | Systems and methods for generation of machine-learned multitask models | |
CN116489708B (zh) | 面向元宇宙的云边端协同的移动边缘计算任务卸载方法 | |
Zhang et al. | Reinforcement and transfer learning for distributed analytics in fragmented software defined coalitions | |
JP7279796B2 (ja) | 秘密勾配降下法計算方法、秘密深層学習方法、秘密勾配降下法計算システム、秘密深層学習システム、秘密計算装置、およびプログラム | |
CN117114055B (zh) | 面向工业应用场景的fpga二值神经网络加速方法 | |
Wu et al. | A fast task offloading optimization framework for irs-assisted multi-access edge computing system | |
WO2023286129A1 (ja) | 学習システムおよび学習方法 | |
WO2021140643A1 (ja) | ニューラルネットワークシステム、ニューラルネットワークの学習方法及びニューラルネットワークの学習プログラム | |
CN118036776A (zh) | 一种模型训练方法及相关装置 | |
Sivakumar et al. | A novel optimised GWOAN algorithm for scheduling task and power consumption in MEC network | |
Li | Model Distributed Learning at Edge Networks | |
Qadeer | Machine Learning Driven Resource Allocation in Edge Cloud | |
WO2024104983A1 (en) | Method and system for training a neural network for a multi-core data processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210219 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220426 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220615 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220913 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221110 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20230221 |