JP7490572B2 - ニューラル・ネットワーク処理要素 - Google Patents
ニューラル・ネットワーク処理要素 Download PDFInfo
- Publication number
- JP7490572B2 JP7490572B2 JP2020562166A JP2020562166A JP7490572B2 JP 7490572 B2 JP7490572 B2 JP 7490572B2 JP 2020562166 A JP2020562166 A JP 2020562166A JP 2020562166 A JP2020562166 A JP 2020562166A JP 7490572 B2 JP7490572 B2 JP 7490572B2
- Authority
- JP
- Japan
- Prior art keywords
- activation
- weight
- representations
- counts
- accelerator tile
- 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 79
- 238000013528 artificial neural network Methods 0.000 title claims description 25
- 230000004913 activation Effects 0.000 claims description 149
- 238000000034 method Methods 0.000 claims description 37
- 230000008569 process Effects 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 25
- 239000003638 chemical reducing agent Substances 0.000 claims description 22
- 241001442055 Vipera berus Species 0.000 claims description 13
- 238000009825 accumulation Methods 0.000 claims description 4
- 238000001994 activation Methods 0.000 description 128
- 238000010586 diagram Methods 0.000 description 17
- 238000013461 design Methods 0.000 description 14
- 238000013527 convolutional neural network Methods 0.000 description 10
- 230000009467 reduction Effects 0.000 description 8
- 230000006872 improvement Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000002123 temporal effect Effects 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000007792 addition Methods 0.000 description 3
- 239000000872 buffer Substances 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 241000219357 Cactaceae Species 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 101100153591 Cricetulus griseus TOP1 gene Proteins 0.000 description 1
- 241000665848 Isca Species 0.000 description 1
- 101100314144 Mus musculus Tnip1 gene Proteins 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 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
- 238000013138 pruning Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000000946 synaptic effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000008685 targeting 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/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)
Description
2)そうではなく、
Claims (18)
- 活性化表現のセットを受け取るために活性化メモリとインターフェースする活性化メモリ・インターフェースと、
重み表現のセットを受け取るために重みメモリとインターフェースする重みメモリ・インターフェースと、
出力表現のセットを作るために活性化表現の前記セットおよび重み表現の前記セットを処理するために1ホット符号器、ヒストグラマ、アライナ、リデューサ、および累算副要素を実施するように構成された処理要素と
を含む、ニューラル・ネットワーク・アクセラレータ・タイル。 - 前記活性化メモリ・インターフェースは、活性化1オフセット対のセットとして前記処理要素に活性化表現の前記セットを提供するように構成され、前記重みメモリ・インターフェースは、重み1オフセット対のセットとして前記処理要素に重み表現の前記セットを提供するように構成される、請求項1に記載のアクセラレータ・タイル。
- 前記処理要素は、指数副要素を実施するようにさらに構成される、請求項2に記載のアクセラレータ・タイル。
- 前記指数副要素は、1オフセット対積のセットを作るために活性化1オフセット対の前記セットおよび重み1オフセット対の前記セットを組み合わせるように構成される、請求項3に記載のアクセラレータ・タイル。
- 前記指数副要素は、大きさ加算器のセットおよび符号ゲートの対応するセットを含み、大きさ加算器および符号ゲートの1対は、1オフセット対積の前記セットの各1オフセット対積を提供するためのものである、請求項4に記載のアクセラレータ・タイル。
- 前記1ホット符号器は、1ホット符号器入力のセットの1ホット符号化を実行する復号器のセットを含む、請求項1に記載のアクセラレータ・タイル。
- 前記ヒストグラマは、ヒストグラマ入力のセットを値によってソートするように構成される、請求項2に記載のアクセラレータ・タイル。
- 前記アライナは、縮小されるシフトされた入力のセットを提供するためにアライナ入力のセットをシフトするように構成される、請求項2に記載のアクセラレータ・タイル。
- 前記リデューサは、リデューサ入力のセットを部分和に縮小するために加算器ツリーを含む、請求項2に記載のアクセラレータ・タイル。
- 前記累算副要素は、アキュムレータを含み、複数のサイクルにわたって積を累算するために部分和を受け取り、前記部分和を前記アキュムレータに加算するように構成される、請求項2に記載のアクセラレータ・タイル。
- 前記処理要素は、連結器を実装するようにさらに構成される、請求項1に記載のアクセラレータ・タイル。
- 前記連結器は、部分積を作るために前記アライナおよび前記リデューサによってシフトされ、縮小されるグループ化されたカウントのセットを作るために連結器入力のセットを連結するために提供される、請求項11に記載のアクセラレータ・タイル。
- ニューラル・ネットワーク部分積を作る方法であって、前記方法は、活性化メモリ・インターフェースと重みメモリ・インターフェースと処理要素とを含むニューラル・ネットワーク・アクセラレータ・タイルによって実行され、
活性化表現のセットを受け取ることと、
重み表現のセットを受け取ることであって、各重み表現は、活性化表現の前記セットの活性化表現に対応する、受け取ることと、
部分結果のセットを作るために、各重み表現をそれに対応する活性化表現と組み合わせることによって、重み表現の前記セットを活性化表現の前記セットと組み合わせることと、
1ホット表現のセットを作るために、部分結果の前記セットを符号化することと、
1ホット表現の前記セットをヒストグラム・バケット・カウントのセットに累算することと、
ヒストグラム・バケット・カウントの前記セットのカウントを前記カウントのサイズに従って整列させることと、
前記ニューラル・ネットワーク部分積を作るためにヒストグラム・バケット・カウントの前記セットの前記整列されたカウントを縮小することと
を含む方法。 - 積を累算するために前記ニューラル・ネットワーク部分積をアキュムレータに出力することをさらに含む、請求項13に記載の方法。
- 前記積を活性化メモリに出力することをさらに含む、請求項14に記載の方法。
- 各活性化表現は、活性化大きさおよび活性化符号の活性化対として受け取られ、各重み表現は、重み大きさおよび重み符号の重み対として受け取られる、請求項13に記載の方法。
- ヒストグラム・バケット・カウントの前記セットの前記カウントを整列させる前に、ヒストグラム・バケット・カウントの前記セットの前記カウントをグループ化されたカウントのセットに再帰的にグループ化することと、ヒストグラム・バケット・カウントの前記セットの代わりに整列され縮小されるグループ化されたカウントの前記セットを提供することとをさらに含む、請求項16に記載の方法。
- 重み表現の前記セットの重み表現を活性化表現の前記セットの活性化表現と組み合わせることは、複数のサイクルにわたって実行される、請求項13に記載の方法。
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 JP2021524082A (ja) | 2021-09-09 |
JP7490572B2 true JP7490572B2 (ja) | 2024-05-27 |
Family
ID=68466873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020562166A Active JP7490572B2 (ja) | 2018-05-08 | 2019-04-25 | ニューラル・ネットワーク処理要素 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20210125046A1 (ja) |
EP (1) | EP3769266A4 (ja) |
JP (1) | JP7490572B2 (ja) |
KR (1) | KR20210006919A (ja) |
CN (1) | CN112106078A (ja) |
CA (1) | CA3069779C (ja) |
WO (1) | WO2019213745A1 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11966835B2 (en) | 2018-06-05 | 2024-04-23 | Nvidia Corp. | Deep neural network accelerator with fine-grained parallelism discovery |
JP7337103B2 (ja) | 2018-06-22 | 2023-09-01 | サムスン エレクトロニクス カンパニー リミテッド | ニューラルプロセッサ |
US11769040B2 (en) * | 2018-09-10 | 2023-09-26 | Nvidia Corp. | Scalable multi-die deep learning system |
US11270197B2 (en) | 2019-03-12 | 2022-03-08 | Nvidia Corp. | Efficient neural network accelerator dataflows |
US11211944B2 (en) | 2019-04-17 | 2021-12-28 | Samsung Electronics Co., Ltd. | Mixed-precision compression with random access |
US11671111B2 (en) | 2019-04-17 | 2023-06-06 | Samsung Electronics Co., Ltd. | Hardware channel-parallel data compression/decompression |
US11880760B2 (en) | 2019-05-01 | 2024-01-23 | Samsung Electronics Co., Ltd. | Mixed-precision NPU tile with depth-wise convolution |
US11222092B2 (en) | 2019-07-16 | 2022-01-11 | Facebook Technologies, Llc | Optimization for deconvolution |
US20210182025A1 (en) * | 2019-12-12 | 2021-06-17 | Samsung Electronics Co., Ltd. | Accelerating 2d convolutional layer mapping on a dot product architecture |
US20210334072A1 (en) * | 2020-04-22 | 2021-10-28 | Facebook, Inc. | Mapping convolution to connected processing elements using distributed pipelined separable convolution operations |
US11500811B2 (en) * | 2020-06-12 | 2022-11-15 | Alibaba Group Holding Limited | Apparatuses and methods for map reduce |
KR102477533B1 (ko) * | 2020-08-06 | 2022-12-15 | 한국과학기술원 | 희소성 데이터를 이용하는 연산 장치 및 그것의 동작 방법 |
KR102553941B1 (ko) * | 2020-10-14 | 2023-07-10 | 한국전자기술연구원 | 팝카운트 기반 딥러닝 신경망 연산 방법, 곱셈 누산기 및 장치 |
US20220317973A1 (en) * | 2020-10-14 | 2022-10-06 | Korea Electronics Technology Institute | Pop count-based deep learning neural network computation method, multiply accumulator and device |
KR102644702B1 (ko) * | 2021-02-08 | 2024-03-06 | 한양대학교 산학협력단 | 컨볼루션 신경망 가속 방법 및 장치 |
CN113592066B (zh) * | 2021-07-08 | 2024-01-05 | 深圳市易成自动驾驶技术有限公司 | 硬件加速方法、装置、设备及存储介质 |
US11635958B1 (en) * | 2022-01-03 | 2023-04-25 | Globalfoundries U.S. Inc. | Multi-port register file for partial-sum accumulation |
Citations (2)
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 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8577952B2 (en) * | 2008-12-08 | 2013-11-05 | International Business Machines Corporation | Combined binary/decimal fixed-point multiplier and method |
CN107851214A (zh) * | 2015-07-23 | 2018-03-27 | 米雷普里卡技术有限责任公司 | 针对二维阵列处理器的性能增强 |
WO2017214728A1 (en) * | 2016-06-14 | 2017-12-21 | The Governing Council Of The University Of Toronto | Accelerator for deep neural networks |
US9959498B1 (en) * | 2016-10-27 | 2018-05-01 | Google Llc | Neural network instruction set architecture |
US9928460B1 (en) * | 2017-06-16 | 2018-03-27 | Google Llc | Neural network accelerator tile architecture with three-dimensional stacking |
-
2019
- 2019-04-25 WO PCT/CA2019/050525 patent/WO2019213745A1/en unknown
- 2019-04-25 CN CN201980031107.3A patent/CN112106078A/zh active Pending
- 2019-04-25 US US17/052,178 patent/US20210125046A1/en active Pending
- 2019-04-25 EP EP19799531.9A patent/EP3769266A4/en active Pending
- 2019-04-25 CA CA3069779A patent/CA3069779C/en active Active
- 2019-04-25 KR KR1020207033868A patent/KR20210006919A/ko not_active Application Discontinuation
- 2019-04-25 JP JP2020562166A patent/JP7490572B2/ja active Active
Patent Citations (2)
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 |
Also Published As
Publication number | Publication date |
---|---|
US20210125046A1 (en) | 2021-04-29 |
WO2019213745A1 (en) | 2019-11-14 |
EP3769266A4 (en) | 2021-12-15 |
EP3769266A1 (en) | 2021-01-27 |
JP2021524082A (ja) | 2021-09-09 |
CA3069779A1 (en) | 2019-11-14 |
KR20210006919A (ko) | 2021-01-19 |
CN112106078A (zh) | 2020-12-18 |
CA3069779C (en) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7490572B2 (ja) | ニューラル・ネットワーク処理要素 | |
Sharify et al. | Laconic deep learning inference acceleration | |
KR102305851B1 (ko) | 신경망의 컨볼루션 계산을 위한 방법 및 전자 디바이스 | |
KR102285965B1 (ko) | 신경망의 컨볼루션 계산을 위한 방법 및 전자 디바이스 | |
CN111062472B (zh) | 一种基于结构化剪枝的稀疏神经网络加速器及其加速方法 | |
EP3835942B1 (en) | Systems and methods for loading weights into a tensor processing block | |
Zhuo et al. | High performance linear algebra operations on reconfigurable systems | |
WO2022037257A1 (zh) | 卷积计算引擎、人工智能芯片以及数据处理方法 | |
Wang et al. | WinoNN: Optimizing FPGA-based convolutional neural network accelerators using sparse Winograd algorithm | |
Bu et al. | A design methodology for fixed-size systolic arrays | |
KR20010020446A (ko) | 신경 프로세서, 포화 유니트, 계산 유니트 및 가산기 회로 | |
Aguirre-Mesa et al. | MultiZ: a library for computation of high-order derivatives using multicomplex or multidual numbers | |
US20210182465A1 (en) | Implementing Large Multipliers in Tensor Arrays | |
JP7292297B2 (ja) | 確率的丸めロジック | |
CN110851779A (zh) | 用于稀疏矩阵运算的脉动阵列架构 | |
Ker et al. | Hardware implementation of CMAC neural network with reduced storage requirement | |
Xia et al. | Reconfigurable spatial-parallel stochastic computing for accelerating sparse convolutional neural networks | |
Chen et al. | Parallel integer polynomial multiplication | |
JP7038608B2 (ja) | 半導体装置 | |
Liu et al. | LSRB-CSR: A low overhead storage format for SpMV on the GPU systems | |
Sharify et al. | Laconic deep learning computing | |
Putra et al. | Optimized hardware algorithm for integer cube root calculation and its efficient architecture | |
Ayyagari et al. | Efficient Implementation of Pooling Operation for AI Accelerators | |
Yu et al. | Accelerated Synchronous Model Parallelism Using Cooperative Process for Training Compute-Intensive Models | |
Kung | Putting inner loops automatically in silicon |
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 |
|
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: 20240416 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240515 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7490572 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |