JP2021524082A - ニューラル・ネットワーク処理要素 - Google Patents
ニューラル・ネットワーク処理要素 Download PDFInfo
- Publication number
- JP2021524082A JP2021524082A JP2020562166A JP2020562166A JP2021524082A JP 2021524082 A JP2021524082 A JP 2021524082A JP 2020562166 A JP2020562166 A JP 2020562166A JP 2020562166 A JP2020562166 A JP 2020562166A JP 2021524082 A JP2021524082 A JP 2021524082A
- Authority
- JP
- Japan
- Prior art keywords
- activation
- weight
- representations
- neural network
- accelerator
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 77
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 28
- 230000004913 activation Effects 0.000 claims abstract description 147
- 238000000034 method Methods 0.000 claims abstract description 41
- 230000008569 process Effects 0.000 claims abstract description 29
- 230000015654 memory Effects 0.000 claims abstract description 26
- 239000003638 chemical reducing agent Substances 0.000 claims abstract description 22
- 230000014509 gene expression Effects 0.000 claims abstract description 16
- 230000001186 cumulative effect Effects 0.000 claims abstract description 7
- 241001442055 Vipera berus Species 0.000 claims description 13
- 238000013527 convolutional neural network Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 abstract description 7
- 238000001994 activation Methods 0.000 description 126
- 238000013461 design Methods 0.000 description 12
- 230000006872 improvement Effects 0.000 description 9
- 230000008901 benefit Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 7
- 239000000203 mixture Substances 0.000 description 7
- 230000009467 reduction Effects 0.000 description 7
- 239000013598 vector Substances 0.000 description 5
- 238000012360 testing method Methods 0.000 description 4
- 238000007792 addition Methods 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 241000219357 Cactaceae Species 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 101100153591 Cricetulus griseus TOP1 gene Proteins 0.000 description 1
- 101100314144 Mus musculus Tnip1 gene Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000008021 deposition Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 210000004205 output neuron Anatomy 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 210000000225 synapse Anatomy 0.000 description 1
- 230000000946 synaptic effect Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000004148 unit process 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/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
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- 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
- G06N3/045—Combinations of networks
-
- 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
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/48—Indexing scheme relating to groups G06F7/48 - G06F7/575
- G06F2207/4802—Special implementations
- G06F2207/4818—Threshold devices
- G06F2207/4824—Neural networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Neurology (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Complex Calculations (AREA)
Abstract
Description
2)そうではなく、
Claims (22)
- 活性化表現のセットを受け取るために活性化メモリとインターフェースする活性化メモリ・インターフェースと、
重み表現のセットを受け取るために重みメモリとインターフェースする重みメモリ・インターフェースと、
出力表現のセットを作るために活性化表現の前記セットおよび重み表現の前記セットを処理するために1ホット符号器、ヒストグラマ、アライナ、リデューサ、および累算副要素を実施するように構成された処理要素と
を含む、ニューラル・ネットワーク・アクセラレータ・タイル。 - 前記活性化メモリ・インターフェースは、活性化1オフセット対のセットとして前記処理要素に活性化表現の前記セットを提供するように構成され、前記重みメモリ・インターフェースは、重み1オフセット対のセットとして前記処理要素に重み表現の前記セットを提供するように構成される、請求項1に記載のアクセラレータ・タイル。
- 前記処理要素は、指数副要素を実施するようにさらに構成される、請求項2に記載のアクセラレータ・タイル。
- 前記指数副要素は、1オフセット対積のセットを作るために活性化1オフセット対の前記セットおよび重み1オフセット対の前記セットを組み合わせるように構成される、請求項3に記載のアクセラレータ・タイル。
- 前記指数副要素は、大きさ加算器のセットおよび符号ゲートの対応するセットを含み、大きさ加算器および符号ゲートの1対は、1オフセット対積の前記セットの各1オフセット対積を提供するためのものである、請求項4に記載のアクセラレータ・タイル。
- 前記1ホット符号器は、1ホット符号器入力のセットの1ホット符号化を実行する復号器のセットを含む、請求項1に記載のアクセラレータ・タイル。
- 前記ヒストグラマは、ヒストグラマ入力のセットを値によってソートする 構成される、請求項2に記載のアクセラレータ・タイル。
- 前記アライナは、縮小されるシフトされた入力のセットを提供するためにアライナ入力のセットをシフトするように構成される、請求項2に記載のアクセラレータ・タイル。
- 前記リデューサは、リデューサ入力のセットを部分和に縮小するために加算器ツリーを含む、請求項2に記載のアクセラレータ・タイル。
- 前記累算副要素は、アキュムレータを含み、複数のサイクルにわたって積を累算するために部分和を受け取り、前記部分和を前記アキュムレータに加算するように構成される、請求項2に記載のアクセラレータ・タイル。
- 前記処理要素は、連結器を実装するようにさらに構成される、請求項1に記載のアクセラレータ・タイル。
- 前記連結器は、部分積を作るために前記アライナおよび前記リデューサによってシフトされ、縮小されるグループ化されたカウントのセットを作るために連結器入力のセットを連結するために提供される、請求項10に記載のアクセラレータ・タイル。
- 請求項1に記載のニューラル・ネットワーク・アクセラレータ・タイルのセットを含むニューラル・ネットワーク。
- 前記ニューラル・ネットワークは、畳み込みニューラル・ネットワークとして実施される、請求項13に記載のニューラル・ネットワーク。
- ニューラル・ネットワーク・アクセラレータ・タイルの前記セットは、アクセラレータ・タイルの列を含み、アクセラレータ・タイルの前記列の前記タイルは、それぞれが活性化表現の同一のセットを受け取り、それぞれが重み表現の独自のセットを受け取るように構成される、請求項13に記載のニューラル・ネットワーク。
- 前記処理要素は、複数のサイクルにわたって、重み表現の前記セットの重み表現と共に活性化表現の前記セットの活性化表現を処理するように構成される、請求項16に記載の方法。
- ニューラル・ネットワーク部分積を作る方法であって、
活性化表現のセットを受け取ることと、
重み表現のセットを受け取ることであって、各重み表現は、活性化表現の前記セットの活性化表現に対応する、受け取ることと、
部分結果のセットを作るために、各重み表現をそれに対応する活性化表現と組み合わせることによって、重み表現の前記セットを活性化表現の前記セットと組み合わせることと、
1ホット表現のセットを作るために、部分結果の前記セットを符号化することと、
1ホット表現の前記セットをヒストグラム・バケット・カウントのセットに累算することと、
ヒストグラム・バケット・カウントの前記セットのカウントをそのサイズに従って整列させることと、
前記ニューラル・ネットワーク部分積を作るためにヒストグラム・バケット・カウントの前記セットの前記整列されたカウントを縮小することと
を含む方法。 - 積を累算するために前記ニューラル・ネットワーク部分積をアキュムレータに出力することをさらに含む、請求項17に記載の方法。
- 前記積を活性化メモリに出力することをさらに含む、請求項18に記載の方法。
- 各活性化表現は、活性化大きさおよび活性化符号の活性化対として受け取られ、各重み表現は、重み大きさおよび重み符号の重み対として受け取られる、請求項17に記載の方法。
- ヒストグラム・バケット・カウントの前記セットの前記カウントを整列させる前に、ヒストグラム・バケット・カウントの前記セットの前記カウントをグループ化されたカウントのセットに再帰的にグループ化することと、ヒストグラム・バケット・カウントの前記セットの代わりに整列され縮小されるグループ化されたカウントの前記セットを提供することとをさらに含む、請求項20に記載の方法。
- 重み表現の前記セットの重み表現を活性化表現の前記セットの活性化表現と組み合わせることは、複数のサイクルにわたって実行される、請求項17に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862668363P | 2018-05-08 | 2018-05-08 | |
US62/668,363 | 2018-05-08 | ||
PCT/CA2019/050525 WO2019213745A1 (en) | 2018-05-08 | 2019-04-25 | Neural network processing element |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021524082A true JP2021524082A (ja) | 2021-09-09 |
JP7490572B2 JP7490572B2 (ja) | 2024-05-27 |
Family
ID=
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016522495A (ja) * | 2013-05-21 | 2016-07-28 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | スパイキングネットワークの効率的なハードウェア実装 |
WO2017201627A1 (en) * | 2016-05-26 | 2017-11-30 | The Governing Council Of The University Of Toronto | Accelerator for deep neural networks |
US9836691B1 (en) * | 2016-10-27 | 2017-12-05 | Google Inc. | Neural network instruction set architecture |
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016522495A (ja) * | 2013-05-21 | 2016-07-28 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | スパイキングネットワークの効率的なハードウェア実装 |
WO2017201627A1 (en) * | 2016-05-26 | 2017-11-30 | The Governing Council Of The University Of Toronto | Accelerator for deep neural networks |
US9836691B1 (en) * | 2016-10-27 | 2017-12-05 | Google Inc. | Neural network instruction set architecture |
Also Published As
Publication number | Publication date |
---|---|
CN112106078A (zh) | 2020-12-18 |
EP3769266A4 (en) | 2021-12-15 |
KR20210006919A (ko) | 2021-01-19 |
WO2019213745A1 (en) | 2019-11-14 |
US20210125046A1 (en) | 2021-04-29 |
EP3769266A1 (en) | 2021-01-27 |
CA3069779C (en) | 2021-06-29 |
CA3069779A1 (en) | 2019-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA3069779C (en) | Neural network processing element | |
Imani et al. | Ultra-efficient processing in-memory for data intensive applications | |
CN111062472B (zh) | 一种基于结构化剪枝的稀疏神经网络加速器及其加速方法 | |
Yepez et al. | Stride 2 1-D, 2-D, and 3-D Winograd for convolutional neural networks | |
KR100336266B1 (ko) | 신경 프로세서, 포화 유니트, 계산 유니트 및 가산기 회로 | |
Vázquez et al. | A new family of high. performance parallel decimal multipliers | |
Ma et al. | Multiplier policies for digital signal processing | |
Vazquez et al. | Improved design of high-performance parallel decimal multipliers | |
Zhuo et al. | Scalable and modular algorithms for floating-point matrix multiplication on reconfigurable computing systems | |
Zhuo et al. | High performance linear algebra operations on reconfigurable systems | |
Jaiswal et al. | FPGA-based high-performance and scalable block LU decomposition architecture | |
Wang et al. | WinoNN: Optimizing FPGA-based convolutional neural network accelerators using sparse Winograd algorithm | |
Zhang et al. | FPGA vs. GPU for sparse matrix vector multiply | |
Abdelgawad et al. | High speed and area-efficient multiply accumulate (MAC) unit for digital signal prossing applications | |
Dadda | Multioperand parallel decimal adder: A mixed binary and BCD approach | |
Bu et al. | A design methodology for fixed-size systolic arrays | |
Gu et al. | DLUX: A LUT-based near-bank accelerator for data center deep learning training workloads | |
Li et al. | VBSF: a new storage format for SIMD sparse matrix–vector multiplication on modern processors | |
Sun et al. | An I/O bandwidth-sensitive sparse matrix-vector multiplication engine on FPGAs | |
Wang et al. | DSP-efficient hardware acceleration of convolutional neural network inference on FPGAs | |
CN110851779A (zh) | 用于稀疏矩阵运算的脉动阵列架构 | |
Ker et al. | Hardware implementation of CMAC neural network with reduced storage requirement | |
Shabani et al. | Hirac: A hierarchical accelerator with sorting-based packing for spgemms in dnn applications | |
Xia et al. | Reconfigurable spatial-parallel stochastic computing for accelerating sparse convolutional neural networks | |
JP7490572B2 (ja) | ニューラル・ネットワーク処理要素 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20210224 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20210816 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220331 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230331 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230418 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230711 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20231010 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240209 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20240221 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240416 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240515 |