JP2020508532A - 加速化ディープラーニング - Google Patents
加速化ディープラーニング Download PDFInfo
- Publication number
- JP2020508532A JP2020508532A JP2019546879A JP2019546879A JP2020508532A JP 2020508532 A JP2020508532 A JP 2020508532A JP 2019546879 A JP2019546879 A JP 2019546879A JP 2019546879 A JP2019546879 A JP 2019546879A JP 2020508532 A JP2020508532 A JP 2020508532A
- Authority
- JP
- Japan
- Prior art keywords
- fabric
- neuron
- wavelet
- data
- training
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000013135 deep learning Methods 0.000 title abstract description 85
- 230000015654 memory Effects 0.000 claims abstract description 304
- 238000012545 processing Methods 0.000 claims abstract description 287
- 238000000034 method Methods 0.000 claims abstract description 265
- 238000012549 training Methods 0.000 claims abstract description 184
- 238000013528 artificial neural network Methods 0.000 claims abstract description 150
- 238000004364 calculation method Methods 0.000 claims abstract description 117
- 239000004744 fabric Substances 0.000 claims description 309
- 210000002569 neuron Anatomy 0.000 claims description 271
- 230000004913 activation Effects 0.000 claims description 229
- 238000001994 activation Methods 0.000 claims description 229
- 230000036961 partial effect Effects 0.000 claims description 132
- 238000003860 storage Methods 0.000 claims description 113
- 230000008569 process Effects 0.000 claims description 65
- 230000004044 response Effects 0.000 claims description 55
- 238000013507 mapping Methods 0.000 claims description 41
- 230000000977 initiatory effect Effects 0.000 claims description 15
- 238000009825 accumulation Methods 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 8
- 230000002829 reductive effect Effects 0.000 claims description 7
- 230000002250 progressing effect Effects 0.000 claims description 4
- 230000002441 reversible effect Effects 0.000 abstract description 95
- 230000006872 improvement Effects 0.000 abstract description 14
- 230000007786 learning performance Effects 0.000 abstract description 2
- 239000013598 vector Substances 0.000 description 200
- 238000004891 communication Methods 0.000 description 75
- 239000000872 buffer Substances 0.000 description 50
- 230000006870 function Effects 0.000 description 26
- 230000008878 coupling Effects 0.000 description 23
- 238000010168 coupling process Methods 0.000 description 23
- 238000005859 coupling reaction Methods 0.000 description 23
- 235000012431 wafers Nutrition 0.000 description 23
- 239000003086 colorant Substances 0.000 description 22
- 238000001152 differential interference contrast microscopy Methods 0.000 description 16
- 230000010354 integration Effects 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 8
- 238000007667 floating Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 6
- 230000001186 cumulative effect Effects 0.000 description 6
- 210000000225 synapse Anatomy 0.000 description 6
- 206010070597 Disorder of sex development Diseases 0.000 description 5
- 230000003139 buffering effect Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000013402 definitive screening design Methods 0.000 description 5
- 238000011162 downstream development Methods 0.000 description 5
- 230000008520 organization Effects 0.000 description 5
- 210000004027 cell Anatomy 0.000 description 4
- 238000007405 data analysis Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 235000019800 disodium phosphate Nutrition 0.000 description 4
- 238000007876 drug discovery Methods 0.000 description 4
- 230000007774 longterm Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000006855 networking Effects 0.000 description 4
- 238000012015 optical character recognition Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000006403 short-term memory Effects 0.000 description 4
- 230000017105 transposition Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000005111 flow chemistry technique Methods 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 241001522296 Erithacus rubecula Species 0.000 description 2
- 102100033045 G-protein coupled receptor 4 Human genes 0.000 description 2
- 101000871138 Homo sapiens G-protein coupled receptor 4 Proteins 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 235000013599 spices Nutrition 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000008867 communication pathway Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000009365 direct transmission Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000001976 improved effect Effects 0.000 description 1
- 230000009349 indirect transmission Effects 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000012536 packaging technology Methods 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000004557 technical material Substances 0.000 description 1
- 230000036962 time dependent 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/08—Learning methods
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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
-
- 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
-
- 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
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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
-
- 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
-
- 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)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Neurology (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
- Devices For Executing Special Programs (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Image Analysis (AREA)
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
Abstract
Description
本願のタイプにより許される限り、本願は、全て、本発明の作成時に本願と同一の所有者により所有される以下の出願をあらゆる目的のためにこの参照により組み込む:
2018年2月9日付で出願された第一発明者Sean LIE及び名称FABRIC VECTORS FOR DEEP LEARNING ACCELERATIONの米国仮特許出願第62/628,784号(整理番号CS−17−05)、
2018年2月9日付で出願された第一発明者Sean LIE及び名称DATA STRUCTURE DESCRIPTORS FOR DEEP LEARNING ACCELERATIONの米国仮特許出願第62/628,773号(整理番号CS−17−12)、
2017年11月1日付で出願された第一発明者Sean LIE及び名称NEURON SMEARING FOR ACCELERATED DEEP LEARNINGの米国仮特許出願第62/580,207号(整理番号CS−17−01)、
2017年8月8日付で出願された第一発明者Sean LIE及び名称DATAFLOW TRIGGERED TASKS FOR ACCELERATED DEEP LEARNINGの米国仮特許出願第62/542,645号(整理番号CS−17−02)、
2017年8月8日付で出願された第一発明者Sean LIE及び名称TASK SYNCHRONIZATION FOR ACCELERATED DEEP LEARNINGの米国仮特許出願第62/542,657号(整理番号CS−17−06)、
2017年6月19日付で出願された第一発明者Sean LIE及び名称WAVELET REPRESENTATION FOR ACCELERATED DEEP LEARNINGの米国仮特許出願第62/522,065号(整理番号CS−17−03)、
2017年6月19日付で出願された第一発明者Sean LIE及び名称CONTROL WAVELET FOR ACCELERATED DEEP LEARNINGの米国仮特許出願第62/522,081号(整理番号CS−17−04)、
2017年6月15日付で出願された第一発明者Michael Edwin JAMES及び名称INCREASED CONCURRENCY AND EFFICIENCY OF DEEP NETWORK TRAINING VIA CONTINUOUS PROPAGATIONの米国仮特許出願第62/520,433号(整理番号CS−17−13B)、
2017年6月11日付で出願された第一発明者Sean LIE及び名称ACCELERATED DEEP LEARNINGの米国仮特許出願第62/517,949号(整理番号CS−17−14B)、
2017年4月17日付で出願された第一発明者Sean LIE及び名称ACCELERATED DEEP LEARNINGの米国仮特許出願第62/486,372号(整理番号CS−17−14)、及び
2017年2月23日付で出願された第一発明者Michael Edwin JAMES及び名称INCREASED CONCURRENCY AND EFFICIENCY OF DEEP NETWORK TRAINING VIA CONTINUOUS PROPAGATIONの米国仮特許出願第62/462,640号(整理番号CS−17−13)。
本発明は、多くの方法で、例えば、プロセス、製品、装置、システム、複合物、及びコンピュータ可読記憶媒体(例えば、ディスク等の光学及び/又は磁気大容量記憶装置内の媒体、フラッシュ記憶装置等の不揮発性記憶装置を有する集積回路)等のコンピュータ可読媒体、又はプログラム命令が光学もしくは電子通信リンクを介して送信されるコンピュータネットワークとして実施することができる。詳細な説明は、上記識別された分野でのコスト、生産性、性能、効率、及び使用有用性の改善を可能にする本発明の1若しくはそれ以上の実施形態の説明を提供する。詳細な説明は、詳細な説明の残りの部分の理解を促進する前置きを含む。前置きは、本明細書に記載される概念によるシステム、方法、製品、及びコンピュータ可読媒体の1若しくはそれ以上の実施例を含む。結論においてより詳細に考察するように、本発明は、発行される特許請求の範囲内の可能な変更及び変形を全て包含する。
本発明の1若しくはそれ以上の実施形態の詳細な説明を以下に、本発明の選択された細部を図示する添付図と共に提供する。本発明について実施形態に関連して説明する。本明細書における実施形態は、単なる例示であることが理解され、本発明は明らかに、本明細書における実施形態のいずれか又は全てに限定されず、本発明は、多くの代替、変更、及び均等物を包含する。説明での単調さを回避するために、様々な言葉のラベル(最初、最後、特定の、様々な、さらに、他の、特定の、選択、幾つか、及び顕著な等)が、別個の組の実施形態に適用されることがあり、本明細書で使用される場合、そのようなラベルは明らかに、品質又は任意の形態の嗜好又は偏見を意味するものではなく、単に別個の組を好都合に区別することが意味される。開示されるプロセスの幾つかの演算の順序は、本発明の範囲内で変更可能である。複数の実施形態がプロセス、システム、及び/又はプログラム命令特徴の変形を説明するように機能する場合は常に、所定又は動的に決定される基準に従って、複数のマルチ実施形態にそれぞれ対応する複数の動作モードの1つの静的及び/又は動的選択を実行する他の実施形態も考えられる。本発明の完全な理解を提供するために、以下の説明では、多くの特定の詳細が記載される。詳細は説明のために提供され、本発明は、詳細の幾つか又は全てなしで、特許請求の範囲に従って実施することができる。明確にするために、本発明に関連する当技術分野で既知の技術材料は、本発明が不必要に曖昧にならないように、詳細に説明しなかった。
導入部は、詳細な説明のより素早い理解を促進するためだけに包含され、本発明は、導入部に提示される概念(明白な例がある場合、明白な例を含む)に限定されず、任意の導入部の段落は必ずしも、趣旨全体の要約図であり、網羅的又は制限的な説明であることは意味されない。例えば、以下の導入部は、スペース及び編成により特定の実施形態のみに制限された概説情報を提供する。本明細書の残り全体を通して考察される、特許請求の範囲が最終的に描かれる実施形態を含め、多くの他の実施形態がある。
本明細書において定義される様々な簡略略語(例えば、頭字語)の少なくとも幾つかは、本明細書で使用される特定の要素を指す。
プロセッサ要素のファブリックであって、各プロセッサ要素は、ファブリックルータと、データフローベースの処理及び命令ベースの処理を実行することができる計算エンジンとを有するものである、プロセッサ要素のファブリック
を有し、
各プロセッサ要素は、ファブリックパケットをプロセッサ要素のうちの他の要素に選択的に通信し、
各計算エンジンは、計算エンジンが受信する各ファブリックパケットの仮想チャネル指定子及びタスク指定子に従って処理を選択的に実行するシステム。
プロセッサ要素のファブリックであって、各プロセッサ要素は、ファブリックルータ及び計算エンジンを有するものである、プロセッサ要素のファブリック
を有し、
各プロセッサ要素は、ファブリックパケットをプロセッサ要素のうちの他の要素に選択的に通信し、
各計算エンジンは、計算エンジンが受信する各ファブリックパケットのデータフローフィールド及び命令フィールドに従って、データフロー処理及び命令処理をそれぞれ選択的に実行するシステム。
各計算エンジンは、レジスタファイル、命令デコーダ、命令キャッシュ、及びデータキャッシュを有するものであるシステム。
各計算エンジンは、レジスタファイル、命令デコーダ、命令バッファ、及びデータバッファを有するものであるシステム。
各計算エンジンは、予め定義されたネイティブ命令セットのコードから選択された対応する基本命令の受信に応答して、予め定義された基本演算セットを実行するように構成され、さらに、
トレーニング作業負荷は、
ニューロンの少なくとも一部のプロセッサ要素の計算エンジンへのマッピングを実行する、ネイティブ命令セットから選択される機械語の第1のセットであって、マッピングは、少なくとも1つの部分的なニューロンの重みを管理することを含むものである、機械語の第1のセットと、
少なくとも1つの部分的なニューロンの重みに少なくとも部分的に基づいて論理順方向にアクティベーションを伝搬させる順方向パスを実行する、ネイティブ命令セットから選択される機械語の第2のセットであって、順方向パスは入力サンプルに応答して開始されるものである、機械語の第2のセットと、
論理逆方向におけるデルタパスを実行して、デルタを生成する、ネイティブ命令セットから選択される機械語の第3のセットであって、デルタパスは順方向パスの完了に応答して開始される、機械語の第3のセットと、
チェインパスを実行して、デルタに基づいて勾配を計算する、ネイティブ命令セットから選択される機械語の第4のセットと、
所定の学習ルールに従って、少なくとも部分的にデルタに基づいて、少なくとも1つの部分的なニューロンの重みの選択的更新を実行する、ネイティブ命令セットから選択される機械語の第5のセットと
を有し、
各計算エンジンは、少なくとも1つ部分的なニューロンの重みのための記憶装置を有するものであるシステム。
トレーニング作業負荷は、非線形活性化関数を実行する、ネイティブ命令セットから選択される第6の組の機械語を有するものであるシステム。
デジタルクロックを有し、時間ステップは、デジタルクロックのクロックサイクルの整数倍であるシステム。
デジタルクロックを有し、時間ステップは可変時間量であるシステム。
各計算エンジンは、複数の計算エンジンパイプライン段を有する多段計算エンジンパイプラインに従って動作し、計算エンジン機械サイクルは、各計算エンジンパイプライン段を完了する時間を含み、計算エンジンパイプラインサイクルは、複数の計算エンジンパイプライン段を完了する時間を含み、
計算エンジン機械サイクルは、デジタルクロックの第1の倍数のクロックサイクルを含み、
複数の層は、論理ファブリックパイプライン段を含む論理ファブリックパイプラインとして動作し、各論理ファブリックパイプライン段は、各層の全てのパスの完了を含み、時間ステップは、各論理ファブリックパイプライン段を完了する時間を含み、
時間ステップは、第2の倍数の計算エンジンパイプラインサイクルを含むものであるシステム。
各計算エンジンは、勾配累積、順方向部分和、デルタ部分和、及び順方向パスアクティベーションのための記憶装置を有するものであるシステム。
プロセッサ要素の各ファブリックにおいて、ファブリックパケットをプロセッサ要素のうちの他の要素に選択的に通信する工程であって、各プロセッサ要素は、ファブリックルータと、データフローベースの処理及び命令ベースの処理を実行することができる計算エンジンとを有するものである、通信する工程と、
各計算エンジンにおいて、計算エンジンが受信する各ファブリックパケットの仮想チャネル指定子及びタスク指定子に従って処理を選択的に実行する工程と
を有する方法。
プロセッサ要素の各ファブリックにおいて、ファブリックパケットをプロセッサ要素のうちの他の要素に選択的に通信する工程であって、各プロセッサ要素は、ファブリックルータ及び計算エンジンを有するものである、選択的に通信する工程と、
各計算エンジンにおいて、計算エンジンが受信する各ファブリックパケットのデータフローフィールド及び命令フィールドに従って、データフロー処理及び命令処理をそれぞれ選択的に実行する工程と
を含む方法。
主にデータフローベース処理を含み、命令ベース処理は最小の作業負荷を実行する工程を含むものである方法。
主に命令ベース処理を含み、データフローベース処理は最小の作業負荷を実行する工程を含むものである方法。
各計算エンジンは、レジスタファイル、命令デコーダ、命令キャッシュ、及びデータキャッシュを有するものである方法。
各計算エンジンは、レジスタファイル、命令デコーダ、命令バッファ、及びデータバッファを有するものである方法。
各計算エンジンは、予め定義されたネイティブ命令セットのコードから選択された対応する基本命令の受信に応答して、予め定義された基本演算セットを実行するように構成され、さらに、
トレーニング作業負荷を処理する工程は、
ニューロンの少なくとも一部のプロセッサ要素の計算エンジンへのマッピングを実行する、ネイティブ命令セットから選択される機械語の第1のセットであって、マッピングは、少なくとも1つの部分的なニューロンの重みを管理する工程を含むものである、機械語の第1のセットと、
少なくとも1つの部分ニューロンエンジンに少なくとも部分的に基づいて論理順方向にアクティベーションを伝搬させる順方向パスを実行する、ネイティブ命令セットから選択される機械語の第2のセットであって、順方向パスは入力サンプルに応答して開始されるものである、機械語の第2のセットと、
論理逆方向にデルタパスを実行してデルタを生成する、ネイティブ命令セットから選択される機械語の第3のセットであって、デルタパスは順方向パスの完了に応答して開始される、機械語の第3のセットと、
チェインパスを実行して、デルタに基づいて勾配を計算する、ネイティブ命令セットから選択される機械語の第4のセットと、
所定の学習ルールに従って、少なくとも部分的にデルタに基づいて、少なくとも1つの部分的なニューロンの重みの選択的更新を実行する、ネイティブ命令セットから選択される機械語の第5のセットと
を有し、
各計算エンジンは、少なくとも1つ部分的なニューロンの重みのための記憶装置を有するものである方法。
複数の計算エンジンパイプライン段を有する多段計算エンジンパイプラインに従って各計算エンジンを動作させる工程であって、計算エンジン機械サイクルは、各計算エンジンパイプライン段を完了する時間を含み、計算エンジンパイプラインサイクルは、複数の計算エンジンパイプライン段を完了する時間を含む、動作させる工程を含み、
計算エンジン機械サイクルは、デジタルクロックの第1の倍数のクロックサイクルを含み、
複数の層は、論理ファブリックパイプライン段を含む論理ファブリックパイプラインとして動作し、各論理ファブリックパイプライン段は、各層の全てのパスの完了を含み、時間ステップは、各論理ファブリックパイプライン段を完了する時間を含み、
時間ステップは、第2の倍数の計算エンジンパイプラインサイクルを含むものである方法。
アクティベーションの順方向伝搬中、複数の時間ステップにわたる各時間ステップで、第1の複数のプロセッサ要素内の逆方向伝搬データの変化に応答して、少なくとも1つの部分的なニューロンの重みを第1の複数のプロセッサ要素内で選択的に更新する工程を含むものである方法。
少なくとも1つの部分的なニューロンの重みを複数の時間ステップにわたる各時間ステップで選択的に更新するステップを含むものである方法。
ニューラルネットワークの各層で、層の出力アクティベーションを生成するように蓄積された部分和を作成するように入力アクティベーションを加重する工程を含み、累積加重部分和は、ニューラルネットワークのニューロン及び関連付けられたシナプスを表すものである方法。
トレーニングセットを集合的に構成する複数の入力サンプルの各々についてトレーニング作業負荷の反復を実行する工程を有するものである方法。
トレーニングセットを複数のミニバッチに分割する工程を有し、所定の学習ルールは、ミニバッチのそれぞれに含まれる入力サンプルのパスの全てが完了した後、少なくとも1つの部分的なニューロンの重みが更新されることを指定するものである方法。
トレーニングセットを複数のミニバッチに分割する工程を含み、所定の学習ルールは、各ミニバッチの各入力サンプルの全てのパスが完了した後、少なくとも1つの部分的なニューロンの重みが更新されることを指定するものである方法。
各計算エンジンは、勾配累積、順方向部分和、デルタ部分和、及び順方向パスアクティベーションのための記憶装置を有するものである方法。
順方向パス、デルタパス、及びチェインパスにわたり各プロセッサ要素を時間共有する工程を含むものである方法。
各入力サンプルについて、システムは、入力サンプルに対応する順方向パス、デルタパス、及びチェインパスの完了に応答して、所定の学習ルールに従って少なくとも1つの部分的なニューロンの重みを選択的に更新する工程を有するものである方法。
各順方向パスについて、少なくとも1つの部分的なニューロンの重みの最新の選択的更新によって提供される重み情報を選択的に使用する工程を有するものである方法。
トレーニング作業負荷の前の反復に対応する少なくとも1つの部分的なニューロンの重みの選択的更新が行われたか否かに関係なく、トレーニング作業負荷の特定の反復の順方向パスを開始する工程を含むものである方法。
トレーニング作業負荷の前の反復のデルタパスが開始されたか否かに関係なく、トレーニング作業負荷の特定の反復の順方向パスを開始する工程を含むものである方法。
少なくとも1つの計算エンジンにおいて、トレーニング作業負荷の前の反復の順方向パスの少なくとも一部を実行した後及びトレーニング作業負荷の前の反復に対応する少なくとも1つの部分的なニューロンの重みの選択的更新を実行する前、トレーニング作業負荷の後続反復で順方向パスの少なくとも一部を実行する工程を含むものである方法。
少なくとも部分的に第1の部分的なニューロンの重みに基づいて再計算されたアクティベーションに少なくとも部分的に基づいて、各入力サンプルのデルタパス及びチェインパスを選択で実行する工程を有するものである方法。
各計算要素において、第1の部分的なニューロンの重みに少なくとも部分的に基づいて再計算されるアクティベーションに少なくとも部分的に基づいて、入力サンプルのデルタパスの部分及びチェインパスの部分を選択的に実行する工程を含むものである方法。
プロセッサ要素の各ファブリックにおいて、ファブリックパケットをプロセッサ要素のうちの他の要素に選択的に通信する手段であって、各プロセッサ要素は、ファブリックルータと、データフローベース及び命令ベースの処理を実行することができる計算エンジンとを有するものである、通信する手段と、
各計算エンジンにおいて、計算エンジンが受信する各ファブリックパケットの仮想チャネル指定子及びタスク指定子に従って処理を選択的に実行する手段と
を有するシステム。
プロセッサ要素の各ファブリックにおいて、ファブリックパケットをプロセッサ要素のうちの他の要素に選択的に通信する手段であって、各プロセッサ要素は、ファブリックルータ及び計算エンジンを有するものである、選択的に通信する手段と、
各計算エンジンにおいて、計算エンジンが受信する各ファブリックパケットのデータフローフィールド及び命令フィールドに従って、データフロー処理及び命令処理をそれぞれ選択的に実行する手段と
を有するシステム。
主にデータフローベース処理を含み、命令ベース処理は最小の作業負荷を実行する手段を有するものであるシステム。
主に命令ベース処理を含み、データフローベース処理は最小の作業負荷を実行する手段を有するものであるシステム。
各計算エンジンは、レジスタファイル、命令デコーダ、命令キャッシュ、及びデータキャッシュを有するものであるシステム。
各計算エンジンは、レジスタファイル、命令デコーダ、命令バッファ、及びデータバッファを有するものであるシステム。
各計算エンジンは、予め定義されたネイティブ命令セットのコードから選択された対応する基本命令の受信に応答して、予め定義された基本演算セットを実行するように構成され、システムは、さらに、
トレーニング作業負荷
を有し、
トレーニング作業負荷は、
プロセッサ要素の計算エンジンへのニューロンの少なくとも一部のマッピングを実行する、ネイティブ命令セットから選択される第1の組の機械語であって、マッピングは、少なくとも1つの部分的なニューロンの重みを管理することを含むものである、第1の組の機械語と、
少なくとも部分的に少なくとも1つの部分的なニューロンの重みに基づいて、順方向論理方向でアクティベーションを伝搬する順方向パスを実行する、ネイティブ命令セットから選択される第2の組の機械語であって、順方向パスは、入力サンプルに応答して開始されるものである、第2の組の機械語と、
逆方向論理方向でデルタパスを実行して、デルタを生成する、ネイティブ命令セットから選択される第3の組の機械語であって、デルタパスは、順方向パスの完了に応答して開始されるものである、第3の組の機械語と、
チェインパスを実行して、デルタに基づいて勾配を計算する、ネイティブ命令セットから選択される第4の組の機械語と、
所定の学習ルールに従い、少なくとも部分的にデルタに基づいて、少なくとも1つの部分的なニューロンの重みの選択的更新を実行する、ネイティブ命令セットから選択される第5の組の機械語と
を有し、
各計算エンジンは、少なくとも1つの部分的なニューロンの重みの記憶装置を有するシステム。
トレーニング作業負荷は、非線形活性化関数を実行する、ネイティブ命令セットから選択される第6の組の機械語を有するものであるシステム。
デジタルクロックを有し、時間ステップは、デジタルクロックのクロックサイクルの整数倍であるシステム。
デジタルクロックを有し、時間ステップは可変時間量であるシステム。
複数の計算エンジンパイプライン段を有する多段計算エンジンパイプラインに従って各計算エンジンを動作させる手段であって、計算エンジン機械サイクルは、各計算エンジンパイプライン段を完了する時間を含み、計算エンジンパイプラインサイクルは、複数の計算エンジンパイプライン段を完了する時間を含む、動作させる手段を有し、
計算エンジン機械サイクルは、デジタルクロックの第1の倍数のクロックサイクルを含み、
複数の層は、論理ファブリックパイプライン段を含む論理ファブリックパイプラインとして動作し、各論理ファブリックパイプライン段は、各層の全てのパスの完了を含み、時間ステップは、各論理ファブリックパイプライン段を完了する時間を含み、
時間ステップは、第2の倍数の計算エンジンパイプラインサイクルを含むものであるシステム。
アクティブ化の順方向伝搬が進行中である間、複数の時間ステップにわたり各時間ステップで第1の複数のプロセッサ要素内の逆方向伝搬データの変更に応答して、第1の複数のプロセッサ要素内の少なくとも1つの部分的なニューロンの重みを選択的に更新する手段を有するものであるシステム。
複数の時間ステップにわたり各時間ステップで少なくとも1つの部分的なニューロンの重みを選択的に更新する手段を有するものであるシステム。
ニューラルネットワークの各層で、層の出力アクティベーションを生成するように蓄積された部分和を作成するように入力アクティベーションを加重する手段を含み、累積加重部分和は、ニューラルネットワークのニューロン及び関連付けられたシナプスを表すものであるシステム。
集合的にトレーニングセットを構成する複数の入力サンプルの各々について、前記トレーニング作業負荷の反復を実行する手段を有するものであるシステム。
トレーニングセットを複数のミニバッチに分割する手段を有し、所定の学習ルールは、各ミニバッチの各入力サンプルの全てのパスが完了した後、少なくとも1つの部分的なニューロンの重みが更新されることを指定するものであるシステム。
トレーニングセットを複数のミニバッチに分割する手段を有し、所定の学習ルールは、ミニバッチのそれぞれの各入力サンプルのパスの全てが完了した後、少なくとも1つの部分的なニューロンの重みが更新されることを指定するものであるシステム。
各計算エンジンは、勾配累積、順方向部分和、デルタ部分和、及び順方向パスアクティベーションの記憶装置をさらに有するものであるシステム。
順方向パス、デルタパス、及びチェインパスにわたり各プロセッサ要素を時間共有する手段を有するものであるシステム。
各入力サンプルで、入力サンプルに対応する順方向パス、デルタパス、及びチェインパスの完了に応答して、所定の学習ルールに従って少なくとも1つの部分的なニューロンの重みを選択的に更新する手段を有するものであるシステム。
各順方向パスについて、少なくとも1つの部分的なニューロンの重みの最新の選択的更新により提供される重み情報を選択的に使用する手段を有するものであるシステム。
トレーニング作業負荷の事前反復に対応する少なくとも1つの部分的なニューロンの重みの選択的更新が行われたか否かに関係なく、トレーニング作業負荷の特定の反復の順方向パスを開始する手段を有するものであるシステム。
トレーニング作業負荷の事前反復のデルタパスが開始されたか否かに関係なく、トレーニング作業負荷の特定の反復の順方向パスを選択的に開始する手段を有するものであるシステム。
計算エンジンの少なくとも1つにおいて、トレーニング作業負荷の事前反復の順方向パスの少なくとも一部を実行した後及びトレーニング作業負荷の事前反復に対応する少なくとも1つの部分的なニューロンの重みの選択的更新の一部を実行する前、トレーニング作業負荷の後続反復の順方向パスの少なくとも一部を実行する手段を有するものであるシステム。
少なくとも部分的に第1の部分的なニューロンの重みに基づいて再計算されるアクティベーションに少なくとも部分的に基づいて、各入力サンプルのデルタパス及びチェインパスを選択的に実行する手段を有するものであるシステム。
各計算要素において、少なくとも部分的に第1の部分的なニューロンの重みに基づいて再計算されるアクティベーションに少なくとも部分的に基づいて、入力サンプルのデルタパスの部分及びチェインパスの部分を選択的に実行する手段を有するものであるシステム。
複数の順序付きの接続された層を有するニューラルネットワークをトレーニングするステップであって、順序は、各層で、層のうちの他のどの層が各層の前であるか及び層のうちのどの層が各層に後続するかを識別するものである、トレーニングする工程を含み、
各層は1若しくはそれ以上のニューロンを有し、各ニューロンは重みを有し、先行層の少なくとも1つの先行ニューロン及び後続層の少なくとも1つの後続ニューロンに接続され、
各ニューロンは1若しくはそれ以上の処理要素によって実施され、各処理要素は、
ファブリックへの少なくとも1つの結合であって、処理要素は、複数の仮想チャネルを介してファブリックを介して通信することができるものである、少なくとも1つの結合と、
ニューロンの少なくとも計算に対応する命令を記憶することができる第1のメモリと、
重みを記憶することができる第2のメモリと、
第1のメモリのそれぞれからの命令を実行し、第2のメモリのそれぞれからのデータにアクセスすることができるハードウェア実行リソースとを有する
方法。
第1のアクティベーション及び第1の重みに基づいて、第2のアクティベーションを決定する工程と、
第1のデルタ及び第1の重みに基づいて、第2の重みを決定して保存する工程と、
第3のアクティベーション及び選択された重みに基づいて、第4のアクティベーションを決定する工程であって、選択された重みは、第1の重み及び第2の重みから動的に選択されるものである、第4のアクティベーションを決定する工程と、
第2のデルタ及び選択された重みに基づいて、第3の重みを決定して保存する工程と
を含むものである方法。
少なくとも1つの先行ニューロンからファブリックを介して第1のアクティベーションを受信する工程と、
第1のメモリに記憶された第1の命令を少なくとも実行し、第2のメモリ内の第1の重みにアクセスすることにより、少なくとも部分的に第1のアクティベーション及び第1の重みに基づいて第2のアクティベーションを計算する工程と、
ファブリックを介して少なくとも1つの後続ニューロンに第2のアクティベーションを選択的に送信する工程と
を含むものである方法。
少なくとも1つの後続ニューロンからファブリックを介して、部分的に第2のアクティベーションに基づく第1のデルタを受信する工程と、
第1のメモリに記憶された第2の命令を少なくとも実行することにより、少なくとも部分的に第1のデルタ及び第2のアクティベーションに基づいて第1の勾配を計算する工程と、
第1のメモリに記憶された第3の命令を少なくとも実行し、第2のメモリ内の第1の重みにアクセスすることにより、少なくとも部分的に第1の勾配、学習ルール、及び第1の重みに基づいて第2の重みを計算する工程と、
第2の重みを第2のメモリに記憶する工程と
を含むものである方法。
少なくとも1つの先行ニューロンからファブリックを介して第3のアクティベーションを受信する工程と、
第1の命令を少なくとも実行し、第2のメモリ内の選択された重みにアクセスすることにより、少なくとも部分的に第3のアクティベーション及び選択された重みに基づいて第4のアクティベーションを計算する工程と、
ファブリックを介して少なくとも1つの後続ニューロンに第4のアクティベーションを選択的に送信する工程と
を含むものである方法。
少なくとも1つの後続ニューロンからファブリックを介して、第4のアクティベーションに部分的に基づく第2のデルタを受信する工程と、
第1のメモリに記憶された第2の命令を少なくとも実行することにより、第3のデルタ及び第4のアクティベーションに少なくとも部分的に基づいて第2の勾配を計算する工程と、
第2のメモリに記憶された第3の命令を少なくとも実行し、第2のメモリ内の選択された重みにアクセスすることにより、第2の勾配、学習ルール、及び選択された重みに少なくとも部分的に基づいて第3の重みを計算する工程と、
第3の重みを第2のメモリに記憶する工程と
を含むものである方法。
少なくとも1つの後続ニューロンからファブリックを介して、第2のアクティベーションに部分的に基づく第1のデルタを受信する工程と、
第1のメモリに記憶された第2の命令を少なくとも実行することにより、第1のデルタ及び第2のアクティベーションに少なくとも部分的に基づいて第1の勾配を計算する工程と、
第1のメモリに記憶された第3の命令を少なくとも実行し、第2のメモリ内の第1の重みにアクセスすることにより、第1の勾配、学習ルール、及び第1の重みに少なくとも部分的に基づいて第2の重みを計算する工程と、
第2の重みを第2のメモリに記憶する工程と
を含むものである方法。
少なくとも1つの後続ニューロンからファブリックを介して、第4のアクティベーションに部分的に基づく第2のデルタを受信する工程と、
第1のメモリに記憶された第2の命令を少なくとも実行することにより、第3のデルタ及び第4のアクティベーションに少なくとも部分的に基づいて第2の勾配を計算する工程と、
第2のメモリに記憶された第3の命令を少なくとも実行し、第2のメモリ内の選択された重みにアクセスすることにより、第2の勾配、学習ルール、及び選択された重みに少なくとも部分的に基づいて第3の重みを計算する工程と、
第3の重みを第2のメモリに記憶する工程と
を含むものである方法。
ディープ・ラーニング・アクセラレータ・ハードウェア要素及びソフトウェア要素を有するニューラル・ネットワーク・トレーニング及び推論に関連する実施形態について本明細書に記載する(例えば、図1〜図4及び「ディープ・ラーニング・アクセラレータ概説」セクション参照)。ディープ・ラーニング・アクセラレータは、ハードウェア処理要素を有する(例えば、図5〜図8及び「処理要素:計算要素及びルータ」セクション参照)。ディープ・ラーニング・アクセラレータは、タスク開始及び完了(例えば、図9〜図12及び「タスク」セクション参照)、ウェーブレット処理(例えば、図13A〜図15B及び「ウェーブレット」セクション参照)、タスクブロック及びブロック解除(例えば、図16及び「ブロック及びブロック解除」セクション参照)、ニューロンスメアリング(例えば、図17〜図20及び「ニューロンスメアリング」参照)、ファブリックベクトル、メモリベクトル、及び関連するデータ構造記述子(例えば、図21A〜図24及び「ベクトル及びデータ構造記述子」セクション参照)、並びに命令フォーマット(例えば、図25A〜図25C及び「命令フォーマット」セクション参照)等の様々な技法を実施及び/又は使用する。ディープ・ラーニング・アクセラレータは、様々な状況で使用可能である(例えば、図26A〜図27E及び「ディープ・ラーニング・アクセラレータ使用例」セクション並びに図28A〜図29及び「作業負荷マッピング例」セクション参照)。ディープ・ラーニング・アクセラレータは、様々な実施形態において考えられる(例えば、「他の実施形態詳細」セクション参照)。ディープ・ラーニング・アクセラレータは様々に実施可能である(例えば、「実施態様技法例」セクション参照)。
図1は、ニューラル・ネットワーク・システム100として、ディープ・ラーニング・アクセラレータを使用するニューラル・ネットワーク・トレーニング及びインターフェースのシステムの一実施形態の選択された細部を図示する。概念的に、ニューラルネットワークは、ディープ・ラーニング・アクセラレータを使用してトレーニングされる。次に、トレーニングの1若しくはそれ以上の結果(例えば、重み)を推論に使用する。例えば、トレーニングは、ニューラルネットワークのニューロンをディープ・ラーニング・アクセラレータのPEにマッピングすることを含む。次に、トレーニングデータがPEに適用される。PEはトレーニングデータを処理し(例えば、順方向パス、デルタパス、及びチェインパスを介して)、トレーニングが完了するまで、重みを更新する。次に、重みは推論に使用される。
図5は、ディープ・ラーニング・アクセラレータのPE500としてPEの一実施形態の選択された細部を図示する。PE500はルータ510と、計算要素520とを有する。ルータ510は選択で及び/又は条件付きで、結合511〜516を介して他のPE(例えば、論理的及び/又は物理的に隣接するPE)とインスタントPEとの間でウェーブレットを通信する。ルータ510は選択で及び/又は条件付きで、オフランプ(Off Ramp)521を介してインスタントPEにウェーブレットを通信し、オンランプ(On Ramp)522を介してインスタントPEからウェーブレットを通信する。計算要素520は、ウェーブレットから導出可能な命令アドレス情報に従って、ウェーブレットに具現されたデータに対して計算を実行する。命令アドレス情報は、計算要素のメモリに記憶された命令として具現されるタスクの開始アドレスを識別するのに使用される。
図9は、フロー900としてタスク開始のウェーブレットを処理する一実施形態の選択された細部を図示する。概念的には、処理は、タスクの命令のフェッチ及び実行を開始するアドレスを特定することによってタスクを開始することを含む。アドレスは、少なくとも部分的にウェーブレットが含む情報に基づいて特定される。
図13Aは、スパースウェーブレット1301としてスパースウェーブレットの一実施形態の選択された細部を図示する。スパースウェーブレット1301は、スパース・ウェーブレット・ペイロード1302と、カラー1324とを有する。スパース・ウェーブレット・ペイロード1302は、インデックス1321と、スペースデータ1322と、制御ビット1320とを有する。インデックス1321は、下位インデックスビット1321.1と、上位インデックスビット1321.2とを有する。
図16は、フロー1600としてブロック命令及びブロック解除命令の一実施形態の選択された細部を図示する。概念的に、特定のカラーを指定するブロック命令の実行は、少なくとも、その特定のカラーを指定するブロック解除命令の実行まで、その特定のカラーに関連付けられた命令の実行を阻止する。
図17は、ニューラルネットワーク1700としてニューラルネットワークの一実施形態の選択された細部を示す。ネットワーク1700は、3つの部分:入力層1710と、内部層1720と、出力層1740とを有する。各層は複数のニューロンを有する。入力層171は、ニューロンN11 1711、N12 1712、及びN13 1713を有する。内部層1720は、ニューロンN21 1721、N22 1722、N23 1723、及びN24 1724の第1の層を有し、それに続けてニューロンN31 1731、N32 1732、及びN33 1733の第2の層を有する。出力層1740はニューロンN41 1741及びN42 1742を有する。
様々な実施形態及び/又は使用状況では、それぞれがデータ要素の1若しくはそれ以上をそれぞれ有する1若しくはそれ以上のベクトルの処理が実行される。ベクトルは様々にメモリ(例えば、図8のメモリ854又はDストア848等のPEのCEの)から読み出され、メモリに書き込まれ、ファブリックから受信され、又はファブリックに送信される。メモリから読み出されたベクトル又はメモリに書き込まれたベクトルは、「メモリベクトル」と呼ばれることもある。ファブリックから受信したベクトル又はファブリックに送信されたベクトル(例えば、ウェーブレットとして)は、「ファブリックベクトル」と呼ばれることがある。DSRからのDSD(及びXDSRからのXDXD)は、メモリベクトルのアドレス指定パターン及びファブリックベクトルのアクセスパターンの決定に使用可能である。
最初の数字が「8」の図25A〜図25Cの説明での各要素識別子は、図8の要素を指し、簡潔にするために、その他の点では図8の要素であるものとして特に識別されない。
様々な実施形態及び/又は使用状況では、本明細書の他の箇所に記載されるように、PEのファブリック(例えば、ウェーハスケール集積を介して実施され、例えば、図4に図示されるような)等のディープ・ラーニング・アクセラレータは、ニューラルネットワークのトレーニング及び/又はトレーニングされたニューラルネットワークに関して推論を実行するのに使用可能である。トレーニングは、幾つかの状況では、トレーニング刺激に応答してニューラルネットワークの重みを決定することを含む。確率勾配降下(Stochastic Gradient Descent:SGD)、ミニバッチ勾配降下(Mini−Batch Gradient Descent:MBGD)、連続伝搬勾配降下(Continuous Propagation Gradient Descent:CPGD)、及びリバース・チェック・ポイント(Reverse CheckPoint:RCP)等の様々な技法がトレーニングに使用可能である。以下、CPGDを他の技法と対比し、次に、SGD、MBGD、CPGD、及びRCPのそれぞれについてより詳細に説明する。
概念的に、ディープ・ラーニング・アクセラレータ400(図4)は、プログラマブル計算ファブリック(例えば、図5〜図8及び「処理要素:計算要素及びルータ」セクション参照)である。例えば、各PE499要素の計算要素は、タスク(図2のPE上のタスクSW260の命令の実行の全て又は任意の部分に概念的に対応する)の命令シーケンスを実行することができ、各PE499のルータ要素のルータ要素は、PE間でウェーブレットをルーティングするように構成される。プログラマブル計算ファブリックは、様々な様式で作業負荷を計算ファブリックにマッピングできるようにする。以下に記載するのは、計算ファブリックにより実施される様々な技法及びメカニズムを図示する、作業負荷を計算ファブリックに高レベルでマッピングする一例である。
図1〜図29に関して説明した実施形態及び使用状況は概念的に、プログラマブルである、例えば、命令に従ってデータを処理するCEを有するPEに関する。部分的又は全体的に接続されている、例えば、命令なしで動作可能な1若しくはそれ以上の固定回路処理要素に従ってデータを処理するCEの1若しくはそれ以上を有する他の実施形態も考えられる。特定の例として、特定のCEは、LSTMユニットの全て又は一部を実施するハードウェア論理ユニット回路を有する。特定のCEは、他のPEを有するファブリックで動作可能な特定のPE内のルータを有する。他のPEの幾つかは、特定のPEと同様又は同一であり、他のPEの幾つかは、図4のPE499と同様又は同一である。
幾つかの実施形態では、任意の加速化ディープラーニングで実行される演算の全て又は任意の部分及び/又は任意の加速化ディープラーニングに関連付けられた構造:加速化ディープラーニングのRCPあり及びなしのSGD、MBGD、CPGD;加速化ディープラーニングのデータ構造記述子及びファブリックベクトル;加速化ディープラーニングのニューロンスメアリング;加速化ディープラーニングのタスク同期;加速化ディープラーニングのデータフロートリガータスク;加速化ディープラーニングの制御ウェーブレット;及び/又は加速化ディープラーニングのウェーブレット表現、及びプロセッサ、マイクロプロセッサ、システムオンチップ、特定用途向け集積回路、ハードウェアアクセラレータ、又は上記演算の全てもしくは部分を提供する他の回路の部分の様々な組合せが、コンピュータシステムによる処理と互換性がある仕様によって指定される。仕様は、ハードウェア記述言語、回路記述、ネットリスト記述、マスク記述、又はレイアウト記述等の様々な記述に従う。記述例には、Verilog、VHDL、SPICE、PSpice等のSPICEバリアント、IBIS、LEF、DEF、GDS−II、OASIS、又は他の記述がある。様々な実施形態では、処理は、1若しくはそれ以上の集積回路への包含に適する論理及び/又は回路を生成、検証、又は指定するための解釈、コンパイル、シミュレーション、及び合成の任意の組合せを含む。各集積回路は、様々な実施形態によれば、様々な技術による設計及び/又は製造と互換性がある。技法は、プログラマブル技法(フィールド又はマスクプログラマブル・ゲート・アレイ集積回路等)、セミカスタム技法(全体的又は部分的にセルベースの集積回路等)、及びフルカスタム技法(実質的に専用の集積回路等)、それらの任意の組合せ、又は集積回路の設計及び/又は製造と互換性がある任意の他の技法を含む。
特定の選択は、説明において、テキスト及び図面を準備するに当たり単に好都合であるため、行われ、逆の指示がない限り、選択はそれ自体、記載される実施形態の構造又は動作に関して追加情報を伝達するものとして解釈されるべきではない。選択の例には、図の付番に使用される名称の特定の編成又は割り当て及び実施形態の特徴及び要素の識別及び参照に使用される要素識別子(例えば、呼称又は数値指示子)の特定の編成又は割り当てがある。
110 結合サーバ
111 LAN
112 100Gb
113 配置
114 重み
115 重み
120 ディープ・ラーニング・アクセラレータ
121 FPGAs
122 PEs
123 結合
130 自律車両
131 CPUs
132 CRM
133 IEs
135 カメラ
140 携帯電話
141 CPUs
142 CRM
143 IEs
145 カメラ
150 配置サーバ
151 CPUs
152 CRM
160 接続サーバ
161 CPUs
162 CRM
164 NICs
180 インターネット
200 ニューラル・ネットワーク・ソフトウェア
210 配置サーバSW
212 ニューロンからPEへのマッピングSW
220 接続サーバSW
224 100Gb NICドライバ
225 トレーニング情報プロバイダSW
226 重み受信機SW
230 自律車両SW
232 ビデオカメラSW
233 推測エンジンSW
234 ナビゲートSW
240 携帯電話SW
242 静止カメラSW
243 推測エンジンSW
244 掲示SW
250 FPGA上の種々SW
260 PE上のタスクSW
300 ニューラル・ネットワーク・トレーニング/推論、全体
310 ニューロン配置
320 FPGA初期化
330 PE初期化
340 トレーニングデータ=>PE
350 順方向パス、デルタパス、チェインパス、重み更新
360 トレーニング完了?
370 重み出力
380 重みを推論に使用
400 ディープ・ラーニング・アクセラレータ
401 順方向
402 デルタ
403 チェイン
410 ASIC
411 ASIC
412 ウェーハ
420 I/O FPGA
430 北結合
431 東結合
432 南結合
433 西結合
497 特定のPE
498 特定のPE
499 PE
500 PE
510 ルータ
511 西
512 西スキップ
513 北
514 東スキップ
515 東
516 南
520 計算要素
521 オフランプ
522 オンランプ
600 ルータ
610 データイン
611 スキップX+
612 スキップX−
613 X+
614 X−
615 Y+
616 Y−
617 オンランプ
620 データアウト
621 スキップX+
622 スキップX−
623 X+
624 X−
625 Y+
626 Y−
627 オフランプ
630 ストールアウト
631 スキップX+
632 スキップX−
633 X+
634 X−
635 Y+
636 Y−
637 オンランプ
640 発信元
641 スキップX+
642 スキップX−
643 X+
644 X−
645 Y+
646 Y−
647 オフランプ
650 データキュー
651 書き込みデコーダ
652 アウト
653 発信元
654 スケジュール済みルータ
656 ストール生成
657 ストール
660 制御情報
661 宛先
662 送信元
670 Src
710 ウェーブレットイングレス
711 ウェーブレットを待つ
712 ウェーブレットを受信
713 ウェーブレット=>ルータQ
720 ストール情報
721 ルータQが満杯?
722 ストールをデアサート
723 ストールをアサート
730 ウェーブレットイグレス
731 Qが空?
732 選ぶ?
733 ストール?
734 ウェーブレットを送信
800 CE
812 終了
820 オフランプ
822 ハッシュ
824 Qdistr
830 ピッカー
834 PC
836 I配列
840 デコーダ
842 RF
844 D配列
846 DSRs
848 Dストア
852 データパス
854 メモリ
860 オンランプ
890 ベース
896 スケジューリング情報
897 Qs
897.0 Q0
897.N QN
898 アクティブビット
898.0 アクティブビット0
898.N アクティブビットN
899 ブロックビット
899.0 ブロックビット0
899.N ブロックビットN
900 タスク初期化のウェーブレット処理、全体
901 開始
905 タスク開始に使用可能なウェーブレットを選択
908 制御/データ?
920 (カラー*4)をベースレジスタに追加して、命令アドレスを形成
930 下位インデックスビットをベースレジスタに追加して、命令アドレスを形成
950 メモリの命令アドレスから命令をフェッチ
960 フェッチされた命令を実行
961 終了せず
962 終了
990 終わり
1000 命令処理、全体
1010 制御入力をチェック
1012 分岐ストール?
1014 何もしない
1016 終了=>スケジューラ
1020 分岐解像度を超える?
1022 D配列ストール?
1024 I配列モード?
1026 命令をフェッチ
1028 命令終了?
1030 命令分岐?
1032 PC命令更新=>デコード
1040 次のタスク/分岐PCタスクアドレスを処理=>PC
1042 シーケンサストール
1100 依存性管理、全体
1101 前の層からのアクティベーション
1102 アクティベーションを受信し蓄積
1110 前の層からのクローズアウト
1111 アクティベーションクローズアウトを受信
1112 部分和を開始
1113 部分和を計算
1114 部分和を伝搬
1120 アクティベーションを送信
1121 次の層へのアクティベーション
1122 次の層へのクローズアウト
1123 再スケジュール
1131 フロー制御依存性
1132 ウェーブレットを異なるPEに出力
1133 自己へのウェーブレットをウェイクする
1200 アクティベーション蓄積/クローズアウト及び部分和計算/クローズアウト、全体
1201 開始
1202 アクティベーションを受信
1203 アクティベーションを蓄積
1204 アクティベーションクローズアウトを受信
1205 部分和リングを開始
1206 部分和を受信
1207 部分和を計算
1208 部分和を送信
1209 アクティベーションを送信
1210 クローズアウトを送信
1211 終わり
1301 スパースウェーブレット
1302 スパース・ウェーブレット・ペイロード
1320 制御ビット
1321 インデックス
1321.1 下位インデックスビット
1321.2 上位インデックスビット
1322 スパースデータ
1324 カラー
1331 高密度ウェーブレット
1332 高密度ウェーブレットペイロード
1340 制御ビット
1343.1 高密度データ
1343.2 高密度データ
1344 カラー
1400 ウェーブレット作成フロー、全体
1401 開始
1402 PEを初期化
1403 発信元を設定
1404 宛先(ファブリック)DSRを設定
1404.5 宛先DSRを有する命令をフェッチ/復号化
1404.6 DSRを読み出す
1405 キュー/メモリから(次の)発信元データ要素を読み出す
1406 ウェーブレットとしてデータ要素をルータに提供
1407 まだデータ要素があるか?
1408 ウェーブレットをファブリックに送信
1409 ファブリックからウェーブレットを受信
1410 終わり
1420 送信PEのCE
1430 送信PEのルータ
1440 受信PEのルータ
1500 ウェーブレット受信フロー、全体
1501 開始
1502 PEを初期化
1503 ルータにおいてウェーブレットを受信
1504 他のPEへ?
1505 ウェーブレットを出力に送信
1506 ローカルCEへ?
1507 ウェーブレットをピッカーキューに書き込む
1510 終わり
1520 受信PEのルータ
1530 受信PEのCE
1550 ウェーブレット消費フロー、全体
1551 開始
1552 ピッカーが処理するウェーブレットを選択
1553 命令をフェッチし実行
1554 終わり
1600 ブロック命令及びブロック解除命令の処理フロー、全体
1601 開始
1602 命令をフェッチし復号化
1603 ブロック命令?
1604 カラーをブロック
1610 ブロック解除命令?
1611 カラーをブロック解除
1620 命令を実行
1630 終わり
1700 ニューラルネットワーク
1710 入力層
1711 N11
1712 N12
1713 N13
1720 内部層
1721 N21
1721.1, 1721.2 それぞれ1/2 N21部分
1722 N22
1722.1, 1722.2 それぞれ1/2 N22部分
1723 N23
1723.1, 1723.2 それぞれ1/2 N23部分
1724 N24
1724.1, 1724.2 それぞれ1/2 N24部分
1731 N31
1731.1, 1731.2, 1731.3, 1731.4 それぞれ1/4 N31部分
1732 N32
1732.1, 1732.2, 1732.3, 1732.4 それぞれ1/4 N32部分
1733 N33
1740 出力層
1741 N41
1742 N42
1791 通信
1791.1 通信部分
1792 通信
1792.1 通信部分
1793 通信
1793.1 通信部分
1820 PE0
1821 PE1
1822 PE2
1823 PE3
1824 PE4
1825 PE5
1910 in0
1911 in1
1912 in2
1913 in3
1914 in4
1915 in5
1920 out0
1921 out1
1922 out2
1923 out3
1924 out4
1925 out5
1930.1 1/2ローカル計算
1930.2 1/2ローカル計算
1940.1 1/2ローカル記憶
1940.2 1/2ローカル記憶
1950.1 追加の計算
1950.2 追加の計算
1960.1 追加の記憶
1960.2 追加の記憶
1970 追加の通信
2000 ウェーハ部分
2040,2041,2043,2044 それぞれ隣接PE間の結合
2050,2051,2052,2053,2054,2055,2056,2057 それぞれ隣接PE間の結合の部分
2060 通信
2100 ファブリック入力データ構造記述子
2101 長さ
2102 UTID(マイクロスレッド識別子)
2103 UE(マイクロスレッドイネーブル)
2104 SW(SIMD幅)
2105 AC(カラーアクティベーション)
2106 Term(制御ウェーブレット時にマイクロスレッドを終了)
2107 CX(制御ウェーブレット変換イネーブル)
2108 US(マイクロスレッド・スパース・モード)
2109 タイプ
2110 SS(シングルステップ)
2111 SA(アドレス保存/条件付きシングル・ステップ・モード)
2112 SC(カラー指定,通常モード)
2113 SQ(キュー指定,通常モード)
2114 CH(カラー,ハイビット)
2120 ファブリック出力データ構造記述子
2121 長さ
2122 UTID(マイクロスレッド識別子)
2123 UE(マイクロスレッドイネーブル)
2124 SW(SIMD幅)
2125 AC(カラーアクティベーション)
2126 カラー
2127 C(出力制御ビット)
2128.1 インデックスロー
2128.2 インデックスハイ
2129 タイプ
2130 SS(シングルステップ)
2131 SA(アドレス保存/条件付きシングル・ステップ・モード)
2132 WLI(ウェーブレットインデックス選択)
2140 1Dメモリデータ構造記述子
2141 長さ
2142 ベースアドレス
2149 タイプ
2150 SS(シングルステップ)
2151 SA(アドレス保存/条件付きシングル・ステップ・モード)
2152 WLI(ウェーブレットインデックス選択)
2153 ストライド
2160 4Dメモリデータ構造記述子
2161 長さ
2161.1 長さ下位ビット
2161.2 長さ上位ビット
2162 ベースアドレス
2169 タイプ
2170 SS(シングルステップ)
2171 SA(アドレス保存/条件付きシングル・ステップ・モード)
2172 WLI(ウェーブレットインデックス選択)
2180 循環メモリ・バッファ・データ構造記述子
2181 長さ
2182 ベースアドレス
2184 SW(SIMD幅)
2188 FW(FIFOラップビット)
2189 タイプ
2190 SS(シングルステップ)
2191 SA(アドレス保存/条件付きシングル・ステップ・モード)
2192 WLI(ウェーブレットインデックス選択)
2210 循環メモリバッファ拡張データ構造記述子
2211 タイプ
2212 開始アドレス
2213 終了アドレス
2214 FIFO
2215 カラープッシュ(アクティベーション)
2216 カラーポップ(アクティベーション)
2240 4Dメモリベクトル拡張データ構造記述子
2241 タイプ
2242 次元
2243 DF(次元フォーマット)
2244.1 ストライド選択(次元について)1
2244.2 ストライド選択(次元について)2
2244.3 ストライド選択(次元について)3
2244.4 ストライド選択(次元について)4
2245 ストライド
2300 データ構造記述子フロー、全体
2301 開始
2302 DSRを設定
2303 DSRを用いて命令をフェッチ/復号化
2304 DSRを読み出す
2305 (任意選択)XDSRを設定
2306 (任意選択)XDSRを読み出す
2310 キュー/メモリから(次の)発信元データ要素を読み出す
2311 データ要素に対して(次の)演算を実行
2312 (次の)宛先データ要素をキュー/メモリに書き込む
2313 データ要素がまだあるか?
2316 終わり
2400 データ構造記述子復号化フロー、全体
2401 開始
2410 ファブリックベクトル
2411 タイプ=ファブリック?
2412 DSDを介してアクセス
2420 メモリベクトル
2421 タイプ=XDSR?
2422 DSDを介して指定されたXDSRを読み出す
2423 タイプ=4Dベクトル?
2424 (任意選択)ストライドレジスタを読み出す
2427 DSDを介して1Dにアクセス
2428 XDSDを介して4Dにアクセス
2429 XDSDを介して循環バッファにアクセス
2499 終わり
2510 複数オペランド命令
2511 命令タイプ
2512 演算コード
2513 オペランド0符号化
2513.1 オペランド0タイプ
2513.2 オペランド0
2514 オペランド1符号化
2514.1 オペランド1タイプ
2514.2 オペランド1
2515 終了
2520 1発信元0宛先オペランド命令
2521 命令タイプ
2522 演算コード
2523 オペランド1符号化
2523.1 オペランド1タイプ
2523.2 オペランド1
2524 即値
2525 終了
2530 即値命令
2531 命令タイプ
2532 演算コード
2533.2 オペランド0
2534.1 即値ロー
2534.2 即値ハイ
2534 即値
2611 第1の順方向パス
2612 第2の順方向パス
2621 第1の逆方向パス
2622 第2の逆方向パス
2631 ミニバッチサイズ(N)
2632 オーバーヘッド
2633 更新間隔(U)
2651 順方向パス
2661 逆方向パス
2665 順方向パス
2666 逆方向パス
2667 重み更新使用
2671 順方向パス
2681 逆方向パス
2685 アクティベーションを記憶
2686 再計算されたアクティベーションを記憶
2701 前の層
2702 後続層
2703 前の層
2704 後続層
2710 計算
2711 F
2712 B
2715 記憶
2716 A
2717 W
2718 W
2720 計算
2721 F
2722 B
2725 記憶
2726 A
2727 W
2728 W
2729 A
2730 計算
2735 記憶
2740 計算
2745 記憶
2781 A1,t
2782 A2,t
2783 A3,t
2784 A'2,t
2791 ?1,t
2792 ?2,t
2793 ?3,t
2794 ?'1,t
2795 ?'2,t
2796 ?'3,t
2901 f_rxact:acc
2902 f_rxact:クローズ
2903 f_psum:prop
2904 f_txact:tx
2911 アクティベーション
2912 クローズアウト
2913 フロー
2914 ウェイク
2915 再スケジュール
2916 Psum開始
2921 アクティベーション
2922 クローズアウト
2930 Psumプロップ
2931 Psumプロップ
この出願の発明に関連する先行技術文献情報としては、以下のものがある(国際出願日以降国際段階で引用された文献及び他国に国内移行した際に引用された文献を含む)。
(先行技術文献)
(特許文献)
(特許文献1) 米国特許出願公開第2015/0302295号明細書
(特許文献2) 米国特許出願公開第2016/0224889号明細書
(特許文献3) 米国特許出願公開第2015/0324690号明細書
(特許文献4) 米国特許出願公開第2015/0242741号明細書
(特許文献5) 米国特許第9,373,073号明細書
Claims (47)
- システムであって、
プロセッサ要素のファブリックであって、各プロセッサ要素は、ファブリックルータと、データフローベースの処理及び命令ベースの処理を実行することができる計算エンジンとを有するものである、前記プロセッサ要素のファブリック
を有し、
各プロセッサ要素は、ファブリックパケットを前記プロセッサ要素のうちの他の要素に選択的に通信し、
各前記計算エンジンは、前記計算エンジンが受信する各ファブリックパケットの仮想チャネル指定子及びタスク指定子に従って前記処理を選択的に実行するものである、
システム。 - 請求項1記載のシステムにおいて、
各計算エンジンは、予め定義されたネイティブ命令セットから選択されたる基本命令の受信に応答して、対応する予め定義された基本演算セットを実行するように構成され、さらに、
トレーニング作業負荷は、
前記ネイティブ命令セットから選択される機械語の第1のセットであって、ニューロンの少なくとも一部の、前記プロセッサ要素の前記計算エンジンに対するマッピングを実行するものであり、前記マッピングは、少なくとも1つの部分的なニューロンの重みを管理する工程を含むものである、前記機械語の第1のセットと、
前記ネイティブ命令セットから選択される機械語の第2のセットであって、前記少なくとも部分的なニューロンの重みに少なくとも部分的に基づいて、論理順方向にアクティベーションを伝搬させる順方向パスを実行するものであり、前記順方向パスは入力サンプルに応答して開始されるものである、前記機械語の第2のセットと、
前記ネイティブ命令セットから選択される機械語の第3のセットであって、論理逆方向にデルタパスを実行してデルタを生成するものであり、前記デルタパスは前記順方向パスの完了に応答して開始される、前記機械語の第3のセットと、
チェインパスを実行して前記デルタに基づいて勾配を計算する、前記ネイティブ命令セットから選択される機械語の第4のセットと、
所定の学習ルールに従って、且つ少なくとも部分的に前記デルタに基づいて、前記少なくとも1つの部分的なニューロンの重みの選択的更新を実行する、前記ネイティブ命令セットから選択される機械語の第5のセットと
を有し、
各計算エンジンは、前記少なくとも1つ部分的なニューロンの重みのための記憶装置を有するものである
システム。 - 請求項2記載のシステムにおいて、前記マッピングは、前記ファブリックを初期化してニューラルネットワークの複数の層に分割する工程に従って実行されるものであり、前記ニューロンは前記ニューラルネットワークの複数のニューロンのうちの第1のニューロンであり、前記第1のニューロンは前記複数の層のうちの第1の層に含まれ、前記複数のニューロンのそれぞれは、前記ファブリックの複数のプロセッサ要素にわたり分散してマッピングされるものであるシステム。
- 請求項3記載のシステムにおいて、前記複数の層は、論理ファブリックパイプライン段を有する論理ファブリックパイプラインとして動作し、各論理ファブリックパイプライン段は、各層における全てのパスの完了を含み、前記各層における完了には、同じ時間量を有する時間ステップが設定されるものであるシステム。
- 請求項3記載のシステムにおいて、トレーニングセットの各入力サンプルが、前記複数の層にわたる、前記プロセッサ要素のうちの少なくとも第1の複数のプロセッサ要素を通してストリーミングされる際、前記ニューロンの重みは、前記複数の層にわたり前記第1の複数のプロセッサ要素において選択的に更新されるものであるシステム。
- 請求項2記載のシステムにおいて、前記トレーニング作業負荷の反復は、集合的にトレーニングセットを構成する複数の入力サンプルの各々について実行されるものであるシステム。
- 請求項6記載のシステムにおいて、前記トレーニングセットは、複数のミニバッチに分割され、前記所定の学習ルールは、前記ミニバッチのそれぞれの各入力サンプルの前記パスの全てが完了した後、前記少なくとも1つの部分的なニューロンの重みが更新されることを指定するものであるシステム。
- 請求項7記載のシステムにおいて、前記順方向パスは、前記ミニバッチ学習が前記プロセッサ要素のうちの第1の複数のプロセッサ要素内で進行している間、前記プロセッサ要素のうちの前記第1の複数のプロセッサ要素内で重み更新を組み込むものであるシステム。
- 請求項6記載のシステムにおいて、各入力サンプルについて、前記システムは、前記入力サンプルに対応する前記順方向パス、前記デルタパス、及び前記チェインパスの完了に応答して、前記所定の学習ルールに従って前記少なくとも1つの部分的なニューロンの重みを選択的に更新することができるシステム。
- 請求項9記載のシステムにおいて、前記システムは、各順方向パスが、前記少なくとも1つの部分的なニューロンの重みの最新の選択的更新によって提供される重み情報を使用可能なように構成されているものであるシステム。
- 請求項10記載のシステムにおいて、前記システムは、少なくとも部分的に第1の部分的なニューロンの重みに基づいて再計算されたアクティベーションに少なくとも部分的に基づいて、各入力サンプルの前記デルタパス及び前記チェインパスを実行することができるシステム。
- 方法であって、
プロセッサ要素の各ファブリックにおいて、ファブリックパケットを前記プロセッサ要素のうちの他の要素に選択的に通信する工程であって、各プロセッサ要素は、ファブリックルータと、データフローベースの処理及び命令ベースの処理を実行することができる計算エンジンとを有するものである、前記通信する工程と、
各計算エンジンにおいて、前記計算エンジンが受信する各ファブリックパケットの仮想チャネル指定子及びタスク指定子に従って前記処理を選択的に実行する工程と
を有する方法。 - 請求項12記載の方法において、
各計算エンジンは、予め定義されたネイティブ命令セットのコードから選択された基本命令の受信に応答して、対応する予め定義された基本演算セットを実行するように構成され、さらに、
トレーニング作業負荷を処理する工程は、
前記ネイティブ命令セットから選択される機械語の第1のセットであって、ニューロンの少なくとも一部の、前記プロセッサ要素の前記計算エンジンに対するマッピングを実行するものであり、前記マッピングは、少なくとも1つの部分的なニューロンの重みを管理する工程を含むものである、前記機械語の第1のセットと、
前記ネイティブ命令セットから選択される機械語の第2のセットであって、前記少なくとも部分的なニューロンの重みに少なくとも部分的に基づいて、論理順方向にアクティベーションを伝搬させる順方向パスを実行するものであり、前記順方向パスは入力サンプルに応答して開始されるものである、前記機械語の第2のセットと、
前記ネイティブ命令セットから選択される機械語の第3のセットであって、論理逆方向にデルタパスを実行してデルタを生成するものであり、前記デルタパスは前記順方向パスの完了に応答して開始される、前記機械語の第3のセットと、
チェインパスを実行して前記デルタに基づいて勾配を計算する、前記ネイティブ命令セットから選択される機械語の第4のセットと、
所定の学習ルールに従って、且つ少なくとも部分的に前記デルタに基づいて、前記少なくとも1つの部分的なニューロンの重みの選択的更新を実行する、前記ネイティブ命令セットから選択される機械語の第5のセットと
を有し、
各計算エンジンは、前記少なくとも1つ部分的なニューロンの重みのための記憶装置を有するものである
方法。 - 請求項13記載の方法において、前記マッピングは、前記ファブリックを初期化してニューラルネットワークの複数の層に分割する工程に従って実行されるものであり、前記ニューロンは前記ニューラルネットワークの複数のニューロンのうちの第1のニューロンであり、前記第1のニューロンは前記複数の層のうちの第1の層に含まれ、前記複数のニューロンのそれぞれは、前記ファブリックの複数のプロセッサ要素にわたり分散してマッピングされるものである方法。
- 請求項14記載の方法において、前記複数の層は、論理ファブリックパイプライン段を有する論理ファブリックパイプラインとして動作し、各論理ファブリックパイプライン段は、各層における全てのパスの完了を含み、前記各層における完了には、同じ時間量を有する時間ステップが設定されるものである方法。
- 請求項14記載の方法において、トレーニングセットの各入力サンプルが、前記複数の層にわたる、前記プロセッサ要素のうちの少なくとも第1の複数のプロセッサ要素を通してストリーミングされる際、ニューロンの重みは、前記複数の層にわたり前記第1の複数のプロセッサ要素において選択的に更新されるものである方法。
- 請求項13記載の方法において、さらに、
集合的にトレーニングセットを構成する複数の入力サンプルの各々について、前記トレーニング作業負荷の反復を実行する工程を有するものである方法。 - 請求項17記載の方法において、さらに、
前記トレーニングセットを複数のミニバッチに分割する工程を有し、前記所定の学習ルールは、前記ミニバッチのそれぞれの各入力サンプルの前記パスの全てが完了した後、前記少なくとも1つの部分的なニューロンの重みが更新されることを指定するものである方法。 - 請求項18記載の方法において、前記順方向パスは、前記ミニバッチ学習が前記プロセッサ要素のうちの第1の複数のプロセッサ要素内で進行している間、前記第1の複数のプロセッサ要素内で重み更新を組み込むものである方法。
- 請求項17記載の方法において、さらに、
各入力サンプルについて、前記入力サンプルに対応する前記順方向パス、前記デルタパス、及び前記チェインパスの完了に応答して、前記所定の学習ルールに従って前記少なくとも1つの部分的なニューロンの重みを選択的に更新する工程を有するものである方法。 - 請求項20記載の方法において、さらに、
各順方向パスについて、前記少なくとも1つの部分的なニューロンの重みの最新の選択的更新によって提供される重み情報を選択的に使用する工程を有するものである方法。 - 請求項21記載の方法において、さらに、
少なくとも部分的に第1の部分的なニューロンの重みに基づいて再計算されたアクティベーションに少なくとも部分的に基づいて、各入力サンプルの前記デルタパス及び前記チェインパスを選択で実行する工程を有するものである方法。 - システムであって、
プロセッサ要素の各ファブリックにおいて、ファブリックパケットを前記プロセッサ要素のうちの他の要素に選択的に通信する手段であって、各プロセッサ要素は、ファブリックルータと、データフローベース及び命令ベースの処理を実行することができる計算エンジンとを有するものである、前記通信する手段と、
各計算エンジンにおいて、前記計算エンジンが受信する各ファブリックパケットの仮想チャネル指定子及びタスク指定子に従って前記処理を選択的に実行する手段と
を有するシステム。 - 請求項23記載のシステムにおいて、
各計算エンジンは、予め定義されたネイティブ命令セットのコードのから選択された基本命令の受信に応答して、対応する予め定義された基本演算セットを実行するように構成され、前記システムは、さらに、
トレーニング作業負荷を有し、
前記トレーニング作業負荷は、
前記ネイティブ命令セットから選択される機械語の第1のセットであって、ニューロンの少なくとも一部の、前記プロセッサ要素の前記計算エンジンに対するマッピングを実行するものであり、前記マッピングは、少なくとも1つの部分的なニューロンの重みを管理する工程を含むものである、前記機械語の第1のセットと、
前記ネイティブ命令セットから選択される機械語の第2のセットであって、前記少なくとも部分的なニューロンの重みに少なくとも部分的に基づいて、論理順方向にアクティベーションを伝搬させる順方向パスを実行するものであり、前記順方向パスは入力サンプルに応答して開始されるものである、前記機械語の第2のセットと、
前記ネイティブ命令セットから選択される機械語の第3のセットであって、論理逆方向にデルタパスを実行してデルタを生成するものであり、前記デルタパスは前記順方向パスの完了に応答して開始される、前記機械語の第3のセットと、
チェインパスを実行して前記デルタに基づいて勾配を計算する、前記ネイティブ命令セットから選択される機械語の第4のセットと、
所定の学習ルールに従って、且つ少なくとも部分的に前記デルタに基づいて、前記少なくとも1つの部分的なニューロンの重みの選択的更新を実行する、前記ネイティブ命令セットから選択される機械語の第5のセットと
を有し、
各計算エンジンは、前記少なくとも1つ部分的なニューロンの重みのための記憶装置を有するものである
システム。 - 請求項24記載のシステムにおいて、前記マッピングは、前記ファブリックを初期化してニューラルネットワークの複数の層に分割する工程に従って実行されるものであり、前記ニューロンは前記ニューラルネットワークの複数のニューロンのうちの第1のニューロンであり、前記第1のニューロンは前記複数の層のうちの第1の層に含まれ、前記複数のニューロンのそれぞれは、前記ファブリックの複数のプロセッサ要素にわたり分散してマッピングされるものであるシステム。
- 請求項25記載のシステムにおいて、前記複数の層は、論理ファブリックパイプライン段を有する論理ファブリックパイプラインとして動作し、各論理ファブリックパイプライン段は、各層における全てのパスの完了を含み、前記各層における完了には、同じ時間量を有する時間ステップが設定されるものであるシステム。
- 請求項25記載のシステムにおいて、トレーニングセットの各入力サンプルが、前記複数の層にわたる、前記プロセッサ要素のうちの少なくとも第1の複数のプロセッサ要素を通してストリーミングされる際、前記ニューロンの重みは、前記複数の層にわたり前記第1の複数のプロセッサ要素において選択的に更新されるものであるシステム。
- 請求項25記載のシステムにおいて、トレーニングセットの各入力サンプルが、前記複数の層にわたる少なくとも第1の複数のプロセッサ要素を通してストリーミングされる際、前記ニューロンの重みは、前記複数の層にわたり前記第1の複数のプロセッサ要素において選択的に更新され、前記ストリーミング及び更新は、複数の時間ステップにわたり各時間ステップで進行中であるものであるシステム。
- 請求項26記載のシステムにおいて、さらに、
アクティブ化の順方向伝搬が進行中である間、複数の時間ステップにわたり各時間ステップで前記プロセッサ要素のうちの第1の複数のプロセッサ要素内の逆方向伝搬データの変更に応答して、前記第1の複数のプロセッサ要素内の前記少なくとも1つの部分的なニューロンの重みを選択的に更新する手段を有するものであるシステム。 - 請求項26記載のシステムにおいて、さらに、
複数の時間ステップにわたり各時間ステップで前記少なくとも1つの部分的なニューロンの重みを選択的に更新する手段を有するものであるシステム。 - 請求項27、28、29、又は30記載のシステムにおいて、前記選択的な更新は、連続伝搬勾配降下プロセスに従うものであるシステム。
- 請求項24記載のシステムにおいて、さらに、
集合的にトレーニングセットを構成する複数の入力サンプルの各々について、前記トレーニング作業負荷の反復を実行する手段を有するものであるシステム。 - 請求項32記載のシステムにおいて、さらに、
前記トレーニングセットを複数のミニバッチに分割する手段を有し、前記所定の学習ルールは、前記ミニバッチのそれぞれの各入力サンプルの前記パスの全てが完了した後、前記少なくとも1つの部分的なニューロンの重みが更新されることを指定するものであるシステム。 - 請求項33記載のシステムにおいて、前記所定の学習ルールは、連続伝搬勾配降下プロセスに従うものであるシステム。
- 請求項33記載のシステムにおいて、前記順方向パスは、前記ミニバッチ学習が前記プロセッサ要素のうちの第1の複数のプロセッサ要素内で進行中である間、前記第1の複数のプロセッサ要素内に重み更新を組み込むものであるシステム。
- 請求項24記載のシステムにおいて、前記記憶装置は前記計算エンジンにローカルなメモリに含まれるものであるシステム。
- 請求項24記載のシステムにおいて、
各計算エンジンは、勾配累積、順方向部分和、デルタ部分和、及び順方向パスアクティベーションの記憶装置をさらに有するものであるシステム。 - 請求項32記載のシステムにおいて、さらに、
各入力サンプルについて、前記入力サンプルに対応する前記順方向パス、前記デルタパス、及び前記チェインパスの完了に応答して、前記所定の学習ルールに従って前記少なくとも1つの部分的なニューロンの重みを選択的に更新する手段を有するものであるシステム。 - 請求項38記載のシステムにおいて、前記所定の学習ルールは、連続伝搬勾配降下プロセスに従うものであるシステム。
- 請求項38記載のシステムにおいて、さらに、
各順方向パスについて、前記少なくとも1つの部分的なニューロンの重みの最新の選択的更新によって提供される重み情報を選択的に使用する手段を有するものであるシステム。 - 請求項40記載のシステムにおいて、さらに、
前記トレーニング作業負荷の事前反復に対応する前記少なくとも1つの部分的なニューロンの重みの前記選択的更新が行われたか否かに関係なく、前記トレーニング作業負荷の特定の反復の順方向パスを開始する手段を有するものであるシステム。 - 請求項40記載のシステムにおいて、さらに、
前記トレーニング作業負荷の事前反復の前記デルタパスが開始されたか否かに関係なく、前記トレーニング作業負荷の特定の反復の順方向パスを選択的に開始する手段を有するものであるシステム。 - 請求項40記載のシステムにおいて、さらに、
前記計算エンジンの少なくとも1つにおいて、前記トレーニング作業負荷の事前反復の順方向パスの少なくとも一部を実行した後及び前記トレーニング作業負荷の前記事前反復に対応する前記少なくとも1つの部分的なニューロンの重みの前記選択的更新の一部を実行する前、前記トレーニング作業負荷の後続反復の順方向パスの少なくとも一部を実行する手段を有するものであるシステム。 - 請求項40記載のシステムにおいて、さらに、
少なくとも部分的に第1の部分的なニューロンの重みに基づいて再計算されるアクティベーションに少なくとも部分的に基づいて、各入力サンプルの前記デルタパス及び前記チェインパスを選択的に実行する手段を有するものであるシステム。 - 請求項44記載のシステムにおいて、前記第1の部分的なニューロンの重みは、前記最新の選択的更新により生成される前記部分的なニューロンの重みであるシステム。
- 請求項45記載のシステムにおいて、前記再計算されたアクティベーションは、計算間で記憶する必要がなく、それにより、所与のシステムトレーニング構成で必要とされる総メモリを低減するものであるシステム。
- 請求項40記載のシステムにおいて、さらに、
各計算要素において、少なくとも部分的に第1の部分的なニューロンの重みに基づいて再計算されるアクティベーションに少なくとも部分的に基づいて、入力サンプルのデルタパスの部分及びチェインパスの部分を選択的に実行する手段を有するものであるシステム。
Applications Claiming Priority (23)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762462640P | 2017-02-23 | 2017-02-23 | |
US62/462,640 | 2017-02-23 | ||
US201762486372P | 2017-04-17 | 2017-04-17 | |
US62/486,372 | 2017-04-17 | ||
US201762517949P | 2017-06-11 | 2017-06-11 | |
US62/517,949 | 2017-06-11 | ||
US201762520433P | 2017-06-15 | 2017-06-15 | |
US62/520,433 | 2017-06-15 | ||
US201762522081P | 2017-06-19 | 2017-06-19 | |
US201762522065P | 2017-06-19 | 2017-06-19 | |
US62/522,065 | 2017-06-19 | ||
US62/522,081 | 2017-06-19 | ||
US201762542657P | 2017-08-08 | 2017-08-08 | |
US201762542645P | 2017-08-08 | 2017-08-08 | |
US62/542,657 | 2017-08-08 | ||
US62/542,645 | 2017-08-08 | ||
US201762580207P | 2017-11-01 | 2017-11-01 | |
US62/580,207 | 2017-11-01 | ||
US201862628773P | 2018-02-09 | 2018-02-09 | |
US201862628784P | 2018-02-09 | 2018-02-09 | |
US62/628,773 | 2018-02-09 | ||
US62/628,784 | 2018-02-09 | ||
PCT/IB2018/051128 WO2018154494A1 (en) | 2017-02-23 | 2018-02-23 | Accelerated deep learning |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021014029A Division JP2021082317A (ja) | 2017-02-23 | 2021-01-30 | 加速化ディープラーニング |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020508532A true JP2020508532A (ja) | 2020-03-19 |
JP6832050B2 JP6832050B2 (ja) | 2021-02-24 |
Family
ID=63253606
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019546879A Active JP6832050B2 (ja) | 2017-02-23 | 2018-02-23 | 加速化ディープラーニング |
JP2021014029A Pending JP2021082317A (ja) | 2017-02-23 | 2021-01-30 | 加速化ディープラーニング |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021014029A Pending JP2021082317A (ja) | 2017-02-23 | 2021-01-30 | 加速化ディープラーニング |
Country Status (7)
Country | Link |
---|---|
US (3) | US11934945B2 (ja) |
EP (1) | EP3563307B1 (ja) |
JP (2) | JP6832050B2 (ja) |
KR (1) | KR102369209B1 (ja) |
CN (2) | CN113792847B (ja) |
CA (2) | CA3051990C (ja) |
WO (1) | WO2018154494A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019095861A (ja) * | 2017-11-17 | 2019-06-20 | 株式会社東芝 | ニューラルネットワーク装置 |
KR102670756B1 (ko) * | 2023-03-06 | 2024-05-30 | 주식회사 모레 | 액티베이션 재계산을 이용한 컴파일링 최적화 방법 및 장치 |
Families Citing this family (79)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11934945B2 (en) | 2017-02-23 | 2024-03-19 | Cerebras Systems Inc. | Accelerated deep learning |
US10042614B1 (en) | 2017-03-29 | 2018-08-07 | International Business Machines Corporation | Hardware device based software generation |
US10101971B1 (en) | 2017-03-29 | 2018-10-16 | International Business Machines Corporation | Hardware device based software verification |
US10685294B2 (en) * | 2017-03-29 | 2020-06-16 | International Business Machines Corporation | Hardware device based software selection |
US11615297B2 (en) | 2017-04-04 | 2023-03-28 | Hailo Technologies Ltd. | Structured weight based sparsity in an artificial neural network compiler |
US10387298B2 (en) | 2017-04-04 | 2019-08-20 | Hailo Technologies Ltd | Artificial neural network incorporating emphasis and focus techniques |
US11544545B2 (en) | 2017-04-04 | 2023-01-03 | Hailo Technologies Ltd. | Structured activation based sparsity in an artificial neural network |
US11238334B2 (en) | 2017-04-04 | 2022-02-01 | Hailo Technologies Ltd. | System and method of input alignment for efficient vector operations in an artificial neural network |
US11551028B2 (en) | 2017-04-04 | 2023-01-10 | Hailo Technologies Ltd. | Structured weight based sparsity in an artificial neural network |
US11488004B2 (en) | 2017-04-17 | 2022-11-01 | Cerebras Systems Inc. | Neuron smearing for accelerated deep learning |
EP3607503B1 (en) * | 2017-04-17 | 2022-03-09 | Cerebras Systems Inc. | Task activating for accelerated deep learning |
CA3060368C (en) | 2017-04-17 | 2020-07-28 | Cerebras Systems Inc. | Dataflow triggered tasks for accelerated deep learning |
US20190005377A1 (en) * | 2017-06-30 | 2019-01-03 | Advanced Micro Devices, Inc. | Artificial neural network reduction to reduce inference computation time |
US10776982B2 (en) | 2017-07-03 | 2020-09-15 | Artomatix Ltd. | Systems and methods for providing non-parametric texture synthesis of arbitrary shape and/or material data in a unified framework |
GB2568230B (en) * | 2017-10-20 | 2020-06-03 | Graphcore Ltd | Processing in neural networks |
US11961001B2 (en) | 2017-12-15 | 2024-04-16 | Nvidia Corporation | Parallel forward and backward propagation |
US11630997B2 (en) * | 2018-01-23 | 2023-04-18 | Samsung Electronics Co., Ltd. | Method and apparatus with bit-serial data processing of a neural network |
US10970080B2 (en) | 2018-02-08 | 2021-04-06 | Marvell Asia Pte, Ltd. | Systems and methods for programmable hardware architecture for machine learning |
CN108446096B (zh) * | 2018-03-21 | 2021-01-29 | 杭州中天微系统有限公司 | 数据计算系统 |
US20190303740A1 (en) * | 2018-03-30 | 2019-10-03 | International Business Machines Corporation | Block transfer of neuron output values through data memory for neurosynaptic processors |
US10740434B1 (en) | 2018-04-20 | 2020-08-11 | Perceive Corporation | Reduced dot product computation circuit |
US11783167B1 (en) | 2018-04-20 | 2023-10-10 | Perceive Corporation | Data transfer for non-dot product computations on neural network inference circuit |
US11481612B1 (en) | 2018-04-20 | 2022-10-25 | Perceive Corporation | Storage of input values across multiple cores of neural network inference circuit |
US11016801B1 (en) * | 2018-05-22 | 2021-05-25 | Marvell Asia Pte, Ltd. | Architecture to support color scheme-based synchronization for machine learning |
US10891136B1 (en) | 2018-05-22 | 2021-01-12 | Marvell Asia Pte, Ltd. | Data transmission between memory and on chip memory of inference engine for machine learning via a single data gathering instruction |
US10929779B1 (en) * | 2018-05-22 | 2021-02-23 | Marvell Asia Pte, Ltd. | Architecture to support synchronization between core and inference engine for machine learning |
US10929778B1 (en) * | 2018-05-22 | 2021-02-23 | Marvell Asia Pte, Ltd. | Address interleaving for machine learning |
US10997510B1 (en) | 2018-05-22 | 2021-05-04 | Marvell Asia Pte, Ltd. | Architecture to support tanh and sigmoid operations for inference acceleration in machine learning |
US10929760B1 (en) | 2018-05-22 | 2021-02-23 | Marvell Asia Pte, Ltd. | Architecture for table-based mathematical operations for inference acceleration in machine learning |
WO2020044152A1 (en) | 2018-08-28 | 2020-03-05 | Cerebras Systems Inc. | Scaled compute fabric for accelerated deep learning |
WO2020044238A1 (en) | 2018-08-29 | 2020-03-05 | Cerebras Systems Inc. | Processor element redundancy for accelerated deep learning |
US11321087B2 (en) | 2018-08-29 | 2022-05-03 | Cerebras Systems Inc. | ISA enhancements for accelerated deep learning |
CN110874626B (zh) * | 2018-09-03 | 2023-07-18 | 华为技术有限公司 | 一种量化方法及装置 |
CN109447257B (zh) * | 2018-09-18 | 2021-08-17 | 复旦大学 | 一种通道自组织的深度神经网络加速芯片的运算装置 |
JP7003021B2 (ja) * | 2018-09-18 | 2022-01-20 | 株式会社東芝 | ニューラルネットワーク装置 |
US11157213B2 (en) * | 2018-10-12 | 2021-10-26 | Micron Technology, Inc. | Parallel memory access and computation in memory devices |
WO2020078470A1 (zh) * | 2018-10-18 | 2020-04-23 | 上海寒武纪信息科技有限公司 | 片上网络数据处理方法及装置 |
US11922314B1 (en) * | 2018-11-30 | 2024-03-05 | Ansys, Inc. | Systems and methods for building dynamic reduced order physical models |
US11610110B2 (en) | 2018-12-05 | 2023-03-21 | Bank Of America Corporation | De-conflicting data labeling in real time deep learning systems |
US11995533B1 (en) | 2018-12-05 | 2024-05-28 | Perceive Corporation | Executing replicated neural network layers on inference circuit |
WO2019072316A2 (en) * | 2019-01-11 | 2019-04-18 | Alibaba Group Holding Limited | DISTRIBUTED MULTI-PART SECURITY MODEL LEARNING APPARATUS FOR PRIVACY PROTECTION |
CN109783412B (zh) * | 2019-01-18 | 2022-04-22 | 电子科技大学 | 一种深度强化学习加速训练的方法 |
US11347297B1 (en) | 2019-01-23 | 2022-05-31 | Perceive Corporation | Neural network inference circuit employing dynamic memory sleep |
US11748599B2 (en) * | 2019-02-21 | 2023-09-05 | Texas Instruments Incorporated | Super-tiling in neural network processing to enable analytics at lower memory speed |
WO2020172494A1 (en) | 2019-02-22 | 2020-08-27 | Neureality Ltd. | Directed and interconnected grid dataflow architecture |
CN111723900B (zh) * | 2019-03-18 | 2023-10-20 | 北京灵汐科技有限公司 | 一种基于众核处理器的神经网络的映射方法及计算设备 |
US10467142B1 (en) * | 2019-05-07 | 2019-11-05 | 12 Sigma Technologies | Enhancement of real-time response to request for detached data analytics |
US11941533B1 (en) | 2019-05-21 | 2024-03-26 | Perceive Corporation | Compiler for performing zero-channel removal |
US10997116B2 (en) * | 2019-08-06 | 2021-05-04 | Microsoft Technology Licensing, Llc | Tensor-based hardware accelerator including a scalar-processing unit |
WO2021074795A1 (en) * | 2019-10-16 | 2021-04-22 | Cerebras Systems Inc. | Dynamic routing for accelerated deep learning |
US20220343136A1 (en) * | 2019-10-16 | 2022-10-27 | Cerebras Systems Inc. | Advanced wavelet filtering for accelerated deep learning |
JP7346235B2 (ja) * | 2019-10-16 | 2023-09-19 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
WO2021084485A1 (en) * | 2019-10-30 | 2021-05-06 | Cerebras Systems Inc. | Placement of compute and memory for accelerated deep learning |
US11687778B2 (en) | 2020-01-06 | 2023-06-27 | The Research Foundation For The State University Of New York | Fakecatcher: detection of synthetic portrait videos using biological signals |
US11620476B2 (en) * | 2020-05-14 | 2023-04-04 | Micron Technology, Inc. | Methods and apparatus for performing analytics on image data |
US11809908B2 (en) | 2020-07-07 | 2023-11-07 | SambaNova Systems, Inc. | Runtime virtualization of reconfigurable data flow resources |
CN111860818B (zh) * | 2020-07-23 | 2022-11-08 | 哈尔滨工业大学(威海) | 基于智能芯片的som神经网络算法处理方法 |
US11635967B2 (en) | 2020-09-25 | 2023-04-25 | Advanced Micro Devices, Inc. | Vertical and horizontal broadcast of shared operands |
US11263077B1 (en) | 2020-09-29 | 2022-03-01 | Hailo Technologies Ltd. | Neural network intermediate results safety mechanism in an artificial neural network processor |
US11237894B1 (en) | 2020-09-29 | 2022-02-01 | Hailo Technologies Ltd. | Layer control unit instruction addressing safety mechanism in an artificial neural network processor |
US11874900B2 (en) | 2020-09-29 | 2024-01-16 | Hailo Technologies Ltd. | Cluster interlayer safety mechanism in an artificial neural network processor |
US11221929B1 (en) | 2020-09-29 | 2022-01-11 | Hailo Technologies Ltd. | Data stream fault detection mechanism in an artificial neural network processor |
US11811421B2 (en) | 2020-09-29 | 2023-11-07 | Hailo Technologies Ltd. | Weights safety mechanism in an artificial neural network processor |
US20220138524A1 (en) * | 2020-10-29 | 2022-05-05 | Microsoft Technology Licensing, Llc | Training neural networks based on dual pipeline architectures |
CN112329941B (zh) * | 2020-11-04 | 2022-04-12 | 支付宝(杭州)信息技术有限公司 | 深度学习模型的更新方法及装置 |
US11776273B1 (en) * | 2020-11-30 | 2023-10-03 | Amazon Technologies, Inc. | Ensemble of machine learning models for automatic scene change detection |
US11392740B2 (en) * | 2020-12-18 | 2022-07-19 | SambaNova Systems, Inc. | Dataflow function offload to reconfigurable processors |
US11182221B1 (en) | 2020-12-18 | 2021-11-23 | SambaNova Systems, Inc. | Inter-node buffer-based streaming for reconfigurable processor-as-a-service (RPaaS) |
US11237880B1 (en) * | 2020-12-18 | 2022-02-01 | SambaNova Systems, Inc. | Dataflow all-reduce for reconfigurable processor systems |
KR102652476B1 (ko) * | 2020-12-31 | 2024-03-28 | 주식회사 딥엑스 | 인공신경망을 위한 방법 및 신경 프로세싱 유닛 |
US11782760B2 (en) | 2021-02-25 | 2023-10-10 | SambaNova Systems, Inc. | Time-multiplexed use of reconfigurable hardware |
CN113065647B (zh) * | 2021-03-30 | 2023-04-25 | 西安电子科技大学 | 加速神经网络的计算-存储通信系统及通信方法 |
US11748988B1 (en) | 2021-04-21 | 2023-09-05 | Amazon Technologies, Inc. | Shot contras five self-supervised learning of a plurality of machine learning models for video analysis applications |
US11769079B2 (en) | 2021-04-30 | 2023-09-26 | Samsung Electronics Co., Ltd. | Method and device for decoding data |
US11777812B2 (en) * | 2021-06-25 | 2023-10-03 | Qualcomm Technologies, Inc. | Zone-based federated learning |
EP4202767A1 (en) * | 2021-12-22 | 2023-06-28 | GrAl Matter Labs S.A.S. | Neuron core synchronization |
US20230251792A1 (en) * | 2022-02-04 | 2023-08-10 | Western Digital Technologies, Inc. | Memory Device Based Accelerated Deep-Learning System |
CN114637388A (zh) * | 2022-03-18 | 2022-06-17 | 中国科学院计算技术研究所 | 面向数据流处理器的功耗控制方法及装置 |
CN117273115B (zh) * | 2023-11-24 | 2024-03-29 | 上海燧原科技股份有限公司 | 一种反向计算图的静态生成方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0668056A (ja) * | 1992-08-20 | 1994-03-11 | Hitachi Ltd | 並列計算機システム |
JPH06110864A (ja) * | 1992-09-30 | 1994-04-22 | Sony Corp | 学習処理装置 |
JP2015535630A (ja) * | 2012-11-21 | 2015-12-14 | コーヒレント・ロジックス・インコーポレーテッド | 多層相互接続による分散型プロセッサを有する処理システム |
Family Cites Families (197)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE68909426T2 (de) | 1988-01-15 | 1994-01-27 | Quantel Ltd | Datenverarbeitung und -übertragung. |
JPH03175548A (ja) | 1989-12-04 | 1991-07-30 | Fujitsu Ltd | マイクロプロセッサ及びアドレス制御方式 |
US5226092A (en) * | 1991-06-28 | 1993-07-06 | Digital Equipment Corporation | Method and apparatus for learning in a neural network |
JP3219826B2 (ja) | 1992-02-21 | 2001-10-15 | 日本電気株式会社 | 情報処理装置 |
JPH05265996A (ja) | 1992-03-24 | 1993-10-15 | Nippon Telegr & Teleph Corp <Ntt> | ニューロコンピュータ |
JPH06195322A (ja) * | 1992-10-29 | 1994-07-15 | Hitachi Ltd | 汎用型ニューロコンピュータとして用いられる情報処理装置 |
CA2129882A1 (en) | 1993-08-12 | 1995-02-13 | Soheil Shams | Dynamically reconfigurable interprocessor communication network for simd multiprocessors and apparatus implementing same |
JP3384601B2 (ja) | 1994-02-23 | 2003-03-10 | 三洋電機株式会社 | 並列処理計算機 |
US5710549A (en) | 1994-09-30 | 1998-01-20 | Tandem Computers Incorporated | Routing arbitration for shared resources |
US5835024A (en) | 1995-06-07 | 1998-11-10 | International Business Machines Corporation | Multi-stage interconnection network with selectable function switching apparatus |
US6055618A (en) | 1995-10-31 | 2000-04-25 | Cray Research, Inc. | Virtual maintenance network in multiprocessing system having a non-flow controlled virtual maintenance channel |
US5870396A (en) | 1996-12-31 | 1999-02-09 | Northern Telecom Limited | Output queueing in a broadband multi-media satellite and terrestrial communications network |
US6285679B1 (en) | 1997-08-22 | 2001-09-04 | Avici Systems, Inc. | Methods and apparatus for event-driven routing |
US6212627B1 (en) | 1998-10-12 | 2001-04-03 | Intel Corporation | System for converting packed integer data into packed floating point data in reduced time |
US6246615B1 (en) | 1998-12-23 | 2001-06-12 | Micron Technology, Inc. | Redundancy mapping in a multichip semiconductor package |
JP2000278316A (ja) | 1999-03-23 | 2000-10-06 | Toshiba Microelectronics Corp | データ切替装置 |
US6542986B1 (en) | 1999-11-09 | 2003-04-01 | Advanced Micro Devices, Inc. | Resolving dependencies among concurrently dispatched instructions in a superscalar microprocessor |
GB0019341D0 (en) | 2000-08-08 | 2000-09-27 | Easics Nv | System-on-chip solutions |
EP1370966B1 (en) | 2001-02-24 | 2010-08-25 | International Business Machines Corporation | A novel massively parrallel supercomputer |
US20020141427A1 (en) | 2001-03-29 | 2002-10-03 | Mcalpine Gary L. | Method and apparatus for a traffic optimizing multi-stage switch fabric network |
JP4542722B2 (ja) | 2001-04-25 | 2010-09-15 | 富士通株式会社 | 命令処理方法 |
US7293002B2 (en) | 2001-06-19 | 2007-11-06 | Ohio University | Self-organizing data driven learning hardware with local interconnections |
US9170812B2 (en) | 2002-03-21 | 2015-10-27 | Pact Xpp Technologies Ag | Data processing system having integrated pipelined array data processor |
US7403525B2 (en) | 2002-05-15 | 2008-07-22 | Broadcom Corporation | Efficient routing of packet data in a scalable processing resource |
GB0304628D0 (en) | 2003-02-28 | 2003-04-02 | Imec Inter Uni Micro Electr | Method for hardware-software multitasking on a reconfigurable computing platform |
US7402897B2 (en) | 2002-08-08 | 2008-07-22 | Elm Technology Corporation | Vertical system integration |
EP1530755B1 (en) | 2002-08-16 | 2019-11-06 | Intel Corporation | Apparatus, method, and compiler enabling processing of variable length isntructions in a very long instruction word processor |
US20040115995A1 (en) | 2002-11-25 | 2004-06-17 | Sanders Samuel Sidney | Circuit array module |
US7299338B2 (en) | 2002-12-04 | 2007-11-20 | Agere Systems Inc. | Vector indexed memory unit and method |
ITRM20030354A1 (it) | 2003-07-17 | 2005-01-18 | Micron Technology Inc | Unita' di controllo per dispositivo di memoria. |
JP3984209B2 (ja) | 2003-07-31 | 2007-10-03 | 株式会社東芝 | 半導体記憶装置 |
US7701957B1 (en) | 2004-01-20 | 2010-04-20 | Integrated Device Technology, Inc. | Method and apparatus for switching, merging, and demerging data between data communication locations |
US7453810B2 (en) | 2004-07-27 | 2008-11-18 | Alcatel Lucent | Method and apparatus for closed loop, out-of-band backpressure mechanism |
US7277990B2 (en) | 2004-09-30 | 2007-10-02 | Sanjeev Jain | Method and apparatus providing efficient queue descriptor memory access |
US7493474B1 (en) | 2004-11-10 | 2009-02-17 | Altera Corporation | Methods and apparatus for transforming, loading, and executing super-set instructions |
US7657891B2 (en) | 2005-02-04 | 2010-02-02 | Mips Technologies, Inc. | Multithreading microprocessor with optimized thread scheduler for increasing pipeline utilization efficiency |
US7671398B2 (en) | 2005-02-23 | 2010-03-02 | Tran Bao Q | Nano memory, light, energy, antenna and strand-based systems and methods |
US8443169B2 (en) | 2005-03-28 | 2013-05-14 | Gerald George Pechanek | Interconnection network connecting operation-configurable nodes according to one or more levels of adjacency in multiple dimensions of communication in a multi-processor and a neural processor |
US7565657B1 (en) | 2005-04-19 | 2009-07-21 | Sandia Corporation | Allocating application to group of consecutive processors in fault-tolerant deadlock-free routing path defined by routers obeying same rules for path selection |
US8275976B2 (en) | 2005-08-29 | 2012-09-25 | The Invention Science Fund I, Llc | Hierarchical instruction scheduler facilitating instruction replay |
US20070058557A1 (en) | 2005-09-15 | 2007-03-15 | Interdigital Technology Corporation | Method and apparatus for scheduling data transmissions based on a traffic data pattern model |
US9009660B1 (en) | 2005-11-29 | 2015-04-14 | Tilera Corporation | Programming in a multiprocessor environment |
AU2007209758B2 (en) | 2006-01-24 | 2013-03-28 | Mycrolab Diagnostics Pty Ltd | Methods for low cost manufacturing of complex layered materials and devices |
US9542642B2 (en) | 2006-04-06 | 2017-01-10 | Samuel F. Wood | Packet data neural network system and method |
US8194690B1 (en) | 2006-05-24 | 2012-06-05 | Tilera Corporation | Packet processing in a parallel processing environment |
US8390325B2 (en) | 2006-06-21 | 2013-03-05 | Element Cxi, Llc | Reconfigurable integrated circuit architecture with on-chip configuration and reconfiguration |
US8010966B2 (en) | 2006-09-27 | 2011-08-30 | Cisco Technology, Inc. | Multi-threaded processing using path locks |
US7773616B2 (en) | 2006-11-08 | 2010-08-10 | Sicortex, Inc. | System and method for communicating on a richly connected multi-processor computer system using a pool of buffers for dynamic association with a virtual channel |
EP2122542B1 (en) * | 2006-12-08 | 2017-11-01 | Medhat Moussa | Architecture, system and method for artificial neural network implementation |
US7688725B2 (en) | 2007-02-07 | 2010-03-30 | King Fahd University Of Petroleum & Minerals | Content-aware congestion control system |
CN100591047C (zh) | 2007-02-10 | 2010-02-17 | 华为技术有限公司 | 一种多级交换网的反压方法、系统及交换节点 |
US8752032B2 (en) | 2007-02-23 | 2014-06-10 | Irdeto Canada Corporation | System and method of interlocking to protect software-mediated program and device behaviours |
EP2143298A1 (en) | 2007-05-01 | 2010-01-13 | Telefonaktiebolaget LM Ericsson (PUBL) | All optical processing circuit for conflict resolution and switch configuration in a 2x2 optical node |
JP5012232B2 (ja) | 2007-06-08 | 2012-08-29 | 富士通株式会社 | 光スイッチ装置 |
CN101354694B (zh) | 2007-07-26 | 2010-10-13 | 上海红神信息技术有限公司 | 基于mpu架构的超高扩展超级计算系统 |
US8526422B2 (en) | 2007-11-27 | 2013-09-03 | International Business Machines Corporation | Network on chip with partitions |
US7873701B2 (en) | 2007-11-27 | 2011-01-18 | International Business Machines Corporation | Network on chip with partitions |
US8862706B2 (en) | 2007-12-14 | 2014-10-14 | Nant Holdings Ip, Llc | Hybrid transport—application network fabric apparatus |
US8161209B2 (en) | 2008-03-31 | 2012-04-17 | Advanced Micro Devices, Inc. | Peer-to-peer special purpose processor architecture and method |
US8245240B2 (en) | 2008-04-04 | 2012-08-14 | Intel Corporation | Extended dynamic optimization of connection establishment and message progress processing in a multi-fabric message passing interface implementation |
TW200951752A (en) | 2008-06-06 | 2009-12-16 | Inotera Memories Inc | A method for prognostic maintenance in semiconductor manufacturing |
US20110213950A1 (en) | 2008-06-11 | 2011-09-01 | John George Mathieson | System and Method for Power Optimization |
GB0811057D0 (en) | 2008-06-17 | 2008-07-23 | Univ Ulster | Artificial neural network architecture |
US8103858B2 (en) | 2008-06-30 | 2012-01-24 | Intel Corporation | Efficient parallel floating point exception handling in a processor |
US8151088B1 (en) | 2008-07-08 | 2012-04-03 | Tilera Corporation | Configuring routing in mesh networks |
US8311057B1 (en) | 2008-08-05 | 2012-11-13 | Xilinx, Inc. | Managing formatting of packets of a communication protocol |
US8213308B2 (en) | 2008-09-11 | 2012-07-03 | Juniper Networks, Inc. | Methods and apparatus for defining a flow control signal related to a transmit queue |
US8423983B2 (en) | 2008-10-14 | 2013-04-16 | International Business Machines Corporation | Generating and executing programs for a floating point single instruction multiple data instruction set architecture |
US9152427B2 (en) | 2008-10-15 | 2015-10-06 | Hyperion Core, Inc. | Instruction issue to array of arithmetic cells coupled to load/store cells with associated registers as extended register file |
US7814303B2 (en) | 2008-10-23 | 2010-10-12 | International Business Machines Corporation | Execution of a sequence of vector instructions preceded by a swizzle sequence instruction specifying data element shuffle orders respectively |
US8918350B2 (en) | 2008-12-19 | 2014-12-23 | Optis Wireless Technology, Llc | Method and apparatus for routing data |
US20110022821A1 (en) | 2009-03-09 | 2011-01-27 | Yunsi Fei | System and Methods to Improve Efficiency of VLIW Processors |
US8549249B1 (en) | 2009-09-21 | 2013-10-01 | Tilera Corporation | Supporting secondary atomic operations using primary atomic operations |
US8396119B1 (en) | 2009-09-30 | 2013-03-12 | Ambarella, Inc. | Data sample compression and decompression using randomized quantization bins |
US8583896B2 (en) | 2009-11-13 | 2013-11-12 | Nec Laboratories America, Inc. | Massively parallel processing core with plural chains of processing elements and respective smart memory storing select data received from each chain |
US8559307B2 (en) | 2009-12-28 | 2013-10-15 | Empire Technology Development Llc | Routing packets in on-chip networks |
CN101778049A (zh) | 2010-03-04 | 2010-07-14 | 南京大学 | 包-电路交换片上路由器及其传输方法 |
US8379659B2 (en) | 2010-03-29 | 2013-02-19 | Intel Corporation | Performance and traffic aware heterogeneous interconnection network |
US9015448B2 (en) | 2010-06-17 | 2015-04-21 | Advanced Micro Devices, Inc. | Message broadcast with router bypassing |
US9065773B2 (en) | 2010-06-22 | 2015-06-23 | Juniper Networks, Inc. | Methods and apparatus for virtual channel flow control associated with a switch fabric |
US8880866B2 (en) | 2010-10-15 | 2014-11-04 | Coherent Logix, Incorporated | Method and system for disabling communication paths in a multiprocessor fabric by setting register values to disable the communication paths specified by a configuration |
US8738860B1 (en) | 2010-10-25 | 2014-05-27 | Tilera Corporation | Computing in parallel processing environments |
US8745626B1 (en) | 2012-12-17 | 2014-06-03 | Throughputer, Inc. | Scheduling application instances to configurable processing cores based on application requirements and resource specification |
US8843425B2 (en) | 2011-07-29 | 2014-09-23 | International Business Machines Corporation | Hierarchical routing for two-way information flow and structural plasticity in neural networks |
US8712941B2 (en) | 2011-09-21 | 2014-04-29 | Brain Corporation | Elementary network description for efficient link between neuronal models and neuromorphic systems |
WO2013032753A2 (en) | 2011-08-26 | 2013-03-07 | The Trustees Of Columbia University In The City Of New York | Systems and methods for switched-inductor integrated voltage regulators |
US20140211630A1 (en) | 2011-09-28 | 2014-07-31 | Vincent E. Cavanna | Managing packet flow in a switch faric |
US10078515B2 (en) | 2011-10-03 | 2018-09-18 | International Business Machines Corporation | Tracking operand liveness information in a computer system and performing function based on the liveness information |
US8909690B2 (en) | 2011-12-13 | 2014-12-09 | International Business Machines Corporation | Performing arithmetic operations using both large and small floating point values |
KR101197103B1 (ko) | 2012-03-09 | 2012-11-07 | (주) 지솔루션 | 위성압축영상 분할처리 장치 및 그 방법 |
US9390461B1 (en) | 2012-05-08 | 2016-07-12 | Apple Inc. | Graphics hardware mode controls |
JP2013251715A (ja) | 2012-05-31 | 2013-12-12 | Toshiba Corp | ルータ及びメニーコアシステム |
US9563841B2 (en) | 2012-07-31 | 2017-02-07 | International Business Machines Corporation | Globally asynchronous and locally synchronous (GALS) neuromorphic network |
US9569279B2 (en) | 2012-07-31 | 2017-02-14 | Nvidia Corporation | Heterogeneous multiprocessor design for power-efficient and area-efficient computing |
US9507746B2 (en) | 2012-10-22 | 2016-11-29 | Intel Corporation | Control messaging in multislot link layer flit |
US9373073B2 (en) * | 2012-12-21 | 2016-06-21 | International Business Machines Corporation | Time-division multiplexed neurosynaptic module with implicit memory addressing for implementing a universal substrate of adaptation |
US9826058B2 (en) | 2013-02-27 | 2017-11-21 | Nec Corporation | Method for operating a network |
US9471388B2 (en) | 2013-03-14 | 2016-10-18 | Altera Corporation | Mapping network applications to a hybrid programmable many-core device |
US9086813B2 (en) | 2013-03-15 | 2015-07-21 | Qualcomm Incorporated | Method and apparatus to save and restore system memory management unit (MMU) contexts |
EP2796987A1 (en) | 2013-04-26 | 2014-10-29 | EM Microelectronic-Marin SA | Random number generator |
US9069602B2 (en) | 2013-09-25 | 2015-06-30 | Netronome Systems, Incorporated | Transactional memory that supports put and get ring commands |
FR3011659B1 (fr) | 2013-10-04 | 2015-10-16 | Commissariat Energie Atomique | Circuit electronique, notamment apte a l'implementation d'un reseau de neurones, et systeme neuronal |
US9924490B2 (en) | 2013-10-09 | 2018-03-20 | International Business Machines Corporation | Scaling multi-core neurosynaptic networks across chip boundaries |
US9563599B2 (en) | 2013-11-04 | 2017-02-07 | Lewis Rhodes Labs, Inc. | Computing architecture for operating on sequential data |
US10044612B2 (en) | 2013-11-06 | 2018-08-07 | Citrix Systems, Inc. | Systems and methods for port allocation |
US9699079B2 (en) | 2013-12-30 | 2017-07-04 | Netspeed Systems | Streaming bridge design with host interfaces and network on chip (NoC) layers |
US9614745B2 (en) | 2014-01-09 | 2017-04-04 | Citrix Systems, Inc. | Systems and methods for cloud-based probing and diagnostics |
EP3108358B1 (en) | 2014-02-20 | 2021-06-23 | Stillwater Supercomputing, Inc. | Execution engine for executing single assignment programs with affine dependencies |
US20150242741A1 (en) | 2014-02-21 | 2015-08-27 | Qualcomm Incorporated | In situ neural network co-processing |
US9348557B1 (en) | 2014-02-21 | 2016-05-24 | Altera Corporation | Fused floating point datapath with correct rounding |
US10282465B2 (en) | 2014-02-25 | 2019-05-07 | Intel Corporation | Systems, apparatuses, and methods for deep learning of feature detectors with sparse coding |
US10650301B2 (en) | 2014-05-08 | 2020-05-12 | International Business Machines Corporation | Utilizing a distributed and parallel set of neurosynaptic core circuits for neuronal computation and non-neuronal computation |
US20150324690A1 (en) | 2014-05-08 | 2015-11-12 | Microsoft Corporation | Deep Learning Training System |
US9785565B2 (en) | 2014-06-30 | 2017-10-10 | Microunity Systems Engineering, Inc. | System and methods for expandably wide processor instructions |
US9330433B2 (en) | 2014-06-30 | 2016-05-03 | Intel Corporation | Data distribution fabric in scalable GPUs |
US20160019061A1 (en) | 2014-07-21 | 2016-01-21 | Qualcomm Incorporated | MANAGING DATAFLOW EXECUTION OF LOOP INSTRUCTIONS BY OUT-OF-ORDER PROCESSORS (OOPs), AND RELATED CIRCUITS, METHODS, AND COMPUTER-READABLE MEDIA |
US10528682B2 (en) | 2014-09-04 | 2020-01-07 | Netspeed Systems | Automatic performance characterization of a network-on-chip (NOC) interconnect |
US11049006B2 (en) * | 2014-09-12 | 2021-06-29 | Microsoft Technology Licensing, Llc | Computing system for training neural networks |
WO2016054441A1 (en) * | 2014-10-01 | 2016-04-07 | Thalchemy Corporation | Efficient and scalable systems for calculating neural network connectivity in an event-driven way |
US10120716B2 (en) | 2014-10-02 | 2018-11-06 | International Business Machines Corporation | Task pooling and work affinity in data processing |
EP3035204B1 (en) | 2014-12-19 | 2018-08-15 | Intel Corporation | Storage device and method for performing convolution operations |
US9961019B2 (en) | 2014-12-22 | 2018-05-01 | Intel Corporation | Adaptively switched network-on-chip |
GB2546603B (en) | 2015-01-16 | 2019-05-08 | Imagination Tech Ltd | Arbiter verification |
US9568960B2 (en) | 2015-02-20 | 2017-02-14 | International Business Machines Corporation | Supercomputer using wafer scale integration |
KR20160112186A (ko) * | 2015-03-18 | 2016-09-28 | 삼성전자주식회사 | 뉴럴 네트워크에서 이벤트에 기반한 학습 방법 및 장치 |
US9747218B2 (en) | 2015-03-20 | 2017-08-29 | Mill Computing, Inc. | CPU security mechanisms employing thread-specific protection domains |
US9729460B2 (en) | 2015-04-13 | 2017-08-08 | Arista Networks, Inc. | Method and system for managing port bandwidth in network devices |
FR3035243B1 (fr) | 2015-04-20 | 2018-06-29 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Placement d'une tache de calcul sur un processeur fonctionnellement asymetrique |
US10325202B2 (en) * | 2015-04-28 | 2019-06-18 | Qualcomm Incorporated | Incorporating top-down information in deep neural networks via the bias term |
US10346170B2 (en) | 2015-05-05 | 2019-07-09 | Intel Corporation | Performing partial register write operations in a processor |
IL238690B (en) | 2015-05-07 | 2019-07-31 | Mellanox Technologies Ltd | Network-based computational accelerator |
US10262259B2 (en) | 2015-05-08 | 2019-04-16 | Qualcomm Incorporated | Bit width selection for fixed point neural networks |
US10192162B2 (en) | 2015-05-21 | 2019-01-29 | Google Llc | Vector computation unit in a neural network processor |
US10140572B2 (en) | 2015-06-25 | 2018-11-27 | Microsoft Technology Licensing, Llc | Memory bandwidth management for deep learning applications |
US9946548B2 (en) | 2015-06-26 | 2018-04-17 | Microsoft Technology Licensing, Llc | Age-based management of instruction blocks in a processor instruction window |
US10452995B2 (en) | 2015-06-29 | 2019-10-22 | Microsoft Technology Licensing, Llc | Machine learning classification on hardware accelerators with stacked memory |
US10540588B2 (en) * | 2015-06-29 | 2020-01-21 | Microsoft Technology Licensing, Llc | Deep neural network processing on hardware accelerators with stacked memory |
US20160379109A1 (en) | 2015-06-29 | 2016-12-29 | Microsoft Technology Licensing, Llc | Convolutional neural networks on hardware accelerators |
US11244225B2 (en) | 2015-07-10 | 2022-02-08 | Samsung Electronics Co., Ltd. | Neural network processor configurable using macro instructions |
US10452399B2 (en) | 2015-09-19 | 2019-10-22 | Microsoft Technology Licensing, Llc | Broadcast channel architectures for block-based processors |
US11126433B2 (en) | 2015-09-19 | 2021-09-21 | Microsoft Technology Licensing, Llc | Block-based processor core composition register |
US10936316B2 (en) | 2015-09-19 | 2021-03-02 | Microsoft Technology Licensing, Llc | Dense read encoding for dataflow ISA |
US10051475B2 (en) | 2015-09-28 | 2018-08-14 | Department 13, Inc. | Unmanned aerial vehicle intrusion detection and countermeasures |
US10614354B2 (en) | 2015-10-07 | 2020-04-07 | Altera Corporation | Method and apparatus for implementing layers on a convolutional neural network accelerator |
US9817661B2 (en) | 2015-10-07 | 2017-11-14 | Arm Limited | Floating point number rounding |
US10509765B2 (en) | 2015-10-08 | 2019-12-17 | Via Alliance Semiconductor Co., Ltd. | Neural processing unit that selectively writes back to neural memory either activation function output or accumulator value |
US11165717B2 (en) | 2015-10-26 | 2021-11-02 | Western Digital Technologies, Inc. | Fabric interconnection for memory banks based on network-on-chip methodology |
US10489152B2 (en) | 2016-01-28 | 2019-11-26 | International Business Machines Corporation | Stochastic rounding floating-point add instruction using entropy from a register |
EP3408798B1 (en) | 2016-01-29 | 2020-07-15 | FotoNation Limited | A convolutional neural network |
KR102420897B1 (ko) | 2016-03-17 | 2022-07-18 | 에스케이하이닉스 주식회사 | 메모리 모듈, 이를 포함하는 메모리 시스템 및 그의 동작 방법 |
US10142258B2 (en) | 2016-04-08 | 2018-11-27 | Advanced Micro Devices, Inc. | Methods and apparatus for processing in a network on chip (NOC) |
US9910673B2 (en) | 2016-04-19 | 2018-03-06 | Xiaolin Wang | Reconfigurable microprocessor hardware architecture |
CN113203080A (zh) | 2016-04-22 | 2021-08-03 | 纳米格有限公司 | 用于连接和控制可配置照明单元的系统和方法 |
GB2549933B (en) | 2016-04-27 | 2018-08-01 | Imagination Tech Ltd | Verification of hardware designs to implement floating point power functions |
JP6898359B2 (ja) | 2016-06-14 | 2021-07-07 | タータン エーアイ リミテッド | ディープニューラルネットワーク用のアクセラレータ |
US10015072B2 (en) | 2016-07-07 | 2018-07-03 | Netscout Systems, Inc. | Consolidation of network test automation tools |
US10621486B2 (en) | 2016-08-12 | 2020-04-14 | Beijing Deephi Intelligent Technology Co., Ltd. | Method for optimizing an artificial neural network (ANN) |
US11064019B2 (en) | 2016-09-14 | 2021-07-13 | Advanced Micro Devices, Inc. | Dynamic configuration of inter-chip and on-chip networks in cloud computing system |
US10157059B2 (en) | 2016-09-29 | 2018-12-18 | Intel Corporation | Instruction and logic for early underflow detection and rounder bypass |
US10607136B2 (en) | 2017-08-03 | 2020-03-31 | Xcelsis Corporation | Time borrowing between layers of a three dimensional chip stack |
US10991675B2 (en) | 2016-10-10 | 2021-04-27 | Monolithic 3D Inc. | 3D semiconductor device and structure |
US10127043B2 (en) | 2016-10-19 | 2018-11-13 | Rex Computing, Inc. | Implementing conflict-free instructions for concurrent operation on a processor |
US10355975B2 (en) | 2016-10-19 | 2019-07-16 | Rex Computing, Inc. | Latency guaranteed network on chip |
US10700968B2 (en) | 2016-10-19 | 2020-06-30 | Rex Computing, Inc. | Optimized function assignment in a multi-core processor |
US10528321B2 (en) | 2016-12-07 | 2020-01-07 | Microsoft Technology Licensing, Llc | Block floating point for neural network implementations |
US10871964B2 (en) | 2016-12-29 | 2020-12-22 | Qualcomm Incorporated | Architecture for sparse neural network acceleration |
US10558575B2 (en) | 2016-12-30 | 2020-02-11 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10416999B2 (en) | 2016-12-30 | 2019-09-17 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10565492B2 (en) | 2016-12-31 | 2020-02-18 | Via Alliance Semiconductor Co., Ltd. | Neural network unit with segmentable array width rotator |
US20180189229A1 (en) | 2017-01-04 | 2018-07-05 | Stmicroelectronics S.R.L. | Deep convolutional network heterogeneous architecture |
US10810492B2 (en) | 2017-01-27 | 2020-10-20 | Hewlett Packard Enterprise Development Lp | Memory side acceleration for deep learning parameter updates |
US10096134B2 (en) | 2017-02-01 | 2018-10-09 | Nvidia Corporation | Data compaction and memory bandwidth reduction for sparse neural networks |
US11934945B2 (en) | 2017-02-23 | 2024-03-19 | Cerebras Systems Inc. | Accelerated deep learning |
US10256198B2 (en) | 2017-03-23 | 2019-04-09 | Intel Corporation | Warpage control for microelectronics packages |
PL3607453T3 (pl) | 2017-04-07 | 2022-11-28 | Intel Corporation | Sposoby i urządzenie dla potoku wykonawczego sieci głębokiego uczenia na platformie multiprocesorowej |
US10637744B2 (en) | 2017-04-12 | 2020-04-28 | Battelle Memorial Institute | Complementary workflows for identifying one-hop network behavior and multi-hop network dependencies |
US11449574B2 (en) | 2017-04-14 | 2022-09-20 | Cerebras Systems Inc. | Floating-point unit stochastic rounding for accelerated deep learning |
CA3060368C (en) | 2017-04-17 | 2020-07-28 | Cerebras Systems Inc. | Dataflow triggered tasks for accelerated deep learning |
EP3607503B1 (en) | 2017-04-17 | 2022-03-09 | Cerebras Systems Inc. | Task activating for accelerated deep learning |
US20180322386A1 (en) * | 2017-05-05 | 2018-11-08 | Intel Corporation | Fine-grain compute communication execution for deep learning frameworks |
US11488008B2 (en) * | 2017-05-05 | 2022-11-01 | Intel Corporation | Hardware implemented point to point communication primitives for machine learning |
EP3662474B1 (en) | 2017-07-30 | 2023-02-22 | NeuroBlade Ltd. | A memory-based distributed processor architecture |
US10963780B2 (en) | 2017-08-24 | 2021-03-30 | Google Llc | Yield improvements for three-dimensionally stacked neural network accelerators |
KR102452953B1 (ko) | 2017-10-30 | 2022-10-11 | 삼성전자주식회사 | 뉴럴 네트워크의 컨볼루션 연산을 수행하는 방법 및 장치 |
US20190205736A1 (en) * | 2017-12-29 | 2019-07-04 | Intel Corporation | Compute optimization mechanism for deep neural networks |
US11373088B2 (en) * | 2017-12-30 | 2022-06-28 | Intel Corporation | Machine learning accelerator mechanism |
US11769042B2 (en) | 2018-02-08 | 2023-09-26 | Western Digital Technologies, Inc. | Reconfigurable systolic neural network engine |
KR102555057B1 (ko) | 2018-05-09 | 2023-07-12 | 에스케이하이닉스 주식회사 | 웨이트 매트릭스를 포맷하는 방법, 포맷된 데이터를 사용하는 가속기 및 이를 포함하는 시스템 |
US10289816B1 (en) | 2018-06-08 | 2019-05-14 | Gsfm Llc | Methods, systems, and devices for an encrypted and obfuscated algorithm in a computing environment |
US11062202B2 (en) | 2018-07-25 | 2021-07-13 | Cerebras Systems Inc. | Numerical representation for neural networks |
WO2020044152A1 (en) | 2018-08-28 | 2020-03-05 | Cerebras Systems Inc. | Scaled compute fabric for accelerated deep learning |
WO2020044238A1 (en) | 2018-08-29 | 2020-03-05 | Cerebras Systems Inc. | Processor element redundancy for accelerated deep learning |
US11321087B2 (en) | 2018-08-29 | 2022-05-03 | Cerebras Systems Inc. | ISA enhancements for accelerated deep learning |
US10802942B2 (en) | 2018-12-28 | 2020-10-13 | Intel Corporation | Methods and apparatus to detect anomalies of a monitored system |
US11360667B2 (en) | 2019-09-09 | 2022-06-14 | Stmicroelectronics S.R.L. | Tagged memory operated at lower vmin in error tolerant system |
WO2021084485A1 (en) | 2019-10-30 | 2021-05-06 | Cerebras Systems Inc. | Placement of compute and memory for accelerated deep learning |
WO2022034542A1 (en) | 2020-08-14 | 2022-02-17 | Cerebras Systems Inc. | Weight sparsity techniques for accelerated deep learning |
-
2018
- 2018-02-23 US US16/481,016 patent/US11934945B2/en active Active
- 2018-02-23 CA CA3051990A patent/CA3051990C/en active Active
- 2018-02-23 KR KR1020197027495A patent/KR102369209B1/ko active IP Right Grant
- 2018-02-23 JP JP2019546879A patent/JP6832050B2/ja active Active
- 2018-02-23 WO PCT/IB2018/051128 patent/WO2018154494A1/en active Search and Examination
- 2018-02-23 CA CA3108151A patent/CA3108151C/en active Active
- 2018-02-23 US US15/903,340 patent/US10699189B2/en active Active
- 2018-02-23 EP EP18756971.0A patent/EP3563307B1/en active Active
- 2018-02-23 CN CN202110540433.6A patent/CN113792847B/zh active Active
- 2018-02-23 CN CN201880013504.3A patent/CN110869946B/zh active Active
-
2020
- 2020-06-24 US US16/911,203 patent/US11580394B2/en active Active
-
2021
- 2021-01-30 JP JP2021014029A patent/JP2021082317A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0668056A (ja) * | 1992-08-20 | 1994-03-11 | Hitachi Ltd | 並列計算機システム |
JPH06110864A (ja) * | 1992-09-30 | 1994-04-22 | Sony Corp | 学習処理装置 |
JP2015535630A (ja) * | 2012-11-21 | 2015-12-14 | コーヒレント・ロジックス・インコーポレーテッド | 多層相互接続による分散型プロセッサを有する処理システム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019095861A (ja) * | 2017-11-17 | 2019-06-20 | 株式会社東芝 | ニューラルネットワーク装置 |
KR102670756B1 (ko) * | 2023-03-06 | 2024-05-30 | 주식회사 모레 | 액티베이션 재계산을 이용한 컴파일링 최적화 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
EP3563307A1 (en) | 2019-11-06 |
US10699189B2 (en) | 2020-06-30 |
US20200005142A1 (en) | 2020-01-02 |
CA3051990A1 (en) | 2018-08-30 |
KR20210014056A (ko) | 2021-02-08 |
CA3051990C (en) | 2021-03-23 |
WO2018154494A1 (en) | 2018-08-30 |
CN113792847B (zh) | 2024-03-08 |
US11934945B2 (en) | 2024-03-19 |
US20210142167A1 (en) | 2021-05-13 |
CA3108151C (en) | 2024-02-20 |
JP2021082317A (ja) | 2021-05-27 |
US11580394B2 (en) | 2023-02-14 |
CA3108151A1 (en) | 2018-08-30 |
KR102369209B1 (ko) | 2022-02-28 |
US20180314941A1 (en) | 2018-11-01 |
CN113792847A (zh) | 2021-12-14 |
JP6832050B2 (ja) | 2021-02-24 |
CN110869946B (zh) | 2021-05-11 |
EP3563307A4 (en) | 2020-01-22 |
EP3563307B1 (en) | 2023-04-12 |
CN110869946A (zh) | 2020-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6832050B2 (ja) | 加速化ディープラーニング | |
JP7233656B2 (ja) | 加速化ディープラーニングのタスクアクティベーション | |
EP3607504B1 (en) | Neuron smearing for accelerated deep learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191112 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191112 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20191112 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20191217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200310 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20200610 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20200808 |
|
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: 20201201 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20201229 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210130 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6832050 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |