【手続補正書】
【提出日】令和2年6月12日(2020.6.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータ実装方法であって、
複数のハードウェアデバイス上での分散処理のために配置されるべき機械学習モデルを指定するデータを受け取るステップと、
前記機械学習モデルを指定する前記データから、オペレーション埋込みのシーケンスを生成するステップであって、前記シーケンスでの各オペレーション埋込みが、前記機械学習モデルの前記分散処理を行うことの一部である1つまたは複数のそれぞれのオペレーションを特徴づける、ステップと、
配置リカレントニューラルネットワークの複数のネットワークパラメータの第1の値に従って、前記配置リカレントニューラルネットワークを使用して、オペレーション埋込みの前記シーケンスを処理するステップであって、
前記配置リカレントニューラルネットワークが、前記複数のデバイスにわたる前記シーケンスでの前記オペレーション埋込みによって特徴づけられた前記オペレーションの配置を定義するネットワーク出力を生成するために、前記第1の値に従ってオペレーション埋込みの前記シーケンスを処理するように構成される、ステップと、
前記ネットワーク出力によって定義された前記配置に従って前記複数のデバイスに前記オペレーションを配置することによって、前記複数のハードウェアデバイスによる処理のために前記機械学習モデルをスケジュールするステップと
を含む、方法。
【請求項２】
前記オペレーション埋込みによって特徴づけられた前記オペレーションが、前記機械学習モデルを訓練することの一部であるオペレーションである、請求項1に記載の方法。
【請求項３】
前記オペレーション埋込みによって特徴づけられた前記オペレーションが、前記機械学習モデルを使用して推論を行うことの一部であるオペレーションである、請求項1に記載の方法。
【請求項４】
前記機械学習モデルを指定する前記データが、オペレーションを表す頂点と、前記オペレーション間のデータ通信を表すエッジとを有する計算グラフを表すデータである、請求項1に記載の方法。
【請求項５】
オペレーション埋込みの前記シーケンスを生成するステップが、
前記計算グラフ中の頂点によって表される前記オペレーションの2つ以上が、同じデバイス上に併置されるべきであることを決定するステップと、
それに応じて、前記2つ以上のオペレーションを特徴づける単一のオペレーション埋込みを生成するステップと
を含む、請求項4に記載の方法。
【請求項６】
特定のオペレーションを特徴づけるオペレーション埋込みを生成するステップが、
前記特定のオペレーションのオペレーションタイプのタイプ埋込みを生成するステップと、
前記特定のオペレーションによって生成される出力のサイズを特徴づける出力サイズ埋込みを生成するステップと、
入力を提供し、前記特定のオペレーションによって生成された出力を受け取るオペレーションを識別する隣接性埋込みを生成するステップと、
前記特定のオペレーションを特徴づける前記オペレーション埋込みを生成するために、前記タイプ埋込み、前記出力サイズ埋込み、および前記隣接性埋込みを結合するステップと
を含む、請求項1に記載の方法。
【請求項７】
前記配置リカレントニューラルネットワークが、前記シーケンスでの前記オペレーション埋込みの各々に対して、前記複数のデバイスの各々に対するそれぞれのスコアを含むスコアのセットを生成するように構成され、
オペレーション埋込みの前記シーケンスを処理するステップが、前記オペレーションを特徴づける前記オペレーション埋込みのためのスコアの前記セットを使用して前記オペレーションの各々に対してデバイスを選択するステップを含む、
請求項1に記載の方法。
【請求項８】
前記オペレーションの各々に対して前記デバイスを選択するステップが、前記オペレーションを特徴づける前記オペレーション埋込みのためのスコアの前記セットに従って、最も高いスコアを有する前記デバイスを選択するステップを含む、請求項7に記載の方法。
【請求項９】
前記オペレーションの各々に対して前記デバイスを選択するステップが、前記オペレーションを特徴づける前記オペレーション埋込みのためのスコアの前記セットによって定義された確率に従って、前記複数のデバイスからデバイスをサンプリングするステップを含む、請求項7に記載の方法。
【請求項１０】
前記配置リカレントニューラルネットワークが、
前記オペレーション埋込みの各々に対してそれぞれのエンコーダ隠れ状態を生成するために、オペレーション埋込みの前記シーケンスを処理するように構成されたエンコーダリカレントニューラルネットワークと、
前記オペレーション埋込みの各々に対して、
デコーダ入力を受け取ることと、
前記オペレーション埋込みのためのスコアの前記セットを生成するために、前記デコーダ入力および前記エンコーダ隠れ状態を処理することと
を行うように構成された、デコーダニューラルネットワークと
を備える、請求項7に記載の方法。
【請求項１１】
前記シーケンスでの第1のオペレーション埋込み後の前記オペレーション埋込みの各々に対する前記デコーダ入力が、前記シーケンスでの先行するオペレーション埋込みによって表される前記1つまたは複数のオペレーションに選択されるデバイスを識別する、請求項10に記載の方法。
【請求項１２】
前記ネットワークパラメータの初期値から、前記ネットワークパラメータの前記第1の値を決定するステップであって、
前記複数のデバイスにわたる前記オペレーションの1つまたは複数の配置を選択するために、配置リカレントニューラルネットワークの複数のネットワークパラメータの現在の値に従って、前記配置リカレントニューラルネットワークを使用して、オペレーション埋込みの現在のシーケンスを処理することと、
各選択された配置に対して、
前記配置に従って前記複数のデバイスにわたる前記オペレーションで前記機械学習モデルの前記処理を行い、
前記処理が完了するために必要な時間を決定することと、
前記選択された配置の各々に対して前記処理が完了するために必要な前記時間から導出される報酬を使用する強化学習技法を使用して前記複数のネットワークのパラメータの前記現在の値を調整することと
を繰り返し行うことによって、前記ネットワークパラメータの前記第1の値を決定するステップ
をさらに含む、請求項1に記載の方法。
【請求項１３】
前記強化学習技法がREINFORCE技法である、請求項12に記載の方法。
【請求項１４】
前記強化学習技法が、前記必要な時間の移動平均であるベースラインを含む、請求項12に記載の方法。
【請求項１５】
前記パラメータの前記現在の値を調整するステップが、前記強化学習技法の一部として前記現在のシーケンスでの前記オペレーション埋込みを調整することをさらに含む、請求項12に記載の方法。
【請求項１６】
1つまたは複数のコンピュータと、
前記1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、
複数のハードウェアデバイス上での分散処理のために配置されるべき機械学習モデルを指定するデータを受け取るステップと、
前記機械学習モデルを指定する前記データから、オペレーション埋込みのシーケンスを生成するステップであって、前記シーケンスでの各オペレーション埋込みが、前記機械学習モデルの前記分散処理を行うことの一部である1つまたは複数のそれぞれのオペレーションを特徴づける、ステップと、
配置リカレントニューラルネットワークの複数のネットワークパラメータの第1の値に従って、前記配置リカレントニューラルネットワークを使用して、オペレーション埋込みの前記シーケンスを処理するステップであって、
前記配置リカレントニューラルネットワークが、前記複数のデバイスにわたる前記シーケンスでの前記オペレーション埋込みによって特徴づけられた前記オペレーションの配置を定義するネットワーク出力を生成するために、前記第1の値に従ってオペレーション埋込みの前記シーケンスを処理するように構成される、ステップと、
前記ネットワーク出力によって定義された前記配置に従って前記複数のデバイスに前記オペレーションを配置することによって、前記複数のハードウェアデバイスによる処理のために前記機械学習モデルをスケジュールするステップと
を行わせる命令を記憶した1つまたは複数のストレージデバイスと
を備える、システム。
【請求項１７】
1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、
複数のハードウェアデバイス上での分散処理のために配置されるべき機械学習モデルを指定するデータを受け取るステップと、
前記機械学習モデルを指定する前記データから、オペレーション埋込みのシーケンスを生成するステップであって、前記シーケンスでの各オペレーション埋込みが、前記機械学習モデルの前記分散処理を行うことの一部である1つまたは複数のそれぞれのオペレーションを特徴づける、ステップと、
配置リカレントニューラルネットワークの複数のネットワークパラメータの第1の値に従って、前記配置リカレントニューラルネットワークを使用して、オペレーション埋込みの前記シーケンスを処理するステップであって、
前記配置リカレントニューラルネットワークが、前記複数のデバイスにわたる前記シーケンスでの前記オペレーション埋込みによって特徴づけられた前記オペレーションの配置を定義するネットワーク出力を生成するために、前記第1の値に従ってオペレーション埋込みの前記シーケンスを処理するように構成される、ステップと、
前記ネットワーク出力によって定義された前記配置に従って前記複数のデバイスに前記オペレーションを配置することによって、前記複数のハードウェアデバイスによる処理のために前記機械学習モデルをスケジュールするステップと
を行わせる命令を記憶した1つまたは複数のコンピュータ記憶媒体。
【請求項１８】
特定のオペレーションを特徴づけるオペレーション埋込みを生成するステップが、
前記特定のオペレーションのオペレーションタイプのタイプ埋込みを生成するステップと、
前記特定のオペレーションによって生成される出力のサイズを特徴づける出力サイズ埋込みを生成するステップと、
入力を提供し、前記特定のオペレーションによって生成された出力を受け取るオペレーションを識別する隣接性埋込みを生成するステップと、
前記特定のオペレーションを特徴づける前記オペレーション埋込みを生成するために、前記タイプ埋込み、前記出力サイズ埋込み、および前記隣接性埋込みを結合するステップと
を含む、請求項17に記載の1つまたは複数のコンピュータ記憶媒体。
【請求項１９】
前記配置リカレントニューラルネットワークが、前記シーケンスでの前記オペレーション埋込みの各々に対して、前記複数のデバイスの各々に対するそれぞれのスコアを含むスコアのセットを生成するように構成され、
オペレーション埋込みの前記シーケンスを処理するステップが、前記オペレーションを特徴づける前記オペレーション埋込みのためのスコアの前記セットを使用して前記オペレーションの各々に対してデバイスを選択するステップを含む、
請求項17に記載の1つまたは複数のコンピュータ記憶媒体。
【請求項２０】
前記オペレーションの各々に対して前記デバイスを選択するステップが、前記オペレーションを特徴づける前記オペレーション埋込みのためのスコアの前記セットに従って、最も高いスコアを有する前記デバイスを選択するステップを含む、請求項19に記載の1つまたは複数のコンピュータ記憶媒体。