JP7426980B2 - 分散型ニューラル・ネットワークのコアのネットワークにおける階層的並列処理 - Google Patents
分散型ニューラル・ネットワークのコアのネットワークにおける階層的並列処理 Download PDFInfo
- Publication number
- JP7426980B2 JP7426980B2 JP2021500263A JP2021500263A JP7426980B2 JP 7426980 B2 JP7426980 B2 JP 7426980B2 JP 2021500263 A JP2021500263 A JP 2021500263A JP 2021500263 A JP2021500263 A JP 2021500263A JP 7426980 B2 JP7426980 B2 JP 7426980B2
- Authority
- JP
- Japan
- Prior art keywords
- neural
- cores
- output
- activations
- parallel
- 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
- 238000013528 artificial neural network Methods 0.000 title claims description 34
- 230000001537 neural effect Effects 0.000 claims description 77
- 230000004913 activation Effects 0.000 claims description 63
- 238000001994 activation Methods 0.000 claims description 63
- 238000000034 method Methods 0.000 claims description 20
- 238000007792 addition Methods 0.000 claims description 12
- 210000004205 output neuron Anatomy 0.000 claims description 10
- 210000002364 input neuron Anatomy 0.000 claims description 5
- 238000009825 accumulation Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims 6
- 230000000946 synaptic effect Effects 0.000 claims 2
- 210000002569 neuron Anatomy 0.000 description 58
- 230000006870 function Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 17
- 238000004590 computer program Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 239000000835 fiber Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 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/04—Architecture, e.g. interconnection topology
-
- 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)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Complex Calculations (AREA)
- Image Analysis (AREA)
- Multi Processors (AREA)
Description
Y[i,j,k]=σ(V[i,j,k,:];Z[i,j,k])
式1
Yj=F(bj+Σxiwji)
式3
コア1は以下を計算する:j=1:NNEURON/NCOREおよびi=1:NINPUTに対して、Yj=F(bj+Σxiwji)
コア2は以下を計算する:j=NNEURON/NCORE+1:2NNEURON/NCOREおよびi=1:NINPUTに対して、Yj=F(bj+Σxiwji)
コアkは以下を計算する:j=(k-1)NNEURON/NCORE+1:kNNEURON/NCOREおよびi=1:NINPUTに対して、Yj=F(bj+Σxiwji)
コアNCOREは以下を計算する:j=(NCORE-1)NNEURON/NCORE+1:NNEURONおよびi=1:NINPUTに対して、Yj=F(bj+Σxiwji)
コア1は以下を計算する:j=1:NNEURONおよびi=1:NINPUT/NCOREに対して、Yj_core1=Σxiwji
コア2は以下を計算する:j=1:NNEURONおよびi=NINPUT/NCORE+1:2NINPUT/NCOREに対して、Yj_core2=Σxiwji
コアkは以下を計算する:j=1:NNEURONおよびi=(k-1)NINPUT/NCORE+1:kNNEURON/NCOREに対して、Yj_corek=Σxiwji
コアNCOREは以下を計算する:j=1:NNEURONおよびi=(NCORE-1)NINPUT/NCORE+1:NINPUTに対して、Yj_coreNCORE=Σxiwji
コア1は以下を計算する:j=1:NNEURONおよびi=1:NINPUT/NCOREに対して、Yj_core1=Σxiwji
コア2は以下を計算する:j=1:NNEURONおよびi=NINPUT/NCORE+1:2NINPUT/NCOREに対して、Yj_core2=Σxiwji
コアkは以下を計算する:j=1:NNEURONおよびi=(k-1)NINPUT/NCORE+1:kNNEURON/Ncoreに対して、Yj_corek=Σxiwji
コアNCOREは以下を計算する:j=1:NNEURONおよびi=(NCORE-1)NINPUT/NCORE+1:NINPUTに対して、Yj_coreNCORE=Σxiwji
コア1は以下を計算する:j=1:NNEURON/NCOREおよびk=1:NCOREに対して、Yj=F(bj+ΣYj_corek)
コア2は以下を計算する:j=NNEURON/NCORE+1:2NNEURON/NCOREおよびk=1:NCOREに対して、Yj=F(bj+ΣYj_corek)
コアkは以下を計算する:j=(k-1)NNEURON/NCORE+1:kNNEURON/NCOREおよびk=1:NCOREに対して、Yj=F(bj+ΣYj_corek)
コアNcoreは以下を計算する:j=(Ncore-1)NNEURON/NCORE+1:NNEURONおよびk=1:NCOREに対して、Yj=F(bj+ΣYj_corek)
を受け取り、これらにパラメータ
を乗算するものであり、ここで、M=NINPUT/NCOREである。行列乗算の結果は並列和および非線形処理ユニット205に提供され、非線形処理ユニット205は、アレイ中の他のコアから部分和入力Yi_corek、206を受け取る。
j=1:NNEURONおよびi=(k-1)NINPUT/NCORE+1:kNNEURON/NCOREに対して、Yj_corek=Σxiwji
または以下を計算する:
j=(k-1)NNEURON/NCORE+1:kNNEURON/NCOREおよびk=1:NCOREに対して、Yj=F(bj+ΣYj_corek)
あるいはその両方を計算する。
Claims (25)
- ニューラル推論チップであって、
並列に動作するように構成されている複数のベクトル計算ユニットを各々備える、複数のニューラル・コアを備え、
前記複数のニューラル・コアの各々は、その複数のベクトル計算ユニットを入力アクティベーションに適用することによって、出力アクティベーションを並列に計算するように構成されており、
前記複数のニューラル・コアの各々にニューラル・ネットワークのある層の出力アクティベーションのサブセットを、前記層についての入力ニューロンの個数、前記層についての出力ニューロンの個数および前記複数のニューラル・コアについてのコアの個数により、割り当てて計算を行う、
ニューラル推論チップ。 - 前記ニューラル・ネットワークの前記層の入力アクティベーションのサブセットを受け取ると、前記複数のニューラル・コアの各々は、
その割り当てられた出力アクティベーションの各々について部分和を計算し、
少なくとも前記計算された部分和からその割り当てられた出力アクティベーションを計算する、請求項1に記載のニューラル推論チップ。 - 前記ニューラル・ネットワークの前記層の入力アクティベーションのサブセットを受け取ると、前記複数のニューラル・コアの各々は、
前記複数のニューラル・コアのうちの別の1つから、その割り当てられた出力アクティベーションのうちの少なくとも1つについての部分和を受け取り、
前記計算された部分和および前記受け取られた部分和から、その割り当てられた出力アクティベーションを計算する、請求項2に記載のニューラル推論チップ。 - 前記ベクトル計算ユニットは乗算および加算ユニットを備える、請求項1に記載のニューラル推論チップ。
- 前記ベクトル計算ユニットは累算ユニットを備える、請求項1に記載のニューラル推論チップ。
- 前記複数のニューラル・コアは前記部分和の計算を並列に行う、請求項2に記載のニューラル推論チップ。
- 前記複数のニューラル・コアは前記出力アクティベーションの計算を並列に行う、請求項2に記載のニューラル推論チップ。
- 前記部分和を計算することは、前記複数のベクトル計算ユニットのうちの少なくとも1つを適用して、前記入力アクティベーションとシナプス重みとを乗算することを含む、請求項2に記載のニューラル推論チップ。
- 前記割り当てられた出力アクティベーションを計算することは、複数の加算ユニットを適用することを含む、請求項2に記載のニューラル推論チップ。
- 出力アクティベーションを計算することは、非線形関数を適用することを含む、請求項2に記載のニューラル推論チップ。
- 前記ベクトル計算ユニットは、
複数の乗算演算を並列に行い、
複数の加算を並列に行い、
前記部分和を累算するように構成されている、請求項2に記載のニューラル推論チップ。 - 前記複数のベクトル計算ユニットは、部分和を並列に計算するように構成されている、請求項2に記載のニューラル推論チップ。
- 前記複数のニューラル・コアの各々による前記計算はパイプライン化されている、請求項1に記載のニューラル推論チップ。
- 前記複数のニューラル・コアの各々は前記計算の各段を同時に行うように構成されている、請求項13に記載のニューラル推論チップ。
- 前記計算は前記各段の並列乗算および加算を行う、請求項14に記載のニューラル推論チップ。
- 複数のニューラル・コアの各々において、前記ニューラル・コアによって、ニューラル・ネットワークのある層の入力アクティベーションのサブセットを受け取ることであって、前記複数のニューラル・コアの各々は、並列に動作するように構成されている複数のベクトル計算ユニットを備え、前記複数のニューラル・コアの各々は、その複数のベクトル乗算器を入力アクティベーションに適用することによって、出力アクティベーションを並列に計算するように構成されている、前記受け取ることと、
前記ニューラル・コアによって、前記複数のニューラル・コアの各々にニューラル・ネットワークのある層の出力アクティベーションのサブセットを、前記層についての入力ニューロンの個数、前記層についての出力ニューロンの個数および前記複数のニューラル・コアについてのコアの個数により、割り当てて計算を行うことと、
前記ニューラル・ネットワークの前記層の入力アクティベーションのサブセットを受け取ると、前記複数のニューラル・コアの各々が、
その割り当てられた出力アクティベーションの各々について部分和を計算し、
少なくとも前記計算された部分和からその割り当てられた出力アクティベーションを計算することと、
を含む、方法。 - 前記ニューラル・ネットワークの前記層の入力アクティベーションのサブセットを受け取ると、前記複数のニューラル・コアの各々は、
前記複数のニューラル・コアのうちの別の1つから、その割り当てられた出力アクティベーションのうちの少なくとも1つについての部分和を受け取り、
前記計算された部分和および前記受け取られた部分和から、その割り当てられた出力アクティベーションを計算する、請求項16に記載の方法。 - 前記ベクトル計算ユニットは乗算および加算ユニットを備える、請求項16に記載の方法。
- 前記ベクトル計算ユニットは累算ユニットを備える、請求項16に記載の方法。
- 前記複数のニューラル・コアは前記部分和の計算を並列に行う、請求項16に記載の方法。
- 前記複数のニューラル・コアは前記出力アクティベーションの計算を並列に行う、請求項16に記載の方法。
- 前記部分和を計算することは、前記複数のベクトル計算ユニットのうちの少なくとも1つを適用して、前記入力アクティベーションとシナプス重みとを乗算することを含む、請求項16に記載の方法。
- 前記割り当てられた出力アクティベーションを計算することは、複数の加算ユニットを適用することを含む、請求項16に記載の方法。
- 出力アクティベーションを計算することは非線形関数を適用することを含む、請求項16に記載の方法。
- 複数の乗算演算を並列に行うことと、
複数の加算を並列に行うことと、
前記部分和を累算することと、
を更に含む、請求項16に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/033,926 US20200019836A1 (en) | 2018-07-12 | 2018-07-12 | Hierarchical parallelism in a network of distributed neural network cores |
US16/033,926 | 2018-07-12 | ||
PCT/EP2019/068713 WO2020011936A1 (en) | 2018-07-12 | 2019-07-11 | Hierarchical parallelism in a network of distributed neural network cores |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021532451A JP2021532451A (ja) | 2021-11-25 |
JP7426980B2 true JP7426980B2 (ja) | 2024-02-02 |
Family
ID=67514576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021500263A Active JP7426980B2 (ja) | 2018-07-12 | 2019-07-11 | 分散型ニューラル・ネットワークのコアのネットワークにおける階層的並列処理 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20200019836A1 (ja) |
EP (1) | EP3821376A1 (ja) |
JP (1) | JP7426980B2 (ja) |
CN (1) | CN112384935A (ja) |
WO (1) | WO2020011936A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11556450B2 (en) * | 2019-10-11 | 2023-01-17 | International Business Machines Corporation | Hybrid data-model parallelism for efficient deep learning |
CN117093871B (zh) * | 2023-10-16 | 2024-02-13 | 之江实验室 | 一种面向深度学习分布式训练测评方法和系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001188767A (ja) | 1999-12-28 | 2001-07-10 | Fuji Xerox Co Ltd | ニューラルネットワーク演算装置及びニューラルネットワークの演算方法 |
US20180046906A1 (en) | 2016-08-11 | 2018-02-15 | Nvidia Corporation | Sparse convolutional neural network accelerator |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05346914A (ja) * | 1992-06-16 | 1993-12-27 | Matsushita Electron Corp | ニューロプロセッサ |
US10049322B2 (en) * | 2015-05-21 | 2018-08-14 | Google Llc | Prefetching weights for use in a neural network processor |
KR102399548B1 (ko) * | 2016-07-13 | 2022-05-19 | 삼성전자주식회사 | 뉴럴 네트워크를 위한 방법 및 그 방법을 수행하는 장치 |
US10175980B2 (en) * | 2016-10-27 | 2019-01-08 | Google Llc | Neural network compute tile |
US10360163B2 (en) * | 2016-10-27 | 2019-07-23 | Google Llc | Exploiting input data sparsity in neural network compute units |
US9959498B1 (en) * | 2016-10-27 | 2018-05-01 | Google Llc | Neural network instruction set architecture |
-
2018
- 2018-07-12 US US16/033,926 patent/US20200019836A1/en active Pending
-
2019
- 2019-07-11 WO PCT/EP2019/068713 patent/WO2020011936A1/en unknown
- 2019-07-11 CN CN201980045214.1A patent/CN112384935A/zh active Pending
- 2019-07-11 JP JP2021500263A patent/JP7426980B2/ja active Active
- 2019-07-11 EP EP19748724.2A patent/EP3821376A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001188767A (ja) | 1999-12-28 | 2001-07-10 | Fuji Xerox Co Ltd | ニューラルネットワーク演算装置及びニューラルネットワークの演算方法 |
US20180046906A1 (en) | 2016-08-11 | 2018-02-15 | Nvidia Corporation | Sparse convolutional neural network accelerator |
Also Published As
Publication number | Publication date |
---|---|
JP2021532451A (ja) | 2021-11-25 |
EP3821376A1 (en) | 2021-05-19 |
US20200019836A1 (en) | 2020-01-16 |
WO2020011936A1 (en) | 2020-01-16 |
CN112384935A (zh) | 2021-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7372009B2 (ja) | 並列分散テンソル計算用のニューラル・ハードウェア・アクセラレータ | |
JP7241771B2 (ja) | 実行時再構成可能なニューラル・ネットワーク・プロセッサ・コア | |
JP6857286B2 (ja) | ニューラルネットワークアレイの性能の改善 | |
JP7325158B2 (ja) | ニューラル・ネットワーク・コアにおける動的精度のためのデータ表現 | |
JP7227272B2 (ja) | 再構成可能なコアレベルおよびベクトルレベルの並列性を有する並列計算アーキテクチャ | |
US11615307B2 (en) | Neural network data computation using mixed-precision | |
JP7426980B2 (ja) | 分散型ニューラル・ネットワークのコアのネットワークにおける階層的並列処理 | |
US20200104718A1 (en) | Data distribution in an array of neural network cores | |
JP2022552180A (ja) | 大規模並列ニューラル推論エンジン用のマルチモード低精度内積計算回路 | |
US11935271B2 (en) | Neural network model compression with selective structured weight unification | |
JP2023505237A (ja) | 柔軟な精度のニューラル推論処理ユニット | |
US20210201157A1 (en) | Neural network model compression with quantizability regularization | |
US20220121901A1 (en) | Gated unit for a gated recurrent neural network | |
EP4133418B1 (en) | Neural network weight distribution from a grid of memory elements | |
JP2022091126A (ja) | ニューラル推論チップ、少なくとも1つのニューラル推論コアを備える集積回路およびコンピュータ実装方法(有効なニューラルネットワーク活性化関数のvlsi実装のための効率的な方法) | |
JP2023099321A (ja) | 方法、コンピュータプログラムおよび装置(ニューラルネットワークのためのモデル非依存入力変換) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211222 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20220502 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221227 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20230316 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230322 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230711 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231010 |
|
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: 20240109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240123 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7426980 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |