JP7431263B2 - ニューラルネットワーク演算方法及び装置 - Google Patents
ニューラルネットワーク演算方法及び装置 Download PDFInfo
- Publication number
- JP7431263B2 JP7431263B2 JP2022010730A JP2022010730A JP7431263B2 JP 7431263 B2 JP7431263 B2 JP 7431263B2 JP 2022010730 A JP2022010730 A JP 2022010730A JP 2022010730 A JP2022010730 A JP 2022010730A JP 7431263 B2 JP7431263 B2 JP 7431263B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- processor
- operand
- neural network
- priority
- 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 119
- 238000004364 calculation method Methods 0.000 title claims description 99
- 230000004044 response Effects 0.000 claims description 30
- 238000012545 processing Methods 0.000 description 59
- 238000000034 method Methods 0.000 description 37
- 230000015654 memory Effects 0.000 description 35
- 230000008569 process Effects 0.000 description 26
- 238000013138 pruning Methods 0.000 description 10
- 230000001537 neural effect Effects 0.000 description 6
- 210000002569 neuron Anatomy 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000002071 nanotube Substances 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000000946 synaptic effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101001030591 Homo sapiens Mitochondrial ubiquitin ligase activator of NFKB 1 Proteins 0.000 description 1
- 102100038531 Mitochondrial ubiquitin ligase activator of NFKB 1 Human genes 0.000 description 1
- 101100009348 Mus musculus Depp1 gene Proteins 0.000 description 1
- 101100009350 Rattus norvegicus Depp gene Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 239000002775 capsule Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000005442 molecular electronic Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 210000000225 synapse Anatomy 0.000 description 1
- 230000035899 viability Effects 0.000 description 1
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
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/02—Comparing digital values
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30069—Instruction skipping instructions, e.g. SKIP
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Mathematical Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Optimization (AREA)
- Neurology (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
Description
100 受信器
200 プロセッサ
300 メモリ
Claims (20)
- ニューラルネットワーク演算装置の受信器が、ニューラルネットワーク演算のための複数のデータを受信するステップと、
前記ニューラルネットワーク演算装置のプロセッサが、前記複数のデータのうち、前記プロセッサの第1演算装置に対応する第1データ探索経路及び前記プロセッサの第2演算装置に対応する第2データ探索経路上のデータに対する演算をスキップするか否かを決定するステップと、
前記プロセッサが、前記第1データ探索経路及び前記第2データ探索経路の競合の有無を判断するステップと、
前記プロセッサが、前記競合の有無及び前記第1データ探索経路と前記第2データ探索経路との間の優先順位を用いて、前記複数のデータのうち第1被演算データ及び第2被演算データを決定するステップと、
前記プロセッサが、前記第1被演算データ及び前記第2被演算データに基づいてニューラルネットワーク演算を行うステップと、
を含み、
前記複数のデータのうち、前記第1データ探索経路及び前記第2データ探索経路上のデータに対する演算をスキップするか否かを決定するステップは、
前記プロセッサが、前記データが0である場合、前記データに対する演算をスキップするものと決定するステップ、又は、
前記プロセッサが、前記データが予め決定された範囲以内の値である場合、前記データに対する演算をスキップするものと決定するステップ、を含む、
ニューラルネットワーク演算方法。 - ニューラルネットワーク演算装置の受信器が、ニューラルネットワーク演算のための複数のデータを受信するステップと、
前記ニューラルネットワーク演算装置のプロセッサが、前記プロセッサの第1演算装置に対応する第1データ探索経路及び前記プロセッサの第2演算装置に対応する第2データ探索経路の競合の有無を判断するステップと、
前記プロセッサが、前記競合の有無及び前記第1データ探索経路と前記第2データ探索経路との間の優先順位を用いて、前記複数のデータのうち第1被演算データ及び第2被演算データを決定するステップと、
前記プロセッサが、前記第1被演算データ及び前記第2被演算データに基づいてニューラルネットワーク演算を行うステップと、
を含み、
前記第1被演算データ及び前記第2被演算データを決定するステップは、
前記プロセッサが、前記第1データ探索経路及び前記第2データ探索経路に対する優先順位を設定するステップと、
前記プロセッサが、前記競合の発生に応答して、前記優先順位に基づいて前記第1被演算データ及び前記第2被演算データを決定するステップと、
を含み、
前記競合の発生に応答して、前記優先順位に基づいて前記第1被演算データ及び前記第2被演算データを決定するステップは、
前記プロセッサが、優先順位の高い探索経路を決定するために、前記第1データ探索経路に対応する第1優先順位と前記第2データ探索経路に対応する第2優先順位とを比較するステップと、
前記プロセッサが、競合が発生した位置のデータを、前記優先順位の高い探索経路に対応する演算装置の被演算データとして決定するステップと、
を含む、
ニューラルネットワーク演算方法。 - 前記プロセッサが、前記複数のデータのうち、前記第1データ探索経路及び前記第2データ探索経路上のデータに対する演算をスキップするか否かを決定するステップをさらに含む、請求項2に記載のニューラルネットワーク演算方法。
- 前記判断するステップは、任意の時点において、前記第1演算装置と前記第2演算装置が同じデータにアクセスする場合、前記プロセッサが、前記第1データ探索経路と前記第2データ探索経路の競合が発生したと判断するステップを含む、請求項1乃至3のいずれか1項に記載のニューラルネットワーク演算方法。
- 前記第1被演算データ及び前記第2被演算データを決定するステップは、
前記プロセッサが、前記第1データ探索経路及び前記第2データ探索経路に対する優先順位を設定するステップと、
前記プロセッサが、前記競合の発生に応答して、前記優先順位に基づいて前記第1被演算データ及び前記第2被演算データを決定するステップと、
を含む、請求項1に記載のニューラルネットワーク演算方法。 - 前記優先順位を設定するステップは、
前記プロセッサが、前記第1データ探索経路上のデータに対応するノードが互いに異なる優先順位を有するように第1優先順位を設定するステップと、
前記プロセッサが、前記第2データ探索経路上のデータに対応するノードが互いに異なる優先順位を有するように第2優先順位を設定するステップと、
を含む、請求項5に記載のニューラルネットワーク演算方法。 - 前記競合の発生に応答して、前記優先順位に基づいて前記第1被演算データ及び前記第2被演算データを決定するステップは、
前記プロセッサが、優先順位の高い探索経路を決定するために、前記第1データ探索経路に対応する第1優先順位と前記第2データ探索経路に対応する第2優先順位とを比較するステップと、
前記プロセッサが、競合が発生した位置のデータを、前記優先順位の高い探索経路に対応する演算装置の被演算データとして決定するステップと、
を含む、請求項5に記載のニューラルネットワーク演算方法。 - 前記競合が発生した位置のデータを、前記優先順位の高い探索経路に対応する演算装置の被演算データとして決定するステップは、
前記プロセッサが、前記第1優先順位が前記第2優先順位よりも大きい場合、前記競合が発生した位置のデータを前記第1被演算データとして決定するステップと、
前記プロセッサが、前記第2データ探索経路上の次のデータを前記第2被演算データとして決定するステップと、
を含む、請求項7に記載のニューラルネットワーク演算方法。 - 前記プロセッサが、前記第1被演算データ及び前記第2被演算データの決定に応答して、前記第1被演算データ及び前記第2被演算データのアドレスを前記第1データ探索経路及び前記第2データ探索経路上から排除するステップをさらに含む、請求項1乃至8のいずれか1項に記載のニューラルネットワーク演算方法。
- 前記第1データ探索経路及び前記第2データ探索経路は、予め決定された探索範囲を有し、
前記プロセッサが、前記予め決定された探索範囲に対する探索完了に応答して、前記複数のデータに対する前記第1データ探索経路及び前記第2データ探索経路を更新するステップをさらに含む、請求項1乃至9のいずれか1項に記載のニューラルネットワーク演算方法。 - ニューラルネットワーク演算を行うための複数のデータを受信する受信器と、
第1演算装置に対応する第1データ探索経路及び第2演算装置に対応する第2データ探索経路の競合の有無を判断し、
前記競合の有無及び前記第1データ探索経路と前記第2データ探索経路との間の優先順位を用いて、前記複数のデータのうち第1被演算データ及び第2被演算データを決定し、
前記第1被演算データ及び前記第2被演算データに基づいてニューラルネットワーク演算を行うプロセッサを含み、
前記プロセッサは、
前記データが0である場合、前記データに対する演算をスキップするものと決定する、又は、
前記データが予め決定された範囲以内の値である場合、前記データに対する演算をスキップするものと決定する、
ニューラルネットワーク演算装置。 - ニューラルネットワーク演算を行うための複数のデータを受信する受信器と、
第1演算装置に対応する第1データ探索経路及び第2演算装置に対応する第2データ探索経路の競合の有無を判断し、
前記競合の有無及び前記第1データ探索経路と前記第2データ探索経路との間の優先順位を用いて、前記複数のデータのうち第1被演算データ及び第2被演算データを決定し、
前記第1被演算データ及び前記第2被演算データに基づいてニューラルネットワーク演算を行うプロセッサを含み、
前記プロセッサは、
前記第1データ探索経路及び前記第2データ探索経路に対する優先順位を設定し、
前記競合の発生に応答して、前記優先順位に基づいて前記第1被演算データ及び前記第2被演算データを決定し、
優先順位の高い探索経路を決定するために、前記第1データ探索経路に対応する第1優先順位と前記第2データ探索経路に対応する第2優先順位とを比較し、
競合が発生した位置のデータを、前記優先順位の高い探索経路に対応する演算装置の被演算データとして決定する、
ニューラルネットワーク演算装置。 - 前記プロセッサは、前記複数のデータのうち、前記第1データ探索経路及び前記第2データ探索経路上のデータに対する演算をスキップするか否かを決定する、請求項12に記載のニューラルネットワーク演算装置。
- 前記プロセッサは、任意の時点で前記第1演算装置と前記第2演算装置が同じデータにアクセスする場合、前記第1データ探索経路と前記第2データ探索経路の競合が発生したものと判断する、請求項11乃至13のいずれか1項に記載のニューラルネットワーク演算装置。
- 前記プロセッサは、
前記第1データ探索経路及び前記第2データ探索経路に対する優先順位を設定し、
前記競合の発生に応答して、前記優先順位に基づいて前記第1被演算データ及び前記第2被演算データを決定する、請求項11に記載のニューラルネットワーク演算装置。 - 前記プロセッサは、
前記第1データ探索経路上のデータに対応するノードが、互いに異なる優先順位を有するように第1優先順位を設定し、
前記第2データ探索経路上のデータに対応するノードが、互いに異なる優先順位を有するように第2優先順位を設定する、請求項15に記載のニューラルネットワーク演算装置。 - 前記プロセッサは、
優先順位の高い探索経路を決定するために、前記第1データ探索経路に対応する第1優先順位と前記第2データ探索経路に対応する第2優先順位とを比較し、
競合が発生した位置のデータを、前記優先順位の高い探索経路に対応する演算装置の被演算データとして決定する、請求項15に記載のニューラルネットワーク演算装置。 - 前記プロセッサは、
前記第1優先順位が前記第2優先順位よりも大きい場合、前記競合が発生した位置のデータを前記第1被演算データとして決定し、
前記第2データ探索経路上の次のデータを前記第2被演算データとして決定する、請求項17に記載のニューラルネットワーク演算装置。 - 前記プロセッサは、前記第1被演算データ及び前記第2被演算データの決定に応答して、前記第1被演算データ及び前記第2被演算データのアドレスを前記第1データ探索経路及び前記第2データ探索経路上から排除する、請求項11乃至18のいずれか1項に記載のニューラルネットワーク演算装置。
- 前記第1データ探索経路及び前記第2データ探索経路は、予め決定された探索範囲を有し、
前記プロセッサは、前記予め決定された探索範囲に対する探索完了に応答して、前記複数のデータに対する前記第1データ探索経路及び前記第2データ探索経路を更新する、請求項11乃至19のいずれか1項に記載のニューラルネットワーク演算装置。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0016943 | 2021-02-05 | ||
KR20210016943 | 2021-02-05 | ||
KR1020210036060A KR20220113220A (ko) | 2021-02-05 | 2021-03-19 | 뉴럴 네트워크 연산 방법 및 장치 |
KR10-2021-0036060 | 2021-03-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022120809A JP2022120809A (ja) | 2022-08-18 |
JP7431263B2 true JP7431263B2 (ja) | 2024-02-14 |
Family
ID=78211953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022010730A Active JP7431263B2 (ja) | 2021-02-05 | 2022-01-27 | ニューラルネットワーク演算方法及び装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220253692A1 (ja) |
EP (1) | EP4040314A1 (ja) |
JP (1) | JP7431263B2 (ja) |
CN (1) | CN114861897A (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000163310A (ja) | 1998-11-30 | 2000-06-16 | Nec Corp | マイクロプロセッサ |
JP2018077842A (ja) | 2016-11-07 | 2018-05-17 | 三星電子株式会社Samsung Electronics Co.,Ltd. | 畳み込み神経網処理方法及び装置 |
-
2021
- 2021-08-12 US US17/400,353 patent/US20220253692A1/en active Pending
- 2021-09-22 CN CN202111105901.3A patent/CN114861897A/zh active Pending
- 2021-10-14 EP EP21202655.3A patent/EP4040314A1/en active Pending
-
2022
- 2022-01-27 JP JP2022010730A patent/JP7431263B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000163310A (ja) | 1998-11-30 | 2000-06-16 | Nec Corp | マイクロプロセッサ |
JP2018077842A (ja) | 2016-11-07 | 2018-05-17 | 三星電子株式会社Samsung Electronics Co.,Ltd. | 畳み込み神経網処理方法及び装置 |
Non-Patent Citations (1)
Title |
---|
DAVE, Shail ほか,Hardware Acceleration of Sparse and Irregular Tensor Computations of ML Models: A Survey and Insights,arXiv[online],2020年07月02日,pp.36-38,[retrieved on 2023.09.19], Retrieved from the Internet: <URL: https://arxiv.org/pdf/2007.00864v1.pdf> |
Also Published As
Publication number | Publication date |
---|---|
US20220253692A1 (en) | 2022-08-11 |
JP2022120809A (ja) | 2022-08-18 |
CN114861897A (zh) | 2022-08-05 |
EP4040314A1 (en) | 2022-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11373084B2 (en) | Apparatus and methods for forward propagation in fully connected layers of convolutional neural networks | |
US10410112B2 (en) | Apparatus and method for performing a forward operation of artificil neural networks | |
US10713567B2 (en) | Apparatus and method for executing reversal training of artificial neural network | |
CN107341547B (zh) | 一种用于执行卷积神经网络训练的装置和方法 | |
KR20210002676A (ko) | 집약성을 개선하기 위한 머신 학습 모델들의 수정 | |
US20210373944A1 (en) | Scheduler, method of operating the same, and accelerator apparatus including the same | |
JP7413549B2 (ja) | 並列ロードストアを有する共有スクラッチパッドメモリ | |
US11803733B2 (en) | Method for implementing neural network model in heterogeneous computing platform and apparatus for performing the same | |
JP7431263B2 (ja) | ニューラルネットワーク演算方法及び装置 | |
US20220237487A1 (en) | Accelerator for processing inference tasks in parallel and operating method thereof | |
US20220253682A1 (en) | Processor, method of operating the processor, and electronic device including the same | |
US20220261644A1 (en) | Method and apparatus for generating task plan based on neural network | |
US20220179714A1 (en) | Method and apparatus for scheduling neural network operation | |
KR20220113220A (ko) | 뉴럴 네트워크 연산 방법 및 장치 | |
KR102547997B1 (ko) | 효율적인 메모리 접근 방식을 이용한 뉴럴 네트워크 연산 가속 방법 및 장치 | |
KR102614909B1 (ko) | 희소화를 이용한 뉴럴 네트워크 연산 방법 및 장치 | |
US20220269597A1 (en) | Memory mapping method and apparatus | |
US20220284299A1 (en) | Method and apparatus with neural network operation using sparsification | |
US20230140145A1 (en) | Apparatus and method with neural network operation | |
US20230143371A1 (en) | Apparatus and method with neural network operation | |
US20220237436A1 (en) | Neural network training method and apparatus | |
US20240061972A1 (en) | Method and apparatus with performance modeling | |
US20220269930A1 (en) | Neural network operation method and apparatus | |
US20220075606A1 (en) | Compiling method and apparatus for neural networks | |
TW202316365A (zh) | 用於實施分組卷積之神經網路架構 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221019 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230816 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230926 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231219 |
|
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: 20240201 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7431263 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |