JP7094262B2 - 計算グラフの修正 - Google Patents
計算グラフの修正 Download PDFInfo
- Publication number
- JP7094262B2 JP7094262B2 JP2019227507A JP2019227507A JP7094262B2 JP 7094262 B2 JP7094262 B2 JP 7094262B2 JP 2019227507 A JP2019227507 A JP 2019227507A JP 2019227507 A JP2019227507 A JP 2019227507A JP 7094262 B2 JP7094262 B2 JP 7094262B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- devices
- subgraph
- action
- represented
- 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
- 238000004364 calculation method Methods 0.000 title claims description 103
- 230000009471 action Effects 0.000 claims description 107
- 230000006854 communication Effects 0.000 claims description 91
- 238000004891 communication Methods 0.000 claims description 89
- 238000000034 method Methods 0.000 claims description 56
- 238000012545 processing Methods 0.000 claims description 30
- 230000006399 behavior Effects 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 21
- 238000011144 upstream manufacturing Methods 0.000 claims description 7
- 230000002457 bidirectional effect Effects 0.000 claims description 6
- 238000013528 artificial neural network Methods 0.000 description 57
- 230000008569 process Effects 0.000 description 27
- 238000012549 training Methods 0.000 description 16
- 238000004590 computer program Methods 0.000 description 13
- 239000011159 matrix material Substances 0.000 description 12
- 238000010801 machine learning Methods 0.000 description 10
- 238000007906 compression Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000007175 bidirectional communication Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000002730 additional effect Effects 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000036039 immunity Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/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
- 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/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- 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/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- 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/042—Knowledge-based neural networks; Logical representations of 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
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Neurology (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
102 クライアント
104 セッション・マネージャ
106 実行器
108 プレーサ
114 ネットワーク
116 デバイス
118 デバイス
120 デバイス
122 デバイス
Claims (25)
- 計算グラフを表すデータを取得するステップであって、
前記計算グラフは複数のノードとノードのペアを接続する有効エッジとを含み、
各ノードは夫々の動作を表し、
ノードから出るエッジは、前記ノードにより表された動作から、前記エッジにより接続された他方のノードにより表された動作への出力のフローを表す、ステップと、
前記計算グラフにより表された計算を実行するための要求を受信するステップであって、前記要求が前記計算のための入力を識別する、ステップと、
複数のデバイスにわたって前記計算グラフの前記ノードを分割するステップであって、前記複数のデバイスの各々が、前記複数のデバイスのうちの他のデバイスとは独立して動作を実行するハードウェア・リソースを含み、各デバイスは、データ処理動作を実行するように動作可能なハードウェア・リソースであり、各ノードと前記ノードにより表された動作は、夫々のデバイスに割り当てられる、ステップと、
前記計算グラフを複数のサブグラフに分割するステップであって、各サブグラフは、別々のデバイスに割り当てられたノードを別々のサブグラフに割り当てることにより、1つまたは複数のノードを含む、ステップと、
通信動作を表す通信ノードを各サブグラフに加えるステップであって、前記通信動作は、(i)前記サブグラフが割り当てられた前記デバイスと(ii)他のデバイスにおけるサブグラフへ加えられた通信ノードにより表された通信動作との間で、入力または出力データを通信し、第1のデバイスおよび第2のデバイスの間の入力または出力データを通信するための通信動作を表す前記通信ノードの各々は、前記第1および第2のデバイスの各々に関連付けられるオペレーティングシステムが関与することなく前記第1のデバイスおよび前記第2のデバイスの間の通信を実施することができるように構成される、ステップと、
前記複数のデバイスに、前記複数のデバイスの夫々に割り当てられた前記サブグラフの動作を実行することにより、前記計算グラフにより表された動作を実行させるステップと
を含む、方法。 - 前記複数のデバイスが、単一のマシンでホストされる2以上のデバイスを含む、請求項1に記載の方法。
- 前記複数のデバイスは、グラフィカル処理ユニット(GPU)である演算装置を有するデバイスと中央演算装置(CPU)である演算装置を有するデバイスとを含む、請求項1に記載の方法。
- 計算グラフを表すデータを取得するステップであって、
前記計算グラフは複数のノードとノードのペアを接続する有効エッジとを含み、
各ノードは夫々の動作を表し、
ノードから出るエッジは、前記ノードにより表された動作から、前記エッジにより接続された他方のノードにより表された動作への出力のフローを表す、ステップと、
前記計算グラフにより表された計算を実行するための要求を受信するステップであって、前記要求が前記計算のための入力を識別する、ステップと、
複数のデバイスにわたって前記計算グラフの前記ノードを分割するステップであって、前記複数のデバイスの各々が、前記複数のデバイスのうちの他のデバイスとは独立して動作を実行するハードウェア・リソースを含み、各デバイスは、データ処理動作を実行するように動作可能なハードウェア・リソースであり、各ノードと前記ノードにより表された動作は、夫々のデバイスに割り当てられる、ステップと、
前記計算グラフを複数のサブグラフに分割するステップであって、各サブグラフは、別々のデバイスに割り当てられたノードを別々のサブグラフに割り当てることにより、1つまたは複数のノードを含む、ステップと、
通信動作を表す通信ノードを各サブグラフに加えるステップであって、前記通信動作は、(i)前記サブグラフが割り当てられた前記デバイスと(ii)他のデバイスにおけるサブグラフへ加えられた通信ノードにより表された通信動作との間で、入力または出力データを通信する、ステップと、
前記複数のデバイスに、前記複数のデバイスの夫々に割り当てられた前記サブグラフの動作を実行することにより、前記計算グラフにより表された動作を実行させるステップと
を含み、
前記通信ノードは、第1のデバイスに割り当てられた第1のサブグラフに加えられた送信ノードと、第2のデバイスに割り当てられた第2のサブグラフに加えられた受信ノードとを含み、
前記第1のサブグラフを前記第2のサブグラフに接続する前記計算グラフにおけるエッジは、前記第1のサブグラフの1つまたは複数のノードから前記送信ノードへの1つまたは複数のエッジと、前記送信ノードおよび前記受信ノードとの間の双方向エッジと、前記受信ノードから前記第2のサブグラフの1つまたは複数のノードへの1つまたは複数のエッジとによって置き換えられる、方法。 - 前記第1のデバイスおよび前記第2のデバイスは、同じマシンにおいてホストされ、
前記送信ノードおよび前記受信ノードの間の通信が局所化された要求および応答プロトコルのもとで行われる、請求項4記載の方法。 - 前記局所化された要求および応答プロトコルが、リモート・プロシージャ・コール・プロトコルである、請求項5に記載の方法。
- 前記第1のデバイスおよび前記第2のデバイスが、異なるマシンでホストされ、
前記送信ノードおよび前記受信ノードの間の通信が、リモート直接メモリアクセスプロトコルのもとで行われる、請求項4に記載の方法。 - 前記通信ノードの各々が、送信ノードまたは受信ノードのいずれかであり、
各送信ノードは、前記送信ノードから上流のノードと同じデバイスに割り当てられ、
各受信ノードは、前記受信ノードから下流のノードと同じデバイスに割り当てられる、請求項1に記載の方法。 - 1つまたは複数の位置における1つまたは複数のコンピュータを含むシステムであって、前記1つまたは複数のコンピュータは、前記システムに複数のアクションを実行させるように動作可能な命令を記憶し、前記複数のアクションが、
計算グラフを表すデータを取得するアクションであって、
前記計算グラフは複数のノードとノードのペアを接続する有効エッジとを含み、
各ノードは夫々の動作を表し、
ノードから出るエッジは、前記ノードにより表された動作から、前記エッジにより接続された他方のノードにより表された動作への出力のフローを表す、アクションと、
前記計算グラフにより表された計算を実行するための要求を受信するアクションであって、前記要求が前記計算のための入力を識別する、アクションと、
複数のデバイスにわたって前記計算グラフの前記ノードを分割するアクションであって、前記複数のデバイスの各々が、前記複数のデバイスのうちの他のデバイスとは独立して動作を実行するハードウェア・リソースを含み、各デバイスは、データ処理動作を実行するように動作可能なハードウェア・リソースであり、各ノードと前記ノードにより表された動作は、夫々のデバイスに割り当てられる、アクションと、
前記計算グラフを複数のサブグラフに分割するアクションであって、各サブグラフは、別々のデバイスに割り当てられたノードを別々のサブグラフに割り当てることにより、1つまたは複数のノードを含む、アクションと、
通信動作を表す通信ノードを各サブグラフに加えるアクションであって、前記通信動作は、(i)前記サブグラフが割り当てられた前記デバイスと(ii)他のデバイスにおけるサブグラフへ加えられた通信ノードにより表された通信動作との間で、入力または出力データを通信し、第1のデバイスおよび第2のデバイスの間の入力または出力データを通信するための通信動作を表す前記通信ノードの各々は、前記第1および第2のデバイスの各々に関連付けられるオペレーティングシステムが関与することなく前記第1のデバイスおよび前記第2のデバイスの間の通信を実施することができるように構成される、アクションと、
前記複数のデバイスに、前記複数のデバイスの夫々に割り当てられた前記サブグラフの動作を実行することにより、前記計算グラフにより表された動作を実行させるアクションと
を含む、システム。 - 前記複数のデバイスが、単一のマシンでホストされる2以上のデバイスを含む、請求項9に記載のシステム。
- 前記複数のデバイスは、グラフィカル処理ユニット(GPU)である演算装置を有するデバイスと中央演算装置(CPU)である演算装置を有するデバイスとを含む、請求項9に記載のシステム。
- 1つまたは複数の位置における1つまたは複数のコンピュータを含むシステムであって、前記1つまたは複数のコンピュータは、前記システムに複数のアクションを実行させるように動作可能な命令を記憶し、前記複数のアクションが、
計算グラフを表すデータを取得するアクションであって、
前記計算グラフは複数のノードとノードのペアを接続する有効エッジとを含み、
各ノードは夫々の動作を表し、
ノードから出るエッジは、前記ノードにより表された動作から、前記エッジにより接続された他方のノードにより表された動作への出力のフローを表す、アクションと、
前記計算グラフにより表された計算を実行するための要求を受信するアクションであって、前記要求が前記計算のための入力を識別する、アクションと、
複数のデバイスにわたって前記計算グラフの前記ノードを分割するアクションであって、前記複数のデバイスの各々が、前記複数のデバイスのうちの他のデバイスとは独立して動作を実行するハードウェア・リソースを含み、各デバイスは、データ処理動作を実行するように動作可能なハードウェア・リソースであり、各ノードと前記ノードにより表された動作は、夫々のデバイスに割り当てられる、アクションと、
前記計算グラフを複数のサブグラフに分割するアクションであって、各サブグラフは、別々のデバイスに割り当てられたノードを別々のサブグラフに割り当てることにより、1つまたは複数のノードを含む、アクションと、
通信動作を表す通信ノードを各サブグラフに加えるアクションであって、前記通信動作は、(i)前記サブグラフが割り当てられた前記デバイスと(ii)他のデバイスにおけるサブグラフへ加えられた通信ノードにより表された通信動作との間で、入力または出力データを通信する、アクションと、
前記複数のデバイスに、前記複数のデバイスの夫々に割り当てられた前記サブグラフの動作を実行することにより、前記計算グラフにより表された動作を実行させるアクションと
を含み、
前記通信ノードは、第1のデバイスに割り当てられた第1のサブグラフに加えられた送信ノードと、第2のデバイスに割り当てられた第2のサブグラフに加えられた受信ノードとを含み、
前記第1のサブグラフを前記第2のサブグラフに接続する前記計算グラフにおけるエッジは、前記第1のサブグラフの1つまたは複数のノードから前記送信ノードへの1つまたは複数のエッジと、前記送信ノードおよび前記受信ノードとの間の双方向エッジと、前記受信ノードから前記第2のサブグラフの1つまたは複数のノードへの1つまたは複数のエッジとによって置き換えられる、システム。 - 前記第1のデバイスおよび前記第2のデバイスは、同じマシンにおいてホストされ、
前記送信ノードおよび前記受信ノードの間の通信が局所化された要求および応答プロトコルのもとで行われる、請求項12に記載のシステム。 - 前記局所化された要求および応答プロトコルが、リモート・プロシージャ・コール・プロトコルである、請求項13に記載のシステム。
- 前記第1のデバイスおよび前記第2のデバイスが、異なるマシンでホストされ、
前記送信ノードおよび前記受信ノードの間の通信が、リモート直接メモリアクセスプロトコルのもとで行われる、請求項12に記載のシステム。 - 前記通信ノードの各々が、送信ノードまたは受信ノードのいずれかであり、
各送信ノードは、前記送信ノードから上流のノードと同じデバイスに割り当てられ、
各受信ノードは、前記受信ノードから下流のノードと同じデバイスに割り当てられる、請求項9に記載のシステム。 - 計算を実行するための前記要求がクライアントから受信され、
前記計算グラフの前記ノードが、前記要求において識別される入力を受信するためのリソースを表す1つまたは複数のノードを含み、
前記計算グラフの前記ノードが、前記複数のデバイスにより実行される前記要求された計算の出力を提供するためのシンクを表す1つまたは複数のノードを含み、
前記複数のアクションは、前記要求に応答して、前記シンクから受信された出力を前記クライアントに提供するアクションを含む、請求項9に記載のシステム。 - 命令を記録する非一時的コンピュータ可読記録デバイスであって、前記命令は、1つまたは複数のコンピュータのシステムにより実行されたときに、前記システムに複数のアクションを実行させ、前記アクションが、
計算グラフを表すデータを取得するアクションであって、
前記計算グラフは複数のノードとノードのペアを接続する有効エッジとを含み、
各ノードは夫々の動作を表し、
ノードから出るエッジは、前記ノードにより表された動作から、前記エッジにより接続された他方のノードにより表された動作への出力のフローを表す、アクションと、
前記計算グラフにより表された計算を実行するための要求を受信するアクションであって、前記要求が前記計算のための入力を識別する、アクションと、
複数のデバイスにわたって前記計算グラフの前記ノードを分割するアクションであって、前記複数のデバイスの各々が、前記複数のデバイスのうちの他のデバイスとは独立して動作を実行するハードウェア・リソースを含み、各デバイスは、データ処理動作を実行するように動作可能なハードウェア・リソースであり、各ノードと前記ノードにより表された動作は、夫々のデバイスに割り当てられる、アクションと、
前記計算グラフを複数のサブグラフに分割するアクションであって、各サブグラフは、別々のデバイスに割り当てられたノードを別々のサブグラフに割り当てることにより、1つまたは複数のノードを含む、アクションと、
通信動作を表す通信ノードを各サブグラフに加えるアクションであって、前記通信動作は、(i)前記サブグラフが割り当てられた前記デバイスと(ii)他のデバイスにおけるサブグラフへ加えられた通信ノードにより表された通信動作との間で、入力または出力データを通信し、第1のデバイスおよび第2のデバイスの間の入力または出力データを通信するための通信動作を表す前記通信ノードの各々は、前記第1および第2のデバイスの各々に関連付けられるオペレーティングシステムが関与することなく前記第1のデバイスおよび前記第2のデバイスの間の通信を実施することができるように構成される、アクションと、
前記複数のデバイスに、前記複数のデバイスの夫々に割り当てられた前記サブグラフの動作を実行することにより、前記計算グラフにより表された動作を実行させるアクションと
を含む、記録デバイス。 - 前記複数のデバイスが、単一のマシンでホストされる2以上のデバイスを含む、請求項18に記載の記録デバイス。
- 前記複数のデバイスは、グラフィカル処理ユニット(GPU)である演算装置を有するデバイスと中央演算装置(CPU)である演算装置を有するデバイスとを含む、請求項18に記載の記録デバイス。
- 命令を記録する非一時的コンピュータ可読記録デバイスであって、前記命令は、1つまたは複数のコンピュータのシステムにより実行されたときに、前記システムに複数のアクションを実行させ、前記アクションが、
計算グラフを表すデータを取得するアクションであって、
前記計算グラフは複数のノードとノードのペアを接続する有効エッジとを含み、
各ノードは夫々の動作を表し、
ノードから出るエッジは、前記ノードにより表された動作から、前記エッジにより接続された他方のノードにより表された動作への出力のフローを表す、アクションと、
前記計算グラフにより表された計算を実行するための要求を受信するアクションであって、前記要求が前記計算のための入力を識別する、アクションと、
複数のデバイスにわたって前記計算グラフの前記ノードを分割するアクションであって、前記複数のデバイスの各々が、前記複数のデバイスのうちの他のデバイスとは独立して動作を実行するハードウェア・リソースを含み、各デバイスは、データ処理動作を実行するように動作可能なハードウェア・リソースであり、各ノードと前記ノードにより表された動作は、夫々のデバイスに割り当てられる、アクションと、
前記計算グラフを複数のサブグラフに分割するアクションであって、各サブグラフは、別々のデバイスに割り当てられたノードを別々のサブグラフに割り当てることにより、1つまたは複数のノードを含む、アクションと、
通信動作を表す通信ノードを各サブグラフに加えるアクションであって、前記通信動作は、(i)前記サブグラフが割り当てられた前記デバイスと(ii)他のデバイスにおけるサブグラフへ加えられた通信ノードにより表された通信動作との間で、入力または出力データを通信する、アクションと、
前記複数のデバイスに、前記複数のデバイスの夫々に割り当てられた前記サブグラフの動作を実行することにより、前記計算グラフにより表された動作を実行させるアクションと
を含み、
前記通信ノードは、第1のデバイスに割り当てられた第1のサブグラフに加えられた送信ノードと、第2のデバイスに割り当てられた第2のサブグラフに加えられた受信ノードとを含み、前記第1のサブグラフを前記第2のサブグラフに接続する前記計算グラフにおけるエッジは、前記第1のサブグラフの1つまたは複数のノードから前記送信ノードへの1つまたは複数のエッジと、前記送信ノードおよび前記受信ノードとの間の双方向エッジと、前記受信ノードから前記第2のサブグラフの1つまたは複数のノードへの1つまたは複数のエッジとによって置き換えられる、記録デバイス。 - 前記第1のデバイスおよび前記第2のデバイスは、同じマシンにおいてホストされ、
前記送信ノードおよび前記受信ノードの間の通信が局所化された要求および応答プロトコルのもとで行われる、請求項21に記載の記録デバイス。 - 前記局所化された要求および応答プロトコルが、リモート・プロシージャ・コール・プロトコルである、請求項22に記載の記録デバイス。
- 前記第1のデバイスおよび前記第2のデバイスが、異なるマシンでホストされ、
前記送信ノードおよび前記受信ノードの間の通信が、リモート直接メモリアクセスプロトコルのもとで行われる、請求項21に記載の記録デバイス。 - 前記通信ノードの各々が、送信ノードまたは受信ノードのいずれかであり、
各送信ノードは、前記送信ノードから上流のノードと同じデバイスに割り当てられ、
各受信ノードは、前記受信ノードから下流のノードと同じデバイスに割り当てられる、請求項18に記載の記録デバイス。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562247713P | 2015-10-28 | 2015-10-28 | |
US62/247,713 | 2015-10-28 | ||
US201562253029P | 2015-11-09 | 2015-11-09 | |
US62/253,029 | 2015-11-09 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018521841A Division JP6636630B2 (ja) | 2015-10-28 | 2016-10-28 | 計算グラフの修正 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020057422A JP2020057422A (ja) | 2020-04-09 |
JP7094262B2 true JP7094262B2 (ja) | 2022-07-01 |
Family
ID=57822015
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018521841A Active JP6636630B2 (ja) | 2015-10-28 | 2016-10-28 | 計算グラフの修正 |
JP2019227507A Active JP7094262B2 (ja) | 2015-10-28 | 2019-12-17 | 計算グラフの修正 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018521841A Active JP6636630B2 (ja) | 2015-10-28 | 2016-10-28 | 計算グラフの修正 |
Country Status (6)
Country | Link |
---|---|
US (4) | US10783435B2 (ja) |
EP (2) | EP3353718B1 (ja) |
JP (2) | JP6636630B2 (ja) |
KR (2) | KR102327615B1 (ja) |
CN (1) | CN108351983A (ja) |
WO (1) | WO2017075346A1 (ja) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11615285B2 (en) * | 2017-01-06 | 2023-03-28 | Ecole Polytechnique Federale De Lausanne (Epfl) | Generating and identifying functional subnetworks within structural networks |
US11037330B2 (en) * | 2017-04-08 | 2021-06-15 | Intel Corporation | Low rank matrix compression |
US11138494B2 (en) * | 2017-05-02 | 2021-10-05 | International Business Machines Corporation | Storage controller acceleration for neural network training and inference |
US10019668B1 (en) | 2017-05-19 | 2018-07-10 | Google Llc | Scheduling neural network processing |
US11138516B2 (en) * | 2017-06-30 | 2021-10-05 | Visa International Service Association | GPU enhanced graph model build and scoring engine |
US11481638B2 (en) | 2017-09-15 | 2022-10-25 | Google Llc | Augmenting neural networks |
KR102569086B1 (ko) * | 2017-11-20 | 2023-08-22 | 상하이 캠브리콘 인포메이션 테크놀로지 컴퍼니 리미티드 | 태스크 병렬 처리 방법, 장치, 시스템, 기억 매체 및 컴퓨터 기기 |
US20190286973A1 (en) * | 2018-03-14 | 2019-09-19 | Microsoft Technology Licensing, Llc | Hardware accelerated neural network subgraphs |
FI130232B (en) * | 2018-04-18 | 2023-05-03 | Meeshkan Oy | Procedure for distributed processing of information and distributed information processing system |
US11645493B2 (en) | 2018-05-04 | 2023-05-09 | Microsoft Technology Licensing, Llc | Flow for quantized neural networks |
US11893471B2 (en) | 2018-06-11 | 2024-02-06 | Inait Sa | Encoding and decoding information and artificial neural networks |
US11972343B2 (en) | 2018-06-11 | 2024-04-30 | Inait Sa | Encoding and decoding information |
US11663478B2 (en) | 2018-06-11 | 2023-05-30 | Inait Sa | Characterizing activity in a recurrent artificial neural network |
US10891758B2 (en) | 2018-07-23 | 2021-01-12 | Google Llc | Geometry encoder |
US10318891B1 (en) * | 2018-07-23 | 2019-06-11 | Google Llc | Geometry encoder |
CN110766147B (zh) * | 2018-07-25 | 2022-10-11 | 赛灵思公司 | 神经网络编译器架构及编译方法 |
US11263529B2 (en) * | 2018-10-10 | 2022-03-01 | Google Llc | Modifying machine learning models to improve locality |
CN111078624B (zh) * | 2018-10-18 | 2022-03-25 | 上海寒武纪信息科技有限公司 | 片上网络处理系统和片上网络数据处理方法 |
CN111078625B (zh) * | 2018-10-18 | 2022-03-29 | 上海寒武纪信息科技有限公司 | 片上网络处理系统和片上网络数据处理方法 |
KR20200053318A (ko) * | 2018-11-08 | 2020-05-18 | 삼성전자주식회사 | 인공 신경망의 연산 처리 그래프를 관리하는 시스템 및 이를 이용한 연산 처리 그래프를 관리하는 방법 |
US10922790B2 (en) * | 2018-12-21 | 2021-02-16 | Intel Corporation | Apparatus and method for efficient distributed denoising of a graphics frame |
US20210232969A1 (en) * | 2018-12-24 | 2021-07-29 | Intel Corporation | Methods and apparatus to process a machine learning model in a multi-process web browser environment |
US11569978B2 (en) | 2019-03-18 | 2023-01-31 | Inait Sa | Encrypting and decrypting information |
US11652603B2 (en) | 2019-03-18 | 2023-05-16 | Inait Sa | Homomorphic encryption |
CN111832714B (zh) * | 2019-04-19 | 2023-11-17 | 上海寒武纪信息科技有限公司 | 运算方法及装置 |
US11231961B2 (en) * | 2019-05-22 | 2022-01-25 | Fujitsu Limited | Scheduling operations |
CN110210614B (zh) * | 2019-05-31 | 2020-08-25 | 中科寒武纪科技股份有限公司 | 运算方法、装置及相关产品 |
CN110162337B (zh) * | 2019-05-31 | 2020-07-03 | 中科寒武纪科技股份有限公司 | 运算方法、装置及相关产品 |
US11694075B2 (en) * | 2019-09-05 | 2023-07-04 | Alibaba Group Holding Limited | Partitioning control dependency edge in computation graph |
US11797827B2 (en) | 2019-12-11 | 2023-10-24 | Inait Sa | Input into a neural network |
US11580401B2 (en) | 2019-12-11 | 2023-02-14 | Inait Sa | Distance metrics and clustering in recurrent neural networks |
US11816553B2 (en) | 2019-12-11 | 2023-11-14 | Inait Sa | Output from a recurrent neural network |
US11651210B2 (en) | 2019-12-11 | 2023-05-16 | Inait Sa | Interpreting and improving the processing results of recurrent neural networks |
US20230229509A1 (en) * | 2020-05-08 | 2023-07-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Configuring a resource for executing a computational operation |
US11815943B1 (en) * | 2020-06-05 | 2023-11-14 | State Farm Mutual Automobile Insurance Company | Systems and methods for processing using directed acyclic graphs |
CN112070213A (zh) * | 2020-08-28 | 2020-12-11 | Oppo广东移动通信有限公司 | 神经网络模型的优化方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005182785A (ja) | 2003-12-09 | 2005-07-07 | Microsoft Corp | グラフィックス処理ユニットを使用して機械学習技術の処理を速め、最適化するシステムおよび方法 |
US20060095722A1 (en) | 2004-10-20 | 2006-05-04 | Arm Limited | Program subgraph identification |
JP2007164504A (ja) | 2005-12-14 | 2007-06-28 | Fuji Heavy Ind Ltd | ストリームデータ処理方法およびストリームデータ処理装置 |
JP2009537908A (ja) | 2006-05-16 | 2009-10-29 | アビニシオ ソフトウェア エルエルシー | グラフ型計算における計算リソースの管理法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8923285B2 (en) * | 2008-04-30 | 2014-12-30 | Qualcomm Incorporated | Apparatus and methods for transmitting data over a wireless mesh network |
KR101048546B1 (ko) * | 2009-03-05 | 2011-07-11 | 엔에이치엔(주) | 온톨로지를 이용한 컨텐츠 검색 시스템 및 방법 |
EP2629247B1 (en) * | 2012-02-15 | 2014-01-08 | Alcatel Lucent | Method for mapping media components employing machine learning |
US9256823B2 (en) * | 2012-07-27 | 2016-02-09 | Qualcomm Technologies Inc. | Apparatus and methods for efficient updates in spiking neuron network |
US11061539B2 (en) | 2013-03-15 | 2021-07-13 | The Mathworks, Inc. | Reference nodes in a computational graph |
US9424079B2 (en) * | 2013-06-27 | 2016-08-23 | Microsoft Technology Licensing, Llc | Iteration support in a heterogeneous dataflow engine |
JP6007430B2 (ja) | 2015-05-20 | 2016-10-12 | 大澤 昇平 | 機械学習モデル設計支援装置、機械学習モデル設計支援方法、機械学習モデル設計支援装置用プログラム |
-
2016
- 2016-10-28 KR KR1020217000978A patent/KR102327615B1/ko active IP Right Grant
- 2016-10-28 JP JP2018521841A patent/JP6636630B2/ja active Active
- 2016-10-28 CN CN201680063358.6A patent/CN108351983A/zh active Pending
- 2016-10-28 WO PCT/US2016/059314 patent/WO2017075346A1/en active Application Filing
- 2016-10-28 KR KR1020187013806A patent/KR102204887B1/ko active IP Right Grant
- 2016-10-28 EP EP16826784.7A patent/EP3353718B1/en active Active
- 2016-10-28 EP EP23185682.4A patent/EP4242845A1/en active Pending
- 2016-10-28 US US15/338,225 patent/US10783435B2/en active Active
-
2018
- 2018-04-27 US US15/965,745 patent/US10354186B2/en active Active
-
2019
- 2019-12-17 JP JP2019227507A patent/JP7094262B2/ja active Active
-
2020
- 2020-09-09 US US17/015,196 patent/US11087216B2/en active Active
-
2021
- 2021-08-03 US US17/392,690 patent/US20220019896A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005182785A (ja) | 2003-12-09 | 2005-07-07 | Microsoft Corp | グラフィックス処理ユニットを使用して機械学習技術の処理を速め、最適化するシステムおよび方法 |
US20060095722A1 (en) | 2004-10-20 | 2006-05-04 | Arm Limited | Program subgraph identification |
JP2007164504A (ja) | 2005-12-14 | 2007-06-28 | Fuji Heavy Ind Ltd | ストリームデータ処理方法およびストリームデータ処理装置 |
JP2009537908A (ja) | 2006-05-16 | 2009-10-29 | アビニシオ ソフトウェア エルエルシー | グラフ型計算における計算リソースの管理法 |
Also Published As
Publication number | Publication date |
---|---|
KR102204887B1 (ko) | 2021-01-19 |
CN108351983A (zh) | 2018-07-31 |
EP3353718B1 (en) | 2023-07-19 |
EP4242845A1 (en) | 2023-09-13 |
EP3353718A1 (en) | 2018-08-01 |
JP6636630B2 (ja) | 2020-01-29 |
KR20210008150A (ko) | 2021-01-20 |
JP2018533792A (ja) | 2018-11-15 |
US10354186B2 (en) | 2019-07-16 |
JP2020057422A (ja) | 2020-04-09 |
US20220019896A1 (en) | 2022-01-20 |
WO2017075346A1 (en) | 2017-05-04 |
KR102327615B1 (ko) | 2021-11-17 |
US20170124454A1 (en) | 2017-05-04 |
US20180247198A1 (en) | 2018-08-30 |
US11087216B2 (en) | 2021-08-10 |
KR20180069881A (ko) | 2018-06-25 |
US10783435B2 (en) | 2020-09-22 |
US20200401897A1 (en) | 2020-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7094262B2 (ja) | 計算グラフの修正 | |
JP6898496B2 (ja) | 計算グラフの処理 | |
US20210295161A1 (en) | Training neural networks represented as computational graphs | |
JP6672456B2 (ja) | 計算グラフのストリームベースのアクセラレータ処理 | |
US11763146B1 (en) | Processing loops in computational graphs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200116 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210308 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210608 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20211018 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220218 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20220218 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20220302 |
|
C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20220307 |
|
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: 20220523 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220621 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7094262 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |