JP7430744B2 - 機械学習モデルを改良して局所性を改善させること - Google Patents
機械学習モデルを改良して局所性を改善させること Download PDFInfo
- Publication number
- JP7430744B2 JP7430744B2 JP2022082336A JP2022082336A JP7430744B2 JP 7430744 B2 JP7430744 B2 JP 7430744B2 JP 2022082336 A JP2022082336 A JP 2022082336A JP 2022082336 A JP2022082336 A JP 2022082336A JP 7430744 B2 JP7430744 B2 JP 7430744B2
- Authority
- JP
- Japan
- Prior art keywords
- machine learning
- memory
- data
- learning model
- operations
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000010801 machine learning Methods 0.000 title claims description 371
- 230000015654 memory Effects 0.000 claims description 529
- 238000000034 method Methods 0.000 claims description 36
- 238000004364 calculation method Methods 0.000 claims description 27
- 238000013500 data storage Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 9
- 238000007670 refining Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 2
- 230000005055 memory storage Effects 0.000 claims 2
- 238000000638 solvent extraction Methods 0.000 claims 2
- 238000004891 communication Methods 0.000 claims 1
- 230000006872 improvement Effects 0.000 description 49
- 238000010586 diagram Methods 0.000 description 18
- 238000013528 artificial neural network Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1021—Hit rate improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6028—Prefetching based on hints or prefetch instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
Description
本明細書は、一般に、メモリの特性に基づいて機械学習モデルを改良して局所性を改善させることに関する。
本明細書は、機械学習モデルの局所性を改善させること、および改善したモデルを利用して機械学習の計算を行うことに関する技術について説明する。
力データが第2作業によって入力としていつ使われるかに基づいて、第1作業の出力データが複数のメモリのうち第1メモリに格納されると判断するステップを含み得る。第1メモリは、複数のメモリのうち第2メモリよりも低いメモリバンド幅を有し得る。この判断に応答して、更新済みの機械学習モデルは、機械学習プロセッサに、第1作業によって出力データが生成された後に第1作業の出力データを第1メモリに格納させる第1制御データと、機械学習プロセッサに、出力データが第2作業への入力として使われる前に出力データを第1メモリから第2メモリに転送させる第2制御データとを含み得る。
ドすることが可能になる。
詳細な説明
一般に、本明細書において説明する主題は、更新済み機械学習モデルを作成して機械学習モデルが展開される機械学習プロセッサのメモリ階層の特性を考慮することに関する。機械学習モデルは、機械学習モデルの作業、データ依存関係、および/または制御依存関係を改良し、メモリ階層の特性に基づいて機械学習モデルのデータアクセスの局所性を改善させることによって更新され得る。たとえば、機械学習モデルを改良して、データ配置(たとえば、共通して利用されるデータをより高速なメモリに格納すること)および/またはデータ移動(たとえば、しばらくの間利用されることのないデータをより低速のメモリに格納し、利用される前により高速なメモリにプリフェッチすること)における局所性を改善させることができる。
トワークは、より深層かつより複雑に進化している。この増え続ける要求に応えるために、全結合層計算ユニット(たとえば、プロセッサコア)を有する新しいアクセラレータ(たとえば、機械学習プロセッサ)が導入されている。低いメモリバンド幅は、たとえば、アイドル状態の計算ユニットにメモリからのデータを待たせることによって計算ユニットの性能を限定し得る。本明細書において説明するニューラルネットワーク実行における局所性を改善させるためのハードウェアおよびソフトウェア技術は、メモリアクセス速度を向上させることができるので、計算ユニットが機械学習の計算を行う速度を上げることができる。
(たとえば、作業に対する入力テンソルのサイズに基づく)、ならびにメモリ階層の特性を用いて、改善モジュール131は、作業ごとに入力データおよび出力データをいつどこに格納するかを判断することができる。
タをどこに格納するかについての判断は、そのときの総合データ記憶要件に基づき得る。
。
せるデータを含み得る。たとえば、改善モジュール131は、機械学習プロセッサ140に機械学習の計算において使われる重みをオンチップメモリに保持させるデータを、更新済みの機械学習モデル132に含め得る。これにより、このようなデータを計算ユニット(たとえば、コア)により速くロードすることが可能になる。
あるため、L1メモリ203は、主メモリ204よりもかなり高いバンド幅を有し得る。しかしながら、L1メモリ203のサイズが限定されているため、機械学習データによっては、コア202によって使われるまで主メモリ204に格納されるデータもある。いくつかの実施態様では、L1メモリ203は、SRAM(Static Random-Access Memory)であり、主メモリ204は、DRAM(Dynamic Random-Access Memory)である。
回するメモリチャネル311は、より小さくかつ頻繁にアクセスされるデータが上書きされずに主メモリ305から依然として高速アクセス可能になるよう、有用であり得る。
よび416は、SRAMであり、主メモリ408および418は、DRAMである。別の例では、L1メモリ404および414は、SRAMであり、L2メモリ406および416ならびに主メモリ408および418は、DRAMである。
なるまで作業Cを実行しない必要がある。これは、これらのエッジのデータ依存関係を表している。同様に、エッジ713は、作業Cが実行された後に機械学習プロセッサに作業Dを実行させる。エッジ715および716は、作業Cおよび作業Hの両方が実行された後に機械学習プロセッサに作業Iを実行させる。
とえば、作業Fと作業Gとの間のデータ)を格納するために使うことが出来るより高速のL1メモリ722を不必要に用いることなく、作業Iが実行される前にデータが必ず転送されるようにすることができる。
の複数のメモリのうち第1メモリ(たとえば、より低速のメモリ)に、作業の出力データが第2作業によって入力としていつ使われるかに基づいて格納されると判断するステップを含み得る。これに応答して、改善モジュールは、機械学習プロセッサに、出力データが第1作業によって生成された後に第1作業の出力データを第1メモリに格納させる第1制御データ(たとえば、作業、アノテーションなど)を、更新済みの機械学習モデルに含め得る。また、改善モジュールは、出力データが第2作業への入力として使われる前に機械学習プロセッサに出力データを第1メモリから第2メモリ(たとえば、より高速なメモリ)に転送(たとえば、プリフェッチ)させる第2制御データを、更新済みの機械学習モデルを含め得る。
デルを訓練するための訓練プロセスのイテレーションを実行するために必要な作業を含み得る。また、これらの作業は、機械学習モデルによってフォワードパスを実行するために必要な作業と、機械学習モデルによってバックワードパスを実行するために必要な作業、つまり、機械学習モデルの重みまたはパラメータに関して勾配を判断するために必要な逆伝播作業とを含み得る。
Claims (15)
- 機械学習モデルの局所性を改善するための方法であって、前記方法はデータ処理装置によって実行され、前記方法は、
機械学習モデルのデータを受け付けるステップを含み、前記データは、前記機械学習モデルの複数の演算を表し、前記方法は、さらに、
前記機械学習モデルが展開される1つ以上の機械学習プロセッサのメモリ階層の特性を指定するデータを受け付けるステップを含み、前記メモリ階層は、前記機械学習モデルを利用して機械学習の計算を行うときに前記1つ以上の機械学習プロセッサによって使われる機械学習データを格納するための複数のメモリを含み、前記特性は、各メモリのデータ記憶容量と、各メモリのメモリバンド幅とを含み、前記複数のメモリのうち少なくとも1つは、少なくとも1つのその他のメモリとは異なるメモリバンド幅を有し、前記方法は、さらに、
前記機械学習モデルのデータおよび前記メモリ階層の特性に基づいて、更新済み機械学習モデルを作成するステップを含み、前記作成するステップは、
前記機械学習モデルに基づいて、前記機械学習モデルの所与の演算の出力データは前記複数のメモリのうちバンド幅が最も高いメモリに格納されるべきであると判断するステップと、
前記所与の演算の出力データは、前記バンド幅が最も高いメモリのデータ記憶容量よりも大きいデータサイズを有すると判断するステップと、
前記所与の演算の出力データは、前記バンド幅が最も高いメモリの前記データ記憶容量よりも大きいデータサイズを有すると判断したことに応答して、出力データの各部分が、前記バンド幅が最も高いメモリのデータ記憶容量以下であるデータサイズを有するように、前記出力データを複数の出力データ部分に分割するための1つ以上の演算を前記更新済み機械学習モデルに追加するステップと、
前記更新済みの機械学習モデルを利用して機械学習の計算を行うステップとを含む、方法。 - 前記出力データは、テンソルを含み、
前記出力データを前記複数の出力データ部分に分割するための前記1つ以上の演算は、前記テンソルを複数のサブテンソルに分割するための分割演算を含む、請求項1に記載の方法。 - 前記更新済み機械学習モデルを作成するステップは、サブテンソルごとにそれぞれの演算シーケンスを前記機械学習モデルに追加するステップを含み、各それぞれの演算シーケンスは、前記機械学習モデルにおいて前記テンソルに対して行われる特定の演算シーケンスに対応する、請求項2に記載の方法。
- 前記更新済み機械学習モデルを作成するステップは、前記それぞれの演算シーケンスのうち1つ以上の演算シーケンスのうちの、前記それぞれの演算シーケンスから次のそれぞれの演算シーケンスのうちの最初の演算まで制御を移す最後の演算における各制御依存関係を、前記機械学習モデルに追加するステップを含む、請求項3に記載の方法。
- 前記更新済み機械学習モデルを作成するステップは、前記機械学習モデルを改良して、所与の演算シーケンスについての前記サブテンソルを、前記所与の演算シーケンスが行われている間に前記バンド幅が最も高いメモリ上に格納するステップを含む、請求項4に記載の方法。
- 前記更新済み機械学習モデルを作成するステップは、前記複数のサブテンソルを1つの出力テンソルにマージするように構成された結合演算を、前記更新済み機械学習モデルに追加するステップを含む、請求項2に記載の方法。
- 前記更新済み機械学習モデルを作成するステップは、前記機械学習モデルの前記複数の演算のうち1つ以上の演算の各々について、前記1つ以上の機械学習プロセッサの前記メモリ階層の特性に基づいて、前記1つ以上の機械学習プロセッサの前記複数のメモリのうちどのメモリに前記演算の出力を格納するかを判断し、判断の結果に応じて前記機械学習モデルを更新するステップを含む、請求項1に記載の方法。
- 機械学習計算システムであって、
データ処理装置と、
前記データ処理装置とデータ通信するメモリ記憶装置とを備え、前記メモリ記憶装置は、前記データ処理装置によって実行可能な命令を格納し、前記命令は、実行されると、前記データ処理装置に複数の動作を実行させ、前記複数の動作は、
機械学習モデルのデータを受け付けることを含み、前記データは、前記機械学習モデルの演算を表し、前記複数の動作は、さらに、
前記機械学習モデルが展開される1つ以上の機械学習プロセッサのメモリ階層の特性を指定するデータを受け付けることを含み、前記メモリ階層は、前記機械学習モデルを利用して機械学習の計算を行うときに前記1つ以上の機械学習プロセッサによって使われる機械学習データを格納するための複数のメモリを含み、前記特性は、各メモリのデータ記憶容量と、各メモリのメモリバンド幅とを含み、前記複数のメモリのうち少なくとも1つは、少なくとも1つのその他のメモリとは異なるメモリバンド幅を有し、前記複数の動作は、さらに、
前記機械学習モデルのデータおよび前記メモリ階層の特性に基づいて、更新済み機械学習モデルを作成することを含み、前記作成することは、
前記機械学習モデルに基づいて、前記機械学習モデルの所与の演算の出力データは、前記複数のメモリのうちバンド幅が最も高いメモリに格納されるべきであると判断することと、
前記所与の演算の出力データは、前記バンド幅が最も高いメモリのデータ記憶容量よりも大きいデータサイズを有すると判断することと、
前記所与の演算の出力データは、前記バンド幅が最も高いメモリの前記データ記憶容量よりも大きいデータサイズを有すると判断したことに応答して、出力データの各部分が前記バンド幅が最も高いメモリの前記データ記憶容量以下のデータサイズを有するように、前記出力データを複数の出力データ部分に分割するための1つ以上の演算を、前記更新済み機械学習モデルに追加することと、
前記更新済みの機械学習モデルを利用して機械学習の計算を行うこととを含む、機械学習計算システム。 - 前記出力データは、テンソルを含み、
前記出力データを前記複数の出力データ部分に分割するための前記1つ以上の演算は、前記テンソルを複数のサブテンソルに分割するための分割演算を含む、請求項8に記載のシステム。 - 前記更新済み機械学習モデルを作成することは、サブテンソルごとに各演算シーケンスを前記機械学習モデルに追加することを含み、各演算シーケンスは、前記機械学習モデルにおいて前記テンソルに対して行われる特定の演算シーケンスに対応する、請求項9に記載のシステム。
- 前記更新済み機械学習モデルを作成することは、前記それぞれの前記演算シーケンスのうち1つ以上の演算シーケンスのうちの、前記演算シーケンスから次の演算シーケンスの最初の演算まで制御を移す最後の演算における各制御依存関係を、前記機械学習モデルに追加することを含む、請求項10に記載のシステム。
- 前記更新済み機械学習モデルを作成することは、前記機械学習モデルを改良して、所与の演算シーケンスのための前記サブテンソルを、前記所与の演算シーケンスが行われている間に前記バンド幅が最も高いメモリ上に格納することを含む、請求項11に記載のシステム。
- 前記更新済み機械学習モデルを作成することは、前記複数のサブテンソルを1つの出力テンソルにマージするように構成された結合演算を前記更新済み機械学習モデルに追加することを含む、請求項9に記載のシステム。
- 前記更新済み機械学習モデルを作成することは、前記機械学習モデルの演算のうち1つ以上の演算の各々について、前記1つ以上の機械学習プロセッサの前記メモリ階層の特性に基づいて前記1つ以上の機械学習プロセッサの前記複数のメモリのうちどのメモリに前記演算の出力を格納するかを判断し、判断の結果に応じて前記機械学習モデルを更新することを含む、請求項8に記載のシステム。
- 請求項1~7のいずれかに記載の方法を1つ以上のデータ処理装置に実行させるためのコンピュータプログラム。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/156,573 US11263529B2 (en) | 2018-10-10 | 2018-10-10 | Modifying machine learning models to improve locality |
US16/156,573 | 2018-10-10 | ||
PCT/US2019/043861 WO2020076392A1 (en) | 2018-10-10 | 2019-07-29 | Modifying machine learning models to improve locality |
JP2020566754A JP7078758B2 (ja) | 2018-10-10 | 2019-07-29 | 機械学習モデルを改良して局所性を改善させること |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020566754A Division JP7078758B2 (ja) | 2018-10-10 | 2019-07-29 | 機械学習モデルを改良して局所性を改善させること |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022130363A JP2022130363A (ja) | 2022-09-06 |
JP7430744B2 true JP7430744B2 (ja) | 2024-02-13 |
Family
ID=67551741
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020566754A Active JP7078758B2 (ja) | 2018-10-10 | 2019-07-29 | 機械学習モデルを改良して局所性を改善させること |
JP2022082336A Active JP7430744B2 (ja) | 2018-10-10 | 2022-05-19 | 機械学習モデルを改良して局所性を改善させること |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020566754A Active JP7078758B2 (ja) | 2018-10-10 | 2019-07-29 | 機械学習モデルを改良して局所性を改善させること |
Country Status (10)
Country | Link |
---|---|
US (2) | US11263529B2 (ja) |
EP (1) | EP3864582A1 (ja) |
JP (2) | JP7078758B2 (ja) |
KR (2) | KR102572757B1 (ja) |
CN (1) | CN112236784A (ja) |
BR (1) | BR112020024353B1 (ja) |
CA (1) | CA3101214C (ja) |
SG (1) | SG11202011588QA (ja) |
TW (2) | TWI728421B (ja) |
WO (1) | WO2020076392A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11610117B2 (en) * | 2018-12-27 | 2023-03-21 | Tesla, Inc. | System and method for adapting a neural network model on a hardware platform |
KR20200084099A (ko) * | 2019-01-02 | 2020-07-10 | 삼성전자주식회사 | 뉴럴 네트워크 최적화 장치 및 뉴럴 네트워크 최적화 방법 |
US11687795B2 (en) * | 2019-02-19 | 2023-06-27 | International Business Machines Corporation | Machine learning engineering through hybrid knowledge representation |
US11610134B2 (en) * | 2019-07-08 | 2023-03-21 | Vianai Systems, Inc. | Techniques for defining and executing program code specifying neural network architectures |
US11556757B1 (en) * | 2020-12-10 | 2023-01-17 | Neuralmagic Ltd. | System and method of executing deep tensor columns in neural networks |
US20220188631A1 (en) * | 2020-12-16 | 2022-06-16 | Xmos Inc. | Artificial neural network implementation |
US20240144030A1 (en) * | 2021-06-09 | 2024-05-02 | Intel Corporation | Methods and apparatus to modify pre-trained models to apply neural architecture search |
US11960982B1 (en) | 2021-10-21 | 2024-04-16 | Neuralmagic, Inc. | System and method of determining and executing deep tensor columns in neural networks |
US20230205539A1 (en) * | 2021-12-29 | 2023-06-29 | Advanced Micro Devices, Inc. | Iommu collocated resource manager |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060212654A1 (en) | 2005-03-18 | 2006-09-21 | Vinod Balakrishnan | Method and apparatus for intelligent instruction caching using application characteristics |
US20170124454A1 (en) | 2015-10-28 | 2017-05-04 | Google Inc. | Modifying computational graphs |
US20170161604A1 (en) | 2015-12-02 | 2017-06-08 | Google Inc. | Determining Orders of Execution of a Neural Network |
WO2017163442A1 (ja) | 2016-03-24 | 2017-09-28 | 富士ゼロックス株式会社 | 画像処理装置、画像処理方法、及び画像処理プログラム |
US10019668B1 (en) | 2017-05-19 | 2018-07-10 | Google Llc | Scheduling neural network processing |
US20180204117A1 (en) | 2017-01-19 | 2018-07-19 | Google Inc. | Dynamic-length stateful tensor array |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5664191A (en) | 1994-06-30 | 1997-09-02 | Microsoft Corporation | Method and system for improving the locality of memory references during execution of a computer program |
US7826396B2 (en) | 2005-03-07 | 2010-11-02 | Miller John L | System and method for implementing PNRP locality |
US8965819B2 (en) | 2010-08-16 | 2015-02-24 | Oracle International Corporation | System and method for effective caching using neural networks |
US10489703B2 (en) | 2015-05-20 | 2019-11-26 | Nec Corporation | Memory efficiency for convolutional neural networks operating on graphics processing units |
CN108279890B (zh) | 2017-01-06 | 2021-12-24 | 阿里巴巴集团控股有限公司 | 组件发布方法、组件构建方法及图形化机器学习算法平台 |
EP3376441B1 (en) | 2017-03-15 | 2021-07-14 | Siemens Aktiengesellschaft | A method for execution of a machine learning model on memory restricted industrial device |
US20190392287A1 (en) * | 2018-06-22 | 2019-12-26 | Samsung Electronics Co., Ltd. | Neural processor |
-
2018
- 2018-10-10 US US16/156,573 patent/US11263529B2/en active Active
-
2019
- 2019-07-29 WO PCT/US2019/043861 patent/WO2020076392A1/en unknown
- 2019-07-29 CN CN201980036543.XA patent/CN112236784A/zh active Pending
- 2019-07-29 CA CA3101214A patent/CA3101214C/en active Active
- 2019-07-29 SG SG11202011588QA patent/SG11202011588QA/en unknown
- 2019-07-29 EP EP19752352.5A patent/EP3864582A1/en active Pending
- 2019-07-29 JP JP2020566754A patent/JP7078758B2/ja active Active
- 2019-07-29 KR KR1020227038854A patent/KR102572757B1/ko active IP Right Grant
- 2019-07-29 BR BR112020024353-1A patent/BR112020024353B1/pt active IP Right Grant
- 2019-07-29 KR KR1020207034304A patent/KR102465896B1/ko active IP Right Grant
- 2019-08-08 TW TW108128203A patent/TWI728421B/zh active
- 2019-08-08 TW TW110113999A patent/TWI757153B/zh active
-
2022
- 2022-02-15 US US17/672,163 patent/US11915139B2/en active Active
- 2022-05-19 JP JP2022082336A patent/JP7430744B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060212654A1 (en) | 2005-03-18 | 2006-09-21 | Vinod Balakrishnan | Method and apparatus for intelligent instruction caching using application characteristics |
US20170124454A1 (en) | 2015-10-28 | 2017-05-04 | Google Inc. | Modifying computational graphs |
US20170161604A1 (en) | 2015-12-02 | 2017-06-08 | Google Inc. | Determining Orders of Execution of a Neural Network |
WO2017163442A1 (ja) | 2016-03-24 | 2017-09-28 | 富士ゼロックス株式会社 | 画像処理装置、画像処理方法、及び画像処理プログラム |
US20180204117A1 (en) | 2017-01-19 | 2018-07-19 | Google Inc. | Dynamic-length stateful tensor array |
US10019668B1 (en) | 2017-05-19 | 2018-07-10 | Google Llc | Scheduling neural network processing |
Also Published As
Publication number | Publication date |
---|---|
US11263529B2 (en) | 2022-03-01 |
JP2022130363A (ja) | 2022-09-06 |
KR20220153689A (ko) | 2022-11-18 |
US20200117999A1 (en) | 2020-04-16 |
US20220172060A1 (en) | 2022-06-02 |
BR112020024353B1 (pt) | 2023-11-07 |
KR20210002676A (ko) | 2021-01-08 |
SG11202011588QA (en) | 2020-12-30 |
BR112020024353A2 (pt) | 2021-02-23 |
CA3101214C (en) | 2023-09-26 |
TW202134957A (zh) | 2021-09-16 |
JP2021532437A (ja) | 2021-11-25 |
KR102465896B1 (ko) | 2022-11-09 |
TWI728421B (zh) | 2021-05-21 |
TW202014939A (zh) | 2020-04-16 |
US11915139B2 (en) | 2024-02-27 |
TWI757153B (zh) | 2022-03-01 |
WO2020076392A1 (en) | 2020-04-16 |
KR102572757B1 (ko) | 2023-08-29 |
CA3101214A1 (en) | 2020-04-16 |
CN112236784A (zh) | 2021-01-15 |
JP7078758B2 (ja) | 2022-05-31 |
EP3864582A1 (en) | 2021-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7430744B2 (ja) | 機械学習モデルを改良して局所性を改善させること | |
US11907830B2 (en) | Neural network architecture using control logic determining convolution operation sequence | |
KR102175044B1 (ko) | 인공 신경망 역방향 트레이닝 실행용 장치와 방법 | |
CN110689115B (zh) | 神经网络模型处理方法、装置、计算机设备及存储介质 | |
CN110689121A (zh) | 一种用多核处理器实现神经网络模型拆分方法及相关产品 | |
JP2021506032A (ja) | オンチップの計算ネットワーク | |
KR20210148586A (ko) | 스케줄러, 스케줄러의 동작 방법 및 이를 포함한 가속기 시스템 | |
US20210312014A1 (en) | Asymmetric allocation of sram and data layout for efficient matrix-matrix multiplication | |
CN113496248A (zh) | 训练计算机实施的模型的方法和设备 | |
US20230004855A1 (en) | Co-operative and adaptive machine learning execution engines | |
US20230196124A1 (en) | Runtime predictors for neural network computation reduction | |
US20210117800A1 (en) | Multiple locally stored artificial neural network computations | |
KR20220049294A (ko) | 스케줄러, 스케줄러의 동작 방법 및 이를 포함한 전자 장치 | |
KR20240007354A (ko) | 가속기를 분할하는 전자 장치, 배치를 할당하는 전자 장치 및 그 동작 방법 | |
KR20220033314A (ko) | 호스트 프로세서 및 가속기의 동작 방법 및 이들을 포함한 전자 장치 | |
WO2021079168A1 (en) | Multiple locally stored artificial neural network computations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220706 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220706 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230614 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230620 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230829 |
|
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: 20231205 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20240104 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240131 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7430744 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |