JP2022130363A - 機械学習モデルを改良して局所性を改善させること - Google Patents
機械学習モデルを改良して局所性を改善させること Download PDFInfo
- Publication number
- JP2022130363A JP2022130363A JP2022082336A JP2022082336A JP2022130363A JP 2022130363 A JP2022130363 A JP 2022130363A JP 2022082336 A JP2022082336 A JP 2022082336A JP 2022082336 A JP2022082336 A JP 2022082336A JP 2022130363 A JP2022130363 A JP 2022130363A
- Authority
- JP
- Japan
- Prior art keywords
- machine learning
- memory
- data
- learning model
- task
- 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
- 238000010801 machine learning Methods 0.000 title claims abstract description 404
- 230000006872 improvement Effects 0.000 title abstract description 26
- 230000015654 memory Effects 0.000 claims abstract description 573
- 238000000034 method Methods 0.000 claims abstract description 33
- 238000004364 calculation method Methods 0.000 claims abstract description 9
- 238000012545 processing Methods 0.000 claims description 20
- 238000012546 transfer Methods 0.000 claims description 19
- 238000013500 data storage Methods 0.000 claims description 16
- 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
- 238000004891 communication Methods 0.000 claims description 2
- 230000005055 memory storage Effects 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 17
- 238000013528 artificial neural network Methods 0.000 description 11
- 238000005067 remediation Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000012549 training 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
- 230000000694 effects Effects 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
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function 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
- 238000000844 transformation Methods 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
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- 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
- 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
- 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
- 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/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- 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
Abstract
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 (20)
- データ処理装置によって実行される方法であって、
機械学習モデルのデータを受け付けるステップを含み、前記データは、前記機械学習モデルの作業および前記作業間のデータ依存関係を表し、前記方法は、さらに、
前記機械学習モデルが展開される機械学習プロセッサのメモリ階層の特性を指定するデータを受け付けるステップを含み、前記メモリ階層は、前記機械学習モデルを利用して機械学習の計算を行うときに前記機械学習プロセッサによって使われる機械学習データを格納するための複数のメモリを複数のメモリレベルに含み、前記特性は、各メモリのデータ記憶容量と、各メモリのメモリバンド幅とを含み、前記複数のメモリのうち少なくとも1つは、少なくとも1つのその他のメモリとは異なるメモリバンド幅を有し、前記方法は、さらに、
前記機械学習モデルの作業および制御依存関係を改良して前記メモリ階層の特性を考慮することによって、前記機械学習モデルのデータおよび前記メモリ階層の特性に基づいて更新済み機械学習モデルを作成するステップと、
前記更新済みの機械学習モデルを利用して機械学習の計算を行うステップとを含む、方法。 - 前記機械学習モデルのデータは、前記機械学習モデルの作業と、前記作業間の制御依存関係と、前記作業間のデータ依存関係とを表すグラフを含む、請求項1に記載の方法。
- 前記更新済みの機械学習モデルを作成するステップは、前記作業のうち少なくとも一部の作業について、前記作業の出力を格納するためのメモリを、前記出力が別の作業への入力としていつ使われるかに基づいて前記複数のメモリの中から選択するステップを含む、請求項1に記載の方法。
- 前記更新済みの機械学習モデルを作成するステップは、
第1作業の出力データが第2作業によって入力としていつ使われるかに基づいて、前記第1作業の出力データが前記複数のメモリのうち第1メモリに格納されると判断するステップを含み、前記第1メモリは、前記複数のメモリのうち第2メモリよりも低いメモリバンド幅を有し、前記判断に応答して、
前記機械学習プロセッサに、前記第1作業によって前記出力データが生成された後に前記第1作業の出力データを前記第1メモリに格納させる第1制御データと、
前記機械学習プロセッサに、前記出力データが前記第2作業への入力として使われる前に前記出力データを前記第1メモリから前記第2メモリに転送させる第2制御データとを、
前記更新済みの機械学習モデルに含める、請求項1に記載の方法。 - 前記第2制御データは、前記機械学習プロセッサに、前記第1作業および前記第2作業とは異なる第3作業が実行されることに応答して前記出力データを前記第1メモリから前記第2メモリに転送させる、請求項4に記載の方法。
- 第1作業の出力データが第2作業によって入力としていつ使われるかに基づいて、前記第1作業の出力データが前記複数のメモリのうち第1メモリに格納されると判断するステップは、
(i)前記第1作業と前記第2作業との間に実行される作業の数または(ii)前記第1作業が実行される時点から前記第2作業が実行される時点までの予想期間のうち、少なくとも1つに基づいて、前記第1作業の出力データが前記第1メモリに格納されると判断するステップを含む、請求項4に記載の方法。 - 前記更新済みの機械学習モデルを作成するステップは、
前記機械学習モデルの特定の作業シーケンスのための入力データが前記複数のメモリのうち特定のメモリよりも多くのデータ記憶容量を必要とすると判断するステップを含み、前記判断に応答して、
前記特定の作業シーケンスと同じ作業シーケンスを含む複数の作業シーケンスと、
前記機械学習プロセッサに前記入力データを複数のデータ部分に分割させる第1制御データと、
前記機械学習プロセッサに各データ部分を前記複数の作業シーケンスの各作業シーケンスに割り当てさせる第2制御データと、
前記機械学習プロセッサに前記複数の作業シーケンスを連続して実行させる第3制御データとを、
前記更新済みの機械学習モデルに含める、請求項1に記載の方法。 - 前記更新済みの機械学習モデルを作成するステップは、第2の機械学習モデルを利用して前記更新済みの機械学習モデルを前記機械学習モデルおよび前記メモリ階層の特性に基づいて作成するステップを含む、請求項1に記載の方法。
- システムであって、
データ処理装置と、
前記データ処理装置とデータ通信するメモリ記憶装置とを備え、前記メモリ記憶装置は、前記データ処理装置によって実行可能な命令を格納し、前記命令は、実行されると、前記データ処理装置に動作を実行させ、前記動作は、
機械学習モデルのデータを受け付けることを含み、前記データは、前記機械学習モデルの作業および前記作業間のデータ依存関係を表し、前記動作は、さらに、
前記機械学習モデルが展開される機械学習プロセッサのメモリ階層の特性を指定するデータを受け付けることを含み、前記メモリ階層は、前記機械学習モデルを利用して機械学習の計算を行うときに前記機械学習プロセッサによって使われる機械学習データを格納するための複数のメモリを複数のメモリレベルに含み、前記特性は、各メモリのデータ記憶容量と、各メモリのメモリバンド幅とを含み、前記複数のメモリのうち少なくとも1つは、少なくとも1つのその他のメモリとは異なるメモリバンド幅を有し、前記動作は、さらに、
前記機械学習モデルの作業および制御依存関係を改良して前記メモリ階層の特性を考慮することによって、前記機械学習モデルのデータおよび前記メモリ階層の特性に基づいて更新済み機械学習モデルを作成することと、
前記更新済みの機械学習モデルを利用して機械学習の計算を行うこととを含む、システム。 - 前記機械学習モデルのデータは、前記機械学習モデルの作業と、前記作業間の制御依存関係と、前記作業間のデータ依存関係とを表すグラフを含む、請求項9に記載のシステム。
- 前記更新済みの機械学習モデルを作成することは、前記作業のうち少なくとも一部の作業について、前記作業の出力を格納するためのメモリを、前記出力が別の作業への入力としていつ使われるかに基づいて前記複数のメモリの中から選択することを含む、請求項9に記載のシステム。
- 前記更新済みの機械学習モデルを作成することは、
第1作業の出力データが第2作業によって入力としていつ使われるかに基づいて、前記第1作業の出力データが前記複数のメモリのうち第1メモリに格納されると判断することを含み、前記第1メモリは、前記複数のメモリのうち第2メモリよりも低いメモリバンド
幅を有し、前記判断に応答して、
前記機械学習プロセッサに、前記第1作業によって前記出力データが生成された後に前記第1作業の出力データを前記第1メモリに格納させる第1制御データと、
前記機械学習プロセッサに、前記出力データが前記第2作業への入力として使われる前に前記出力データを前記第1メモリから前記第2メモリに転送させる第2制御データとを、
前記更新済みの機械学習モデルに含める、請求項9に記載のシステム。 - 前記第2制御データは、前記機械学習プロセッサに、前記第1作業および前記第2作業とは異なる第3作業が実行されることに応答して前記出力データを前記第1メモリから前記第2メモリに転送させる、請求項12に記載のシステム。
- 第1作業の出力データが第2作業によって入力としていつ使われるかに基づいて、前記第1作業の出力データが前記複数のメモリのうち第1メモリに格納されると判断することは、
(i)前記第1作業と前記第2作業との間に実行される作業の数または(ii)前記第1作業が実行される時点から前記第2作業が実行される時点までの予想期間のうち、少なくとも1つに基づいて、前記第1作業の出力データが前記第1メモリに格納されると判断することを含む、請求項12に記載のシステム。 - 前記更新済みの機械学習モデルを作成することは、
前記機械学習モデルの特定の作業シーケンスのための入力データが前記複数のメモリのうち特定のメモリよりも多くのデータ記憶容量を必要とすると判断することを含み、前記判断に応答して、
前記特定の作業シーケンスと同じ作業シーケンスを含む複数の作業シーケンスと、
前記機械学習プロセッサに前記入力データを複数のデータ部分に分割させる第1制御データと、
前記機械学習プロセッサに各データ部分を前記複数の作業シーケンスの各作業シーケンスに割り当てさせる第2制御データと、
前記機械学習プロセッサに前記複数の作業シーケンスを連続して実行させる第3制御データとを、
前記更新済みの機械学習モデルに含める、請求項9に記載のシステム。 - 前記更新済みの機械学習モデルを作成することは、第2の機械学習モデルを利用して前記更新済みの機械学習モデルを前記機械学習モデルおよび前記メモリ階層の特性に基づいて作成することを含む、請求項9に記載のシステム。
- コンピュータプログラムが符号化されている非一時的なコンピュータ記憶媒体であって、前記プログラムは命令を含み、前記命令は、1つ以上のデータ処理装置によって実行されると、前記データ処理装置に動作を実行させ、前記動作は、
機械学習モデルのデータを受け付けることを含み、前記データは、前記機械学習モデルの作業および前記作業間のデータ依存関係を表し、前記動作は、さらに、
前記機械学習モデルが展開される機械学習プロセッサのメモリ階層の特性を指定するデータを受け付けることを含み、前記メモリ階層は、前記機械学習モデルを利用して機械学習の計算を行うときに前記機械学習プロセッサによって使われる機械学習データを格納するための複数のメモリを複数のメモリレベルに含み、前記特性は、各メモリのデータ記憶容量と、各メモリのメモリバンド幅とを含み、前記複数のメモリのうち少なくとも1つは、少なくとも1つのその他のメモリとは異なるメモリバンド幅を有し、前記動作は、さらに、
前記機械学習モデルの作業および制御依存関係を改良して前記メモリ階層の特性を考
慮することによって、前記機械学習モデルのデータおよび前記メモリ階層の特性に基づいて更新済み機械学習モデルを作成することと、
前記更新済みの機械学習モデルを利用して機械学習の計算を行うこととを含む、非一時的なコンピュータ記憶媒体。 - 前記機械学習モデルのデータは、前記機械学習モデルの作業と、前記作業間の制御依存関係と、前記作業間のデータ依存関係とを表すグラフを含む、請求項17に記載の非一時的なコンピュータ記憶媒体。
- 前記更新済みの機械学習モデルを作成することは、前記作業のうち少なくとも一部の作業について、前記作業の出力を格納するためのメモリを、前記出力が別の作業への入力としていつ使われるかに基づいて前記複数のメモリの中から選択することを含む、請求項17に記載の非一時的なコンピュータ記憶媒体。
- 前記更新済みの機械学習モデルを作成することは、
第1作業の出力データが第2作業によって入力としていつ使われるかに基づいて、前記第1作業の出力データが前記複数のメモリのうち第1メモリに格納されると判断することを含み、前記第1メモリは、前記複数のメモリのうち第2メモリよりも低いメモリバンド幅を有し、前記判断に応答して、
前記機械学習プロセッサに、前記第1作業によって前記出力データが生成された後に前記第1作業の出力データを前記第1メモリに格納させる第1制御データと、
前記機械学習プロセッサに、前記出力データが前記第2作業への入力として使われる前に前記出力データを前記第1メモリから前記第2メモリに転送させる第2制御データとを、
前記更新済みの機械学習モデルに含める、請求項17に記載の非一時的なコンピュータ記憶媒体。
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 true JP2022130363A (ja) | 2022-09-06 |
JP7430744B2 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 |
Family Cites Families (13)
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 |
US20060212654A1 (en) | 2005-03-18 | 2006-09-21 | Vinod Balakrishnan | Method and apparatus for intelligent instruction caching using application characteristics |
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 |
JP6636630B2 (ja) * | 2015-10-28 | 2020-01-29 | グーグル エルエルシー | 計算グラフの修正 |
US10699186B2 (en) | 2015-12-02 | 2020-06-30 | Google Llc | Determining orders of execution of a neural network |
CN108475213B (zh) | 2016-03-24 | 2021-11-30 | 富士胶片商业创新有限公司 | 图像处理装置、图像处理方法和图像处理程序 |
CN108279890B (zh) | 2017-01-06 | 2021-12-24 | 阿里巴巴集团控股有限公司 | 组件发布方法、组件构建方法及图形化机器学习算法平台 |
US10956500B2 (en) | 2017-01-19 | 2021-03-23 | Google Llc | Dynamic-length stateful tensor array |
EP3376441B1 (en) | 2017-03-15 | 2021-07-14 | Siemens Aktiengesellschaft | A method for execution of a machine learning model on memory restricted industrial device |
US10019668B1 (en) | 2017-05-19 | 2018-07-10 | Google Llc | Scheduling neural network processing |
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
Also Published As
Publication number | Publication date |
---|---|
US11263529B2 (en) | 2022-03-01 |
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 |
JP7430744B2 (ja) | 2024-02-13 |
JP7078758B2 (ja) | 2022-05-31 |
EP3864582A1 (en) | 2021-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7430744B2 (ja) | 機械学習モデルを改良して局所性を改善させること | |
KR102175044B1 (ko) | 인공 신경망 역방향 트레이닝 실행용 장치와 방법 | |
US10942673B2 (en) | Data processing using resistive memory arrays | |
US20180260709A1 (en) | Calculating device and method for a sparsely connected artificial neural network | |
US11934826B2 (en) | Vector reductions using shared scratchpad memory | |
JP2021506032A (ja) | オンチップの計算ネットワーク | |
US20190311266A1 (en) | Device and method for artificial neural network operation | |
TW202207031A (zh) | 用於記憶體通道控制器之負載平衡 | |
TWI782403B (zh) | 具有平行載入儲存之共享高速暫存記憶體 | |
TWI758223B (zh) | 具有動態最小批次尺寸之運算方法,以及用於執行該方法之運算系統及電腦可讀儲存媒體 | |
CN113496248A (zh) | 训练计算机实施的模型的方法和设备 | |
KR102642333B1 (ko) | 인공 신경망의 데이터의 주소를 생성하는 방법 및 장치 | |
US10990525B2 (en) | Caching data in artificial neural network computations | |
CN109272112B (zh) | 一种面向神经网络的数据重用指令映射方法、系统及装置 | |
US20230196124A1 (en) | Runtime predictors for neural network computation reduction | |
US20210117800A1 (en) | Multiple locally stored artificial neural network computations | |
TW202414200A (zh) | 減少硬體加速器中之記憶體庫衝突 | |
WO2021079168A1 (en) | Multiple locally stored artificial neural network computations | |
CN116029890A (zh) | 一种神经网络增强的图形处理器流水线架构 | |
CN117724835A (zh) | 深度神经网络多核加速器的片上缓存分配方法及相关装置 | |
CN113159272A (zh) | 一种用于处理神经网络的方法和系统 |
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 |