JP7627352B2 - インテリジェントコンピューティング向けのコンテナスケジューリングのための分散トレーニング - Google Patents
インテリジェントコンピューティング向けのコンテナスケジューリングのための分散トレーニング Download PDFInfo
- Publication number
- JP7627352B2 JP7627352B2 JP2023547139A JP2023547139A JP7627352B2 JP 7627352 B2 JP7627352 B2 JP 7627352B2 JP 2023547139 A JP2023547139 A JP 2023547139A JP 2023547139 A JP2023547139 A JP 2023547139A JP 7627352 B2 JP7627352 B2 JP 7627352B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- containers
- container
- target
- model
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
サンプルデータおよび対象モデルを取得するステップと、
前記対象モデルを分割して複数のサブモデルを得るステップであって、前記複数のサブモデルの各サブモデルは、前記対象モデルにおけるネットワーク層の一部を含む、得るステップと、
前記複数のサブモデルに基づいて、前記複数のサブモデルを配置するための少なくとも1つの計算ノードを決定し、前記少なくとも1つの計算ノード上に複数のコンテナを作成して、前記複数のサブモデルを前記複数のコンテナにそれぞれ配置するステップと、
前記サンプルデータを用いてモデルトレーニングタスクを実行して、前記複数のコンテナ内に配置された前記複数のサブモデルをトレーニングするステップと、
モデルトレーニングタスクを実行するときの前記少なくとも1つの計算ノードの負荷データを取得し、前記複数のコンテナの各々について、当該コンテナ内に配置されたサブモデルのトレーニングタスクを実行するときの当該サブモデルの演算時間を、当該コンテナに対応する演算時間として決定するステップと、
前記少なくとも1つの計算ノードの負荷データと、前記複数のコンテナのそれぞれに対応する演算時間とに基づいて、コンテナの分布を調整する必要がある計算ノードを対象ノードとして決定するステップと、
前記複数のコンテナのそれぞれに対応する演算時間が近いことを調整目標として、前記対象ノードにおけるコンテナの分布を調整するステップと、
コンテナの分布が調整された各計算ノードに基づいて、前記対象モデルのトレーニングタスクを実行するステップと、を含む。
モデルトレーニングタスクを実行するときの前記対象モデルの演算時間を決定するステップと、
前記対象モデルの演算時間に基づいて、前記対象モデルに含まれるネットワーク層を分割して、前記複数のサブモデルを取得するステップと、を含む。
所定の共有ストレージシステムから、当該コンテナに対応するトレーニング統計情報を決定するステップと、
前記トレーニング統計情報に含まれる、当該コンテナ内に配置されたサブモデルのトレーニングタスクを実行する開始時刻と終了時刻に基づいて、当該コンテナ内に配置されたサブモデルのトレーニングタスクを実行するときの当該サブモデルの演算時間を決定するステップと、を含む。
前記共有ストレージシステムに記憶されたトレーニング統計情報は、モデルトレーニングタスクを実行するときに前記少なくとも1つの計算ノードの各計算ノードによって生成された対象ログに基づいて決定され、前記対象ログは、予め定められた指定キーワードに従って前記少なくとも1つの計算ノードの各計算ノードによって生成されたログからフィルタリングされ、前記トレーニング統計情報は、特定数を蓄積した後に前記共有ストレージシステムに書き込まれ、前記少なくとも1つの計算ノードから削除される。
前記複数のコンテナのそれぞれに対応する演算時間の大きい順に、前記複数のコンテナをソートして第1のソート結果を得るステップと、
前記第1のソート結果において、所定の順位より前にあるコンテナを対象コンテナとするステップと、
前記対象コンテナと前記少なくとも1つの計算ノードの負荷データとに基づいて、コンテナの分布を調整する必要がある計算ノードを決定するステップと、を含む。
前記対象コンテナが配置された計算ノードを第1のノードとして決定するステップと、
前記第1のノードの負荷データに基づいて、前記第1のノードの負荷が第1の設定閾値より高いと判定された場合、他の計算ノードから、前記第1のノードにおけるコンテナの一部を配置するための計算ノードを第2のノードとして決定するステップと、
前記第1のノードおよび前記第2のノードを、コンテナの分布を調整する必要がある計算ノードとして決定するステップと、を含む。
前記対象コンテナに対応する演算時間と、他のコンテナに対応する演算時間との差が第2の設定閾値を超えると判定された場合、前記少なくとも1つの計算ノードの負荷データに基づいて、作成すべき新しいコンテナを配置する計算ノードを、コンテナの分布を調整する必要がある計算ノードとして決定するステップを含み、
前記複数のコンテナのそれぞれに対応する演算時間が近いことを調整目標として、前記対象ノードにおけるコンテナの分布を調整するステップは、
前記複数のコンテナのそれぞれに対応する演算時間が近いことを調整目標として、前記対象ノードに新しいコンテナを作成し、前記対象コンテナに配置されたサブモデルのモデルデータのコピーを作成し、コピーによって得られたサブモデルを前記新しいコンテナに配置するステップを含む。
前記少なくとも1つの計算ノードの負荷データが小さい順に、前記対象コンテナが配置された計算ノード以外の計算ノードをソートして第2のソート結果を得るステップと、
前記第2のソート結果に従って、ソートされた隣接する2つの計算ノード間の負荷差が所定の範囲内にあるかどうかを順次判定するステップと、
前記他の計算ノードのうち、ソートされた隣接する任意の2つの計算ノードについて、
当該ソートされた隣接する2つの計算ノード間の負荷差が前記所定の範囲内にないと判定された場合、当該ソートされた隣接する2つの計算ノードのうち、負荷の低いノードを、作成すべき新しいコンテナを配置する計算ノードとし、
当該ソートされた隣接する2つの計算ノード間の負荷差が前記所定の範囲内にあると判定された場合、前記第2のソート結果におけるすべての計算ノードがトラバースされるまで、または作成すべき新しいコンテナを配置する計算ノードが決定されるまで、次のソートされた隣接する2つの計算ノード間の負荷差が前記所定の範囲内にあるかどうかを判定するステップと、を含む。
前記第2のソート結果におけるソートされた隣接する2つの計算ノード間の各負荷差が前記所定の範囲内にあると判定された場合、前記作成すべき新しいコンテナに対応するサブモデルとネットワーク層の依存関係を有するサブモデルを、関連サブモデルとして決定するステップと、
前記関連サブモデルが配置された計算ノードを、関連ノードとして決定するステップと、
前記関連ノードと、前記関連ノード以外の他の計算ノードとの間のネットワーク遅延を測定するステップと、
測定によって得られたネットワーク遅延に基づいて、前記関連ノード以外の計算ノードから、作成すべき新しいコンテナを配置する計算ノードを決定するステップと、をさらに含む。
前記対象コンテナが配置された計算ノードを決定するステップと、
前記対象コンテナが配置された計算ノードに指定コンテナが配置されたと判定された場合、前記対象コンテナが配置された計算ノードを、コンテナの分布を調整する必要がある計算ノードとするステップであって、前記指定コンテナに配置されたサブモデルは、前記対象コンテナに配置されたサブモデルと同じである、ステップと、を含み、
前記複数のコンテナのそれぞれに対応する演算時間が近いことを調整目標として、前記対象ノードにおけるコンテナの分布を調整するステップは、
前記複数のコンテナのそれぞれに対応する演算時間が近いことを調整目標として、前記対象コンテナが配置された計算ノードにおける前記対象コンテナまたは前記指定コンテナを削除するステップを含む。
前記複数のコンテナのそれぞれに対応する演算時間が近く、かつ、前記少なくとも1つの計算ノードのそれぞれの負荷が近いことを調整目標として、前記対象ノードにおけるコンテナの分布を調整するステップを含む。
サンプルデータおよび対象モデルを取得するように構成される第1の取得モジュールと、
前記対象モデルを分割して複数のサブモデルを得るように構成される分割モジュールであって、前記複数のサブモデルの各サブモデルは、前記対象モデルにおけるネットワーク層の一部を含む、分割モジュールと、
前記複数のサブモデルに基づいて、前記複数のサブモデルを配置するための少なくとも1つの計算ノードを決定し、前記少なくとも1つの計算ノード上に複数のコンテナを作成して、前記複数のサブモデルを前記複数のコンテナにそれぞれ配置するように構成される第1の決定モジュールと、
前記サンプルデータを用いてモデルトレーニングタスクを実行して、前記複数のコンテナ内に配置された前記複数のサブモデルをトレーニングするように構成される第1のトレーニングモジュールと、
モデルトレーニングタスクを実行するときの前記少なくとも1つの計算ノードの負荷データを取得し、前記複数のコンテナの各々について、当該コンテナ内に配置されたサブモデルのトレーニングタスクを実行するときの当該サブモデルの演算時間を、当該コンテナに対応する演算時間として決定するように構成される第2の取得モジュールと、
前記少なくとも1つの計算ノードの負荷データと、前記複数のコンテナのそれぞれに対応する演算時間とに基づいて、コンテナの分布を調整する必要がある計算ノードを対象ノードとして決定するように構成される第2の決定モジュールと、
前記複数のコンテナのそれぞれに対応する演算時間が近いことを調整目標として、前記対象ノードにおけるコンテナの分布を調整するように構成される調整モジュールと、
コンテナの分布が調整された各計算ノードに基づいて、前記対象モデルのトレーニングタスクを実行するように構成される第2のトレーニングモジュールと、を備える。
モデルトレーニングタスクを実行するときの前記対象モデルの演算時間を決定し、
前記対象モデルの演算時間に基づいて、前記対象モデルに含まれるネットワーク層を分割して、前記複数のサブモデルを取得するように構成される。
所定の共有ストレージシステムから、当該コンテナに対応するトレーニング統計情報を決定し、
前記トレーニング統計情報に含まれる、当該コンテナ内に配置されたサブモデルのトレーニングタスクを実行する開始時刻と終了時刻に基づいて、当該コンテナ内に配置されたサブモデルのトレーニングタスクを実行するときの当該サブモデルの演算時間を決定するように構成される。
前記共有ストレージシステムに記憶されたトレーニング統計情報は、モデルトレーニングタスクを実行するときに前記少なくとも1つの計算ノードの各計算ノードによって生成された対象ログに基づいて決定され、前記対象ログは、予め定められた指定キーワードに従って前記少なくとも1つの計算ノードの各計算ノードによって生成されたログからフィルタリングされ、前記トレーニング統計情報は、特定数を蓄積した後に前記共有ストレージシステムに書き込まれ、前記少なくとも1つの計算ノードから削除される。
前記複数のコンテナのそれぞれに対応する演算時間の大きい順に、前記複数のコンテナをソートして第1のソート結果を得、
前記第1のソート結果において、所定の順位より前にあるコンテナを対象コンテナとし、
前記対象コンテナと前記少なくとも1つの計算ノードの負荷データとに基づいて、コンテナの分布を調整する必要がある計算ノードを決定するように構成される。
前記対象コンテナが配置された計算ノードを第1のノードとして決定し、
前記第1のノードの負荷データに基づいて、前記第1のノードの負荷が第1の設定閾値より高いと判定された場合、他の計算ノードから、前記第1のノードにおけるコンテナの一部を配置するための計算ノードを第2のノードとして決定し、
前記第1のノードおよび前記第2のノードを、コンテナの分布を調整する必要がある計算ノードとして決定するように構成される。
前記対象コンテナに対応する演算時間と、他のコンテナに対応する演算時間との差が第2の設定閾値を超えると判定された場合、前記少なくとも1つの計算ノードの負荷データに基づいて、作成すべき新しいコンテナを配置する計算ノードを、コンテナの分布を調整する必要がある計算ノードとして決定するように構成される。
前記調整モジュールは、具体的に、
前記複数のコンテナのそれぞれに対応する演算時間が近いことを調整目標として、前記対象ノードに新しいコンテナを作成し、前記対象コンテナに配置されたサブモデルのモデルデータのコピーを作成し、コピーによって得られたサブモデルを前記新しいコンテナに配置するように構成される。
前記少なくとも1つの計算ノードの負荷データが小さい順に、前記対象コンテナが配置された計算ノード以外の計算ノードをソートして第2のソート結果を得、
前記第2のソート結果に従って、ソートされた隣接する2つの計算ノード間の負荷差が所定の範囲内にあるかどうかを順次判定し、
前記他の計算ノードのうち、ソートされた隣接する任意の2つの計算ノードについて、
当該ソートされた隣接する2つの計算ノード間の負荷差が前記所定の範囲内にないと判定された場合、当該ソートされた隣接する2つの計算ノードのうち、負荷の低いノードを作成すべき新しいコンテナを配置する計算ノードとし、
当該ソートされた隣接する2つの計算ノード間の負荷差が前記所定の範囲内にあると判定された場合、前記第2のソート結果におけるすべての計算ノードがトラバースされるまで、または作成すべき新しいコンテナを配置する計算ノードが決定されるまで、次のソートされた隣接する2つの計算ノード間の負荷差が前記所定の範囲内にあるかどうかを判定するように構成される。
前記第2のソート結果におけるソートされた隣接する2つの計算ノード間の各負荷差が前記所定の範囲内にあると判定された場合、前記作成すべき新しいコンテナに対応するサブモデルとネットワーク層の依存関係を有するサブモデルを、関連サブモデルとして決定し、
前記関連サブモデルが配置された計算ノードを、関連ノードとして決定し、
前記関連ノードと、前記関連ノード以外の他の計算ノードとの間のネットワーク遅延を測定し、
測定によって得られたネットワーク遅延に基づいて、前記関連ノード以外の計算ノードから、作成すべき新しいコンテナを配置する計算ノードを決定するように構成される。
前記対象コンテナが配置された計算ノードを決定し、
前記対象コンテナが配置された計算ノードに指定コンテナが配置されたと判定された場合、前記対象コンテナが配置された計算ノードを、コンテナの分布を調整する必要がある計算ノードとするように構成され、前記指定コンテナに配置されたサブモデルは、前記対象コンテナに配置されたサブモデルと同じである。
前記調整モジュールは、具体的に、
前記複数のコンテナのそれぞれに対応する演算時間が近いことを調整目標として、前記対象コンテナが配置された計算ノードにおける前記対象コンテナまたは前記指定コンテナを削除するように構成される。
前記複数のコンテナのそれぞれに対応する演算時間が近く、かつ、前記少なくとも1つの計算ノードのそれぞれの負荷が近いことを調整目標として、前記対象ノードにおけるコンテナの分布を調整するように構成される。
システムは、各コンテナに対応する演算時間で各コンテナの動作状態を反映し、その後、各コンテナに対応する演算時間に基づいてコンテナの分布を調整する必要がある計算ノードを決定することができる。
サンプルデータおよび対象モデルを取得するように構成される第1の取得モジュール400と、
前記対象モデルを分割して複数のサブモデルを得るように構成される分割モジュール402であって、前記複数のサブモデルの各サブモデルは、前記対象モデルにおけるネットワーク層の一部を含む、分割モジュール402と、
前記複数のサブモデルに基づいて、前記複数のサブモデルを配置するための少なくとも1つの計算ノードを決定し、前記少なくとも1つの計算ノード上に複数のコンテナを作成して、前記複数のサブモデルを前記複数のコンテナにそれぞれ配置するように構成される第1の決定モジュール404と、
前記サンプルデータを用いてモデルトレーニングタスクを実行して、前記複数のコンテナ内に配置された前記複数のサブモデルをトレーニングするように構成される第1のトレーニングモジュール406と、
モデルトレーニングタスクを実行するときの前記少なくとも1つの計算ノードの負荷データを取得し、前記複数のコンテナの各々について、当該コンテナ内に配置されたサブモデルのトレーニングタスクを実行するときの当該サブモデルの演算時間を、当該コンテナに対応する演算時間として決定するように構成される第2の取得モジュール408と、
前記少なくとも1つの計算ノードの負荷データと、前記複数のコンテナのそれぞれに対応する演算時間とに基づいて、コンテナの分布を調整する必要がある計算ノードを対象ノードとして決定するように構成される第2の決定モジュール410と、
前記複数のコンテナのそれぞれに対応する演算時間が近いことを調整目標として、前記対象ノードにおけるコンテナの分布を調整するように構成される調整モジュール412と、
コンテナの分布が調整された各計算ノードに基づいて、前記対象モデルのトレーニングタスクを実行するように構成される第2のトレーニングモジュール414と、を備える。
モデルトレーニングタスクを実行するときの前記対象モデルの演算時間を決定し、
前記対象モデルの演算時間に基づいて、前記対象モデルに含まれるネットワーク層を分割して、前記複数のサブモデルを取得するように構成される。
所定の共有ストレージシステムから、当該コンテナに対応するトレーニング統計情報を決定し、
前記トレーニング統計情報に含まれる、当該コンテナ内に配置されたサブモデルのトレーニングタスクを実行する開始時刻と終了時刻に基づいて、当該コンテナ内に配置されたサブモデルのトレーニングタスクを実行するときの当該サブモデルの演算時間を決定するように構成される。
前記共有ストレージシステムに記憶されたトレーニング統計情報は、モデルトレーニングタスクを実行するときに前記少なくとも1つの計算ノードの各計算ノードによって生成された対象ログに基づいて決定され、前記対象ログは、予め定められた指定キーワードに従って前記少なくとも1つの計算ノードの各計算ノードによって生成されたログからフィルタリングされ、前記トレーニング統計情報は、特定数を蓄積した後に前記共有ストレージシステムに書き込まれ、前記少なくとも1つの計算ノードから削除される。
前記複数のコンテナのそれぞれに対応する演算時間の大きい順に、前記複数のコンテナをソートして第1のソート結果を得、
前記第1のソート結果において、所定の順位より前にあるコンテナを対象コンテナとし、
前記対象コンテナと前記少なくとも1つの計算ノードの負荷データとに基づいて、コンテナの分布を調整する必要がある計算ノードを決定するように構成される。
前記対象コンテナが配置された計算ノードを第1のノードとして決定し、
前記第1のノードの負荷データに基づいて、前記第1のノードの負荷が第1の設定閾値より高いと判定された場合、他の計算ノードから、前記第1のノードにおけるコンテナの一部を配置するための計算ノードを第2のノードとして決定し、
前記第1のノードおよび前記第2のノードを、コンテナの分布を調整する必要がある計算ノードとして決定するように構成される。
前記対象コンテナに対応する演算時間と、他のコンテナに対応する演算時間との差が第2の設定閾値を超えると判定された場合、前記少なくとも1つの計算ノードの負荷データに基づいて、作成すべき新しいコンテナを配置する計算ノードを、コンテナの分布を調整する必要がある計算ノードとして決定するように構成される。
前記調整モジュール412は、具体的に、
前記複数のコンテナのそれぞれに対応する演算時間が近いことを調整目標として、前記対象ノードに新しいコンテナを作成し、前記対象コンテナに配置されたサブモデルのモデルデータのコピーを作成し、コピーによって得られたサブモデルを前記新しいコンテナに配置するように構成される。
前記少なくとも1つの計算ノードの負荷データが小さい順に、前記対象コンテナが配置された計算ノード以外の計算ノードをソートして第2のソート結果を得、
前記第2のソート結果に従って、ソートされた隣接する2つの計算ノード間の負荷差が所定の範囲内にあるかどうかを順次判定し、
前記他の計算ノードのうち、ソートされた隣接する任意の2つの計算ノードについて、
当該ソートされた隣接する2つの計算ノード間の負荷差が前記所定の範囲内にないと判定された場合、当該ソートされた隣接する2つの計算ノードのうち、負荷の低いノードを作成すべき新しいコンテナを配置する計算ノードとし、
当該ソートされた隣接する2つの計算ノード間の負荷差が前記所定の範囲内にあると判定された場合、前記第2のソート結果におけるすべての計算ノードがトラバースされるまで、または作成すべき新しいコンテナを配置する計算ノードが決定されるまで、次のソートされた隣接する2つの計算ノード間の負荷差が前記所定の範囲内にあるかどうかを判定するように構成される。
前記第2のソート結果におけるソートされた隣接する2つの計算ノード間の各負荷差が前記所定の範囲内にあると判定された場合、前記作成すべき新しいコンテナに対応するサブモデルとネットワーク層の依存関係を有するサブモデルを、関連サブモデルとして決定し、
前記関連サブモデルが配置された計算ノードを、関連ノードとして決定し、
前記関連ノードと、前記関連ノード以外の他の計算ノードとの間のネットワーク遅延を測定し、
測定によって得られたネットワーク遅延に基づいて、前記関連ノード以外の計算ノードから、作成すべき新しいコンテナを配置する計算ノードを決定するように構成される。
前記対象コンテナが配置された計算ノードを決定し、
前記対象コンテナが配置された計算ノードに指定コンテナが配置されたと判定された場合、前記対象コンテナが配置された計算ノードを、コンテナの分布を調整する必要がある計算ノードとするように構成され、前記指定コンテナに配置されたサブモデルは、前記対象コンテナに配置されたサブモデルと同じである。
前記調整モジュール412は、具体的に、
前記複数のコンテナのそれぞれに対応する演算時間が近いことを調整目標として、前記対象コンテナが配置された計算ノードにおける前記対象コンテナまたは前記指定コンテナを削除するように構成される。
前記複数のコンテナのそれぞれに対応する演算時間が近く、かつ、前記少なくとも1つの計算ノードのそれぞれの負荷が近いことを調整目標として、前記対象ノードにおけるコンテナの分布を調整するように構成される。
Claims (13)
- サンプルデータおよび対象モデルを取得するステップと、
前記対象モデルを分割して複数のサブモデルを得るステップであって、前記複数のサブモデルの各サブモデルは、前記対象モデルにおけるネットワーク層の一部を含む、ステップと、
前記複数のサブモデルに基づいて、前記複数のサブモデルを配置するための少なくとも1つの計算ノードを決定し、前記少なくとも1つの計算ノード上に複数のコンテナを作成して、前記複数のサブモデルを前記複数のコンテナにそれぞれ配置するステップと、
前記サンプルデータを用いてモデルトレーニングタスクを実行して、前記複数のコンテナ内に配置された前記複数のサブモデルをトレーニングするステップと、
モデルトレーニングタスクを実行するときの前記少なくとも1つの計算ノードの負荷データを取得するステップと、
前記複数のコンテナの各々について、当該コンテナ内に配置されたサブモデルのトレーニングタスクを実行するときの当該サブモデルの演算時間を、当該コンテナに対応する演算時間として決定するステップと、
前記少なくとも1つの計算ノードの負荷データと、前記複数のコンテナのそれぞれに対応する演算時間とに基づいて、コンテナの分布を調整する必要がある計算ノードを対象ノードとして決定するステップと、
前記複数のコンテナのそれぞれに対応する演算時間が近いことを調整目標として、前記対象ノードにおけるコンテナの分布を調整するステップと、
コンテナの分布が調整された各計算ノードに基づいて、前記対象モデルのトレーニングタスクを実行するステップと、を含む
ことを特徴とするインテリジェントコンピューティング向けのコンテナスケジューリングのための分散トレーニング方法。 - 前記対象モデルを分割して複数の前記サブモデルを得るステップは、
モデルトレーニングタスクを実行するときの前記対象モデルの演算時間を決定するステップと、
前記対象モデルの演算時間に基づいて、前記対象モデルに含まれるネットワーク層を分割して、前記複数のサブモデルを取得するステップと、を含む
ことを特徴とする請求項1に記載の方法。 - 前記複数のコンテナの各々について、当該コンテナ内に配置されたサブモデルのトレーニングタスクを実行するときの当該サブモデルの演算時間を決定するステップは、
所定の共有ストレージシステムから、当該コンテナに対応するトレーニング統計情報を決定するステップと、
前記トレーニング統計情報に含まれる、当該コンテナ内に配置されたサブモデルのトレーニングタスクを実行する開始時刻と終了時刻に基づいて、当該コンテナ内に配置されたサブモデルのトレーニングタスクを実行するときの当該サブモデルの演算時間を決定するステップと、を含み、
前記共有ストレージシステムに記憶されたトレーニング統計情報は、モデルトレーニングタスクを実行するときに前記少なくとも1つの計算ノードの各計算ノードによって生成された対象ログに基づいて決定され、前記対象ログは、予め定められた指定キーワードに従って前記少なくとも1つの計算ノードの各計算ノードによって生成されたログからフィルタリングされ、前記トレーニング統計情報は、特定数を蓄積した後に前記共有ストレージシステムに書き込まれ、前記少なくとも1つの計算ノードから削除される、
ことを特徴とする請求項1に記載の方法。 - 前記少なくとも1つの計算ノードの負荷データと、前記複数のコンテナのそれぞれに対応する演算時間とに基づいて、コンテナの分布を調整する必要がある計算ノードを決定するステップは、
前記複数のコンテナのそれぞれに対応する演算時間の大きい順に、前記複数のコンテナをソートして第1のソート結果を得るステップと、
前記第1のソート結果において、所定の順位より前にあるコンテナを対象コンテナとするステップと、
前記対象コンテナと前記少なくとも1つの計算ノードの負荷データとに基づいて、コンテナの分布を調整する必要がある計算ノードを決定するステップと、を含む
ことを特徴とする請求項1に記載の方法。 - 前記対象コンテナと前記少なくとも1つの計算ノードの負荷データとに基づいて、コンテナの分布を調整する必要がある計算ノードを決定するステップは、
前記対象コンテナが配置された計算ノードを第1のノードとして決定するステップと、
前記第1のノードの負荷データに基づいて、前記第1のノードの負荷が第1の設定閾値より高いと判定された場合、他の計算ノードから、前記第1のノードにおけるコンテナの一部を配置するための計算ノードを第2のノードとして決定するステップと、
前記第1のノードおよび前記第2のノードを、コンテナの分布を調整する必要がある計算ノードとして決定するステップと、を含む
ことを特徴とする請求項4に記載の方法。 - 前記対象コンテナと前記少なくとも1つの計算ノードの負荷データとに基づいて、コンテナの分布を調整する必要がある計算ノードを決定するステップは、
前記対象コンテナに対応する演算時間と、他のコンテナに対応する演算時間との差が第2の設定閾値を超えると判定された場合、前記少なくとも1つの計算ノードの負荷データに基づいて、作成すべき新しいコンテナを配置する計算ノードを、コンテナの分布を調整する必要がある計算ノードとして決定するステップを含み、
前記複数のコンテナのそれぞれに対応する演算時間が近いことを調整目標として、前記対象ノードにおけるコンテナの分布を調整するステップは、
前記複数のコンテナのそれぞれに対応する演算時間が近いことを調整目標として、前記対象ノードに新しいコンテナを作成し、前記対象コンテナに配置されたサブモデルのモデルデータのコピーを作成し、コピーによって得られたサブモデルを前記新しいコンテナに配置するステップを含む
ことを特徴とする請求項4に記載の方法。 - 前記少なくとも1つの計算ノードの負荷データに基づいて、作成すべき新しいコンテナを配置する計算ノードを、コンテナの分布を調整する必要がある計算ノードとして決定するステップは、
前記少なくとも1つの計算ノードの負荷データが小さい順に、前記対象コンテナが配置された計算ノード以外の計算ノードをソートして第2のソート結果を得るステップと、
前記第2のソート結果に従って、ソートされた隣接する2つの計算ノード間の負荷差が所定の範囲内にあるかどうかを順次判定するステップと、
前記他の計算ノードのうち、ソートされた隣接する任意の2つの計算ノードについて、
当該ソートされた隣接する2つの計算ノード間の負荷差が前記所定の範囲内にないと判定された場合、当該ソートされた隣接する2つの計算ノードのうち、負荷の低いノードを、作成すべき新しいコンテナを配置する計算ノードとし、
当該ソートされた隣接する2つの計算ノード間の負荷差が前記所定の範囲内にあると判定された場合、前記第2のソート結果におけるすべての計算ノードがトラバースされるまで、または作成すべき新しいコンテナを配置する計算ノードが決定されるまで、次のソートされた隣接する2つの計算ノード間の負荷差が前記所定の範囲内にあるかどうかを判定するステップと、を含む
ことを特徴とする請求項6に記載の方法。 - 前記第2のソート結果におけるソートされた隣接する2つの計算ノード間の各負荷差が前記所定の範囲内にあると判定された場合、前記作成すべき新しいコンテナに対応するサブモデルとネットワーク層の依存関係を有するサブモデルを、関連サブモデルとして決定するステップと、
前記関連サブモデルが配置された計算ノードを、関連ノードとして決定するステップと、
前記関連ノードと、前記関連ノード以外の他の計算ノードとの間のネットワーク遅延を測定するステップと、
測定によって得られたネットワーク遅延に基づいて、前記関連ノード以外の計算ノードから、作成すべき新しいコンテナを配置する計算ノードを決定するステップと、をさらに含む
ことを特徴とする請求項7に記載の方法。 - 前記対象コンテナと前記少なくとも1つの計算ノードの負荷データとに基づいて、コンテナの分布を調整する必要がある計算ノードを決定するステップは、
前記対象コンテナが配置された計算ノードを決定するステップと、
前記対象コンテナが配置された計算ノードに指定コンテナが配置されたと判定された場合、前記対象コンテナが配置された計算ノードを、コンテナの分布を調整する必要がある計算ノードとするステップであって、前記指定コンテナに配置されたサブモデルは、前記対象コンテナに配置されたサブモデルと同じである、ステップと、を含み、
前記複数のコンテナのそれぞれに対応する演算時間が近いことを調整目標として、前記対象ノードにおけるコンテナの分布を調整するステップは、
前記複数のコンテナのそれぞれに対応する演算時間が近いことを調整目標として、前記対象コンテナが配置された計算ノードにおける前記対象コンテナまたは前記指定コンテナを削除するステップを含む
ことを特徴とする請求項4に記載の方法。 - 前記複数のコンテナのそれぞれに対応する演算時間が近いことを調整目標として、前記対象ノードにおけるコンテナの分布を調整するステップは、
前記複数のコンテナのそれぞれに対応する演算時間が近く、かつ、前記少なくとも1つの計算ノードのそれぞれの負荷が近いことを調整目標として、前記対象ノードにおけるコンテナの分布を調整するステップを含む
ことを特徴とする請求項1~9のいずれか1項に記載の方法。 - サンプルデータおよび対象モデルを取得するように構成される第1の取得モジュールと、
前記対象モデルを分割して複数のサブモデルを得るように構成される分割モジュールであって、前記複数のサブモデルの各サブモデルは、前記対象モデルにおけるネットワーク層の一部を含む、分割モジュールと、
前記複数のサブモデルに基づいて、前記複数のサブモデルを配置するための少なくとも1つの計算ノードを決定し、前記少なくとも1つの計算ノード上に複数のコンテナを作成して、前記複数のサブモデルを前記複数のコンテナにそれぞれ配置するように構成される第1の決定モジュールと、
前記サンプルデータを用いてモデルトレーニングタスクを実行して、前記複数のコンテナ内に配置された前記複数のサブモデルをトレーニングするように構成される第1のトレーニングモジュールと、
モデルトレーニングタスクを実行するときの前記少なくとも1つの計算ノードの負荷データを取得し、前記複数のコンテナの各々について、当該コンテナ内に配置されたサブモデルのトレーニングタスクを実行するときの当該サブモデルの演算時間を、当該コンテナに対応する演算時間として決定するように構成される第2の取得モジュールと、
前記少なくとも1つの計算ノードの負荷データと、前記複数のコンテナのそれぞれに対応する演算時間とに基づいて、コンテナの分布を調整する必要がある計算ノードを対象ノードとして決定するように構成される第2の決定モジュールと、
前記複数のコンテナのそれぞれに対応する演算時間が近いことを調整目標として、前記対象ノードにおけるコンテナの分布を調整するように構成される調整モジュールと、
コンテナの分布が調整された各計算ノードに基づいて、前記対象モデルのトレーニングタスクを実行するように構成される第2のトレーニングモジュールと、を備える
ことを特徴とするインテリジェントコンピューティング向けのコンテナスケジューリングのための分散トレーニング装置。 - コンピュータプログラムを記憶しているコンピュータ可読記憶媒体であって、前記コンピュータプログラムがプロセッサによって実行されると、請求項1~9のいずれか1項に記載の方法が実施される、
ことを特徴とするコンピュータ可読記憶媒体。 - メモリと、プロセッサと、前記メモリに記憶され、前記プロセッサ上で実行可能なコンピュータプログラムとを含む電子デバイスであって、前記プロセッサが前記コンピュータプログラムを実行すると、請求項1~9のいずれか1項に記載の方法を実施する、
ことを特徴とする電子デバイス。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310461389.9A CN116167463B (zh) | 2023-04-26 | 2023-04-26 | 一种面向智能计算的分布式模型训练容器调度方法及装置 |
| CN202310461389.9 | 2023-04-26 | ||
| PCT/CN2023/101093 WO2024007849A1 (zh) | 2023-04-26 | 2023-06-19 | 面向智能计算的分布式训练容器调度 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2024529206A JP2024529206A (ja) | 2024-08-06 |
| JP7627352B2 true JP7627352B2 (ja) | 2025-02-05 |
Family
ID=86414952
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2023547139A Active JP7627352B2 (ja) | 2023-04-26 | 2023-06-19 | インテリジェントコンピューティング向けのコンテナスケジューリングのための分散トレーニング |
Country Status (3)
| Country | Link |
|---|---|
| JP (1) | JP7627352B2 (ja) |
| CN (1) | CN116167463B (ja) |
| WO (1) | WO2024007849A1 (ja) |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113992525B (zh) | 2021-10-12 | 2024-06-21 | 支付宝(杭州)信息技术有限公司 | 一种应用的容器数量调节方法及装置 |
| CN116167463B (zh) * | 2023-04-26 | 2023-07-07 | 之江实验室 | 一种面向智能计算的分布式模型训练容器调度方法及装置 |
| CN116382599B (zh) * | 2023-06-07 | 2023-08-29 | 之江实验室 | 一种面向分布式集群的任务执行方法、装置、介质及设备 |
| CN117150288B (zh) * | 2023-08-02 | 2025-11-14 | 中国电信股份有限公司技术创新中心 | 容器功耗确定模型训练、确定方法、装置、设备及介质 |
| CN116755941B (zh) * | 2023-08-21 | 2024-01-09 | 之江实验室 | 一种节点故障感知的分布式模型训练的方法及装置 |
| CN117035123B (zh) * | 2023-10-09 | 2024-01-09 | 之江实验室 | 一种并行训练中的节点通信方法、存储介质、设备 |
| CN117591244B (zh) * | 2023-11-30 | 2024-12-27 | 北京九章云极科技有限公司 | 基于机器学习平台的模型构建方法、装置及电子设备 |
| CN117724823A (zh) * | 2024-02-07 | 2024-03-19 | 之江实验室 | 基于声明式语义的多模型工作流描述的任务执行方法 |
| CN118313440A (zh) * | 2024-03-29 | 2024-07-09 | 北京硅动科技有限公司 | 模型部署方法与电子设备 |
| CN118378726B (zh) * | 2024-06-25 | 2024-09-20 | 之江实验室 | 一种模型训练系统、方法、存储介质及电子设备 |
| CN118567791B (zh) * | 2024-07-31 | 2024-10-22 | 之江实验室 | 一种缓存方法、装置、存储介质以及电子设备 |
| CN119829296B (zh) * | 2025-03-14 | 2025-06-03 | 深圳市图美电子技术有限公司 | 存算一体超融合服务器的负载均衡方法及系统 |
| CN120029788B (zh) * | 2025-04-23 | 2025-08-05 | 上海稀宇科技有限公司 | 一种混合专家模型的负载均衡方法、装置及电子设备 |
| CN120631602B (zh) * | 2025-08-14 | 2025-11-21 | 思腾合力(天津)科技有限公司 | 模型管理资源池动态调配方法、装置、服务器及介质 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2020518065A (ja) | 2017-04-26 | 2020-06-18 | ミデア グループ カンパニー リミテッドMidea Group Co., Ltd. | ジョブサーバを使用した大規模な分散システムでの機械学習モデルのトレーニング |
| JP2022178916A (ja) | 2021-05-21 | 2022-12-02 | 富士通株式会社 | 機械学習システム、機械学習プログラム、及び、機械学習方法 |
Family Cites Families (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109559734B (zh) * | 2018-12-18 | 2022-02-18 | 百度在线网络技术(北京)有限公司 | 声学模型训练的加速方法和装置 |
| CN111563584B (zh) * | 2019-02-14 | 2022-12-09 | 上海寒武纪信息科技有限公司 | 一种神经网络模型的拆分方法及相关产品 |
| CN111723900B (zh) * | 2019-03-18 | 2023-10-20 | 北京灵汐科技有限公司 | 一种基于众核处理器的神经网络的映射方法及计算设备 |
| JP7469337B2 (ja) * | 2019-06-18 | 2024-04-16 | テトラ ラバル ホールディングス アンド ファイナンス エス エイ | 液体食品のための包装容器における逸脱の検出 |
| CN110413391B (zh) * | 2019-07-24 | 2022-02-25 | 上海交通大学 | 基于容器集群的深度学习任务服务质量保证方法和系统 |
| US20220344049A1 (en) * | 2019-09-23 | 2022-10-27 | Presagen Pty Ltd | Decentralized artificial intelligence (ai)/machine learning training system |
| CN111752713B (zh) * | 2020-06-28 | 2022-08-05 | 浪潮电子信息产业股份有限公司 | 模型并行训练任务负载均衡方法、装置、设备及存储介质 |
| CN112308205B (zh) * | 2020-06-28 | 2025-03-18 | 北京沃东天骏信息技术有限公司 | 基于预训练模型的模型改进方法及装置 |
| CN113110914A (zh) * | 2021-03-02 | 2021-07-13 | 西安电子科技大学 | 一种基于微服务架构的物联网平台构建方法 |
| CN113011483B (zh) * | 2021-03-11 | 2022-08-05 | 北京三快在线科技有限公司 | 一种模型训练和业务处理的方法及装置 |
| CN113220457B (zh) * | 2021-05-24 | 2024-03-22 | 深圳市智芯华玺信息技术有限公司 | 模型部署方法、模型部署装置、终端设备及可读存储介质 |
| CN113723443B (zh) * | 2021-07-12 | 2025-04-11 | 鹏城实验室 | 一种视觉大模型分布式训练方法及系统 |
| CN113992525B (zh) * | 2021-10-12 | 2024-06-21 | 支付宝(杭州)信息技术有限公司 | 一种应用的容器数量调节方法及装置 |
| CN114091536A (zh) * | 2021-11-19 | 2022-02-25 | 上海梦象智能科技有限公司 | 一种基于变分自编码器的负荷分解方法 |
| CN114780225B (zh) * | 2022-06-14 | 2022-09-23 | 支付宝(杭州)信息技术有限公司 | 一种分布式模型训练系统、方法及装置 |
| CN115248728B (zh) * | 2022-09-21 | 2023-02-03 | 之江实验室 | 面向智能计算的分布式训练任务调度方法、系统和装置 |
| CN116011587A (zh) * | 2022-12-30 | 2023-04-25 | 支付宝(杭州)信息技术有限公司 | 一种模型训练方法、装置、存储介质及电子设备 |
| CN115827253B (zh) * | 2023-02-06 | 2023-05-09 | 青软创新科技集团股份有限公司 | 一种芯片资源算力分配方法、装置、设备及存储介质 |
| CN116167463B (zh) * | 2023-04-26 | 2023-07-07 | 之江实验室 | 一种面向智能计算的分布式模型训练容器调度方法及装置 |
-
2023
- 2023-04-26 CN CN202310461389.9A patent/CN116167463B/zh active Active
- 2023-06-19 JP JP2023547139A patent/JP7627352B2/ja active Active
- 2023-06-19 WO PCT/CN2023/101093 patent/WO2024007849A1/zh not_active Ceased
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2020518065A (ja) | 2017-04-26 | 2020-06-18 | ミデア グループ カンパニー リミテッドMidea Group Co., Ltd. | ジョブサーバを使用した大規模な分散システムでの機械学習モデルのトレーニング |
| JP2022178916A (ja) | 2021-05-21 | 2022-12-02 | 富士通株式会社 | 機械学習システム、機械学習プログラム、及び、機械学習方法 |
Non-Patent Citations (1)
| Title |
|---|
| 綿貫 幸、吉田明正,マルチGPU上での畳み込みニューラルネットワークにおけるモデル分割配置,情報処理学会研究報告,日本,一般社団法人情報処理学会,2023年03月09日,Vol.2023-HPC-188, No.7,pp.1-6,ISSN 2188-8841 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN116167463A (zh) | 2023-05-26 |
| CN116167463B (zh) | 2023-07-07 |
| WO2024007849A1 (zh) | 2024-01-11 |
| JP2024529206A (ja) | 2024-08-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7627352B2 (ja) | インテリジェントコンピューティング向けのコンテナスケジューリングのための分散トレーニング | |
| TWI691855B (zh) | 基於區塊鏈的資料處理方法及設備 | |
| CN110490309B (zh) | 一种用于神经网络的算子融合方法及其相关产品 | |
| JP7644247B2 (ja) | タスク実行方法、装置、記憶媒体及び電子デバイス | |
| CN114936085A (zh) | 基于深度学习算法的etl调度方法及装置 | |
| WO2025044317A1 (zh) | 一种模型训练加速的方法、装置、存储介质及电子设备 | |
| CN117312394B (zh) | 一种数据访问方法、装置、存储介质及电子设备 | |
| CN110033093A (zh) | 超参数确定方法、装置及设备 | |
| CN110635962A (zh) | 用于分布式系统的异常分析方法及装置 | |
| CN117421129A (zh) | 一种基于异构存储集群的业务执行方法、装置及电子设备 | |
| CN116301626A (zh) | 一种缓存资源管理方法、装置及设备 | |
| CN114138183B (zh) | 一种存储系统的数据分层方法、装置、设备及存储介质 | |
| CN107038127A (zh) | 应用系统及其缓存控制方法和装置 | |
| CN116126750B (zh) | 一种基于硬件特性的数据处理的方法及装置 | |
| CN117171577B (zh) | 一种高性能算子选择的动态决策方法及装置 | |
| CN116382599B (zh) | 一种面向分布式集群的任务执行方法、装置、介质及设备 | |
| CN116384505B (zh) | 一种数据处理的方法、装置、存储介质及电子设备 | |
| CN116304212B (zh) | 一种图结构感知的图神经网络硬件加速装置及方法 | |
| CN114676132B (zh) | 一种数据表关联方法、装置、存储介质及电子设备 | |
| CN112711539B (zh) | 一种数据处理的方法、装置以及数据检测系统 | |
| CN117744731A (zh) | 一种基于阻变存储器的模型训练方法、装置、介质及设备 | |
| CN116204324A (zh) | 一种任务执行的方法、装置、存储介质及电子设备 | |
| CN116150627A (zh) | 一种异步联邦学习方法、装置、存储介质及电子设备 | |
| CN117391166A (zh) | 一种基于冗余消除的超图神经网络更新方法、装置及设备 | |
| CN116204387A (zh) | 一种芯片电流的预测方法、装置、介质及电子设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240216 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230802 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230802 |
|
| A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20240124 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240910 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20241112 |
|
| 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: 20250117 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250124 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7627352 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |