JP7467802B2 - Webブラウザ環境内で機械学習モデルを処理するための方法および装置 - Google Patents
Webブラウザ環境内で機械学習モデルを処理するための方法および装置 Download PDFInfo
- Publication number
- JP7467802B2 JP7467802B2 JP2022502289A JP2022502289A JP7467802B2 JP 7467802 B2 JP7467802 B2 JP 7467802B2 JP 2022502289 A JP2022502289 A JP 2022502289A JP 2022502289 A JP2022502289 A JP 2022502289A JP 7467802 B2 JP7467802 B2 JP 7467802B2
- Authority
- JP
- Japan
- Prior art keywords
- graph
- tensor
- machine learning
- condensed
- response
- 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
- 238000000034 method Methods 0.000 title claims description 200
- 238000010801 machine learning Methods 0.000 title claims description 164
- 238000012545 processing Methods 0.000 title claims description 29
- 230000008569 process Effects 0.000 claims description 157
- 230000004044 response Effects 0.000 claims description 109
- 230000003111 delayed effect Effects 0.000 claims description 39
- 238000003860 storage Methods 0.000 claims description 19
- 238000010276 construction Methods 0.000 claims description 17
- 238000009833 condensation Methods 0.000 claims description 12
- 230000005494 condensation Effects 0.000 claims description 12
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000013459 approach Methods 0.000 description 8
- 238000011156 evaluation Methods 0.000 description 8
- 238000005457 optimization Methods 0.000 description 8
- 230000001960 triggered effect Effects 0.000 description 8
- 238000013135 deep learning Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 7
- 239000000306 component Substances 0.000 description 6
- 230000004927 fusion Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 238000001994 activation Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 210000003813 thumb Anatomy 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000001902 propagating effect 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
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/954—Navigation, e.g. using categorised browsing
-
- 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
- G06N20/00—Machine 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Databases & Information Systems (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Devices For Executing Special Programs (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
機械学習処理が遅延された実行モードを用いて実行されるべき場合に、前記機械学習処理をグラフとして蓄積するためのグラフビルダと、まだ利用可能でなく且つ前記機械学習処理に関連付けられていないテンソルにアクセスするためのリクエストに応答して、前記テンソルに基づき前記グラフを識別するためのテンソルマネージャと、前記識別されたグラフに対応する凝縮されたグラフが利用可能であるか否かを判定するためのグラフキャッシュマネージャと、前記グラフキャッシュマネージャが前記凝縮されたグラフが利用可能ではないと判定することに応答して、前記凝縮されたグラフを生成するためのグラフ凝縮器と、前記凝縮されたグラフを実行して前記テンソルを生成するためのグラフ実行器であって、前記テンソルマネージャは前記テンソルを、前記テンソルにアクセスするための前記リクエストに対する応答として提供する、グラフ実行器とを備える装置を含む。
[他の可能性のある請求項]
[項目1]
Webブラウザ内で機械学習モデルを処理するための装置であって、
機械学習処理が遅延された実行モードを用いて実行されるべき場合に、前記機械学習処理をグラフとして蓄積するためのグラフビルダと、
まだ利用可能でなく且つ前記機械学習処理に関連付けられていないテンソルにアクセスするためのリクエストに応答して、前記テンソルに基づき前記グラフを識別するためのテンソルマネージャと、
前記識別されたグラフに対応する凝縮されたグラフが利用可能であるか否かを判定するためのグラフキャッシュマネージャと、
前記グラフキャッシュマネージャが前記凝縮されたグラフが利用可能ではないと判定することに応答して、前記凝縮されたグラフを生成するためのグラフ凝縮器と、
前記凝縮されたグラフを実行して前記テンソルを生成するためのグラフ実行器であって、前記テンソルマネージャは前記テンソルを、前記テンソルにアクセスするための前記リクエストに対する応答として提供する、グラフ実行器とを備える、装置。
[項目2]
前記グラフ実行器は、前記グラフキャッシュマネージャが前記凝縮されたグラフが利用可能であると判定することに応答して、前記凝縮されたグラフをフェッチする、項目1に記載の装置。
[項目3]
前記グラフキャッシュマネージャは、前記識別されたグラフのハッシュに基づきルックアップを実行して、前記凝縮されたグラフが利用可能であるか否かを判定する、項目1に記載の装置。
[項目4]
前記グラフ実行器は、前記機械学習処理が直接実行モードを用いて実行されるべきであるという判定に応答して、前記機械学習処理を実行する、項目1に記載の装置。
[項目5]
前記テンソルマネージャは、前記テンソルに関連付けられたカウンタを初期化し、前記テンソルを前記応答として前記提供することに応答して、前記テンソルに関連付けられた前記カウンタをデクリメントする、項目1に記載の装置。
[項目6]
前記テンソルマネージャは、前記テンソルを解放するためのリクエストに応答して、前記テンソルに関連付けられた前記カウンタをデクリメントする、項目5に記載の装置。
[項目7]
前記テンソルマネージャは、前記凝縮されたグラフを実行して前記テンソルを生成することに応答して、前記テンソルに関連付けられた前記カウンタをインクリメントする、項目5に記載の装置。
[項目8]
命令を備える少なくとも1つの非一時的コンピュータ可読媒体であって、前記命令が実行されると、前記命令は少なくとも1つのプロセッサに、少なくとも、
機械学習処理が遅延された実行モードを用いて実行されるべき場合に、前記機械学習処理をグラフとして蓄積する手順と、
まだ利用可能でなく且つ前記機械学習処理に関連付けられていないテンソルにアクセスするためのリクエストに応答して、前記テンソルに基づき前記グラフを識別する手順と、
前記識別されたグラフに対応する凝縮されたグラフが利用可能であるか否かを判定する手順と、
前記凝縮されたグラフが利用可能ではないと判定することに応答して、前記凝縮されたグラフを生成する手順と、
前記凝縮されたグラフを実行して前記テンソルを生成する手順と、
前記テンソルを、前記テンソルにアクセスするための前記リクエストに対する応答として提供する手順と、を実行させる、少なくとも1つの非一時的コンピュータ可読媒体。
[項目9]
前記命令が実行されると、前記命令は前記少なくとも1つのプロセッサに、前記凝縮されたグラフが利用可能であると判定することに応答して、前記凝縮されたグラフをフェッチする手順を実行させる、項目8に記載の少なくとも1つの非一時的コンピュータ可読媒体。
[項目10]
前記命令が実行されると、前記命令は前記少なくとも1つのプロセッサに、前記識別されたグラフのハッシュに基づきルックアップを実行して、前記凝縮されたグラフが利用可能であるか否かを判定する手順を実行させる、項目8に記載の少なくとも1つの非一時的コンピュータ可読媒体。
[項目11]
前記命令が実行されると、前記命令は前記少なくとも1つのプロセッサに、前記機械学習処理が直接実行モードを用いて実行されるべきであるという判定に応答して、前記機械学習処理を実行する手順を実行させる、項目8に記載の少なくとも1つの非一時的コンピュータ可読媒体。
[項目12]
前記命令が実行されると、前記命令は前記少なくとも1つのプロセッサに、前記テンソルに関連付けられたカウンタを初期化する手順と、
前記テンソルを前記応答として前記提供することに応答して、前記テンソルに関連付けられた前記カウンタをデクリメントする手順と、を実行させる、項目8に記載の少なくとも1つの非一時的コンピュータ可読媒体。
[項目13]
前記命令が実行されると、前記命令は前記少なくとも1つのプロセッサに、前記テンソルを解放するためのリクエストに応答して、前記テンソルに関連付けられた前記カウンタをデクリメントする手順を実行させる、項目12に記載の少なくとも1つの非一時的コンピュータ可読媒体。
[項目14]
前記命令が実行されると、前記命令は前記少なくとも1つのプロセッサに、前記凝縮されたグラフを実行して前記テンソルを生成することに応答して、前記テンソルに関連付けられた前記カウンタをインクリメントする手順を実行させる、項目12に記載の少なくとも1つの非一時的コンピュータ可読媒体。
[項目15]
Webブラウザ環境内で機械学習モデルを処理するための装置であって、
機械学習処理が遅延された実行モードを用いて実行されるべき場合に、前記機械学習処理をグラフとして蓄積する手段と、
まだ利用可能でなく且つ前記機械学習処理に関連付けられていないテンソルにアクセスするためのリクエストに応答して、前記テンソルに基づき前記グラフを識別するための管理手段と、
前記識別されたグラフに対応する凝縮されたグラフが利用可能であるか否かを判定する手段と、
前記判定する手段が、前記凝縮されたグラフが利用可能ではないと判定することに応答して、前記凝縮されたグラフを生成するための凝縮手段と、
前記テンソルを生成すべく前記凝縮されたグラフを実行する手段であって、前記管理手段は前記テンソルを、前記テンソルにアクセスするための前記リクエストに対する応答として提供する、手段と、を備える、装置。
[項目16]
前記判定する手段が、前記凝縮されたグラフが利用可能であると判定することに応答して、前記凝縮されたグラフをフェッチする、項目15に記載の装置。
[項目17]
前記判定する手段が、前記識別されたグラフのハッシュに基づきルックアップを実行することにより、前記凝縮されたグラフが利用可能であるか否かを判定する、項目15に記載の装置。
[項目18]
前記実行する手段は、前記判定する手段が前記機械学習処理は直接実行モードを用いて実行されるべきであると判定することに応答して、前記機械学習処理を実行する、項目15に記載の装置。
[項目19]
前記管理する手段は、さらに、前記テンソルに関連付けられたカウンタを初期化し、前記テンソルを前記応答として前記提供することに応答して、前記テンソルに関連付けられた前記カウンタをデクリメントする、項目15に記載の装置。
[項目20]
前記管理する手段は、前記テンソルを解放するためのリクエストに応答して、前記テンソルに関連付けられた前記カウンタをデクリメントする、項目19に記載の装置。
[項目21]
前記管理する手段は、前記実行する手段が前記凝縮されたグラフを実行して前記テンソルを生成することに応答して、前記テンソルに関連付けられた前記カウンタをインクリメントする、項目19に記載の装置。
[項目22]
Webブラウザ環境内で機械学習モデルを処理する方法であって、
機械学習処理が遅延された実行モードを用いて実行されるべき場合に、前記機械学習処理をグラフとして蓄積する段階と、
まだ利用可能でなく且つ前記機械学習処理に関連付けられていないテンソルにアクセスするためのリクエストに応答して、前記テンソルに基づき前記グラフを識別する段階と、
前記識別されたグラフに対応する凝縮されたグラフが利用可能であるか否かを判定する段階と、
前記凝縮されたグラフが利用可能ではないと判定することに応答して、前記凝縮されたグラフを生成する段階と、
前記テンソルを生成すべく前記凝縮されたグラフを実行する段階と、
前記テンソルを、前記テンソルにアクセスするための前記リクエストに対する応答として提供する段階と、を備える、方法。
[項目23]
前記凝縮されたグラフが利用可能であると判定することに応答して、前記グラフの前記凝縮されたバージョンをフェッチする段階をさらに備える、項目22に記載の方法。
[項目24]
前記識別された凝縮されたグラフが利用可能であるか否かを判定する前記段階が、前記識別されたグラフのハッシュに基づきルックアップを実行する段階を含む、項目22に記載の方法。
[項目25]
前記機械学習処理が直接実行モードを用いて実行されるべきであると判定することに応答して、前記機械学習処理を実行する段階をさらに備える、項目22に記載の方法。
[項目26]
前記テンソルに関連付けられたカウンタを初期化する段階と、
前記テンソルを前記応答として提供する前記段階に応答して、前記テンソルに関連付けられた前記カウンタをデクリメントする段階と、をさらに備える、項目22に記載の方法。
[項目27]
前記テンソルを解放するためのリクエストに応答して、前記テンソルに関連付けられた前記カウンタをデクリメントする段階をさらに備える、項目26に記載の方法。
[項目28]
前記テンソルを生成すべく前記凝縮されたグラフを実行する前記段階に応答して、前記テンソルに関連付けられた前記カウンタをインクリメントする段階をさらに備える、項目26に記載の方法。
Claims (31)
- Webブラウザ内で動作する、機械学習モデルを処理するための装置であって、
機械学習処理が遅延された実行モードを用いて実行されるべき場合に、前記機械学習処理をグラフとして蓄積するためのグラフビルダと、
まだ利用可能でなく且つ前記機械学習処理に関連付けられていないテンソルにアクセスするためのリクエストに応答して、前記テンソルに基づき前記グラフを識別するためのテンソルマネージャと、
前記識別されたグラフに対応する凝縮されたグラフが利用可能であるか否かを判定するためのグラフキャッシュマネージャと、
前記グラフキャッシュマネージャが前記凝縮されたグラフが利用可能ではないと判定することに応答して、前記凝縮されたグラフを生成するためのグラフ凝縮器と、
前記凝縮されたグラフを実行して前記テンソルを生成するためのグラフ実行器であって、前記テンソルマネージャは前記テンソルを、前記テンソルにアクセスするための前記リクエストに対する応答として提供する、グラフ実行器とを備え、
前記グラフ実行器は、前記リクエストに関連付けられた情報に基づき、前記機械学習処理が直接実行モードまたは前記遅延された実行モードのどちらで実行されるべきかを判定し、
前記機械学習処理が前記直接実行モードを用いて実行されるべきという判定に応答して、前記グラフ実行器は、前記機械学習処理を実行し、
前記機械学習処理が前記遅延された実行モードを用いて実行されるべきという判定に応答して、前記グラフ実行器は、前記機械学習処理を前記グラフビルダに送信し、前記グラフビルダは、前記グラフ実行器から受信した前記機械学習処理を蓄積して前記グラフを構築し、前記グラフ凝縮器は、前記グラフビルダが構築した前記グラフから前記凝縮されたグラフを生成し、前記凝縮されたグラフをキャッシュする、装置。 - 前記グラフビルダは、構築ポリシーに従って前記グラフを構築し、前記構築ポリシーに合致しない機械学習処理を退避させ、前記退避させた機械学習処理を実行のために即座にディスパッチする、請求項1に記載の装置。
- 前記凝縮されたグラフの再利用率が閾値より低い場合、前記グラフキャッシュマネージャは、前記グラフ実行器に前記直接実行モードに戻るように通知する、請求項1または2に記載の装置。
- 前記グラフ実行器は、前記グラフキャッシュマネージャが前記凝縮されたグラフが利用可能であると判定することに応答して、前記凝縮されたグラフをフェッチする、請求項1から3のいずれか一項に記載の装置。
- 前記グラフキャッシュマネージャは、前記識別されたグラフのハッシュに基づきルックアップを実行して、前記凝縮されたグラフが利用可能であるか否かを判定する、請求項1から4のいずれか一項に記載の装置。
- 前記テンソルマネージャは、前記テンソルに関連付けられたカウンタを初期化し、前記テンソルを前記応答として前記提供することに応答して、前記テンソルに関連付けられた前記カウンタをデクリメントする、請求項1から5のいずれか一項に記載の装置。
- 前記テンソルマネージャは、前記テンソルを解放するためのリクエストに応答して、前記テンソルに関連付けられた前記カウンタをデクリメントする、請求項6に記載の装置。
- 前記テンソルマネージャは、前記凝縮されたグラフを実行して前記テンソルを生成することに応答して、前記テンソルに関連付けられた前記カウンタをインクリメントする、請求項6に記載の装置。
- Webブラウザ内で動作する少なくとも1つのプロセッサに、少なくとも、
機械学習処理が遅延された実行モードを用いて実行されるべき場合に、前記機械学習処理をグラフとして蓄積する手順と、
まだ利用可能でなく且つ前記機械学習処理に関連付けられていないテンソルにアクセスするためのリクエストに応答して、前記テンソルに基づき前記グラフを識別する手順と、
前記識別されたグラフに対応する凝縮されたグラフが利用可能であるか否かを判定する手順と、
前記凝縮されたグラフが利用可能ではないと判定することに応答して、前記凝縮されたグラフを生成する手順と、
前記凝縮されたグラフを実行して前記テンソルを生成する手順と、
前記テンソルを、前記テンソルにアクセスするための前記リクエストに対する応答として提供する手順と、を実行させるための、プログラムであって、
前記少なくとも1つのプロセッサに、
前記リクエストに関連付けられた情報に基づき、前記機械学習処理が直接実行モードまたは前記遅延された実行モードのどちらで実行されるべきかを判定する手順と、
前記機械学習処理が前記直接実行モードを用いて実行されるべきという判定に応答して、前記機械学習処理を実行する手順と、
前記機械学習処理が前記遅延された実行モードを用いて実行されるべきという判定に応答して、前記機械学習処理を蓄積して前記グラフを構築し、前記グラフから前記凝縮されたグラフを生成し、前記凝縮されたグラフをキャッシュする手順と、を実行させるための、プログラム。 - 前記少なくとも1つのプロセッサに、構築ポリシーに従って前記グラフを構築し、前記構築ポリシーに合致しない機械学習処理を退避させ、前記退避させた機械学習処理を実行のために即座にディスパッチする手順を実行させるための、請求項9に記載のプログラム。
- 前記少なくとも1つのプロセッサに、前記凝縮されたグラフの再利用率が閾値より低い場合、前記直接実行モードに戻る手順を実行させるための、請求項9または10に記載のプログラム。
- 前記少なくとも1つのプロセッサに、前記凝縮されたグラフが利用可能であると判定することに応答して、前記凝縮されたグラフをフェッチする手順を実行させるための、請求項9から11のいずれか一項に記載のプログラム。
- 前記少なくとも1つのプロセッサに、前記識別されたグラフのハッシュに基づきルックアップを実行して、前記凝縮されたグラフが利用可能であるか否かを判定する手順を実行させるための、請求項9から12のいずれか一項に記載のプログラム。
- 前記少なくとも1つのプロセッサに、前記テンソルに関連付けられたカウンタを初期化する手順と、
前記テンソルを前記応答として前記提供することに応答して、前記テンソルに関連付けられた前記カウンタをデクリメントする手順と、を実行させるための、請求項9から13のいずれか一項に記載のプログラム。 - 前記少なくとも1つのプロセッサに、前記テンソルを解放するためのリクエストに応答して、前記テンソルに関連付けられた前記カウンタをデクリメントする手順を実行させるための、請求項14に記載のプログラム。
- 前記少なくとも1つのプロセッサに、前記凝縮されたグラフを実行して前記テンソルを生成することに応答して、前記テンソルに関連付けられた前記カウンタをインクリメントする手順を実行させるための、請求項14に記載のプログラム。
- Webブラウザ環境内で動作する、機械学習モデルを処理するための装置であって、
機械学習処理が遅延された実行モードを用いて実行されるべき場合に、前記機械学習処理をグラフとして蓄積するグラフ構築手段と、
まだ利用可能でなく且つ前記機械学習処理に関連付けられていないテンソルにアクセスするためのリクエストに応答して、前記テンソルに基づき前記グラフを識別するための管理手段と、
前記識別されたグラフに対応する凝縮されたグラフが利用可能であるか否かを判定する手段と、
前記判定する手段が、前記凝縮されたグラフが利用可能ではないと判定することに応答して、前記凝縮されたグラフを生成するための凝縮手段と、
前記テンソルを生成すべく前記凝縮されたグラフを実行するグラフ実行手段と、を備え、
前記管理手段は前記テンソルを、前記テンソルにアクセスするための前記リクエストに対する応答として提供し、
前記グラフ実行手段は、前記リクエストに関連付けられた情報に基づき、前記機械学習処理が直接実行モードまたは前記遅延された実行モードのどちらで実行されるべきかを判定し、
前記機械学習処理が前記直接実行モードを用いて実行されるべきという判定に応答して、前記グラフ実行手段は、前記機械学習処理を実行し、
前記機械学習処理が前記遅延された実行モードを用いて実行されるべきという判定に応答して、前記グラフ実行手段は、前記機械学習処理を、前記グラフ構築手段に送信し、前記グラフ構築手段は、前記グラフ実行手段から受信した前記機械学習処理を蓄積して前記グラフを構築し、前記凝縮手段は、前記グラフ構築手段が構築した前記グラフから前記凝縮されたグラフを生成し、前記凝縮されたグラフをキャッシュする、装置。 - 前記グラフ構築手段は、構築ポリシーに従って前記グラフを構築し、前記構築ポリシーに合致しない機械学習処理を退避させ、前記退避させた機械学習処理を実行のために即座にディスパッチする、請求項17に記載の装置。
- 前記凝縮されたグラフの再利用率が閾値より低い場合、前記判定する手段は、前記グラフ実行手段に前記直接実行モードに戻るように通知する、請求項17または18に記載の装置。
- 前記判定する手段が、前記凝縮されたグラフが利用可能であると判定することに応答して、前記凝縮されたグラフをフェッチする、請求項17から19のいずれか一項に記載の装置。
- 前記判定する手段が、前記識別されたグラフのハッシュに基づきルックアップを実行することにより、前記凝縮されたグラフが利用可能であるか否かを判定する、請求項17から20のいずれか一項に記載の装置。
- 前記グラフ実行手段は、前記判定する手段が前記機械学習処理は直接実行モードを用いて実行されるべきであると判定することに応答して、前記機械学習処理を実行する、請求項17から21のいずれか一項に記載の装置。
- Webブラウザ環境内で機械学習モデルを処理する方法であって、
機械学習処理が遅延された実行モードを用いて実行されるべき場合に、前記機械学習処理をグラフとして蓄積する段階と、
まだ利用可能でなく且つ前記機械学習処理に関連付けられていないテンソルにアクセスするためのリクエストに応答して、前記テンソルに基づき前記グラフを識別する段階と、
前記識別されたグラフに対応する凝縮されたグラフが利用可能であるか否かを判定する段階と、
前記凝縮されたグラフが利用可能ではないと判定することに応答して、前記凝縮されたグラフを生成する段階と、
前記テンソルを生成すべく前記凝縮されたグラフを実行する段階と、
前記テンソルを、前記テンソルにアクセスするための前記リクエストに対する応答として提供する段階と、を備え、
前記リクエストに関連付けられた情報に基づき、前記機械学習処理が直接実行モードまたは前記遅延された実行モードのどちらで実行されるべきかを判定する段階と、
前記機械学習処理が前記直接実行モードを用いて実行されるべきという判定に応答して、前記機械学習処理を実行する段階と、
前記機械学習処理が前記遅延された実行モードを用いて実行されるべきという判定に応答して、前記機械学習処理を蓄積して前記グラフを構築し、前記グラフから前記凝縮されたグラフを生成し、前記凝縮されたグラフをキャッシュする段階と、をさらに備える、方法。 - 構築ポリシーに従って前記グラフを構築し、前記構築ポリシーに合致しない機械学習処理を退避させ、前記退避させた機械学習処理を実行のために即座にディスパッチする段階をさらに備える、請求項23に記載の方法。
- 前記凝縮されたグラフの再利用率が閾値より低い場合、前記直接実行モードに戻る、請求項23または24に記載の方法。
- 前記凝縮されたグラフが利用可能であると判定することに応答して、前記グラフの前記凝縮されたバージョンをフェッチする段階をさらに備える、請求項23から25のいずれか一項に記載の方法。
- 前記識別された凝縮されたグラフが利用可能であるか否かを判定する前記段階が、前記識別されたグラフのハッシュに基づきルックアップを実行する段階を含む、請求項23から26のいずれか一項に記載の方法。
- 前記テンソルに関連付けられたカウンタを初期化する段階と、
前記テンソルを前記応答として提供する前記段階に応答して、前記テンソルに関連付けられた前記カウンタをデクリメントする段階と、をさらに備える、請求項23から27のいずれか一項に記載の方法。 - 前記テンソルを解放するためのリクエストに応答して、前記テンソルに関連付けられた前記カウンタをデクリメントする段階をさらに備える、請求項28に記載の方法。
- 前記テンソルを生成すべく前記凝縮されたグラフを実行する前記段階に応答して、前記テンソルに関連付けられた前記カウンタをインクリメントする段階をさらに備える、請求項28に記載の方法。
- 請求項9から16のいずれか一項に記載のプログラムを記憶した非一時的コンピュータ可読記憶媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/108439 WO2021056389A1 (en) | 2019-09-27 | 2019-09-27 | Methods and apparatus to process machine learning model in web-browser environment |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023502296A JP2023502296A (ja) | 2023-01-24 |
JP7467802B2 true JP7467802B2 (ja) | 2024-04-16 |
Family
ID=75164813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022502289A Active JP7467802B2 (ja) | 2019-09-27 | 2019-09-27 | Webブラウザ環境内で機械学習モデルを処理するための方法および装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220253488A1 (ja) |
EP (1) | EP4035089A4 (ja) |
JP (1) | JP7467802B2 (ja) |
CN (1) | CN114514538A (ja) |
WO (1) | WO2021056389A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11900169B1 (en) * | 2021-04-14 | 2024-02-13 | Amazon Technologies, Inc. | Inference flow orchestration service |
CN115333961B (zh) * | 2022-06-30 | 2023-10-13 | 北京邮电大学 | 基于深度强化学习的无线通信网络管控方法及相关设备 |
US20240095052A1 (en) * | 2022-09-16 | 2024-03-21 | Meta Platforms, Inc. | Machine Learning with Dynamic Bytecode Transformation |
US20240104341A1 (en) * | 2022-09-27 | 2024-03-28 | Zhejiang Lab | Memory optimization method and apparatus for neural network compilation |
CN115269204B (zh) * | 2022-09-27 | 2022-12-30 | 之江实验室 | 一种用于神经网络编译的内存优化方法及装置 |
US20240104395A1 (en) * | 2022-09-27 | 2024-03-28 | Zhejiang Lab | Memory optimization method and device oriented to neural network computing |
CN116739090B (zh) * | 2023-05-12 | 2023-11-28 | 北京大学 | 基于Web浏览器的深度神经网络推理度量方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003140909A (ja) | 2001-11-07 | 2003-05-16 | Fujitsu Ltd | Jitコンパイラを備えた仮想計算機 |
JP2003196108A (ja) | 2001-11-29 | 2003-07-11 | Hewlett Packard Co <Hp> | 動的コードキャッシングおよび変形を通してコンピュータシステムのエミュレーションをサポートするシステムおよび方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10956500B2 (en) * | 2017-01-19 | 2021-03-23 | Google Llc | Dynamic-length stateful tensor array |
JP7006297B2 (ja) * | 2018-01-19 | 2022-01-24 | 富士通株式会社 | 学習プログラム、学習方法および学習装置 |
CN109829907A (zh) * | 2019-01-31 | 2019-05-31 | 浙江工业大学 | 一种基于深度学习的金属轴表面缺陷识别方法 |
CN109947948B (zh) * | 2019-02-28 | 2021-04-09 | 中国地质大学(武汉) | 一种基于张量的知识图谱表示学习方法及系统 |
CN109934285B (zh) * | 2019-03-11 | 2022-09-30 | 吉林大学 | 一种基于深度学习的图像分类神经网络压缩模型的系统 |
-
2019
- 2019-09-27 JP JP2022502289A patent/JP7467802B2/ja active Active
- 2019-09-27 EP EP19946951.1A patent/EP4035089A4/en not_active Withdrawn
- 2019-09-27 CN CN201980099268.6A patent/CN114514538A/zh active Pending
- 2019-09-27 WO PCT/CN2019/108439 patent/WO2021056389A1/en active Application Filing
- 2019-09-27 US US17/630,461 patent/US20220253488A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003140909A (ja) | 2001-11-07 | 2003-05-16 | Fujitsu Ltd | Jitコンパイラを備えた仮想計算機 |
JP2003196108A (ja) | 2001-11-29 | 2003-07-11 | Hewlett Packard Co <Hp> | 動的コードキャッシングおよび変形を通してコンピュータシステムのエミュレーションをサポートするシステムおよび方法 |
Non-Patent Citations (1)
Title |
---|
ZHA, Sheng et al.,Just-in-Time Dynamic-Batching,arXiv [online],2019年04月16日,pp.1-7,[検索日 2023.09.13]、インターネット:<URL:https://arxiv.org/pdf/1904.07421v1.pdf> |
Also Published As
Publication number | Publication date |
---|---|
EP4035089A1 (en) | 2022-08-03 |
US20220253488A1 (en) | 2022-08-11 |
JP2023502296A (ja) | 2023-01-24 |
CN114514538A (zh) | 2022-05-17 |
WO2021056389A1 (en) | 2021-04-01 |
EP4035089A4 (en) | 2023-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7467802B2 (ja) | Webブラウザ環境内で機械学習モデルを処理するための方法および装置 | |
US9798528B2 (en) | Software solution for cooperative memory-side and processor-side data prefetching | |
JP7483950B2 (ja) | バイナリ変換を実行するためのシステム及び方法 | |
US8990786B2 (en) | Program optimizing apparatus, program optimizing method, and program optimizing article of manufacture | |
KR101782995B1 (ko) | 자바스크립트 코드 저장 및 최적화를 통한 웹 브라우징 방법 및 장치 | |
US8707282B2 (en) | Meta-data based data prefetching | |
US9292446B2 (en) | Speculative prefetching of remote data | |
US8136106B2 (en) | Learning and cache management in software defined contexts | |
JP6379654B2 (ja) | 処理実行プログラム、処理実行方法、及び情報処理装置 | |
US20150074350A1 (en) | Memoization buckets for cached function results | |
US9766926B2 (en) | Method and system for optimizing parallel program execution based on speculation that an object written to is not shared | |
JP2005529383A (ja) | シングルスレッドアプリケーションを支援する時間多重化推論的マルチスレッディング | |
US11023234B2 (en) | Method and system for restructuring of collections for synchronization | |
WO2016032574A1 (en) | Serialized child associations in parent record | |
US20190278576A1 (en) | Enhancing program execution using optimization-driven inlining | |
US20210232969A1 (en) | Methods and apparatus to process a machine learning model in a multi-process web browser environment | |
JP5687603B2 (ja) | プログラム変換装置、プログラム変換方法、および変換プログラム | |
JP4643740B2 (ja) | プロセッサおよびプリフェッチ支援プログラム | |
CN116339704A (zh) | 用于机器学习引导的编译器优化的方法和装置 | |
US8793663B2 (en) | Smart cache for a server test environment in an application development tool | |
CN115617502A (zh) | 用于数据增强自动模型生成的方法和设备 | |
CN109213698B (zh) | Vivt缓存访问方法、仲裁单元及处理器 | |
US20150100607A1 (en) | Apparatus and method for data management | |
US8589621B2 (en) | Object persistency | |
KR20130114023A (ko) | 멀티 프로세서 시스템 온 칩에서의 메모리 관리 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220922 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230831 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230919 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231219 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240305 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240311 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7467802 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |