JP7469407B2 - ニューラルネットワーク計算ユニットにおける入力データのスパース性の活用 - Google Patents
ニューラルネットワーク計算ユニットにおける入力データのスパース性の活用 Download PDFInfo
- Publication number
- JP7469407B2 JP7469407B2 JP2022138360A JP2022138360A JP7469407B2 JP 7469407 B2 JP7469407 B2 JP 7469407B2 JP 2022138360 A JP2022138360 A JP 2022138360A JP 2022138360 A JP2022138360 A JP 2022138360A JP 7469407 B2 JP7469407 B2 JP 7469407B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- neural network
- inputs
- network layer
- activation
- 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 72
- 230000004913 activation Effects 0.000 claims description 263
- 238000012545 processing Methods 0.000 claims description 49
- 239000011159 matrix material Substances 0.000 claims description 48
- 238000000034 method Methods 0.000 claims description 42
- 238000004364 calculation method Methods 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 9
- 238000001994 activation Methods 0.000 description 254
- 230000004044 response Effects 0.000 description 11
- 238000013507 mapping Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000003405 preventing effect Effects 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 244000141359 Malus pumila Species 0.000 description 1
- 240000008790 Musa x paradisiaca Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 235000021016 apples Nutrition 0.000 description 1
- 235000021015 bananas Nutrition 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 239000003086 colorant Substances 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
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012546 transfer 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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
-
- 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/15—Correlation function computation including computation of convolution operations
- G06F17/153—Multidimensional correlation or convolution
-
- 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
- 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
- G06F9/3001—Arithmetic instructions
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- 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/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/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
-
- 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
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Computer Hardware Design (AREA)
- Neurology (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
- Storage Device Security (AREA)
Description
この明細書は、特殊用途の計算ユニットを用いて機械学習計算を実行することに関する。
畳み込み計算を実行する一方法は、大次元空間における多数の行列乗算を必要とする。計算ユニットのプロセッサまたはコントローラデバイスはブルートフォース(brute force)法によって行列乗算を計算することができる。たとえば、計算集約的であるとともに
時間集約的であるが、プロセッサは、畳み込み計算のために個々の和および積を繰返し計算することができる。プロセッサが計算を並列化する度合は、そのアーキテクチャのせいで制限されている。
れたメモリアドレス位置から提供される。
デバイスが、少なくとも部分的に、当該コンピューティングデバイス外にあるソースから提供される複数の入力アクティベーションを受信する動作と、当該コントローラが、当該複数の入力アクティベーションの各々がゼロ値または非ゼロ値のうちのいずれであるかを判断する動作とを含む。当該以下の動作はさらに、当該コンピューティングデバイスのメモリバンクに当該入力アクティベーションのうち少なくとも1つを格納する動作を含む。当該少なくとも1つの入力アクティベーションを格納する動作は、非ゼロ値である入力アクティベーション値を有する1つ以上のメモリアドレス位置を含むインデックスを生成する動作を含む。当該以下の動作はさらに、当該コントローラが、当該メモリバンクから、少なくとも1つの入力アクティベーションを、計算アレイのうちの1つ以上のユニットによってアクセス可能なデータバスに対して提供する動作を含む。当該アクティベーションは、少なくとも部分的に、当該インデックスに関連付けられたメモリアドレス位置から提供される。
詳細な説明
この明細書中に記載される主題は、例示的なニューラルネットワーク・ハードウェアコンピューティングシステムの計算ユニットまたはタイル内において行なわれる計算を減らすことに関する。概して、ニューラルネットワーク推論を計算する一環として、入力アクティベーションにパラメータまたは重み値を乗じて、出力アクティベーションを生成する。ここでは、入力および入力アクティベーションは、ニューラルネットワークにおいて一般に用いられるテンソル、マトリックスおよび/またはデータアレイなどの多次元データ構造に含まれるデータ要素を指し得る。ディープニューラルネットワークのための計算推論のアルゴリズム特性のために、入力アクティベーションの大部分はゼロである。言いかえれば、現在の計算ユニットは、ゼロ(入力アクティベーション値)に対して1つの数(たとえば重み)を乗じることを含む多数の不必要な計算を実行する。
と同様に、各々の畳み込み層は、マトリックス構造として表わすことができる1セットのアクティベーション入力を処理することができる。畳み込みニューラルネットワーク層はまた、値を含む関連するカーネルのセットを有することとなり、カーネルも、重みのマトリックス構造として表わすことができる。図1において、アクティベーション構造102は、1つ以上のアクティベーション入力を有するマトリックス構造に対応し得るとともに、パラメータ構造104は、1つ以上のカーネルまたは重みパラメータを有するマトリックス構造に対応し得る。
他のいくつかの実現例においては、メモリバンク108およびメモリバンク110は各々、1つの不揮発性メモリユニットまたは複数の不揮発性メモリユニットである。メモリバンク108および110はまた、コンピュータ読取り可能記憶媒体の別の形態、たとえば、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイスなど、フラッシュメモリもしく他の同様のソリッドステートメモリデバイス、または、ストレージエリアネットワークもしくは他の構成におけるデバイスを含むデバイスのアレイであり得る。
特許出願第15/335,769号に記載されている。米国特許出願第15/335,769号の開示全体は、引用によりその全体がこの明細書中に援用されている。
クセスされるとともに、第2のパラメータ構造104(2)は、空間208に関連付けられた計算を実行するためにアクセスされる。図示されていないが、付加的な計算もz次元に対応して実行することができる。一例として、要素行202aはRGB画像のR面にあり得るとともに、要素行202bは同じRGB画像のG面にあり得る。ニューラルネットワークの例示的な畳み込み層は、典型的には、複数の出力特徴を生成する。例示的な出力特徴は、りんごを分類するための出力特徴とバナナを分類するための別の出力特徴とを含み得る。データ構造204に関して、空間206および208は、さまざまな分類のためのさまざまな面を表わし得る。
、グラフィック処理装置(graphics processing unit:GPU)、特定用途向け集積回路(application specific integrated circuit:ASIC)、またはさまざまなプロセッ
サの組合せを含み得る。代替的な実施形態においては、コントローラ302は、この明細書中に記載される判断および計算のうち1つ以上を実行するための付加的な処理オプションを提供する他のストレージまたはコンピューティングリソース/デバイス(たとえば、バッファ、レジスタ、制御回路など)を含み得る。
受信されたデータ値を用いて第2のメモリバンク110に予めロードすることができる。これらデータ値は、ニューラルネットワーク・ハードウェアコンピューティングシステムに関連付けられた外部の制御デバイスまたはより上位の制御デバイスから計算システム300に到達するものである。
ローラ302によってアクセスされる可能性があるがアクセスされない可能性もあるメモリアドレス位置に書込むことができるか、または廃棄することができる。これにより、ビットマップ303はゼロアクティベーション値を圧縮するための基準として用いることができる。この場合、ゼロ値入力アクティベーションがメモリアドレス位置に書込まれていなければ圧縮が行なわれ、これにより、全体的なメモリ使用を減らして、他のデータ値を格納するためのアドレス位置を解放する。
タ構造として上述された)各要素またはMACセル304は、ニューラルネットワーク層のさまざまな出力深度に関与し得る。概して、コントローラ302がゼロアクティベーション値を検出するたびに、コントローラ302は、1)メモリバンク108にそのアクティベーション値を格納しないこと、2)アクティベーション値を提供しないこと、または、3)当該値を提供して、そのゼロアクティベーション値に対応する乗算演算を特定の計算ユニットに実行させないようにするための制御信号をこの特定の計算ユニットに提供すること、を実行し得る。
(メモリ110からの)2つのパラメータとの(メモリバンク108からの)2つのアクティベーション値の乗算を計算することができるとともに、2つの乗数の結果と現在の部分和との加算を実行することができる、2つのMAC演算子を備えたセルを指している。
MAC演算子に入力アクティベーションを提供する通信バスである。いくつかの実現例においては、同じ入力がすべてのMAC演算子間で共有される。入力バス306の幅は、入力アクティベーションを所与のMACアレイ304のための対応する数のセルに供給するのに十分に広くなければならない。入力バス306の構造を例示するために以下の例を検討する。線形ユニットにおけるセルの数が4に等しく、アクティベーション幅が8ビットに等しい場合、入力バス306は、サイクルごとに最大で4つまでの入力アクティベーションを提供するように構成することができる。この例においては、MACアレイ304におけるすべてのセルが、提供される4つのアクティベーションのうちの1つにアクセスするだけとなるだろう。
。計算アレイのユニットは、行列乗算に関する計算を実行するために1つ以上の非ゼロアクティベーション値をデータバス306から受信する。いくつかの実現例においては、計算システム300は、単に、インデックス付きアドレスに対応するメモリアドレスから入力アクティベーションを提供するだけであるだろう。計算システム300がこの通信スキームを用いる場合、ゼロ乗算を排除することよって計算効率を向上させることができる。
該1つ以上の大容量記憶装置からデータを受信するもしくは当該1つ以上の大容量記憶装置にデータを転送するように、もしくは受信も転送も行なうように動作可能に結合されるであろう。しかし、コンピュータは、このようなデバイスを有する必要はない。
例1:コンピュータにより実現される方法であって、コンピューティングデバイスが、少なくとも部分的に、当該コンピューティングデバイス外にあるソースから提供される複数の入力アクティベーションを受信するステップと、当該コンピューティングデバイスのコントローラが、当該複数の入力アクティベーションの各々がゼロ値または非ゼロ値のうちのいずれを有するかを判断するステップと、当該コンピューティングデバイスのメモリバンクに当該入力アクティベーションのうち少なくとも1つを格納するステップと、当該コントローラが、非ゼロ値である入力アクティベーション値を有する1つ以上のメモリアドレス位置を含むインデックスを生成するステップと、当該コントローラが、当該メモリバンクから、少なくとも1つの入力アクティベーションを、計算アレイのうちの1つ以上のユニットによってアクセス可能なデータバスに対して提供するステップとを含む。当該アクティベーションは、少なくとも部分的に、当該インデックスに関連付けられたメモリアドレス位置から提供される。
ション値またはゼロ入力アクティベーション値のうち少なくとも1つを示す。
ションが当該インデックスに関連付けられていないメモリアドレス位置から提供されると当該コントローラが判断することに応じて、行なわれる。
Claims (17)
- 複数のニューラルネットワーク層を含むニューラルネットワークを実現するように構成されたハードウェア回路であって、
コントローラを備え、前記コントローラは、
第1のニューラルネットワーク層を介する処理のために入力のバッチを受信し、
前記入力のバッチ内の各入力のそれぞれの値に基づいて入力の圧縮された表現を生成するように構成され、前記入力の圧縮された表現は前記入力のバッチよりも少ない数の入力を含み、前記入力の圧縮された表現内の各入力は非ゼロ値を有し、前記ハードウェア回路はさらに、
前記入力の圧縮された表現内の各入力を格納するように構成されたメモリ位置を識別するアドレスを格納するように構成されたアドレスレジスタと、
積和演算セルとを備え、前記積和演算セルは、
前記アドレスレジスタ内のアドレスによって識別されるメモリ位置から前記入力の圧縮された表現内の入力を受信し、
前記第1のニューラルネットワーク層を介して前記入力を処理するように構成され、前記処理することは、前記入力と前記ニューラルネットワーク層についての対応する重み値との間で乗算を実行して前記ニューラルネットワーク層についての出力を生成することを含む、ハードウェア回路。 - 前記入力のバッチ内の各入力および前記入力の圧縮された表現内の各入力を格納するように構成されたアクティベーションメモリと、
前記複数のニューラルネットワーク層の各々についての複数の重み値を格納するように構成されたパラメータメモリとを含む、請求項1に記載のハードウェア回路。 - 前記コントローラは、
前記入力の圧縮された表現内の各入力を前記ハードウェア回路の前記アクティベーションメモリの対応するメモリ位置に格納するために制御信号を生成するように構成され、前記アクティベーションメモリの各メモリ位置は、前記アドレスレジスタに格納されている対応するアドレスによって識別される、請求項2に記載のハードウェア回路。 - 複数の積和演算セルを含む計算ユニットを含み、前記計算ユニットは、
前記入力の圧縮された表現についての第1の入力行列を受信するように構成され、前記第1の入力行列は非ゼロ値を有する入力を含み、前記計算ユニットはさらに、
前記第1のニューラルネットワーク層についての重み行列の重み値の1セットを受信し、
前記複数の積和演算セルを用いて前記第1のニューラルネットワーク層を介して前記第1の入力行列の前記入力を処理するように構成され、前記処理することは、前記第1の入力行列内の各入力と前記重み値のセット内の重み値との間で行列乗算を実行して、計算の第1の量に基づいて前記ニューラルネットワーク層についての複数の出力を生成することを含む、請求項2または3に記載のハードウェア回路。 - 前記計算ユニットは、
前記入力のバッチについての第2の入力行列を受信するように構成され、前記第2の入力行列はゼロ値を有する入力と非ゼロ値を有する入力とを含み、前記計算ユニットはさらに、
前記複数の積和演算セルを用いて、計算の第2の量に基づいて前記第1のニューラルネットワーク層を介して前記第2の入力行列の前記入力を処理するように構成される、請求項4に記載のハードウェア回路。 - 前記第1のニューラルネットワーク層を介して前記第1の入力行列の前記入力を処理するための前記計算の第1の量は、前記第1のニューラルネットワーク層を介して前記第2の入力行列の前記入力を処理するための前記計算の第2の量よりも少ない、請求項5に記載のハードウェア回路。
- 前記コントローラは、
前記入力の圧縮された表現内の各入力を前記計算ユニットに配置された対応する積和演算セルに連続的に提供するために制御信号を生成して、前記第1のニューラルネットワーク層を介して前記入力の圧縮された表現内の各入力を処理するように構成される、請求項5または6に記載のハードウェア回路。 - 複数のニューラルネットワーク層を含むニューラルネットワークを実現するように構成されたハードウェア回路を用いて計算を実行するための方法であって、
前記ハードウェア回路のコントローラによって、第1のニューラルネットワーク層を介して処理するための入力のバッチを受信するステップと、
前記コントローラによって、前記入力のバッチ内の各入力のそれぞれの値に基づいて入力の圧縮された表現を生成するステップとを含み、前記入力の圧縮された表現は前記入力のバッチよりも少ない数の入力を含み、前記入力の圧縮された表現内の各入力は非ゼロ値を有し、前記方法はさらに、
前記ハードウェア回路のアドレスレジスタを用いて、前記入力の圧縮された表現内の各入力を格納するように構成されたメモリ位置を識別する1つ以上のアドレスを格納するステップと、
前記ハードウェア回路の計算ユニットによって、前記アドレスレジスタ内のアドレスによって識別されるメモリ位置から前記入力の圧縮された表現内の入力を受信するステップと、
前記計算ユニットの積和演算セルを用いて、前記第1のニューラルネットワーク層を介して前記入力を処理するステップとを含み、前記処理するステップは、前記入力と前記ニューラルネットワーク層についての対応する重み値との間で乗算を実行して、前記ニューラルネットワーク層についての出力を生成するステップを含む、方法。 - 前記ハードウェア回路のアクティベーションメモリによって、前記入力のバッチ内の各入力および前記入力の圧縮された表現内の各入力を格納するステップと、
前記ハードウェア回路のパラメータメモリによって、前記複数のニューラルネットワーク層の各々についての複数の重み値を格納するステップとを含む、請求項8に記載の方法。 - 前記コントローラによって、前記入力の圧縮された表現内の各入力を前記ハードウェア回路の前記アクティベーションメモリの対応するメモリ位置に格納するために制御信号を生成するステップを含み、前記アクティベーションメモリの各メモリ位置は、前記アドレスレジスタに格納されている対応するアドレスによって識別される、請求項9に記載の方法。
- 前記計算ユニットによって、前記アクティベーションメモリから、前記入力の圧縮された表現についての第1の入力行列を受信するステップを含み、前記第1の入力行列は非ゼロ値を有する入力を含み、さらに、
前記計算ユニットによって、前記パラメータメモリから、前記第1のニューラルネットワーク層についての重み行列の重み値のセットを受信するステップと、
前記計算ユニットによって、前記計算ユニットに配置された複数の積和演算セルを用いて前記第1のニューラルネットワーク層を介して前記第1の入力行列の前記入力を処理するステップとを含み、前記処理するステップは、前記第1の入力行列内の各入力と前記重み値のセット内の重み値との間で行列乗算を実行して、計算の第1の量に基づいて前記ニューラルネットワーク層についての複数の出力を生成するステップを含む、請求項9または10に記載の方法。 - 前記計算ユニットによって、前記入力のバッチについての第2の入力行列を受信するステップを含み、前記第2の入力行列は、ゼロ値を有する入力および非ゼロ値を有する入力を含み、さらに、
前記複数の積和演算セルを用いて、計算の第2の量に基づいて前記第1のニューラルネットワーク層を介して前記第2の入力行列の前記入力を処理するステップを含む、請求項11に記載の方法。 - 前記第1のニューラルネットワーク層を介して前記第1の入力行列の前記入力を処理するための前記計算の第1の量は、前記第1のニューラルネットワーク層を介して前記第2の入力行列の前記入力を処理するための前記計算の第2の量よりも少ない、請求項12に記載の方法。
- 前記コントローラによって、前記入力の圧縮された表現内の各入力を前記計算ユニットに配置された対応する積和演算セルに連続的に提供するために制御信号を生成して、前記第1のニューラルネットワーク層を介して前記入力の圧縮された表現内の各入力を処理するステップを含む、請求項12または13に記載の方法。
- 複数のニューラルネットワーク層を有するニューラルネットワークについての計算を実行するための命令を含む1つ以上のコンピュータプログラムであって、前記命令は、複数の動作を実行させるように1つ以上の処理デバイスによって実行可能であり、前記複数の動作は、
前記1つ以上の処理デバイスのコントローラによって、第1のニューラルネットワーク層を介して処理するための入力のバッチを受信することと、
前記コントローラによって、前記入力のバッチ内の各入力のそれぞれの値に基づいて入力の圧縮された表現を生成することとを含み、前記入力の圧縮された表現は前記入力のバッチよりも少ない数の入力を含み、前記入力の圧縮された表現内の各入力は非ゼロ値を有し、前記複数の動作はさらに、
前記1つ以上の処理デバイスのアドレスレジスタを用いて、前記入力の圧縮された表現内の各入力を格納するように構成されたメモリ位置を識別する1つ以上のアドレスを格納することと、
前記1つ以上の処理デバイスの計算ユニットによって、前記アドレスレジスタ内のアドレスによって識別されるメモリ位置から前記入力の圧縮された表現内の入力を受信することと、
前記計算ユニットの積和演算セルを用いて、前記第1のニューラルネットワーク層を介して前記入力を処理することとを含み、前記処理することは、前記入力と前記ニューラルネットワーク層についての対応する重み値との間で乗算を実行して前記ニューラルネットワーク層についての出力を生成することを含む、コンピュータプログラム。 - 前記複数の動作は、
前記1つ以上の処理デバイスのアクティベーションメモリによって、前記入力のバッチ内の各入力および前記入力の圧縮された表現内の各入力を格納することと、
前記1つ以上の処理デバイスのパラメータメモリによって、前記複数のニューラルネットワーク層の各々についての複数の重み値を格納することとを含む、請求項15に記載のコンピュータプログラム。 - 前記複数の動作は、
前記計算ユニットによって、前記アクティベーションメモリから、前記入力の圧縮された表現についての第1の入力行列を受信することを含み、前記第1の入力行列は非ゼロ値を有する入力を含み、前記複数の動作はさらに、
前記計算ユニットによって、前記パラメータメモリから、前記第1のニューラルネットワーク層についての重み行列の重み値のセットを受信することと、
前記計算ユニットによって、前記計算ユニットに配置された複数の積和演算セルを用いて前記第1のニューラルネットワーク層を介して前記第1の入力行列の前記入力を処理することとを含み、前記第1の入力行列の前記入力を処理することは、前記第1の入力行列内の各入力と前記重み値のセット内の重み値との間で行列乗算を実行して、計算の第1の量に基づいて前記ニューラルネットワーク層についての複数の出力を生成することを含む、請求項16に記載のコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2024060830A JP2024096786A (ja) | 2016-10-27 | 2024-04-04 | ニューラルネットワーク計算ユニットにおける入力データのスパース性の活用 |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/336,066 US10360163B2 (en) | 2016-10-27 | 2016-10-27 | Exploiting input data sparsity in neural network compute units |
US15/336,066 | 2016-10-27 | ||
US15/465,774 US9818059B1 (en) | 2016-10-27 | 2017-03-22 | Exploiting input data sparsity in neural network compute units |
US15/465,774 | 2017-03-22 | ||
JP2019523062A JP7134955B2 (ja) | 2016-10-27 | 2017-08-22 | ニューラルネットワーク計算ユニットにおける入力データのスパース性の活用 |
PCT/US2017/047992 WO2018080624A1 (en) | 2016-10-27 | 2017-08-22 | Exploiting input data sparsity in neural network compute units |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019523062A Division JP7134955B2 (ja) | 2016-10-27 | 2017-08-22 | ニューラルネットワーク計算ユニットにおける入力データのスパース性の活用 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2024060830A Division JP2024096786A (ja) | 2016-10-27 | 2024-04-04 | ニューラルネットワーク計算ユニットにおける入力データのスパース性の活用 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022172258A JP2022172258A (ja) | 2022-11-15 |
JP7469407B2 true JP7469407B2 (ja) | 2024-04-16 |
Family
ID=60256363
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019523062A Active JP7134955B2 (ja) | 2016-10-27 | 2017-08-22 | ニューラルネットワーク計算ユニットにおける入力データのスパース性の活用 |
JP2022138360A Active JP7469407B2 (ja) | 2016-10-27 | 2022-08-31 | ニューラルネットワーク計算ユニットにおける入力データのスパース性の活用 |
JP2024060830A Pending JP2024096786A (ja) | 2016-10-27 | 2024-04-04 | ニューラルネットワーク計算ユニットにおける入力データのスパース性の活用 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019523062A Active JP7134955B2 (ja) | 2016-10-27 | 2017-08-22 | ニューラルネットワーク計算ユニットにおける入力データのスパース性の活用 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2024060830A Pending JP2024096786A (ja) | 2016-10-27 | 2024-04-04 | ニューラルネットワーク計算ユニットにおける入力データのスパース性の活用 |
Country Status (9)
Country | Link |
---|---|
US (5) | US10360163B2 (ja) |
EP (2) | EP3533003B1 (ja) |
JP (3) | JP7134955B2 (ja) |
KR (4) | KR102679563B1 (ja) |
CN (2) | CN108009626B (ja) |
DE (2) | DE202017105363U1 (ja) |
HK (1) | HK1254700A1 (ja) |
SG (1) | SG11201903787YA (ja) |
WO (1) | WO2018080624A1 (ja) |
Families Citing this family (82)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10360163B2 (en) | 2016-10-27 | 2019-07-23 | Google Llc | Exploiting input data sparsity in neural network compute units |
US10175980B2 (en) | 2016-10-27 | 2019-01-08 | Google Llc | Neural network compute tile |
US9959498B1 (en) | 2016-10-27 | 2018-05-01 | Google Llc | Neural network instruction set architecture |
US10685285B2 (en) * | 2016-11-23 | 2020-06-16 | Microsoft Technology Licensing, Llc | Mirror deep neural networks that regularize to linear networks |
CN108205700B (zh) * | 2016-12-20 | 2021-07-30 | 上海寒武纪信息科技有限公司 | 神经网络运算装置和方法 |
US11328037B2 (en) * | 2017-07-07 | 2022-05-10 | Intel Corporation | Memory-size- and bandwidth-efficient method for feeding systolic array matrix multipliers |
TWI680409B (zh) * | 2017-07-08 | 2019-12-21 | 英屬開曼群島商意騰科技股份有限公司 | 適用於人工神經網路之矩陣及向量相乘的方法 |
US10879904B1 (en) | 2017-07-21 | 2020-12-29 | X Development Llc | Application specific integrated circuit accelerators |
US10790828B1 (en) | 2017-07-21 | 2020-09-29 | X Development Llc | Application specific integrated circuit accelerators |
US10725740B2 (en) * | 2017-08-31 | 2020-07-28 | Qualcomm Incorporated | Providing efficient multiplication of sparse matrices in matrix-processor-based devices |
US10902318B2 (en) | 2017-11-06 | 2021-01-26 | Neuralmagic Inc. | Methods and systems for improved transforms in convolutional neural networks |
CN110059811B (zh) | 2017-11-06 | 2024-08-02 | 畅想科技有限公司 | 权重缓冲器 |
US11715287B2 (en) | 2017-11-18 | 2023-08-01 | Neuralmagic Inc. | Systems and methods for exchange of data in distributed training of machine learning algorithms |
US10936942B2 (en) | 2017-11-21 | 2021-03-02 | Google Llc | Apparatus and mechanism for processing neural network tasks using a single chip package with multiple identical dies |
US10553207B2 (en) * | 2017-12-29 | 2020-02-04 | Facebook, Inc. | Systems and methods for employing predication in computational models |
EP3750113A1 (en) * | 2018-02-09 | 2020-12-16 | DeepMind Technologies Limited | Contiguous sparsity pattern neural networks |
JP7349438B2 (ja) * | 2018-02-16 | 2023-09-22 | 三星電子株式会社 | ニューラル・ネットワーク・アクセラレータ |
US10572568B2 (en) | 2018-03-28 | 2020-02-25 | Intel Corporation | Accelerator for sparse-dense matrix multiplication |
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 |
US10832133B2 (en) | 2018-05-31 | 2020-11-10 | Neuralmagic Inc. | System and method of executing neural networks |
WO2021054990A1 (en) * | 2019-09-16 | 2021-03-25 | Neuralmagic Inc. | Systems and methods for generation of sparse code for convolutional neural networks |
US11216732B2 (en) | 2018-05-31 | 2022-01-04 | Neuralmagic Inc. | Systems and methods for generation of sparse code for convolutional neural networks |
US10599429B2 (en) * | 2018-06-08 | 2020-03-24 | Intel Corporation | Variable format, variable sparsity matrix multiplication instruction |
CN112437930A (zh) * | 2018-07-12 | 2021-03-02 | 华为技术有限公司 | 以熟练的推理速度和功耗,生成神经网络的压缩表示 |
US20200019836A1 (en) * | 2018-07-12 | 2020-01-16 | International Business Machines Corporation | Hierarchical parallelism in a network of distributed neural network cores |
CN110796244B (zh) * | 2018-08-01 | 2022-11-08 | 上海天数智芯半导体有限公司 | 用于人工智能设备的核心计算单元处理器及加速处理方法 |
CN109344964B (zh) * | 2018-08-08 | 2020-12-29 | 东南大学 | 一种适用于神经网络的乘加计算方法和计算电路 |
CN110826707B (zh) * | 2018-08-10 | 2023-10-31 | 北京百度网讯科技有限公司 | 应用于卷积神经网络的加速方法和硬件加速器 |
US20200065659A1 (en) * | 2018-08-24 | 2020-02-27 | Samsung Electronics Co., Ltd. | Method of accelerating training process of neural network and neural network device thereof |
JP6985997B2 (ja) * | 2018-08-27 | 2021-12-22 | 株式会社日立製作所 | 機械学習システムおよびボルツマンマシンの計算方法 |
US10846588B2 (en) * | 2018-09-27 | 2020-11-24 | Deepmind Technologies Limited | Scalable and compressive neural network data storage system |
US11586417B2 (en) * | 2018-09-28 | 2023-02-21 | Qualcomm Incorporated | Exploiting activation sparsity in deep neural networks |
WO2020072274A1 (en) | 2018-10-01 | 2020-04-09 | Neuralmagic Inc. | Systems and methods for neural network pruning with accuracy preservation |
CN111026440B (zh) * | 2018-10-09 | 2022-03-29 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
JP7115211B2 (ja) * | 2018-10-18 | 2022-08-09 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
CN111126081B (zh) * | 2018-10-31 | 2023-07-21 | 深圳永德利科技股份有限公司 | 全球通用语言终端及方法 |
US10768895B2 (en) * | 2018-11-08 | 2020-09-08 | Movidius Limited | Dot product calculators and methods of operating the same |
KR20200057814A (ko) * | 2018-11-13 | 2020-05-27 | 삼성전자주식회사 | 뉴럴 네트워크를 이용한 데이터 처리 방법 및 이를 지원하는 전자 장치 |
US11361050B2 (en) | 2018-11-20 | 2022-06-14 | Hewlett Packard Enterprise Development Lp | Assigning dependent matrix-vector multiplication operations to consecutive crossbars of a dot product engine |
US10769527B2 (en) | 2018-12-11 | 2020-09-08 | Mipsology SAS | Accelerating artificial neural network computations by skipping input values |
EP3895071A1 (en) * | 2018-12-11 | 2021-10-20 | Mipsology SAS | Accelerating artificial neural network computations by skipping input values |
JP7189000B2 (ja) * | 2018-12-12 | 2022-12-13 | 日立Astemo株式会社 | 情報処理装置、車載制御装置、車両制御システム |
US11551069B2 (en) * | 2018-12-31 | 2023-01-10 | SK Hynix Inc. | Processing system |
US11544559B2 (en) | 2019-01-08 | 2023-01-03 | Neuralmagic Inc. | System and method for executing convolution in a neural network |
US11604958B2 (en) | 2019-03-13 | 2023-03-14 | Samsung Electronics Co., Ltd. | Method and apparatus for processing computation of zero value in processing of layers in neural network |
AU2020241262A1 (en) * | 2019-03-15 | 2021-11-04 | Intel Corporation | Sparse optimizations for a matrix accelerator architecture |
KR20200111939A (ko) * | 2019-03-20 | 2020-10-05 | 에스케이하이닉스 주식회사 | 신경망 가속 장치 및 그것의 동작 방법 |
US20210026686A1 (en) * | 2019-07-22 | 2021-01-28 | Advanced Micro Devices, Inc. | Chiplet-integrated machine learning accelerators |
WO2021026225A1 (en) | 2019-08-08 | 2021-02-11 | Neuralmagic Inc. | System and method of accelerating execution of a neural network |
US12061971B2 (en) | 2019-08-12 | 2024-08-13 | Micron Technology, Inc. | Predictive maintenance of automotive engines |
US11635893B2 (en) * | 2019-08-12 | 2023-04-25 | Micron Technology, Inc. | Communications between processors and storage devices in automotive predictive maintenance implemented via artificial neural networks |
KR20210024865A (ko) | 2019-08-26 | 2021-03-08 | 삼성전자주식회사 | 데이터를 처리하는 방법 및 장치 |
KR20210045225A (ko) * | 2019-10-16 | 2021-04-26 | 삼성전자주식회사 | 뉴럴 네트워크에서 연산을 수행하는 방법 및 장치 |
JP7462140B2 (ja) * | 2019-10-29 | 2024-04-05 | 国立大学法人 熊本大学 | ニューラルネットワーク回路及びニューラルネットワーク演算方法 |
US11244198B2 (en) | 2019-11-21 | 2022-02-08 | International Business Machines Corporation | Input partitioning for deep learning of large image data |
FR3105659B1 (fr) * | 2019-12-18 | 2022-06-24 | Commissariat Energie Atomique | Procédé et dispositif de codage binaire de signaux pour implémenter des opérations MAC numériques à précision dynamique |
KR102268817B1 (ko) * | 2019-12-19 | 2021-06-24 | 국민대학교산학협력단 | 분산 클라우드 환경에서의 기계 학습 성능 평가 방법 및 장치 |
KR20210086233A (ko) * | 2019-12-31 | 2021-07-08 | 삼성전자주식회사 | 완화된 프루닝을 통한 행렬 데이터 처리 방법 및 그 장치 |
TWI727641B (zh) * | 2020-02-03 | 2021-05-11 | 華邦電子股份有限公司 | 記憶體裝置及其操作方法 |
US11586601B2 (en) * | 2020-02-05 | 2023-02-21 | Alibaba Group Holding Limited | Apparatus and method for representation of a sparse matrix in a neural network |
US11604975B2 (en) | 2020-04-09 | 2023-03-14 | Apple Inc. | Ternary mode of planar engine for neural processor |
CN111445013B (zh) * | 2020-04-28 | 2023-04-25 | 南京大学 | 一种针对卷积神经网络的非零探测器及其方法 |
KR102418794B1 (ko) * | 2020-06-02 | 2022-07-08 | 오픈엣지테크놀로지 주식회사 | 하드웨어 가속기를 위한 파라미터를 메모리로부터 액세스하는 방법 및 이를 이용한 장치 |
CN113835675A (zh) * | 2020-06-23 | 2021-12-24 | 深圳市中兴微电子技术有限公司 | 数据处理装置及数据处理方法 |
KR20220010362A (ko) | 2020-07-17 | 2022-01-25 | 삼성전자주식회사 | 뉴럴 네트워크 장치 및 그의 동작 방법 |
JPWO2022014500A1 (ja) * | 2020-07-17 | 2022-01-20 | ||
CA3186225A1 (en) * | 2020-07-21 | 2022-01-27 | Mostafa MAHMOUD | System and method for using sparsity to accelerate deep learning networks |
US11928176B2 (en) * | 2020-07-30 | 2024-03-12 | Arm Limited | Time domain unrolling sparse matrix multiplication system and method |
US20220075669A1 (en) * | 2020-09-08 | 2022-03-10 | Technion Research And Development Foundation Ltd. | Non-Blocking Simultaneous MultiThreading (NB-SMT) |
DE112021005190T5 (de) | 2020-09-30 | 2023-09-14 | Sony Semiconductor Solutions Corporation | Signalverarbeitungsvorrichtung, bildaufnahmevorrichtung und signalverarbeitungsverfahren |
KR20220049325A (ko) * | 2020-10-14 | 2022-04-21 | 삼성전자주식회사 | 가속기 및 이를 포함한 전자 장치 |
US11861327B2 (en) * | 2020-11-11 | 2024-01-02 | Samsung Electronics Co., Ltd. | Processor for fine-grain sparse integer and floating-point operations |
US11861328B2 (en) * | 2020-11-11 | 2024-01-02 | Samsung Electronics Co., Ltd. | Processor for fine-grain sparse integer and floating-point operations |
US11556757B1 (en) | 2020-12-10 | 2023-01-17 | Neuralmagic Ltd. | System and method of executing deep tensor columns in neural networks |
KR102541461B1 (ko) | 2021-01-11 | 2023-06-12 | 한국과학기술원 | 저전력 고성능 인공 신경망 학습 가속기 및 가속 방법 |
US20220222386A1 (en) * | 2021-01-13 | 2022-07-14 | University Of Florida Research Foundation, Inc. | Decommissioning and erasing entropy in microelectronic systems |
US11853717B2 (en) * | 2021-01-14 | 2023-12-26 | Microsoft Technology Licensing, Llc | Accelerating processing based on sparsity for neural network hardware processors |
US11940907B2 (en) * | 2021-06-25 | 2024-03-26 | Intel Corporation | Methods and apparatus for sparse tensor storage for neural network accelerators |
US11669489B2 (en) * | 2021-09-30 | 2023-06-06 | International Business Machines Corporation | Sparse systolic array design |
US11960982B1 (en) | 2021-10-21 | 2024-04-16 | Neuralmagic, Inc. | System and method of determining and executing deep tensor columns in neural networks |
CN116804973B (zh) * | 2022-03-18 | 2024-06-18 | 深圳鲲云信息科技有限公司 | 地址生成装置、方法、数据缓存器和人工智能芯片 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5501317B2 (ja) | 2011-09-21 | 2014-05-21 | 株式会社半導体理工学研究センター | 時間差増幅回路 |
Family Cites Families (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3754128A (en) | 1971-08-31 | 1973-08-21 | M Corinthios | High speed signal processor for vector transformation |
JPS4874139A (ja) * | 1971-12-29 | 1973-10-05 | ||
JPS5364439A (en) * | 1976-11-20 | 1978-06-08 | Agency Of Ind Science & Technol | Linear coversion system |
JPS58134357A (ja) | 1982-02-03 | 1983-08-10 | Hitachi Ltd | ベクトルプロセッサ |
EP0156648B1 (en) | 1984-03-29 | 1992-09-30 | Kabushiki Kaisha Toshiba | Convolution arithmetic circuit for digital signal processing |
US5267185A (en) | 1989-04-14 | 1993-11-30 | Sharp Kabushiki Kaisha | Apparatus for calculating matrices |
US5138695A (en) | 1989-10-10 | 1992-08-11 | Hnc, Inc. | Systolic array image processing system |
JPH03167664A (ja) | 1989-11-28 | 1991-07-19 | Nec Corp | マトリクス演算回路 |
WO1991019248A1 (en) | 1990-05-30 | 1991-12-12 | Adaptive Solutions, Inc. | Neural network using virtual-zero |
WO1991019267A1 (en) | 1990-06-06 | 1991-12-12 | Hughes Aircraft Company | Neural network processor |
US5287464A (en) | 1990-10-24 | 1994-02-15 | Zilog, Inc. | Semiconductor multi-device system with logic means for controlling the operational mode of a set of input/output data bus drivers |
JP3318753B2 (ja) | 1991-12-05 | 2002-08-26 | ソニー株式会社 | 積和演算装置および積和演算方法 |
AU658066B2 (en) * | 1992-09-10 | 1995-03-30 | Deere & Company | Neural network based control system |
JPH06139218A (ja) | 1992-10-30 | 1994-05-20 | Hitachi Ltd | ディジタル集積回路を用いて神経回路網を完全に並列にシミュレートするための方法及び装置 |
US6067536A (en) * | 1996-05-30 | 2000-05-23 | Matsushita Electric Industrial Co., Ltd. | Neural network for voice and pattern recognition |
US5742741A (en) | 1996-07-18 | 1998-04-21 | Industrial Technology Research Institute | Reconfigurable neural network |
US5905757A (en) | 1996-10-04 | 1999-05-18 | Motorola, Inc. | Filter co-processor |
US6243734B1 (en) | 1998-10-30 | 2001-06-05 | Intel Corporation | Computer product and method for sparse matrices |
JP2001117900A (ja) | 1999-10-19 | 2001-04-27 | Fuji Xerox Co Ltd | ニューラルネットワーク演算装置 |
US20020044695A1 (en) * | 2000-05-05 | 2002-04-18 | Bostrom Alistair K. | Method for wavelet-based compression of video images |
JP2003244190A (ja) | 2002-02-19 | 2003-08-29 | Matsushita Electric Ind Co Ltd | データフロー制御スイッチ用プロセッサ及びデータフロー制御スイッチ |
US7016529B2 (en) * | 2002-03-15 | 2006-03-21 | Microsoft Corporation | System and method facilitating pattern recognition |
US7493498B1 (en) * | 2002-03-27 | 2009-02-17 | Advanced Micro Devices, Inc. | Input/output permission bitmaps for compartmentalized security |
US7426501B2 (en) | 2003-07-18 | 2008-09-16 | Knowntech, Llc | Nanotechnology neural network methods and systems |
US7818729B1 (en) * | 2003-09-15 | 2010-10-19 | Thomas Plum | Automated safe secure techniques for eliminating undefined behavior in computer software |
CA2553452A1 (en) | 2004-01-13 | 2005-07-28 | New York University | Method, system, storage medium, and data structure for image recognition using multilinear independent component analysis |
GB2436377B (en) | 2006-03-23 | 2011-02-23 | Cambridge Display Tech Ltd | Data processing hardware |
CN101441441B (zh) * | 2007-11-21 | 2010-06-30 | 新乡市起重机厂有限公司 | 起重机智能防摇控制系统的设计方法 |
JP4513865B2 (ja) | 2008-01-25 | 2010-07-28 | セイコーエプソン株式会社 | 並列演算装置および並列演算方法 |
US9490848B2 (en) | 2008-05-21 | 2016-11-08 | Nxp B.V. | Data handling system comprising memory banks and data rearrangement |
US8321652B2 (en) * | 2008-08-01 | 2012-11-27 | Infineon Technologies Ag | Process and method for logical-to-physical address mapping using a volatile memory device in solid state disks |
EP2290563B1 (en) * | 2009-08-28 | 2017-12-13 | Accenture Global Services Limited | Accessing content in a network |
US8589600B2 (en) | 2009-12-14 | 2013-11-19 | Maxeler Technologies, Ltd. | Method of transferring data with offsets |
US8595467B2 (en) | 2009-12-29 | 2013-11-26 | International Business Machines Corporation | Floating point collect and operate |
US8676874B2 (en) | 2010-12-06 | 2014-03-18 | International Business Machines Corporation | Data structure for tiling and packetizing a sparse matrix |
US8457767B2 (en) * | 2010-12-31 | 2013-06-04 | Brad Radl | System and method for real-time industrial process modeling |
US8977629B2 (en) | 2011-05-24 | 2015-03-10 | Ebay Inc. | Image-based popularity prediction |
US8806171B2 (en) | 2011-05-24 | 2014-08-12 | Georgia Tech Research Corporation | Systems and methods providing wear leveling using dynamic randomization for non-volatile memory |
US8812414B2 (en) | 2011-05-31 | 2014-08-19 | International Business Machines Corporation | Low-power event-driven neural computing architecture in neural networks |
US8909576B2 (en) | 2011-09-16 | 2014-12-09 | International Business Machines Corporation | Neuromorphic event-driven neural computing architecture in a scalable neural network |
US9201828B2 (en) | 2012-10-23 | 2015-12-01 | Analog Devices, Inc. | Memory interconnect network architecture for vector processor |
US9606797B2 (en) | 2012-12-21 | 2017-03-28 | Intel Corporation | Compressing execution cycles for divergent execution in a single instruction multiple data (SIMD) processor |
WO2014105057A1 (en) | 2012-12-28 | 2014-07-03 | Intel Corporation | Instruction to reduce elements in a vector register with strided access pattern |
US9477628B2 (en) | 2013-09-28 | 2016-10-25 | Intel Corporation | Collective communications apparatus and method for parallel systems |
US9323525B2 (en) | 2014-02-26 | 2016-04-26 | Intel Corporation | Monitoring vector lane duty cycle for dynamic optimization |
CN106471526B (zh) * | 2014-08-29 | 2019-03-08 | 谷歌有限责任公司 | 用于处理图像的方法和系统 |
CN104463209B (zh) * | 2014-12-08 | 2017-05-24 | 福建坤华仪自动化仪器仪表有限公司 | 一种基于bp神经网络的pcb板上数字代码识别方法 |
US9666257B2 (en) | 2015-04-24 | 2017-05-30 | Intel Corporation | Bitcell state retention |
US10013652B2 (en) * | 2015-04-29 | 2018-07-03 | Nuance Communications, Inc. | Fast deep neural network feature transformation via optimized memory bandwidth utilization |
US10489703B2 (en) | 2015-05-20 | 2019-11-26 | Nec Corporation | Memory efficiency for convolutional neural networks operating on graphics processing units |
US10353860B2 (en) | 2015-10-08 | 2019-07-16 | Via Alliance Semiconductor Co., Ltd. | Neural network unit with neural processing units dynamically configurable to process multiple data sizes |
US9875104B2 (en) | 2016-02-03 | 2018-01-23 | Google Llc | Accessing data in multi-dimensional tensors |
US10552119B2 (en) | 2016-04-29 | 2020-02-04 | Intel Corporation | Dynamic management of numerical representation in a distributed matrix processor architecture |
CN106023065B (zh) * | 2016-05-13 | 2019-02-19 | 中国矿业大学 | 一种基于深度卷积神经网络的张量型高光谱图像光谱-空间降维方法 |
CN106127297B (zh) | 2016-06-02 | 2019-07-12 | 中国科学院自动化研究所 | 基于张量分解的深度卷积神经网络的加速与压缩方法 |
US9959498B1 (en) | 2016-10-27 | 2018-05-01 | Google Llc | Neural network instruction set architecture |
US10360163B2 (en) | 2016-10-27 | 2019-07-23 | Google Llc | Exploiting input data sparsity in neural network compute units |
US10175980B2 (en) | 2016-10-27 | 2019-01-08 | Google Llc | Neural network compute tile |
US10733505B2 (en) | 2016-11-10 | 2020-08-04 | Google Llc | Performing kernel striding in hardware |
US10037490B2 (en) | 2016-12-13 | 2018-07-31 | Google Llc | Performing average pooling in hardware |
CN106529511B (zh) | 2016-12-13 | 2019-12-10 | 北京旷视科技有限公司 | 图像结构化方法及装置 |
US20180189675A1 (en) | 2016-12-31 | 2018-07-05 | Intel Corporation | Hardware accelerator architecture and template for web-scale k-means clustering |
US11164071B2 (en) | 2017-04-18 | 2021-11-02 | Samsung Electronics Co., Ltd. | Method and apparatus for reducing computational complexity of convolutional neural networks |
US10572409B1 (en) | 2018-05-10 | 2020-02-25 | Xilinx, Inc. | Sparse matrix processing circuitry |
-
2016
- 2016-10-27 US US15/336,066 patent/US10360163B2/en active Active
-
2017
- 2017-03-22 US US15/465,774 patent/US9818059B1/en active Active
- 2017-08-22 KR KR1020237014253A patent/KR102679563B1/ko active IP Right Grant
- 2017-08-22 JP JP2019523062A patent/JP7134955B2/ja active Active
- 2017-08-22 EP EP17761665.3A patent/EP3533003B1/en active Active
- 2017-08-22 KR KR1020247021189A patent/KR20240105502A/ko active Search and Examination
- 2017-08-22 EP EP22153266.6A patent/EP4044071A1/en active Pending
- 2017-08-22 SG SG11201903787YA patent/SG11201903787YA/en unknown
- 2017-08-22 WO PCT/US2017/047992 patent/WO2018080624A1/en active Search and Examination
- 2017-08-22 KR KR1020227015590A patent/KR102528517B1/ko active Application Filing
- 2017-08-22 KR KR1020197012085A patent/KR102397415B1/ko active IP Right Grant
- 2017-09-06 DE DE202017105363.6U patent/DE202017105363U1/de active Active
- 2017-09-06 DE DE102017120452.0A patent/DE102017120452A1/de not_active Ceased
- 2017-09-29 CN CN201710908258.5A patent/CN108009626B/zh active Active
- 2017-09-29 CN CN202210121408.9A patent/CN114595803A/zh active Pending
-
2018
- 2018-10-25 HK HK18113685.3A patent/HK1254700A1/zh unknown
-
2019
- 2019-07-17 US US16/514,562 patent/US11106606B2/en active Active
-
2021
- 2021-08-24 US US17/410,071 patent/US11816045B2/en active Active
-
2022
- 2022-08-31 JP JP2022138360A patent/JP7469407B2/ja active Active
-
2023
- 2023-11-09 US US18/505,662 patent/US20240289285A1/en active Pending
-
2024
- 2024-04-04 JP JP2024060830A patent/JP2024096786A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5501317B2 (ja) | 2011-09-21 | 2014-05-21 | 株式会社半導体理工学研究センター | 時間差増幅回路 |
Non-Patent Citations (1)
Title |
---|
MOONS, Bert et al.,A 0.3-2.6 TOPS/W PRECISION-SCALABLE PROCESSOR FOR REAL-TIME LARGE-SCALE CONVNETS,Proceedings of 2016 IEEE SYMPOSIUM ON VLSI CIRCUITS (VLSI-CIRCUITS),IEEE,2016年06月15日,http://dx.doi.org/10.1109/VLSIC.2016.7573525 |
Also Published As
Publication number | Publication date |
---|---|
WO2018080624A1 (en) | 2018-05-03 |
US20220083480A1 (en) | 2022-03-17 |
EP4044071A1 (en) | 2022-08-17 |
US20200012608A1 (en) | 2020-01-09 |
US20180121377A1 (en) | 2018-05-03 |
CN114595803A (zh) | 2022-06-07 |
US20240289285A1 (en) | 2024-08-29 |
US9818059B1 (en) | 2017-11-14 |
KR20240105502A (ko) | 2024-07-05 |
EP3533003A1 (en) | 2019-09-04 |
DE202017105363U1 (de) | 2017-12-06 |
US10360163B2 (en) | 2019-07-23 |
CN108009626A (zh) | 2018-05-08 |
US11816045B2 (en) | 2023-11-14 |
KR102397415B1 (ko) | 2022-05-12 |
JP2022172258A (ja) | 2022-11-15 |
KR20220065898A (ko) | 2022-05-20 |
JP2020500365A (ja) | 2020-01-09 |
US11106606B2 (en) | 2021-08-31 |
CN108009626B (zh) | 2022-03-01 |
HK1254700A1 (zh) | 2019-07-26 |
DE102017120452A1 (de) | 2018-05-03 |
KR20190053262A (ko) | 2019-05-17 |
KR20230061577A (ko) | 2023-05-08 |
KR102528517B1 (ko) | 2023-05-04 |
KR102679563B1 (ko) | 2024-07-01 |
JP7134955B2 (ja) | 2022-09-12 |
JP2024096786A (ja) | 2024-07-17 |
EP3533003B1 (en) | 2022-01-26 |
SG11201903787YA (en) | 2019-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7469407B2 (ja) | ニューラルネットワーク計算ユニットにおける入力データのスパース性の活用 | |
Zhang et al. | BoostGCN: A framework for optimizing GCN inference on FPGA | |
US11507382B2 (en) | Systems and methods for virtually partitioning a machine perception and dense algorithm integrated circuit | |
US10817260B1 (en) | Reducing dynamic power consumption in arrays | |
EP3265907B1 (en) | Data processing using resistive memory arrays | |
KR20190118635A (ko) | 신경 네트워크 프로세싱을 스케줄링하기 | |
Ke et al. | Nnest: Early-stage design space exploration tool for neural network inference accelerators | |
US20190228307A1 (en) | Method and apparatus with data processing | |
Geng et al. | O3BNN: An out-of-order architecture for high-performance binarized neural network inference with fine-grained pruning | |
CN107967132A (zh) | 一种用于神经网络处理器的加法器和乘法器 | |
US20220012304A1 (en) | Fast matrix multiplication | |
US11842169B1 (en) | Systolic multiply delayed accumulate processor architecture | |
GB2556413A (en) | Exploiting input data sparsity in neural network compute units | |
CN112132254A (zh) | 利用微神经元网络计算中的输入激活数据稀疏 | |
CN110765413A (zh) | 矩阵求和结构及神经网络计算平台 | |
CN110989971B (zh) | 用于节能数据处理的系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220927 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220927 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230621 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230711 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20231010 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231211 |
|
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: 20240305 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240404 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7469407 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |