JP6640243B2 - ニューラルネットワークプロセッサにおけるバッチ処理 - Google Patents
ニューラルネットワークプロセッサにおけるバッチ処理 Download PDFInfo
- Publication number
- JP6640243B2 JP6640243B2 JP2017550720A JP2017550720A JP6640243B2 JP 6640243 B2 JP6640243 B2 JP 6640243B2 JP 2017550720 A JP2017550720 A JP 2017550720A JP 2017550720 A JP2017550720 A JP 2017550720A JP 6640243 B2 JP6640243 B2 JP 6640243B2
- Authority
- JP
- Japan
- Prior art keywords
- neural network
- inputs
- input
- layer
- weight
- 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 104
- 238000000034 method Methods 0.000 claims description 69
- 238000004364 calculation method Methods 0.000 claims description 42
- 239000011159 matrix material Substances 0.000 claims description 27
- 230000001186 cumulative effect Effects 0.000 claims description 15
- 230000004913 activation Effects 0.000 description 69
- 210000004027 cell Anatomy 0.000 description 56
- 230000008569 process Effects 0.000 description 42
- 239000013598 vector Substances 0.000 description 21
- 239000000872 buffer Substances 0.000 description 20
- 238000004590 computer program Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000000007 visual effect 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8046—Systolic arrays
-
- 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
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Neurology (AREA)
- Computer Hardware Design (AREA)
- Image Analysis (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Complex Calculations (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Image Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
本明細書は、ハードウェアにおいてニューラルネットワーク推測値を計算することに関する。
全体として、本明細書では、ニューラルネットワーク推測値を計算する特定目的ハードウェア回路について説明する。
詳細な説明
複数の層を有するニューラルネットワークは、推測値の計算に使用することができる。たとえば、入力を前提として、ニューラルネットワークは当該入力について推測値を計算することができる。ニューラルネットワークは、ニューラルネットワークの各層を介して入力を処理することによってこの推測値を計算する。特に、ニューラルネットワークの層は、各々が重みのそれぞれのセットを有する状態で、ある順序で配置され得る。各層は、入力を受け取って、当該層の重みのセットに従って入力を処理して、出力を生成する。当該出力は、次のニューラルネットワーク層において入力として使用することができる。
Claims (19)
- 複数の入力の各々についてそれぞれのニューラルネットワーク出力を生成するための方法であって、前記生成することは、複数のニューラルネットワーク層の各々を介して各入力を処理して、前記入力について前記それぞれのニューラルネットワーク出力を生成することを備え、前記ニューラルネットワーク層は、有向グラフ構造で配置され、各ニューラルネットワーク層は、それぞれのバッチサイズを有し、前記方法は、前記ニューラルネットワーク層の各々について、
前記ニューラルネットワーク層で処理される複数の入力を受け取るステップと、
前記複数の入力から入力の1つ以上のバッチを形成するステップとを備え、各バッチは、前記ニューラルネットワーク層の前記それぞれのバッチサイズに等しいいくつかの入力を有し、前記方法はさらに、前記ニューラルネットワーク層の各々について、
処理のために前記入力の1つ以上のバッチのうちのいくつかを選択するステップを備え、前記1つ以上のバッチのうちのいくつかにおける前記入力の個数は、前記有向グラフ構造内の後続の層のそれぞれの関連付けられたバッチサイズよりも多いか、または当該バッチサイズに等しく、前記方法はさらに、前記ニューラルネットワーク層の各々について、
前記入力の1つ以上のバッチのうちのいくつかを処理して、前記それぞれのニューラルネットワーク層出力を生成するステップを備える、方法。 - 前記それぞれのバッチサイズは、少なくとも重み再使用値に基づき、前記重み再使用値は、行列計算ユニットで重み入力を使用して出力値の計算時間の間に前記重み入力を再使用する必要がある回数が、メモリからの前記重み入力のロード時間よりも長いことを表わす、請求項1に記載の方法。
- 前記重み再使用値は、少なくとも、前記重み入力を格納する前記メモリのクロックレートに基づく、請求項2に記載の方法。
- 各バッチサイズは、少なくとも、前記それぞれの層の重み入力が再使用される回数で除算される前記重み再使用値に基づく、請求項2または3に記載の方法。
- 前記複数のニューラルネットワーク層は、行列処理ユニットで処理され、前記入力の1つ以上のバッチのうちのいくつかを処理するステップは、前記行列計算ユニットを使用して各入力について累積値を計算するステップを備える、請求項2〜4のいずれか1項に記載の方法。
- 各入力は、個別の画像リソースに対応する、請求項1〜5のいずれか1項に記載の方法。
- 各入力は、音声サンプルに対応する、請求項1〜5のいずれか1項に記載の方法。
- 前記後続の層での処理のために前記1つ以上の層出力からバッチを形成するステップをさらに備える、請求項1〜7のいずれか1項に記載の方法。
- 各出力について対応する推測値を生成するステップをさらに備える、請求項1〜8のいずれか1項に記載の方法。
- 複数の入力の各々についてそれぞれのニューラルネットワーク出力を生成するためのシステムであって、前記生成することは、複数のニューラルネットワーク層の各々を介して各入力を処理して、前記入力について前記それぞれのニューラルネットワーク出力を生成することを備え、前記ニューラルネットワーク層は、有向グラフ構造で配置され、各ニューラルネットワーク層は、それぞれのバッチサイズを有し、前記システムは、
1つ以上のコンピュータと、
前記1つ以上のコンピュータに結合され、命令を格納するコンピュータ読取可能な媒体とを備え、前記命令は、前記1つ以上のコンピュータによって実行されたときに、前記1つ以上のコンピュータに、前記ニューラルネットワーク層の各々について動作を実行させ、前記動作は、
前記ニューラルネットワーク層で処理される複数の入力を受け取るステップと、
前記複数の入力から入力の1つ以上のバッチを形成するステップとを備え、各バッチは、前記ニューラルネットワーク層の前記それぞれのバッチサイズに等しいいくつかの入力を有し、前記動作はさらに、
処理のために前記入力の1つ以上のバッチのうちのいくつかを選択するステップを備え、前記1つ以上のバッチのうちのいくつかにおける前記入力の個数は、前記有向グラフ構造内の後続の層のそれぞれの関連付けられたバッチサイズよりも多いか、または当該バッチサイズに等しく、前記動作はさらに、
前記入力の1つ以上のバッチのうちのいくつかを処理して、前記それぞれのニューラルネットワーク層出力を生成するステップを備える、システム。 - 前記それぞれのバッチサイズは、少なくとも重み再使用値に基づき、前記重み再使用値は、行列計算ユニットで重み入力を使用して出力値の計算時間の間に前記重み入力を再使用する必要がある回数が、メモリからの前記重み入力のロード時間よりも長いことを表わす、請求項10に記載のシステム。
- 前記重み再使用値は、少なくとも、前記重み入力を格納する前記メモリのクロックレートに基づく、請求項11に記載のシステム。
- 各バッチサイズは、少なくとも、前記それぞれの層の重み入力が再使用される回数で除算される前記重み再使用値に基づく、請求項11または12に記載のシステム。
- 前記複数のニューラルネットワーク層は、行列処理ユニットで処理され、前記入力の1つ以上のバッチのうちのいくつかを処理するステップは、前記行列計算ユニットを使用して各入力について累積値を計算するステップを備える、請求項11〜13のいずれか1項に記載のシステム。
- 各入力は、個別の画像リソースに対応する、請求項10〜14のいずれか1項に記載のシステム。
- 各入力は、音声サンプルに対応する、請求項10〜14のいずれか1項に記載のシステム。
- 前記後続の層での処理のために前記1つ以上の層出力からバッチを形成するステップをさらに備える、請求項10〜16のいずれか1項に記載のシステム。
- 各出力について対応する推測値を生成するステップをさらに備える、請求項10〜17のいずれか1項に記載のシステム。
- 請求項1〜9のいずれか1項に記載の方法をコンピュータに実行させる、プログラム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562165020P | 2015-05-21 | 2015-05-21 | |
US62/165,020 | 2015-05-21 | ||
US14/844,431 US10083395B2 (en) | 2015-05-21 | 2015-09-03 | Batch processing in a neural network processor |
US14/844,431 | 2015-09-03 | ||
PCT/US2016/030515 WO2016186823A1 (en) | 2015-05-21 | 2016-05-03 | Batch processing in a neural network processor |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019234606A Division JP6840827B2 (ja) | 2015-05-21 | 2019-12-25 | ニューラルネットワークプロセッサにおけるバッチ処理 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018518730A JP2018518730A (ja) | 2018-07-12 |
JP6640243B2 true JP6640243B2 (ja) | 2020-02-05 |
Family
ID=55967450
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017550720A Active JP6640243B2 (ja) | 2015-05-21 | 2016-05-03 | ニューラルネットワークプロセッサにおけるバッチ処理 |
JP2019234606A Active JP6840827B2 (ja) | 2015-05-21 | 2019-12-25 | ニューラルネットワークプロセッサにおけるバッチ処理 |
JP2021023284A Active JP7031033B2 (ja) | 2015-05-21 | 2021-02-17 | ニューラルネットワークプロセッサにおけるバッチ処理 |
JP2022025744A Active JP7286829B2 (ja) | 2015-05-21 | 2022-02-22 | ニューラルネットワークプロセッサにおけるバッチ処理 |
JP2023085256A Pending JP2023109933A (ja) | 2015-05-21 | 2023-05-24 | ニューラルネットワークプロセッサにおけるバッチ処理 |
Family Applications After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019234606A Active JP6840827B2 (ja) | 2015-05-21 | 2019-12-25 | ニューラルネットワークプロセッサにおけるバッチ処理 |
JP2021023284A Active JP7031033B2 (ja) | 2015-05-21 | 2021-02-17 | ニューラルネットワークプロセッサにおけるバッチ処理 |
JP2022025744A Active JP7286829B2 (ja) | 2015-05-21 | 2022-02-22 | ニューラルネットワークプロセッサにおけるバッチ処理 |
JP2023085256A Pending JP2023109933A (ja) | 2015-05-21 | 2023-05-24 | ニューラルネットワークプロセッサにおけるバッチ処理 |
Country Status (11)
Country | Link |
---|---|
US (5) | US10083395B2 (ja) |
EP (2) | EP4235449A3 (ja) |
JP (5) | JP6640243B2 (ja) |
KR (6) | KR102540114B1 (ja) |
CN (2) | CN107454965B (ja) |
DE (2) | DE112016002292T5 (ja) |
DK (1) | DK3298547T3 (ja) |
GB (2) | GB2553053B (ja) |
HK (1) | HK1245463A1 (ja) |
TW (2) | TWI622939B (ja) |
WO (1) | WO2016186823A1 (ja) |
Families Citing this family (129)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10083395B2 (en) * | 2015-05-21 | 2018-09-25 | Google Llc | Batch processing in a neural network processor |
US10417555B2 (en) * | 2015-05-29 | 2019-09-17 | Samsung Electronics Co., Ltd. | Data-optimized neural network traversal |
US20170153892A1 (en) * | 2015-11-30 | 2017-06-01 | Intel Corporation | Instruction And Logic For Programmable Fabric Hierarchy And Cache |
US10037490B2 (en) | 2016-12-13 | 2018-07-31 | Google Llc | Performing average pooling in hardware |
US10521488B1 (en) | 2016-12-30 | 2019-12-31 | X Development Llc | Dynamic partitioning |
US10248613B2 (en) * | 2017-01-10 | 2019-04-02 | Qualcomm Incorporated | Data bus activation in an electronic device |
US10824934B2 (en) * | 2017-01-12 | 2020-11-03 | Texas Instruments Incorporated | Methods and apparatus for matrix processing in a convolutional neural network |
US9691019B1 (en) * | 2017-03-07 | 2017-06-27 | Google Inc. | Depth concatenation using a matrix computation unit |
US10896367B2 (en) * | 2017-03-07 | 2021-01-19 | Google Llc | Depth concatenation using a matrix computation unit |
US10909447B2 (en) | 2017-03-09 | 2021-02-02 | Google Llc | Transposing neural network matrices in hardware |
KR102414583B1 (ko) * | 2017-03-23 | 2022-06-29 | 삼성전자주식회사 | 머신 러닝을 수행하는 전자 장치 및 머신 러닝 수행 방법 |
CN107085562B (zh) * | 2017-03-23 | 2020-11-03 | 中国科学院计算技术研究所 | 一种基于高效复用数据流的神经网络处理器及设计方法 |
US10387298B2 (en) * | 2017-04-04 | 2019-08-20 | Hailo Technologies Ltd | Artificial neural network incorporating emphasis and focus techniques |
US10795836B2 (en) * | 2017-04-17 | 2020-10-06 | Microsoft Technology Licensing, Llc | Data processing performance enhancement for neural networks using a virtualized data iterator |
US10019668B1 (en) | 2017-05-19 | 2018-07-10 | Google Llc | Scheduling neural network processing |
US11144828B2 (en) | 2017-06-09 | 2021-10-12 | Htc Corporation | Training task optimization system, training task optimization method and non-transitory computer readable medium for operating the same |
CN107146616B (zh) * | 2017-06-13 | 2020-05-08 | Oppo广东移动通信有限公司 | 设备控制方法及相关产品 |
CN107608715B (zh) * | 2017-07-20 | 2020-07-03 | 上海寒武纪信息科技有限公司 | 用于执行人工神经网络正向运算的装置及方法 |
US11157441B2 (en) * | 2017-07-24 | 2021-10-26 | Tesla, Inc. | Computational array microprocessor system using non-consecutive data formatting |
US11893393B2 (en) | 2017-07-24 | 2024-02-06 | Tesla, Inc. | Computational array microprocessor system with hardware arbiter managing memory requests |
US10671349B2 (en) | 2017-07-24 | 2020-06-02 | Tesla, Inc. | Accelerated mathematical engine |
US11157287B2 (en) | 2017-07-24 | 2021-10-26 | Tesla, Inc. | Computational array microprocessor system with variable latency memory access |
US11409692B2 (en) | 2017-07-24 | 2022-08-09 | Tesla, Inc. | Vector computational unit |
US11966833B2 (en) | 2017-08-09 | 2024-04-23 | Google Llc | Accelerating neural networks in hardware using interconnected crossbars |
US10839286B2 (en) * | 2017-09-14 | 2020-11-17 | Xilinx, Inc. | System and method for implementing neural networks in integrated circuits |
US11437032B2 (en) | 2017-09-29 | 2022-09-06 | Shanghai Cambricon Information Technology Co., Ltd | Image processing apparatus and method |
US11620490B2 (en) * | 2017-10-17 | 2023-04-04 | Xilinx, Inc. | Multi-layer neural network processing by a neural network accelerator using host communicated merged weights and a package of per-layer instructions |
JP6901633B2 (ja) | 2017-10-27 | 2021-07-14 | グーグル エルエルシーGoogle LLC | カプセルニューラルネットワーク |
CN107818367B (zh) * | 2017-10-30 | 2020-12-29 | 中国科学院计算技术研究所 | 用于神经网络的处理系统和处理方法 |
KR102586173B1 (ko) * | 2017-10-31 | 2023-10-10 | 삼성전자주식회사 | 프로세서 및 그 제어 방법 |
US20200210818A1 (en) * | 2017-11-02 | 2020-07-02 | Tdk Corporation | Array device including neuromorphic element and neural network system |
WO2019090325A1 (en) * | 2017-11-06 | 2019-05-09 | Neuralmagic, Inc. | Methods and systems for improved transforms in convolutional neural networks |
KR20190051697A (ko) | 2017-11-07 | 2019-05-15 | 삼성전자주식회사 | 뉴럴 네트워크의 디컨벌루션 연산을 수행하는 장치 및 방법 |
KR102424962B1 (ko) | 2017-11-15 | 2022-07-25 | 삼성전자주식회사 | 병렬 연산 처리를 수행하는 메모리 장치 및 이를 포함하는 메모리 모듈 |
US20190156214A1 (en) | 2017-11-18 | 2019-05-23 | Neuralmagic Inc. | Systems and methods for exchange of data in distributed training of machine learning algorithms |
US10803379B2 (en) | 2017-12-12 | 2020-10-13 | Amazon Technologies, Inc. | Multi-memory on-chip computational network |
WO2019118363A1 (en) * | 2017-12-12 | 2019-06-20 | Amazon Technologies, Inc. | On-chip computational network |
CN111837145B (zh) * | 2017-12-18 | 2024-02-02 | 米西克有限公司 | 用于将矩阵计算映射到矩阵乘法加速器的系统和方法 |
CN108108811B (zh) * | 2017-12-18 | 2021-07-30 | 南京地平线机器人技术有限公司 | 神经网络中的卷积计算方法和电子设备 |
CN107844828B (zh) * | 2017-12-18 | 2021-07-30 | 南京地平线机器人技术有限公司 | 神经网络中的卷积计算方法和电子设备 |
CN108345934B (zh) * | 2018-01-16 | 2020-11-03 | 中国科学院计算技术研究所 | 一种用于神经网络处理器的激活装置及方法 |
WO2019147708A1 (en) * | 2018-01-24 | 2019-08-01 | Alibaba Group Holding Limited | A deep learning accelerator system and methods thereof |
US11561791B2 (en) | 2018-02-01 | 2023-01-24 | Tesla, Inc. | Vector computational unit receiving data elements in parallel from a last row of a computational array |
US11461579B2 (en) | 2018-02-08 | 2022-10-04 | Western Digital Technologies, Inc. | Configurable neural network engine for convolutional filter sizes |
US11551064B2 (en) | 2018-02-08 | 2023-01-10 | Western Digital Technologies, Inc. | Systolic neural network engine capable of forward propagation |
US11423300B1 (en) * | 2018-02-09 | 2022-08-23 | Deepmind Technologies Limited | Selecting actions by reverting to previous learned action selection policies |
KR102252137B1 (ko) | 2018-02-13 | 2021-05-13 | 상하이 캠브리콘 인포메이션 테크놀로지 컴퍼니 리미티드 | 계산 장치 및 방법 |
US11740898B2 (en) | 2018-02-13 | 2023-08-29 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
US11630666B2 (en) | 2018-02-13 | 2023-04-18 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
CN108364061B (zh) * | 2018-02-13 | 2020-05-05 | 北京旷视科技有限公司 | 运算装置、运算执行设备及运算执行方法 |
CN116991225A (zh) | 2018-02-14 | 2023-11-03 | 上海寒武纪信息科技有限公司 | 处理器的控制装置、方法及设备 |
KR102487535B1 (ko) * | 2018-02-20 | 2023-01-12 | 삼성전자주식회사 | 시스톨릭 배열(Systolic Array)을 이용하여 딥 러닝(Deep Learning) 연산을 수행하는 방법 및 장치 |
US12008466B1 (en) * | 2018-03-23 | 2024-06-11 | Amazon Technologies, Inc. | Processor with control flow |
US11188814B2 (en) * | 2018-04-05 | 2021-11-30 | Arm Limited | Systolic convolutional neural network |
CN108628799B (zh) * | 2018-04-17 | 2021-09-14 | 上海交通大学 | 可重构的单指令多数据脉动阵列结构、处理器及电子终端 |
US11783174B2 (en) * | 2018-05-04 | 2023-10-10 | Apple Inc. | Splitting of input data for processing in neural network processor |
WO2019218896A1 (zh) | 2018-05-18 | 2019-11-21 | 上海寒武纪信息科技有限公司 | 计算方法以及相关产品 |
CN108777153B (zh) * | 2018-05-25 | 2021-01-26 | 华中科技大学 | 一种多端输入突触器件及其可塑性调制方法 |
US11216732B2 (en) | 2018-05-31 | 2022-01-04 | Neuralmagic Inc. | Systems and methods for generation of sparse code for convolutional neural networks |
US10832133B2 (en) | 2018-05-31 | 2020-11-10 | Neuralmagic Inc. | System and method of executing neural networks |
US11449363B2 (en) | 2018-05-31 | 2022-09-20 | Neuralmagic Inc. | Systems and methods for improved neural network execution |
US10963787B2 (en) | 2018-05-31 | 2021-03-30 | Neuralmagic Inc. | Systems and methods for generation of sparse code for convolutional neural networks |
US11734555B2 (en) * | 2018-06-05 | 2023-08-22 | Lightelligence PTE. Ltd. | Optoelectronic computing systems |
US10698392B2 (en) * | 2018-06-22 | 2020-06-30 | Applied Materials, Inc. | Using graphics processing unit for substrate routing and throughput modeling |
JP7053891B2 (ja) | 2018-06-27 | 2022-04-12 | シャンハイ カンブリコン インフォメーション テクノロジー カンパニー リミテッド | オンチップコードのブレークポイントによるデバッグ方法、オンチッププロセッサ及びブレークポイントによるチップデバッグシステム |
DE102018115902A1 (de) | 2018-07-01 | 2020-01-02 | Oliver Bartels | SIMD-Prozessor mit CAM zur Operandenauswahl nach Mustererkennung |
US11138497B2 (en) * | 2018-07-17 | 2021-10-05 | Macronix International Co., Ltd | In-memory computing devices for neural networks |
CN109002879B (zh) * | 2018-07-23 | 2021-09-03 | 山东浪潮科学研究院有限公司 | 神经网络模型的可视化建模方法和装置 |
KR102519467B1 (ko) | 2018-08-28 | 2023-04-06 | 캠브리콘 테크놀로지스 코퍼레이션 리미티드 | 데이터 전처리 방법, 장치, 컴퓨터 설비 및 저장 매체 |
CN110865950B (zh) * | 2018-08-28 | 2021-01-12 | 中科寒武纪科技股份有限公司 | 数据预处理方法、装置、计算机设备和存储介质 |
US11010313B2 (en) * | 2018-08-29 | 2021-05-18 | Qualcomm Incorporated | Method, apparatus, and system for an architecture for machine learning acceleration |
EP3859488A4 (en) | 2018-09-28 | 2022-06-29 | Shanghai Cambricon Information Technology Co., Ltd | Signal processing device, signal processing method and related product |
WO2020062299A1 (zh) * | 2018-09-30 | 2020-04-02 | 华为技术有限公司 | 一种神经网络处理器、数据处理方法及相关设备 |
WO2020072274A1 (en) | 2018-10-01 | 2020-04-09 | Neuralmagic Inc. | Systems and methods for neural network pruning with accuracy preservation |
WO2020073925A1 (zh) * | 2018-10-09 | 2020-04-16 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
WO2020073923A1 (zh) * | 2018-10-09 | 2020-04-16 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
KR20200051278A (ko) | 2018-11-05 | 2020-05-13 | 삼성전자주식회사 | 인공 신경망에서의 작업 관리 방법 및 이를 포함하는 시스템 |
JP7315317B2 (ja) | 2018-11-09 | 2023-07-26 | 株式会社Preferred Networks | プロセッサおよびプロセッサのデータ転送方法 |
KR102451519B1 (ko) * | 2018-11-20 | 2022-10-07 | 삼성전자주식회사 | 룩업 테이블 기반의 비트-시리얼 처리 요소를 포함하는 심층 신경망 가속기 |
KR20200061164A (ko) * | 2018-11-23 | 2020-06-02 | 삼성전자주식회사 | 뉴럴 네트워크 연산 수행을 위한 뉴럴 네트워크 장치, 뉴럴 네트워크 장치의 동작 방법 및 뉴럴 네트워크 장치를 포함하는 애플리케이션 프로세서 |
KR20200066953A (ko) | 2018-12-03 | 2020-06-11 | 삼성전자주식회사 | Pim을 채용하는 반도체 메모리 장치 및 그 동작 방법 |
US10990525B2 (en) * | 2018-12-12 | 2021-04-27 | Mipsology SAS | Caching data in artificial neural network computations |
WO2020126692A1 (en) * | 2018-12-19 | 2020-06-25 | Ams Ag | Implementing a multi-layer neural network using a single physical layer of analog neurons |
CN111385462A (zh) | 2018-12-28 | 2020-07-07 | 上海寒武纪信息科技有限公司 | 信号处理装置、信号处理方法及相关产品 |
US11544559B2 (en) | 2019-01-08 | 2023-01-03 | Neuralmagic Inc. | System and method for executing convolution in a neural network |
US10789510B2 (en) * | 2019-01-11 | 2020-09-29 | Google Llc | Dynamic minibatch sizes |
US11461653B2 (en) * | 2019-01-23 | 2022-10-04 | StradVision, Inc. | Learning method and learning device for CNN using 1xK or Kx1 convolution to be used for hardware optimization, and testing method and testing device using the same |
CN109919321A (zh) * | 2019-02-01 | 2019-06-21 | 京微齐力(北京)科技有限公司 | 单元具有本地累加功能的人工智能模块及系统芯片 |
US11783176B2 (en) | 2019-03-25 | 2023-10-10 | Western Digital Technologies, Inc. | Enhanced storage device memory architecture for machine learning |
US10929058B2 (en) | 2019-03-25 | 2021-02-23 | Western Digital Technologies, Inc. | Enhanced memory device architecture for machine learning |
US11934940B2 (en) | 2019-04-18 | 2024-03-19 | Cambricon Technologies Corporation Limited | AI processor simulation |
CN111832738B (zh) | 2019-04-18 | 2024-01-09 | 中科寒武纪科技股份有限公司 | 一种数据处理方法及相关产品 |
US11645512B2 (en) * | 2019-04-30 | 2023-05-09 | Baidu Usa Llc | Memory layouts and conversion to improve neural network inference performance |
US11676028B2 (en) | 2019-06-12 | 2023-06-13 | Shanghai Cambricon Information Technology Co., Ltd | Neural network quantization parameter determination method and related products |
CN112085188B (zh) | 2019-06-12 | 2024-04-02 | 上海寒武纪信息科技有限公司 | 一种神经网络的量化参数确定方法及相关产品 |
WO2021026225A1 (en) | 2019-08-08 | 2021-02-11 | Neuralmagic Inc. | System and method of accelerating execution of a neural network |
WO2021036904A1 (zh) | 2019-08-23 | 2021-03-04 | 安徽寒武纪信息科技有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
KR20210030653A (ko) * | 2019-09-10 | 2021-03-18 | 주식회사 모빌린트 | 복수 개의 코어를 갖는 연산 장치 |
US11842169B1 (en) | 2019-09-25 | 2023-12-12 | Amazon Technologies, Inc. | Systolic multiply delayed accumulate processor architecture |
CN112633462A (zh) * | 2019-10-08 | 2021-04-09 | 黄朝宗 | 卷积神经网络的存储器优化的区块式推论方法及其系统 |
CN112783640B (zh) * | 2019-11-11 | 2023-04-04 | 上海肇观电子科技有限公司 | 预先分配内存的方法与设备、电路、电子设备及介质 |
US11861485B2 (en) * | 2019-11-22 | 2024-01-02 | Baidu Usa Llc | Data format transform method to improve AI engine MAC utilization |
TWI727521B (zh) * | 2019-11-27 | 2021-05-11 | 瑞昱半導體股份有限公司 | 動態語音辨識方法及其裝置 |
US11467806B2 (en) | 2019-11-27 | 2022-10-11 | Amazon Technologies, Inc. | Systolic array including fused multiply accumulate with efficient prenormalization and extended dynamic range |
US11816446B2 (en) | 2019-11-27 | 2023-11-14 | Amazon Technologies, Inc. | Systolic array component combining multiple integer and floating-point data types |
US11586932B2 (en) * | 2020-03-10 | 2023-02-21 | International Business Machines Corporation | Model training with variable batch sizing and gradient checkpoint segments |
US11620830B2 (en) * | 2020-03-31 | 2023-04-04 | Ford Global Technologies, Llc | Context dependent transfer learning adaptation to achieve fast performance in inference and update |
WO2021237755A1 (zh) * | 2020-05-29 | 2021-12-02 | 华为技术有限公司 | 神经网络调度方法及装置 |
WO2021243489A1 (zh) * | 2020-05-30 | 2021-12-09 | 华为技术有限公司 | 一种神经网络的数据处理方法及装置 |
US11308026B1 (en) * | 2020-06-29 | 2022-04-19 | Amazon Technologies, Inc. | Multiple busses interleaved in a systolic array |
US11422773B1 (en) | 2020-06-29 | 2022-08-23 | Amazon Technologies, Inc. | Multiple busses within a systolic array processing element |
US11308027B1 (en) | 2020-06-29 | 2022-04-19 | Amazon Technologies, Inc. | Multiple accumulate busses in a systolic array |
US11651283B1 (en) | 2020-06-30 | 2023-05-16 | Cadence Design Systems, Inc. | Method, product, and apparatus for a machine learning process using dynamic rearrangement of sparse data and corresponding weights |
US11687831B1 (en) | 2020-06-30 | 2023-06-27 | Cadence Design Systems, Inc. | Method, product, and apparatus for a multidimensional processing array for hardware acceleration of convolutional neural network inference |
US11823018B1 (en) * | 2020-06-30 | 2023-11-21 | Cadence Design Systems, Inc. | Method, product, and apparatus for a machine learning process using weight sharing within a systolic array having reduced memory bandwidth |
US11676068B1 (en) | 2020-06-30 | 2023-06-13 | Cadence Design Systems, Inc. | Method, product, and apparatus for a machine learning process leveraging input sparsity on a pixel by pixel basis |
US11615320B1 (en) | 2020-06-30 | 2023-03-28 | Cadence Design Systems, Inc. | Method, product, and apparatus for variable precision weight management for neural networks |
US20220036163A1 (en) * | 2020-07-29 | 2022-02-03 | Apple Inc. | Chained neural engine write-back architecture |
CN111898698B (zh) * | 2020-08-10 | 2021-07-27 | 腾讯科技(深圳)有限公司 | 对象的处理方法及装置、存储介质和电子设备 |
JP7358312B2 (ja) * | 2020-08-25 | 2023-10-10 | 株式会社東芝 | 記憶装置およびニューラルネットワーク装置 |
KR20220027500A (ko) * | 2020-08-27 | 2022-03-08 | 에스케이하이닉스 주식회사 | 가속 장치, 데이터 저장 장치, 데이터 처리 시스템 및 가속 장치의 동작방법 |
US11556757B1 (en) | 2020-12-10 | 2023-01-17 | Neuralmagic Ltd. | System and method of executing deep tensor columns in neural networks |
KR20220090104A (ko) | 2020-12-22 | 2022-06-29 | 삼성전자주식회사 | 컨벌루션 연산을 위한 데이터 전송 방법, 페처 및 컨벌루션 연산 장치 |
US20220318013A1 (en) * | 2021-03-25 | 2022-10-06 | Intel Corporation | Supporting 8-bit floating point format operands in a computing architecture |
CN115204355A (zh) * | 2021-04-14 | 2022-10-18 | 蒂普爱可斯有限公司 | 能够重新使用数据的神经处理单元及其方法 |
US11880682B2 (en) | 2021-06-30 | 2024-01-23 | Amazon Technologies, Inc. | Systolic array with efficient input reduction and extended array performance |
KR102590993B1 (ko) * | 2021-09-03 | 2023-10-19 | 한국전자기술연구원 | 적응형 배치 프로세싱 방법 및 시스템 |
US11714556B2 (en) * | 2021-09-14 | 2023-08-01 | quadric.io, Inc. | Systems and methods for accelerating memory transfers and computation efficiency using a computation-informed partitioning of an on-chip data buffer and implementing computation-aware data transfer operations to the on-chip data buffer |
US11960982B1 (en) | 2021-10-21 | 2024-04-16 | Neuralmagic, Inc. | System and method of determining and executing deep tensor columns in neural networks |
Family Cites Families (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5014235A (en) | 1987-12-15 | 1991-05-07 | Steven G. Morton | Convolution memory |
US5136717A (en) | 1988-11-23 | 1992-08-04 | Flavors Technology Inc. | Realtime systolic, multiple-instruction, single-data parallel computer system |
US5138695A (en) | 1989-10-10 | 1992-08-11 | Hnc, Inc. | Systolic array image processing system |
US5337395A (en) | 1991-04-08 | 1994-08-09 | International Business Machines Corporation | SPIN: a sequential pipeline neurocomputer |
US5146543A (en) | 1990-05-22 | 1992-09-08 | International Business Machines Corp. | Scalable neural array processor |
JPH04290155A (ja) | 1991-03-19 | 1992-10-14 | Fujitsu Ltd | 並列データ処理方式 |
US5903454A (en) | 1991-12-23 | 1999-05-11 | Hoffberg; Linda Irene | Human-factored interface corporating adaptive pattern recognition based controller apparatus |
US5278945A (en) * | 1992-01-10 | 1994-01-11 | American Neuralogical, Inc. | Neural processor apparatus |
JPH0652132A (ja) * | 1992-07-28 | 1994-02-25 | Mitsubishi Electric Corp | 並列演算半導体集積回路装置およびそれを用いたシステム |
JPH06203005A (ja) * | 1992-10-27 | 1994-07-22 | Eastman Kodak Co | 高速区分化ニューラルネットワーク及びその構築方法 |
US5517667A (en) * | 1993-06-14 | 1996-05-14 | Motorola, Inc. | Neural network that does not require repetitive training |
US5583964A (en) * | 1994-05-02 | 1996-12-10 | Motorola, Inc. | Computer utilizing neural network and method of using same |
US5799134A (en) | 1995-03-13 | 1998-08-25 | Industrial Technology Research Institute | One dimensional systolic array architecture for neural network |
KR0152710B1 (ko) * | 1995-12-21 | 1998-10-15 | 양승택 | AT-Bus에 장착하기 위한 병렬 신경망 보드의 제어회로 |
US5812993A (en) | 1996-03-07 | 1998-09-22 | Technion Research And Development Foundation Ltd. | Digital hardware architecture for realizing neural network |
US6038337A (en) | 1996-03-29 | 2000-03-14 | Nec Research Institute, Inc. | Method and apparatus for object recognition |
JPH11177399A (ja) | 1997-12-15 | 1999-07-02 | Mitsubishi Electric Corp | クロック遅延回路およびこれを用いた発振回路、位相同期回路、クロック生成回路 |
GB9902115D0 (en) | 1999-02-01 | 1999-03-24 | Axeon Limited | Neural networks |
US6917703B1 (en) * | 2001-02-28 | 2005-07-12 | Nevengineering, Inc. | Method and apparatus for image analysis of a gabor-wavelet transformed image using a neural network |
US20020143720A1 (en) * | 2001-04-03 | 2002-10-03 | Anderson Robert Lee | Data structure for improved software implementation of a neural network |
JP4314017B2 (ja) | 2002-11-06 | 2009-08-12 | キヤノン株式会社 | 階層処理装置 |
US7245767B2 (en) | 2003-08-21 | 2007-07-17 | Hewlett-Packard Development Company, L.P. | Method and apparatus for object identification, classification or verification |
US7634137B2 (en) | 2005-10-14 | 2009-12-15 | Microsoft Corporation | Unfolded convolution for fast feature extraction |
EP2122542B1 (en) | 2006-12-08 | 2017-11-01 | Medhat Moussa | Architecture, system and method for artificial neural network implementation |
US8184696B1 (en) | 2007-09-11 | 2012-05-22 | Xilinx, Inc. | Method and apparatus for an adaptive systolic array structure |
JP5376920B2 (ja) | 2008-12-04 | 2013-12-25 | キヤノン株式会社 | コンボリューション演算回路、階層的コンボリューション演算回路及び物体認識装置 |
KR101108987B1 (ko) * | 2009-03-05 | 2012-01-31 | 한국전자통신연구원 | 공간 분할을 이용한 게임 캐릭터의 패턴 학습 장치 및 방법 |
US8442927B2 (en) | 2009-07-30 | 2013-05-14 | Nec Laboratories America, Inc. | Dynamically configurable, multi-ported co-processor for convolutional neural networks |
TWI525558B (zh) | 2011-01-17 | 2016-03-11 | Univ Nat Taipei Technology | Resilient high - speed hardware reverse transfer and feedback type neural network system |
SG182933A1 (en) * | 2011-01-19 | 2012-08-30 | Agency Science Tech & Res | A data structure and a method for using the data structure |
US8924455B1 (en) | 2011-02-25 | 2014-12-30 | Xilinx, Inc. | Multiplication of matrices using systolic arrays |
US9147155B2 (en) * | 2011-08-16 | 2015-09-29 | Qualcomm Incorporated | Method and apparatus for neural temporal coding, learning and recognition |
US9443190B2 (en) * | 2011-11-09 | 2016-09-13 | Qualcomm Incorporated | Methods and apparatus for neural pattern sequence completion and neural pattern hierarchical replay by invoking replay of a referenced neural pattern |
JP5906061B2 (ja) * | 2011-11-15 | 2016-04-20 | Kddi株式会社 | 学習装置、学習方法、プログラム |
TW201331855A (zh) | 2012-01-19 | 2013-08-01 | Univ Nat Taipei Technology | 具自由回饋節點的高速硬體倒傳遞及回饋型類神經網路 |
WO2013149123A1 (en) | 2012-03-30 | 2013-10-03 | The Ohio State University | Monaural speech filter |
US9477925B2 (en) | 2012-11-20 | 2016-10-25 | Microsoft Technology Licensing, Llc | Deep neural networks training for speech and pattern recognition |
US9418334B2 (en) * | 2012-12-06 | 2016-08-16 | Nuance Communications, Inc. | Hybrid pre-training of deep belief networks |
US9811775B2 (en) | 2012-12-24 | 2017-11-07 | Google Inc. | Parallelizing neural networks during training |
US9190053B2 (en) | 2013-03-25 | 2015-11-17 | The Governing Council Of The Univeristy Of Toronto | System and method for applying a convolutional neural network to speech recognition |
CN104143327B (zh) * | 2013-07-10 | 2015-12-09 | 腾讯科技(深圳)有限公司 | 一种声学模型训练方法和装置 |
KR20150016089A (ko) * | 2013-08-02 | 2015-02-11 | 안병익 | 신경망 컴퓨팅 장치 및 시스템과 그 방법 |
US10019985B2 (en) * | 2013-11-04 | 2018-07-10 | Google Llc | Asynchronous optimization for sequence training of neural networks |
JP6203005B2 (ja) | 2013-11-14 | 2017-09-27 | 三菱電機株式会社 | 通信装置 |
CN104035751B (zh) | 2014-06-20 | 2016-10-12 | 深圳市腾讯计算机系统有限公司 | 基于多图形处理器的数据并行处理方法及装置 |
EP3064130A1 (en) | 2015-03-02 | 2016-09-07 | MindMaze SA | Brain activity measurement and feedback system |
US20160267111A1 (en) | 2015-03-11 | 2016-09-15 | Microsoft Technology Licensing, Llc | Two-stage vector reduction using two-dimensional and one-dimensional systolic arrays |
US10083395B2 (en) * | 2015-05-21 | 2018-09-25 | Google Llc | Batch processing in a neural network processor |
-
2015
- 2015-09-03 US US14/844,431 patent/US10083395B2/en active Active
-
2016
- 2016-05-03 DK DK16722484.9T patent/DK3298547T3/da active
- 2016-05-03 GB GB1715438.6A patent/GB2553053B/en active Active
- 2016-05-03 KR KR1020237002538A patent/KR102540114B1/ko active IP Right Grant
- 2016-05-03 WO PCT/US2016/030515 patent/WO2016186823A1/en active Application Filing
- 2016-05-03 KR KR1020227004246A patent/KR102493196B1/ko active IP Right Grant
- 2016-05-03 KR KR1020237018341A patent/KR102610083B1/ko active IP Right Grant
- 2016-05-03 JP JP2017550720A patent/JP6640243B2/ja active Active
- 2016-05-03 EP EP23169823.4A patent/EP4235449A3/en active Pending
- 2016-05-03 KR KR1020237041445A patent/KR20230165890A/ko active Application Filing
- 2016-05-03 CN CN201680020154.4A patent/CN107454965B/zh active Active
- 2016-05-03 EP EP16722484.9A patent/EP3298547B1/en active Active
- 2016-05-03 DE DE112016002292.1T patent/DE112016002292T5/de not_active Withdrawn
- 2016-05-03 DE DE202016107476.2U patent/DE202016107476U1/de active Active
- 2016-05-03 KR KR1020207011889A patent/KR102362157B1/ko active IP Right Grant
- 2016-05-03 GB GB2118188.8A patent/GB2600031B/en active Active
- 2016-05-03 CN CN202011246313.7A patent/CN112465131A/zh active Pending
- 2016-05-03 KR KR1020177027872A patent/KR102106144B1/ko active IP Right Grant
- 2016-05-20 TW TW106111273A patent/TWI622939B/zh active
- 2016-05-20 TW TW105115859A patent/TWI591549B/zh active
- 2016-12-22 US US15/389,345 patent/US9842293B2/en active Active
-
2018
- 2018-04-03 HK HK18104416.8A patent/HK1245463A1/zh unknown
- 2018-09-24 US US16/139,258 patent/US11216726B2/en active Active
-
2019
- 2019-12-25 JP JP2019234606A patent/JP6840827B2/ja active Active
-
2021
- 2021-02-17 JP JP2021023284A patent/JP7031033B2/ja active Active
- 2021-04-09 US US17/226,256 patent/US11227216B2/en active Active
-
2022
- 2022-01-14 US US17/575,799 patent/US20220138577A1/en active Pending
- 2022-02-22 JP JP2022025744A patent/JP7286829B2/ja active Active
-
2023
- 2023-05-24 JP JP2023085256A patent/JP2023109933A/ja active Pending
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6640243B2 (ja) | ニューラルネットワークプロセッサにおけるバッチ処理 | |
TWI787262B (zh) | 用於執行類神經網路層之計算的方法、系統及非暫時性電腦可讀儲存媒體 | |
KR102127524B1 (ko) | 신경망 프로세서의 벡터 컴퓨테이션 유닛 | |
JP2022008636A (ja) | ニューラルネットワークプロセッサで使用される重みのプリフェッチ | |
JP2022037022A (ja) | ハードウェアにおけるカーネルストライドの実行 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180416 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180416 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190529 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190611 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20190910 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191111 |
|
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: 20191126 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191225 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6640243 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |