JP7420228B2 - 分散処理システムおよび分散処理方法 - Google Patents
分散処理システムおよび分散処理方法 Download PDFInfo
- Publication number
- JP7420228B2 JP7420228B2 JP2022516509A JP2022516509A JP7420228B2 JP 7420228 B2 JP7420228 B2 JP 7420228B2 JP 2022516509 A JP2022516509 A JP 2022516509A JP 2022516509 A JP2022516509 A JP 2022516509A JP 7420228 B2 JP7420228 B2 JP 7420228B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- distributed
- aggregation
- processing node
- processing
- 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.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims description 579
- 238000003672 processing method Methods 0.000 title claims description 11
- 230000006854 communication Effects 0.000 claims description 305
- 238000004891 communication Methods 0.000 claims description 296
- 238000004220 aggregation Methods 0.000 claims description 273
- 230000002776 aggregation Effects 0.000 claims description 273
- 230000005540 biological transmission Effects 0.000 claims description 93
- 238000004364 calculation method Methods 0.000 claims description 75
- 238000000034 method Methods 0.000 claims description 59
- 238000009826 distribution Methods 0.000 claims description 46
- 230000004931 aggregating effect Effects 0.000 claims description 7
- 230000006870 function Effects 0.000 description 91
- 238000013528 artificial neural network Methods 0.000 description 27
- 238000013135 deep learning Methods 0.000 description 19
- 230000013016 learning Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 230000001934 delay Effects 0.000 description 10
- 238000003860 storage Methods 0.000 description 6
- 230000003111 delayed effect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000001052 transient effect Effects 0.000 description 5
- 238000009825 accumulation Methods 0.000 description 4
- 238000013480 data collection Methods 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
こうして、分散処理が行われることにより、深層学習には、集約通信(II)と全ノード集計処理(III)と分配通信(IV)の各処理時間が加わる。
近年、深層学習がより複雑な問題に適用されるようになってきており、重みの総数が増加する傾向にある。このため、分散データや集計データのデータ量が増大し、集約通信時間と分配通信時間が増大している。また、集約通信時間と分配通信時間の増大によって集計処理ノードと分散処理ノードでのデータ処理負荷も増大している。
以下、本発明の実施例について図面を参照して説明する。図1は本発明の第1の実施例に係る深層学習用分散処理システムの構成例を示すブロック図である。図1の分散処理システムは、1個の集計処理ノード100と、ニューラルネットワークのサンプルデータ(学習データ)の集合毎に設けられたN個(Nは2以上の整数)の分散処理ノード200[n](n=1,・・・,N)とを備える。各分散処理ノード200[n]は、双方向の通信が可能なネットワーク300により、集計処理ノード100と接続されている。
例えば演算対象のモデルの入力側から数えて1番目のブロックに割り当てられた演算通信素子201[1]は、分散処理ノード200[n]用に図示しないデータ収集ノードから学習用のサンプルデータを受け取るサンプル入力部202と、サンプルデータが入力されたときに、1番目のブロックの重み(パラメータ)の各々について、モデルの損失関数のパラメータ勾配をサンプルデータ毎に計算する勾配計算処理部203[1]と、サンプルデータ毎のパラメータ勾配を集計した数値である分散データをパラメータ毎に生成して保持するノード内集計処理部204[1]と、分散データをパケット化して集計処理ノード100の集約処理機能部101[1]に送信する送信部205[1]と、集計処理ノード100の集約処理機能部101[1]から送信されたパケットを受信して集計データを取得する受信部206[1]と、集計データに基づいて1番目のブロックのパラメータを更新する更新処理部207[1]と、ソフトウェア的に構築されたモデルを構成する1番目のブロック208[1]と、送信部205[1]に内包され、送信部205[1]の送信済みの分散データのデータ量(個数)をカウントする送信カウント部209[1]と、受信部206[1]に内包され、受信部206[1]の取得済みの集計データのデータ量(個数)をカウントする受信カウント部210[1]と、送信済みの分散データのデータ量と取得済みの集計データのデータ量との差である未受信データ量を監視し、この未受信データ量が閾値Ma1以上となった場合に、分散データの送信を未受信データ量が閾値Mb1(Mb1<Ma1)以下となるまで停止する送信制御部211[1]とを備えている。
Di[mi,n]=Σs=1,…,SGi[mi,n,s] ・・・(1)
Pgi番目の集約通信パケットSPi[Pgi,n]については、(Mi-Lgi×(Pgi-1))個の分散データDi[u,n]の後に、{Lgi-(Mi-Lgi×(Pgi-1))}個のダミーの数値を追加し、全ての集約通信パケットが等しくLgi個のデータを格納するようにしてもよい。
pi番目の集約通信パケットSPi[pi,n]を送信した時点では、送信開始からpi×Lgi個の分散データDi[mi,n]を送信していることになるため、Mtiの値はpi×Lgiである。なお、送信カウント部209[i]は、Pgi個全ての集約通信パケットSPi[pi,n]を送信した時点では、pi×Lgiの値に関わらずMti=Miとする。
Ri[mi]=Σn=1,…,NDi[mi,n] ・・・(2)
Psi番目の分配通信パケットDPi[Psi,n]については、(Mi-Lsi×(Psi-1))個の集計データRi[us]の後に、{Lsi-(Mi-Lsi×(Psi-1))}個のダミーの数値を追加し、全ての分配通信パケットが等しくLsi個のデータを格納するようにしてもよい。
次に、本発明の第2の実施例について説明する。本実施例は、第1の実施例の深層学習用分散処理システムの構成要素である集計処理ノード100の構成例を説明するものである。図16は集計処理ノード100の構成例を示すブロック図である。
Claims (8)
- 集計処理ノードとN個(Nは2以上の整数)の分散処理ノードとを備え、
各分散処理ノードは、演算対象のモデルの分割されたL個(Lは2以上の整数)のブロックの演算を行うように構成されたL個の演算通信素子を備え、
前記集計処理ノードは、前記ブロック毎の演算を行うように構成されたL個の集約処理機能部を備え、
各分散処理ノードのi番目(i=1,・・・,L)の前記演算通信素子は、演算対象のi番目の前記ブロックのMi個(Miは2以上の整数)のパラメータwi[mi]毎(mi=1,・・・,Mi)の分散データDi[mi,n](n=1,・・・,N)をパラメータwi[mi]の番号miの順番にパケット化して前記集計処理ノードのi番目の前記集約処理機能部に送信し、i番目の前記集約処理機能部から送信されたパケットを受信して集計データRi[mi]を番号miの順番に取得して、この集計データRi[mi]に基づいてi番目の前記ブロックのパラメータwi[mi]を更新し、
前記集計処理ノードのi番目の前記集約処理機能部は、各分散処理ノードのi番目の前記演算通信素子から送信されたパケットを受信して分散データDi[mi,n]を番号miの順番に取得し、全分散処理ノードのi番目の前記演算通信素子の分散データDi[mi,n]をパラメータwi[mi]毎に集計した前記集計データRi[mi]を生成して、この集計データRi[mi]を番号miの順番にパケット化して各分散処理ノードのi番目の前記演算通信素子に送信し、
各分散処理ノードのi番目の前記演算通信素子は、前記集計処理ノードに前記分散データDi[mi,n]を送信開始してからMi個の前記集計データRi[mi]を取得し終えるまでの期間において、送信済みの分散データDi[mi,n]のデータ量と取得済みの集計データRi[mi]のデータ量との差である未受信データ量を監視し、この未受信データ量が閾値Mai以上(MaiはMiより小さい正の整数)となった場合に、前記分散データDi[mi,n]の送信を前記未受信データ量が閾値Mbi(MbiはMaiより小さい正の整数)以下となるまで停止することを特徴とする分散処理システム。 - 請求項1記載の分散処理システムにおいて、
各分散処理ノードのi番目の前記演算通信素子は、
前記分散データDi[mi,n]を番号miの順番にパケット化して前記集計処理ノードのi番目の前記集約処理機能部に送信するように構成された送信部と、
i番目の前記集約処理機能部から送信されたパケットを受信して前記集計データRi[mi]を番号miの順番に取得するように構成された受信部と、
前記集計データRi[mi]に基づいてi番目の前記ブロックのパラメータwi[mi]を更新するように構成された更新処理部と、
前記集計処理ノードに前記分散データDi[mi,n]を送信開始してからMi個の前記集計データRi[mi]を取得し終えるまでの期間において、送信済みの分散データDi[mi,n]の個数Mti(MtiはMi以下の正の整数)をカウントするように構成された送信カウント部と、
前記集計処理ノードに前記分散データDi[mi,n]を送信開始してからMi個の前記集計データRi[mi]を取得し終えるまでの期間において、取得済みの集計データRi[mi]の個数Mri(MriはMi以下の正の整数)をカウントするように構成された受信カウント部と、
前記個数MtiとMriとの差である前記未受信データ量が前記閾値Mai以上となった場合に、前記送信部による前記分散データDi[mi,n]の送信を、前記未受信データ量が前記閾値Mbi以下となるまで停止させるように構成された送信制御部とを備えることを特徴とする分散処理システム。 - 請求項1または2記載の分散処理システムにおいて、
前記集計処理ノードのi番目の前記集約処理機能部は、
分散処理ノード別に設けられ、各分散処理ノードのi番目の前記演算通信素子から送信されたパケットを受信して前記分散データDi[mi,n]を番号miの順番に取得するように構成されたN個の受信部と、
全分散処理ノードのi番目の前記演算通信素子の分散データDi[mi,n]をパラメータwi[mi]毎に集計した前記集計データRi[mi]を生成するように構成された集計処理部と、
分散処理ノード別に設けられ、前記集計データRi[mi]を番号miの順番にパケット化して各分散処理ノードのi番目の前記演算通信素子に送信するように構成されたN個の送信部とを備えることを特徴とする分散処理システム。 - 請求項1乃至3のいずれか1項に記載の分散処理システムにおいて、
各分散処理ノードのi番目の前記演算通信素子は、
前記演算対象のモデルの演算用のサンプルデータが入力されたときに、i番目の前記ブロックのパラメータwi[mi]の各々について、前記モデルの損失関数のパラメータ勾配をサンプルデータ毎に計算するように構成された勾配計算処理部と、
サンプルデータ毎の前記パラメータ勾配を集計した数値である前記分散データDi[mi,n]をパラメータwi[mi]毎に生成して保持するように構成されたノード内集計処理部とを、さらに備えることを特徴とする分散処理システム。 - 請求項1乃至4のいずれか1項に記載の分散処理システムにおいて、
前記集計処理ノードのi番目の前記集約処理機能部と各分散処理ノードのi番目の前記演算通信素子とは、
各分散処理ノードのi番目の前記演算通信素子が、パケット化した分散データDi[mi,n]を前記集計処理ノードのi番目の前記集約処理機能部に送信して、i番目の前記集約処理機能部が、受信したパケットから前記分散データDi[mi,n]を取得する集約通信処理と、
i番目の前記集約処理機能部が、前記集計データRi[mi]を生成する全ノード集計処理と、
i番目の前記集約処理機能部が、パケット化した前記集計データRi[mi]を各分散処理ノードのi番目の前記演算通信素子に送信して、各分散処理ノードのi番目の前記演算通信素子が、受信したパケットから前記集計データRi[mi]を取得する分配通信処理と、
各分散処理ノードのi番目の前記演算通信素子が、前記パラメータwi[mi]を更新するパラメータ更新処理とを、それぞれ異なる番号miについて並行して行うことを特徴とする分散処理システム。 - N個(Nは2以上の整数)の分散処理ノードの各々に、演算対象のモデルの分割されたL個(Lは2以上の整数)のブロック毎に設けられたL個の演算通信素子の各々が、演算対象のi番目(i=1,・・・,L)の前記ブロックのMi個(Miは2以上の整数)のパラメータwi[mi]毎(mi=1,・・・,Mi)の分散データDi[mi,n](n=1,・・・,N)を重みwi[mi]の番号miの順番にパケット化して集計処理ノードに設けられたi番目の集約処理機能部に送信する第1のステップと、
前記集計処理ノードのi番目の前記集約処理機能部が、各分散処理ノードのi番目の前記演算通信素子から送信されたパケットを受信して前記分散データDi[mi,n]を番号miの順番に取得する第2のステップと、
前記集計処理ノードのi番目の前記集約処理機能部が、全分散処理ノードの分散データDi[mi,n]をパラメータwi[mi]毎に集計した集計データRi[mi]を生成する第3のステップと、
前記集計処理ノードのi番目の前記集約処理機能部が、前記集計データRi[mi]を番号miの順番にパケット化して各分散処理ノードのi番目の前記演算通信素子に送信する第4のステップと、
各分散処理ノードのi番目の前記演算通信素子が、前記集計処理ノードのi番目の前記集約処理機能部から送信されたパケットを受信して前記集計データRi[mi]を番号miの順番に取得する第5のステップと、
各分散処理ノードのi番目の前記演算通信素子が、前記集計データRi[mi]に基づいてi番目の前記ブロックのパラメータwi[mi]を更新する第6のステップと、
各分散処理ノードのi番目の前記演算通信素子が、前記集計処理ノードのi番目の前記集約処理機能部に前記分散データDi[mi,n]を送信開始してからMi個の前記集計データRi[mi]を取得し終えるまでの期間において、送信済みの分散データDi[mi,n]のデータ量と取得済みの集計データRi[mi]のデータ量との差である未受信データ量を監視し、この未受信データ量が閾値Mai以上(MaiはMiより小さい正の整数)となった場合に、前記第1のステップによる前記分散データDi[mi,n]の送信を、前記未受信データ量が閾値Mbi(MbiはMaiより小さい正の整数)以下となるまで停止する第7のステップとを含むことを特徴とする分散処理方法。 - 請求項6記載の分散処理方法において、
前記第1のステップの前に、各分散処理ノードのi番目の前記演算通信素子が、前記演算対象のモデルの演算用のサンプルデータが入力されたときに、前記モデルのパラメータwi[mi]の各々について、前記モデルの損失関数のパラメータ勾配をサンプルデータ毎に計算する第8のステップと、
各分散処理ノードのi番目の前記演算通信素子が、サンプルデータ毎の前記パラメータ勾配を集計した数値である前記分散データDi[mi,n]をパラメータwi[mi]毎に生成して保持する第9のステップとを、さらに含むことを特徴とする分散処理方法。 - 請求項6または7記載の分散処理方法において、
前記分散処理ノードの前記第1のステップおよび前記集計処理ノードの前記第2のステップと、前記集計処理ノードの前記第3のステップと、前記集計処理ノードの前記第4のステップおよび前記分散処理ノードの前記第5のステップと、前記分散処理ノードの前記第6のステップとを、それぞれ異なる番号miについて並行して行うことを特徴とする分散処理方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/017173 WO2021214863A1 (ja) | 2020-04-21 | 2020-04-21 | 分散処理システムおよび分散処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2021214863A1 JPWO2021214863A1 (ja) | 2021-10-28 |
JP7420228B2 true JP7420228B2 (ja) | 2024-01-23 |
Family
ID=78270465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022516509A Active JP7420228B2 (ja) | 2020-04-21 | 2020-04-21 | 分散処理システムおよび分散処理方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7420228B2 (ja) |
WO (1) | WO2021214863A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230239239A1 (en) * | 2022-01-25 | 2023-07-27 | Qualcomm Incorporated | Upper analog media access control (mac-a) layer functions for analog transmission protocol stack |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019219714A (ja) | 2018-06-15 | 2019-12-26 | 日本電信電話株式会社 | 分散処理システムおよび分散処理方法 |
-
2020
- 2020-04-21 WO PCT/JP2020/017173 patent/WO2021214863A1/ja active Application Filing
- 2020-04-21 JP JP2022516509A patent/JP7420228B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019219714A (ja) | 2018-06-15 | 2019-12-26 | 日本電信電話株式会社 | 分散処理システムおよび分散処理方法 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2021214863A1 (ja) | 2021-10-28 |
WO2021214863A1 (ja) | 2021-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6949045B2 (ja) | 分散クラスタ型訓練方法及び装置 | |
Sun et al. | Optimizing network performance for distributed dnn training on gpu clusters: Imagenet/alexnet training in 1.5 minutes | |
WO2019239821A1 (ja) | 分散処理システムおよび分散処理方法 | |
US20180211166A1 (en) | Distributed deep learning device and distributed deep learning system | |
JP7287492B2 (ja) | 分散深層学習システムおよびデータ転送方法 | |
US20210357760A1 (en) | Distributed Deep Learning System and Data Transfer Method | |
CN111444021A (zh) | 基于分布式机器学习的同步训练方法、服务器及系统 | |
US20220156633A1 (en) | System and method for adaptive compression in federated learning | |
CN111142942A (zh) | 窗口数据的处理方法、装置、服务器及存储介质 | |
WO2022252546A1 (zh) | 一种信息调节方法、设备及存储介质 | |
CN114866489A (zh) | 拥塞控制方法和装置及拥塞控制模型的训练方法和装置 | |
JP7420228B2 (ja) | 分散処理システムおよび分散処理方法 | |
US20210357723A1 (en) | Distributed Processing System and Distributed Processing Method | |
US20100325280A1 (en) | Load Balance Connections Per Server In Multi-Core/Multi-Blade System | |
CN114205310A (zh) | 一种基于时间敏感网络的数据传输方法、装置和电子设备 | |
JP6915562B2 (ja) | 分散処理システムおよび分散処理方法 | |
WO2023208027A1 (zh) | 信息处理方法及处理单元、设备、介质、产品 | |
US20230004787A1 (en) | Distributed Deep Learning System | |
CN113094155A (zh) | Hadoop平台下的任务调度方法及装置 | |
JP2020003860A (ja) | 学習システム、処理装置、処理方法、およびプログラム | |
KR102708494B1 (ko) | 파이프라인 연산 장치, 프로그래머블 로직 콘트롤러, 및 파이프라인 처리의 실행 방법 | |
JP7192984B2 (ja) | 分散処理システムおよび分散処理方法 | |
US10795726B2 (en) | Processing requests received online and dividing processing requests for batch processing | |
CN112948207A (zh) | 信息传递方法、装置、电子设备和介质 | |
CN105704004B (zh) | 业务数据处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220803 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230704 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230830 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20231212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231225 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7420228 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |