(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023065605
(43)【公開日】2023-05-12
(54)【発明の名称】モデルトレーニング方法、装置、システム、機器、媒体及びプログラム
(51)【国際特許分類】
G06F 16/906 20190101AFI20230502BHJP
【FI】
G06F16/906
【審査請求】有
【請求項の数】25
【出願形態】OL
【公開請求】
(21)【出願番号】P 2023032391
(22)【出願日】2023-03-03
(31)【優先権主張番号】202210358922.4
(32)【優先日】2022-04-06
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】100118913
【弁理士】
【氏名又は名称】上田 邦生
(74)【代理人】
【識別番号】100142789
【弁理士】
【氏名又は名称】柳 順一郎
(74)【代理人】
【識別番号】100201466
【弁理士】
【氏名又は名称】竹内 邦彦
(72)【発明者】
【氏名】ワン, シュオファン
(72)【発明者】
【氏名】ゴン, ウェイバオ
(72)【発明者】
【氏名】ウ, ツィファ
(72)【発明者】
【氏名】サン, ユウ
(72)【発明者】
【氏名】ディン, シユ
(72)【発明者】
【氏名】ハン, ヤキァン
(72)【発明者】
【氏名】ツァオ, ヤンビン
(72)【発明者】
【氏名】リュウ, ユァン
(72)【発明者】
【氏名】ユ, ディアンハイ
(57)【要約】 (修正有)
【課題】モデルトレーニング方法、装置、システム、機器、媒体及びプログラムを提供する。
【解決手段】方法は、少なくとも1つの第1のクラスタがサンプルデータセットをトレーニングしてトレーニングデータを取得し、第2のクラスタがトレーニングデータに基づいてトレーニングモデルをトレーニングし、トレーニングデータを生成するモデルと事前トレーニングモデルを個別に異なるクラスタに配置し、モデルに対してクロスクラスタトレーニングを行う。
【効果】第1のクラスタと第2のクラスタとの間でトレーニングデータを伝送するだけでモデルパラメータを伝送する必要がなく、クラスタ間の低い広帯域通信はクロスクラスタトレーニングを満たし、異なる段階のトレーニングタスクに基づいて、トレーニングデータの生成タスクと事前トレーニングモデルのトレーニングタスクを夫々異なるプロセッサに配置して処理速度を向上させ、トレーニング效率を向上させる。
【選択図】
図5a
【特許請求の範囲】
【請求項1】
少なくとも1つの第1のクラスタと、
該少なくとも1つの第1のクラスタと通信する第2のクラスタと、
を含み、
前記少なくとも1つの第1のクラスタが、サンプルデータセットを取得し、前記サンプルデータセットに基づいてトレーニングデータを生成し、前記トレーニングデータを前記第2のクラスタに送信し、
前記第2のクラスタが、前記少なくとも1つの第1のクラスタから送信された前記トレーニングデータに基づいて、事前トレーニングモデルをトレーニングするモデルトレーニングシステム。
【請求項2】
前記少なくとも1つの第1のクラスタの内部は第1の帯域幅で通信し、前記第2のクラスタの内部は第2の帯域幅で通信し、前記少なくとも1つの第1のクラスタと前記第2のクラスタとの間は第3の帯域幅で互いに通信し、前記第1の帯域幅が前記第3の帯域幅よりも大きく、前記第2の帯域幅が前記第3の帯域幅よりも大きい請求項1に記載のモデルトレーニングシステム。
【請求項3】
前記少なくとも1つの第1のクラスタと前記第2のクラスタとは互いに異種クラスタである請求項1に記載のモデルトレーニングシステム。
【請求項4】
前記少なくとも1つの第1のクラスタと前記第2のクラスタで使用されるプロセッサは異なる請求項3に記載のモデルトレーニングシステム。
【請求項5】
前記少なくとも1つの第1のクラスタで使用されるプロセッサがグラフィックプロセッサであり、前記第2のクラスタで使用されるプロセッサがニューラルネットワークプロセッシングユニットである請求項4に記載のモデルトレーニングシステム。
【請求項6】
前記第1のクラスタは複数であり、複数の前記第1のクラスタが処理するデータタイプは異なる請求項1に記載のモデルトレーニングシステム。
【請求項7】
前記少なくとも1つの第1のクラスタが、
前記サンプルデータセットに基づいてトレーニングデータを生成するとき、
前記サンプルデータセットを初期生成器に入力して、前記トレーニングデータを生成し、前記サンプルデータセットに基づいて初期生成器をトレーニングして、トレーニングされた生成器を取得し、
前記第2のクラスタが、
前記少なくとも1つの第1のクラスタから送信された前記トレーニングデータに基づいて事前トレーニングモデルをトレーニングするとき、
前記トレーニングデータに基づいて初期判別器をトレーニングして、トレーニングされた判別器を取得する請求項1に記載のモデルトレーニングシステム。
【請求項8】
前記サンプルデータセットは第1のテキストサンプルデータセットであり、
前記少なくとも1つの第1のクラスタが、
前記サンプルデータセットを初期生成器に入力して、前記トレーニングデータを生成するとき、
前記第1のテキストサンプルデータセット中のテキストセグメントを設定された識別子に置換して、置換された第1のテキストサンプルデータセットを取得し、前記置換された第1のテキストサンプルデータセットを初期生成器に入力して、第2のテキストサンプルデータを取得し、
前記第2のクラスタが、
前記トレーニングデータに基づいて初期判別器をトレーニングして、トレーニングされた判別器を取得するとき、
前記第2のテキストサンプルデータに基づいて初期判別器をトレーニングして、トレーニングされた判別器を取得する請求項7に記載のモデルトレーニングシステム。
【請求項9】
前記少なくとも1つの第1のクラスタが、
前記サンプルデータセットに基づいて初期生成器をトレーニングして、トレーニングされた生成器を取得するとき、
初期生成パラメータを再帰的ニューラルネットワークに入力して前記初期生成器を作成し、
前記サンプルデータセットを前記初期生成器に入力して事前トレーニングを行い、
確率分布関数に基づいて確率出力に変換し、事前トレーニング後のネットワークパラメータを取得し、
前記事前トレーニング後のネットワークパラメータに基づいて前記初期生成器のネットワークパラメータを更新して、前記生成器を取得する請求項7に記載のモデルトレーニングシステム。
【請求項10】
前記第2のクラスタが、
前記トレーニングデータに基づいて初期判別器をトレーニングして、トレーニングされた判別器を取得するとき、
初期判別パラメータを畳み込みニューラルネットワークに入力して前記初期判別器を作成し、
前記トレーニングデータを初期判別器に入力して事前トレーニングを行い、
確率分布関数に基づいて確率出力に変換し、
最小化されたクロスエントロピーに基づいて前記初期判別器の前記初期判別パラメータを更新して、事前トレーニング後の判別パラメータを取得し、
前記事前トレーニング後の判別パラメータに基づいて前記初期判別器のネットワークパラメータを更新して、前記判別器を取得する請求項7に記載のモデルトレーニングシステム。
【請求項11】
第2のクラスタと通信可能に接続される第1のクラスタに適用され、
サンプルデータセットを取得するステップと、
前記サンプルデータセットに基づいて、トレーニングデータを生成するステップと、
第2のクラスタが前記トレーニングデータに基づいて事前トレーニングモデルをトレーニングするように、前記トレーニングデータを前記第2のクラスタに送信するステップと、を含むモデルトレーニング方法。
【請求項12】
前記サンプルデータセットに基づいて、トレーニングデータを生成するステップが、
前記サンプルデータセットを初期生成器に入力して、前記トレーニングデータを生成し、前記サンプルデータセットに基づいて初期生成器をトレーニングして、トレーニングされた生成器を取得するステップを含む請求項11に記載のモデルトレーニング方法。
【請求項13】
前記サンプルデータセットは第1のテキストサンプルデータセットであり、
前記サンプルデータセットを初期生成器に入力して、前記トレーニングデータを生成するステップが、
前記第1のテキストサンプルデータセット中のテキストセグメントを設定された識別子に置換して、置換された第1のテキストサンプルデータセットを取得し、前記置換された第1のテキストサンプルデータセットを初期生成器に入力して、第2のテキストサンプルデータを取得するステップを含む請求項12に記載のモデルトレーニング方法。
【請求項14】
前記サンプルデータセットに基づいて初期生成器をトレーニングして、トレーニングされた生成器を取得するステップが、
初期生成パラメータを再帰的ニューラルネットワークに入力して前記初期生成器を作成するステップと、
前記サンプルデータセットを前記初期生成器に入力して事前トレーニングを行うステップと、
確率分布関数に基づいて確率出力に変換し、事前トレーニング後のネットワークパラメータを取得するステップと、
前記事前トレーニング後のネットワークパラメータに基づいて前記初期生成器のネットワークパラメータを更新して、前記生成器を取得するステップと、
を含む請求項12に記載のモデルトレーニング方法。
【請求項15】
前記第1のクラスタの内部は第1の帯域幅で通信し、前記第2のクラスタの内部は第2の帯域幅で通信し、前記第1のクラスタと前記第2のクラスタとの間は第3の帯域幅で互いに通信し、前記第1の帯域幅が前記第3の帯域幅より大きく、前記第2の帯域幅が前記第3の帯域幅より大きい請求項11に記載のモデルトレーニング方法。
【請求項16】
前記少なくとも1つの第1のクラスタと前記第2のクラスタとは互いに異種クラスタである請求項11に記載のモデルトレーニング方法。
【請求項17】
少なくとも1つの第1のクラスタと通信可能に接続される第2のクラスタに適用され、
前記少なくとも1つの第1のクラスタから送信されたサンプルデータセットを受信するステップと、
トレーニングデータに基づいて事前トレーニングモデルをトレーニングするステップと、
を含むモデルトレーニング方法。
【請求項18】
前記トレーニングデータに基づいて事前トレーニングモデルをトレーニングするステップが、
前記トレーニングデータに基づいて初期判別器をトレーニングして、トレーニングされた判別器を取得するステップを含む請求項17に記載のモデルトレーニング方法。
【請求項19】
前記トレーニングデータは第2のテキストサンプルデータであり、
前記トレーニングデータに基づいて初期判別器をトレーニングして、トレーニングされた判別器を取得するステップが、
前記第2のテキストサンプルデータに基づいて初期判別器をトレーニングして、トレーニングされた判別器を取得するステップを含む請求項18に記載のモデルトレーニング方法。
【請求項20】
前記トレーニングデータに基づいて初期判別器をトレーニングして、トレーニングされた判別器を取得するステップが、
初期判別パラメータを畳み込みニューラルネットワークに入力して前記初期判別器を作成するステップと、
前記トレーニングデータを初期判別器に入力して事前トレーニングを行うステップと、
確率分布関数に基づいて確率出力に変換するステップと、
最小化されたクロスエントロピーに基づいて前記初期判別器の前記初期判別パラメータを更新して、事前トレーニング後の判別パラメータを取得するステップと、
前記事前トレーニング後の判別パラメータに基づいて前記初期判別器のネットワークパラメータを更新して、前記判別器を取得するステップと、
を含む請求項18に記載のモデルトレーニング方法。
【請求項21】
第2のクラスタと通信可能に接続される第1のクラスタに適用され、
サンプルデータセットを取得するための取得モジュールと、
前記サンプルデータセットに基づいて、トレーニングデータを生成するための生成モジュールと、
第2のクラスタが前記トレーニングデータに基づいて事前トレーニングモデルをトレーニングするように、前記トレーニングデータを前記第2のクラスタに送信するための送信モジュールと、
を備えるモデルトレーニング装置。
【請求項22】
少なくとも1つの第1のクラスタと通信可能に接続される第2のクラスタに適用され、
前記少なくとも1つの第1のクラスタから送信されたサンプルデータセットを受信するための受信モジュールと、
前記トレーニングデータに基づいて事前トレーニングモデルをトレーニングするためのトレーニングモジュールと、
を備えるモデルトレーニング装置。
【請求項23】
少なくとも1つのプロセッサと、
該少なくとも1つのプロセッサと通信可能に接続されるメモリと、
を備え、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶されおり、前記命令は、前記少なくとも1つのプロセッサが請求項11から16または17から20のいずれか一項に記載の方法の各ステップを実行できるように、前記少なくとも1つのプロセッサによって実行される電子機器。
【請求項24】
コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータ命令が、コンピュータに請求項11から16または17から20のいずれか一項に記載の方法の各ステップを実行させる非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項25】
プロセッサによって実行される場合、請求項11から16または17から20のいずれか一項に記載の方法の各ステップが実現されるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、コンピュータ技術の分野に関し、具体的には人工知能、自然言語処理、深層学習技術の分野に関し、特にモデルトレーニング方法、装置、システム、機器、媒体及びプログラムに関する。
【背景技術】
【0002】
コンピュータ技術の盛んな発展に伴い、人工知能技術も急速に発展しており、医薬、金融、教育などの各方面は人工知能技術から離れられず、自然言語処理技術及び深層学習技術などもますます広く活用されている。
【0003】
現在、クロスクラスタ(cross-cluster)のモデルトレーニングはクラスタ間の通信帯域幅に制限されており、モデルトレーニングの効率は低い。
【発明の概要】
【0004】
本出願は、モデルトレーニング方法、装置、システム、機器、媒体及びプログラムを提供する。
【0005】
本出願の一態様によれば、少なくとも1つの第1のクラスタと、前記少なくとも1つの第1のクラスタと通信する第2のクラスタとを含むモデルトレーニングシステムを提供し、前記少なくとも1つの第1のクラスタが、サンプルデータセットを取得し、前記サンプルデータセットに基づいてトレーニングデータを生成し、前記トレーニングデータを前記第2のクラスタに送信し、前記第2のクラスタが、前記少なくとも1つの第1のクラスタから送信された前記トレーニングデータに基づいて、事前トレーニングモデルをトレーニングする。
【0006】
本出願の別の態様によれば、第2のクラスタと通信可能に接続される第1のクラスタに適用されるモデルトレーニング方法を提供し、前記方法は、サンプルデータセットを取得するステップと、前記サンプルデータセットに基づいて、トレーニングデータを生成するステップと、第2のクラスタが前記トレーニングデータに基づいて事前トレーニングモデルをトレーニングするように、前記トレーニングデータを前記第2のクラスタに送信するステップと、を含む。
【0007】
本出願の別の態様によれば、少なくとも1つの第1のクラスタと通信可能に接続される第2のクラスタに適用されるモデルトレーニング方法を提供し、前記方法は、前記少なくとも1つの第1のクラスタから送信されたサンプルデータセットを受信するステップと、前記トレーニングデータに基づいて、事前トレーニングモデルをトレーニングするステップと、を含む。
【0008】
本出願の別の態様によれば、第2のクラスタと通信可能に接続される第1のクラスタに適用されるモデルトレーニング装置を提供し、前記装置は、サンプルデータセットを取得するための取得モジュールと、前記サンプルデータセットに基づいて、トレーニングデータを生成するための生成モジュールと、第2のクラスタが前記トレーニングデータに基づいて事前トレーニングモデルをトレーニングするように、前記トレーニングデータを前記第2のクラスタに送信するための送信モジュールと、を備える。
【0009】
本出願の別の態様によれば、少なくとも1つの第1のクラスタと通信可能に接続される第2のクラスタに適用されるモデルトレーニング装置を提供し、前記装置は、前記少なくとも1つの第1のクラスタから送信されたサンプルデータセットを受信するための受信モジュールと、前記トレーニングデータに基づいて、事前トレーニングモデルをトレーニングするためのトレーニングモジュールと、を備える。
【0010】
本出願の別の様態によれば、電子機器を提供し、少なくとも1つのプロセッサと、該少なくとも1つのプロセッサと通信可能に接続されるメモリと、を備え、前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶されており、前記命令は、前記少なくとも1つのプロセッサが上記方法の各ステップを実行できるように、前記少なくとも1つのプロセッサによって実行される。
【0011】
本出願の別の態様によれば、クラスタを提供し、少なくとも1つのプロセッサと、該少なくとも1つのプロセッサと通信可能に接続されるメモリと、を備え、前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶されており、前記命令は、前記少なくとも1つのプロセッサが上記の方法の各ステップを実行できるように、前記少なくとも1つのプロセッサによって実行される。
【0012】
本出願の別の態様によれば、コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体を提供し、前記コンピュータ命令は、コンピュータに上記の方法の各ステップを実行させる。
【0013】
本出願の別の態様によれば、コンピュータプログラムを提供し、前記コンピュータプログラムはプロセッサによって実行される場合、上記の方法の各ステップが実現される。
【発明の効果】
【0014】
本出願によって提供されるモデルトレーニング方法、装置、システム、機器、媒体及びプログラムは、以下の有益な効果を有する。
【0015】
本出願のいくつかの実施例では、少なくとも1つの第1のクラスタがサンプルデータセットをトレーニングしてトレーニングデータを取得し、第2のクラスタが、トレーニングデータに基づいてトレーニングモデルをトレーニングし、トレーニングデータを生成するモデルと事前トレーニングモデルを個別に異なるクラスタに配置し、モデルに対してクロスクラスタトレーニングを行うことで、第1のクラスタと第2のクラスタとの間でトレーニングデータを伝送するだけで、モデルパラメータを伝送する必要がなく、クラスタ間の低い広帯域通信で本出願のクロスクラスタトレーニングを満たすことができ、異なる段階のトレーニングタスクに基づいて、トレーニングデータの生成タスクと事前トレーニングモデルのトレーニングタスクを個別に異なるプロセッサに配置することにより、モデルトレーニングをコンピュータシステムの内部構造と技術的に関連付け、トレーニング中のハードウェアの実行効果を向上させ、ハードウェア処理速度を向上させ、第1のクラスタがトレーニングデータを生成して第2のクラスタに提供してモデルトレーニングを行うことにより、第2のクラスタ自体がトレーニングデータを生成してからモデルトレーニングを行うことに比べて、モデルトレーニングを加速し、モデルのトレーニング効率を向上することができる。
【0016】
なお、この部分に記載されている内容は、本出願の実施例の肝心または重要な特徴を特定することを意図しておらず、本出願の範囲を限定することも意図していないことを理解されたい。本出願の他の特徴は、以下の説明を通して容易に理解される。
【図面の簡単な説明】
【0017】
図面は、本技術案をよりよく理解するために使用され、本開示を限定するものではない。
【
図1】本出願によって提供されるデータ並列方式のクロスクラスタのモデルトレーニングの概略フローチャートである。
【
図2】本出願によって提供されるパイプライン並列方式のクロスクラスタのモデルトレーニングの概略フローチャートである。
【
図3】本出願の例示的な実施例によって提供されるモデルトレーニングシステムの概略構成図である。
【
図4】本出願の例示的な実施例によって提供されるモデルトレーニングシステムの概略構成図である。
【
図5a】本出願の実施例1によって提供されるモデルトレーニング方法の概略フローチャートである。
【
図5b】本出願の実施例2によって提供されるモデルトレーニング方法の概略フローチャートである。
【
図6】本出願の実施例3によって提供されるモデルトレーニング方法の概略フローチャートである。
【
図7】本出願の例示的な実施例によって提供されるモデルトレーニング装置の概略構成図である。
【
図8】本出願の例示的な実施例によって提供されるモデルトレーニング装置の概略構成図である。
【
図9】本出願の実施例を実行するための例示的な電子機器の概略ブロック図である。
【発明を実施するための形態】
【0018】
以下、図面と組み合わせて本出願の例示的な実施例を説明し、理解を容易にするためにその中には本出願の実施例の様々な詳細事項を含んでおり、それらは単なる例示的なものと見なされるべきである。したがって、当業者は、本出願の範囲及び精神から逸脱することなく、ここで説明される実施例に対して様々な変更と修正を行うことができることを認識されたい。同様に、わかりやすくかつ簡潔にするために、以下の説明では、周知の機能及び構造の説明を省略する。
【0019】
人工知能は、コンピュータに人間のある思惟過程と知能行為(学習、推理、思考、計画など)をシミュレートさせることを研究する学科であり、ハードウェアレベルの技術とソフトウェアレベルの技術ともある。人工知能ハードウェア技術は一般にセンサ、専用人工知能チップ、クラウド計算、分散記憶、ビッグデータ処理などの技術を含む。人工知能ソフトウェア技術は主にコンピュータビジョン技術、音声認識技術、自然言語処理技術及び機械学習/深層学習、ビッグデータ処理技術、ナレッジグラフ技術などのいくつかの方向を含む。
【0020】
自然言語処理は、人間言語(中国語、英語など)をコンピュータで処理、理解、運用する、コンピュータ科学と言語学との交差学科であり、計算言語学とも呼ばれる。自然言語は人間が他の動物と区別する根本的な標識であり、言語がないと、人間の思考も話せないため、自然言語処理は人工知能の最高タスクと境界を体現している。つまり、コンピューターが自然言語を処理する能力を備える時にこそ、機器は本当の知能を実現する。
【0021】
深層学習とは、多層の人工ニューラルネットワークとそれをトレーニングする方法を指す。一層のニューラルネットワークは、大量の行列数字を入力として、非線形アクティベーション方法によって重みを取ってから、別のデータ集合を出力として生成する。適切な行列数量で多層の組織がリンクすることにより、ニューラルネットワーク「脳」を形成して、正確で複雑な処理を行い、人間が物体を認識し画像をマークするようである。
【0022】
なお、本出願の技術案では、関連するユーザ個人情報の収集、記憶、使用、加工、伝送、提供、公開などの処理は、いずれも関連法律法規の規定に合致し、かつ公序良俗に違反しない。
【0023】
コンピュータ技術の盛んな発展に伴い、人工知能技術も急速に発展しており、医薬、金融、教育などの各方面は人工知能技術から離れられず、自然言語処理技術及び深層学習技術などもますます広く活用されている。
【0024】
現在、クロスクラスタのモデルトレーニング方式は、データ並列方式とパイプライン並列方式という2つのトレーニング方式を含む。
【0025】
図1は、本出願によって提供されるデータ並列方式のクロスクラスタのモデルトレーニングの概略フローチャートである。
図1に示すように、クラスタAとクラスタBは、データ並列方式でモデルをトレーニングし、マルチサンプルデータをクラスタAとクラスタBとの複数のデバイスに同時に入力し、同時にデータトレーニングを行い、複数のデバイスがそれぞれの勾配を得て、クラスタAとクラスタBは得られた複数の勾配に対して勾配結合を行い、モデルのネットワークパラメータを更新する。
図1に示すように、デバイス1、デバイス2、デバイス3、及びデバイス4は同時に入力されたサンプルデータに対してモデルトレーニングを行う。
【0026】
図2は、本出願によって提供されるパイプライン並列方式のクロスクラスタのモデルトレーニングの概略フローチャートである。
図2に示すように、クラスタAとクラスタBはパイプライン並列方式でモデルをトレーニングし、モデルトレーニングタスクを計算時間順に複数のサブタスクに分割し、クラスタAとクラスタBは、対応する計算ノードを各サブタスクに割り当てる。
図2に示すように、デバイス0、デバイス1、デバイス2及びデバイス3は、異なるサブタスクに対応する計算ノードである。
【0027】
クラスタAとクラスタBとの間のデータ伝送速度が100MB/S前後であり、100億パラメータのモデルをトレーニングすることを例とする。データ並列方式でモデルをトレーニングすると、モデルが更新されるたびにクラスタ間で100GBのデータを伝送する必要があり、1回のデータ伝送が完了するたびに20分かかるが、一般的にモデルが更新されるたびに通常1秒前後かかり、トレーニング時間は1200倍近く増える。パイプライン並列方式でモデルをトレーニングすると、クラスタ間で転送すべきのデータはbatch_size * sequence_length * hidden_size * 2であり、ここで、経験値batch_size=2048、sequence_len=1024、 hidden_size = 4096であり、順方向と逆方向通信が必要であり、更新ごとに2048*1024*4096*2のパラメータを転送する必要があり、1回で32GBを転送する必要があり、5分近くかかり、トレーニング時間は300倍近く増える。上記の2つのクロスクラスタのモデルトレーニング方式は、モデルトレーニングの効率が低い。
【0028】
以上のように、上記クロスクラスタのモデルトレーニング方式の効率は低い。上記の技術的課題に対して、本出願のいくつかの実施例では、少なくとも1つの第1のクラスタは、サンプルデータをトレーニングしてトレーニングデータを取得し、第2のクラスタは、トレーニングデータに基づいてトレーニングモデルをトレーニングし、トレーニングデータを生成するモデルと事前トレーニングモデルを個別に異なるクラスタに配置し、モデルに対してクロスクラスタトレーニングを行うことで、第1のクラスタと第2のクラスタとの間でトレーニングデータを伝送するだけで、モデルパラメータを伝送する必要がなく、クラスタ間の低い広帯域通信は本出願のクロスクラスタトレーニングを満たすことができ、異なる段階のトレーニングタスクに基づいて、トレーニングデータの生成タスクと事前トレーニングモデルのトレーニングタスクを個別に異なるプロセッサに配置することにより、モデルトレーニングをコンピュータシステムの内部構造と技術的に関連付け、トレーニング中のハードウェアの実行効果を向上させ、ハードウェア処理速度を向上させ、第1のクラスタがトレーニングデータを生成して第2のクラスタに提供してモデルトレーニングを行うことにより、第2のクラスタ自体がトレーニングデータを生成してからモデルトレーニングを行うことに比べて、モデルトレーニングを加速し、モデルのトレーニング効率を向上することができる。
【0029】
以下、添付図面と併せて、本出願の各実施例によって提供される技術案を詳細に説明する。
【0030】
図3は、本出願の例示的な実施例によって提供されるモデルトレーニングシステム300の概略構成図である。
図3に示すように、当該モデルトレーニングシステム300は、第1のクラスタ30aと第2のクラスタ30bを含む。なお、図中の第1のクラスタ30aと第2のクラスタ30bは例示的な説明にすぎず、本出願に対する限定を構成するものではない。当該モデルトレーニングシステム300は、実際のニーズに応じて他のサービスを提供することもできる。
【0031】
なお、本出願は、第1のクラスタ30aと第2のクラスタ30bのタイプを限定せず、クラスタは、記憶ノード、計算ノード及びアービトレーションノードなどを含むことができる。
【0032】
本実施例では、第1のクラスタ30aは、サンプルデータセットをトレーニングしてトレーニングデータを取得するために使用され、第2のクラスタ30bは、トレーニングデータに基づいてトレーニングモデルをトレーニングし、トレーニングデータを生成するモデルと事前トレーニングモデルを個別に異なるクラスタに配置し、モデルに対してクロスクラスタトレーニングを行い、第1のクラスタと第2のクラスタとの間でトレーニングデータを伝送するだけで、モデルパラメータを伝送する必要がなく、クラスタ間の低い広帯域通信は本出願のクロスクラスタトレーニングを満たすことができ、モデルのトレーニング效率を向上させる。
【0033】
上記の実施例では、第1のクラスタ30aがサンプルデータセットに基づいてトレーニングデータを生成する一実現可能な方式は、サンプルデータセットを初期生成器に入力して、トレーニングデータを生成し、サンプルデータセットに基づいて初期生成器をトレーニングして、トレーニングされた生成器を取得することである。それに応じて、第2のクラスタ30bが第1のクラスタ30aから送信されたトレーニングデータに基づいて事前トレーニングモデルをトレーニングする一実現可能な方式は、トレーニングデータに基づいて初期判別器をトレーニングして、トレーニングされた判別器を取得することである。
【0034】
本出願の実施例は、「生成器+判別器」であるモードのモデル中の生成器と判別器をそれぞれ第1のクラスタと第2のクラスタに配置して、モデルに対してクロスクラスタトレーニングを行い、第1のクラスタと第2のクラスタとの間でトレーニングデータを伝送するだけで、モデルパラメータを伝送する必要がなく、クラスタ間の低い広帯域通信は本出願のクロスクラスタトレーニングを満たすことができ、モデルのトレーニング效率を向上させる。
【0035】
なお、サンプルデータセットはテキストサンプルデータセットまたは画像サンプルデータセットである。
【0036】
選択的に、サンプルデータセットが第1のテキストサンプルデータセットである場合、第1のテキストサンプルデータセット中のテキストセグメントを設定された識別子に置換して、置換された第1のテキストサンプルデータセットを取得し、置換された第1のテキストサンプルデータセットを初期生成器に入力して、第2のテキストサンプルデータを取得し、第2のテキストサンプルデータに基づいて初期判別器をトレーニングして、トレーニングされた判別器を取得する。トレーニング中に、第1のクラスタ30aに配置された初期生成器は、第1のテキストサンプルデータ中の一部の字または単語を設定された識別子に置換した後、第2のテキストサンプルデータを生成し、第1のクラスタ30aは第2のテキストサンプルデータを第2のクラスタ30bに送信し、第2のクラスタ30bに配置された初期判別器は、第2のテキストサンプルデータ中の各字または単語が置換されたか否かを判断する。
【0037】
例えば、第1のテキストサンプルデータは「ハルビンは黒竜江の省都で、国際氷雪文化名城である」であり、第1のクラスタ30aに配置された初期生成器は、第1のテキストサンプルデータ中の一部の字または単語を設定された識別子に置換して、「Mは黒竜江の省Mで、M文化名城である」を生成し、「Mは黒竜江の省Mで、M文化名城である」を生成器に入力して、第2のサンプルデータ「牡丹江は黒竜江の省市で、国際氷雪文化名城である」を生成する。第1のクラスタ30aは第2のテキストサンプルデータを第2のクラスタ30bに送信し、第2のクラスタ30bに配置された初期判別器は、「牡丹江は黒竜江の省市で、国際氷雪文化名城である」中の各字または単語が置換されたか否かを判断する。ここで、0は置換されたことを表し、1は置換されていないことを表す。図から分かるように、判別器は、「牡丹江」、「市」などの字または単語が置換されたと判断した。
【0038】
選択可能な一実施例では、第1のクラスタ30aはサンプルデータセットに基づいて初期生成器をトレーニングして、トレーニングされた生成器を取得する。一実現可能な方式は、初期生成パラメータを再帰的ニューラルネットワークに入力して初期生成器を作成し、サンプルデータセットを初期生成器に入力して事前トレーニングを行い、確率分布関数に基づいて確率出力に変換し、事前トレーニング後のネットワークパラメータを取得し、事前トレーニング後のネットワークパラメータに基づいて初期生成器のネットワークパラメータを更新して、生成器を取得することである。
【0039】
それに応じて、別の選択的な実施例では、第2のクラスタ30bはトレーニングデータに基づいて初期判別器をトレーニングして、トレーニングされた判別器を取得する。一実現可能な方式は、初期判別パラメータを畳み込みニューラルネットワークに入力して初期判別器を作成し、トレーニングデータを初期判別器に入力して事前トレーニングを行い、確率分布関数に基づいて確率出力に変換し、最小化されたクロスエントロピーに基づいて初期判別器の初期判別パラメータを更新して、事前トレーニング後の判別パラメータを取得し、事前トレーニング後の判別パラメータに基づいて初期判別器のネットワークパラメータを更新して、判別器を取得することである。
【0040】
なお、第1のクラスタ30a内部は第1の帯域幅で通信し、第2のクラスタ30b内部は第2の帯域幅で通信し、第1のクラスタ30aと第2のクラスタ30bとの間は第3の帯域幅で互いに通信し、第1の帯域幅が第3の帯域幅より大きく、第2の帯域幅が第3の帯域幅より大きい。すなわち、第1のクラスタ30aと第2のクラスタ30bの内部で高帯域幅で通信することを維持することができ、第1のクラスタと第2のクラスタとの間は低帯域幅で通信することで、通信コストを増やすことなく、トレーニングデータの伝送を完全に満たすことができる。
【0041】
本実施例では、第1のクラスタ30aと第2のクラスタ30b中のトレーニング論理は強い結合を必要とせず、基盤に異なるチップを用いることができるため、第1のクラスタ30aと第2のクラスタ30bは互いに異種クラスタであり、すなわち、第1のクラスタ30aと第2のクラスタ30bで使用されるプロセッサは異なり、一実施例では、第1のクラスタ30aで使用されるプロセッサはグラフィックプロセッサであり、第2のクラスタ30bで使用されるプロセッサはニューラルネットワークプロセッシングユニット(Neural network Processing Unit、NPU)である。
【0042】
以下、アプリケーションシーンと併せて、本出願の実施例の技術案を説明する。
【0043】
アプリケーションシーン1:機械翻訳モデルである。第1のクラスタ30aに配置された第1のモデルはテキストサンプルデータセットに基づいて、Back-Translationデータを生成し、第1のクラスタ30aはBack-Translationデータを第2のクラスタ30bに送信し、第2のクラスタ30bに配置された第2のモデルはBack-Translationデータに基づいて事前トレーニングモデルをトレーニングする。
【0044】
アプリケーションシーン2:多言語の事前トレーニングモデルである。第1のクラスタ30aに配置された第1のモデルは多言語テキストサンプルデータセットに基づいて、Back-Translationデータを生成し、第1のクラスタ30aはBack-Translationデータを第2のクラスタ30bに送信し、第2のクラスタ30bに配置された第2のモデルはBack-Translationデータに基づいて事前トレーニングモデルをトレーニングする。
【0045】
アプリケーションシーン3:大きなモデルの蒸留である。第1のクラスタ30aに大きなモデルを配置し、第2のクラスタ30bに小さなモデルを配置する。第1のクラスタ30aは、大きなモデルをトレーニングしながら、新たなトレーニングデータを生成し、第1のクラスタ30aはトレーニングデータを第2のクラスタ30bに送信し、第2のクラスタ30bはトレーニングデータに基づいて小さなモデルをトレーニングする。
【0046】
図4は本出願の例示的な実施例によって提供されるモデルトレーニングシステム400の概略構成図である。
図4に示すように、当該モデルトレーニングシステム400は、複数の第1のクラスタ40aと第2のクラスタ40bを含む。なお、図中の複数の第1のクラスタ40aと第2のクラスタ40bは例示的な説明にすぎず、本出願に対する限定を構成するものではない。当該モデルトレーニングシステム400は、実際のニーズに応じて他のサービスを提供することもできる。
【0047】
なお、本出願は、第1のクラスタ40aと第2のクラスタ40bのタイプを限定せず、クラスタは、記憶ノード、計算ノード及びアービトレーションノードなどを含むことができる。
【0048】
本実施例では、複数の第1のクラスタ40aは、サンプルデータセットをトレーニングしてトレーニングデータを取得するために使用され、第2のクラスタ40bは、トレーニングデータに基づいてトレーニングモデルをトレーニングし、トレーニングデータを生成するモデルと事前トレーニングモデルを個別に異なるクラスタに配置し、モデルに対してクロスクラスタトレーニングを行い、複数の第1のクラスタと第2のクラスタとの間でトレーニングデータを伝送するだけで、モデルパラメータを伝送する必要がなく、クラスタ間の低い広帯域通信は本出願のクロスクラスタトレーニングを満たすことができ、モデルのトレーニング效率を向上させる。
【0049】
上記の実施例では、複数の第1のクラスタ40aがサンプルデータセットトに基づいてレーニングデータを生成する一実現可能な方式は、複数の第1のクラスタ40aがそれぞれのサンプルデータセットを初期生成器に入力して、それぞれのトレーニングデータを生成し、サンプルデータセットに基づいてそれぞれの初期生成器をトレーニングして、トレーニングされた生成器を取得することである。それに応じて、第2のクラスタ40bが複数の第1のクラスタ40aから送信されたトレーニングデータに基づいて事前トレーニングモデルをトレーニングする一実現可能な方式は、トレーニングデータに基づいて初期判別器をトレーニングして、トレーニングされた判別器を取得することである。
【0050】
本出願の実施例では、「複数の生成器+判別器」であるモードのモデル中の生成器と判別器をそれぞれ複数の第1のクラスタと第2のクラスタに配置し、モデルに対してクロスクラスタトレーニングを行い、第1のクラスタと第2のクラスタとの間でトレーニングデータを伝送するだけで、モデルパラメータを伝送する必要がなく、クラスタ間の低い広帯域通信は本出願のクロスクラスタトレーニングを満たすことができ、モデルのトレーニング效率を向上させる。
【0051】
なお、サンプルデータセットはテキストサンプルデータセットまたは画像サンプルデータセットである。
【0052】
選択的に、サンプルデータセットが第1のテキストサンプルデータセットである場合、各第1のクラスタ40aはそれぞれの第1のテキストサンプルデータセットをそれぞれの初期生成器に入力して、第1のテキストサンプルデータセット中のテキストセグメントを設定された識別子に置換し、それぞれの第2のテキストサンプルデータを取得し、各第1のクラスタ40aはそれぞれの第2のテキストサンプルデータを第2のクラスタ40bに送信し、第2のクラスタ40bは第2のテキストサンプルデータに基づいて初期判別器をトレーニングして、トレーニングされた判別器を取得する。トレーニング中に、各第1のクラスタ40aに配置された初期生成器は、第1のテキストサンプルデータ中の一部の字または単語を設定された識別子に置換した後、第2のテキストサンプルデータを生成し、複数の第1のクラスタ40aは、第2のテキストサンプルデータを第2のクラスタ40bに送信し、第2のクラスタ40bに配置された初期判別器は第2のテキストサンプルデータ中の各字または単語が置換された否かを判断する。
【0053】
例えば、
図3bに示すように、第1のテキストサンプルデータは「ハルビンは黒竜江の省都で、国際氷雪文化名城である」であり、第1のクラスタ30aに配置された初期生成器は、第1のテキストサンプルデータ中の一部の字または単語を設定された識別子に置換して、「Mは黒竜江の省Mで、M文化名城である」を生成し、「Mは黒竜江の省Mで、M文化名城である」を生成器に入力して、第2のサンプルデータである「牡丹江は黒竜江の省市で、国際氷雪文化名城である」を生成する。第1のクラスタ30aは第2のテキストサンプルデータを第2のクラスタ30bに送信し、第2のクラスタ30bに配置された初期判別器は、「牡丹江は黒竜江の省市で、国際氷雪文化名城である」中の各字または単語が置換されたか否かを判断する。ここで、0は置換されたことを表し、1は置換されていないことを表す。図から分かるように、判別器は「牡丹江」、「市」などの字または単語が置換されたと判断した。
【0054】
選択可能な一実施例では、各第1のクラスタ40aはサンプルデータセットに基づいて初期生成器をトレーニングして、トレーニングされた生成器を取得する。一実現可能な方式は、初期生成パラメータを再帰的ニューラルネットワークに入力して初期生成器を作成し、サンプルデータセットを初期生成器に入力して事前トレーニングを行い、確率分布関数に基づいて確率出力に変換し、事前トレーニング後のネットワークパラメータを取得し、事前トレーニング後のネットワークパラメータに基づいて初期生成器のネットワークパラメータを更新して、生成器を取得することである。
【0055】
それに応じて、別の選択的な実施例では、第2のクラスタ40bはトレーニングデータに基づいて初期判別器をトレーニングし、トレーニングされた判別器を取得する。一実現可能な方式は、初期判別パラメータを畳み込みニューラルネットワークに入力して初期判別器を作成し、トレーニングデータを初期判別器に入力して事前トレーニングを行い、確率分布関数に基づいて確率出力に変換し、最小化されたクロスエントロピーに基づいて初期判別器の初期判別パラメータを更新して、事前トレーニング後の判別パラメータを取得し、事前トレーニング後の判別パラメータに基づいて初期判別器のネットワークパラメータを更新して、判別器を取得することである。
【0056】
なお、複数の第1のクラスタ40a内部は第1の帯域幅で通信し、第2のクラスタ40b内部は第2の帯域幅で通信し、複数の第1のクラスタ40aと第2のクラスタ40bとの間は第3の帯域幅で互いに通信し、第1の帯域幅が第3の帯域幅より大きく、第2の帯域幅が第3の帯域幅より大きい。すなわち、複数の第1のクラスタ40aと第2のクラスタ40bの内部で高帯域幅で通信することを維持することができ、第1のクラスタと第2のクラスタとの間は低帯域幅で通信し、通信コストを増やすことなく、トレーニングデータの送信を完全に満たすことができる。
【0057】
なお、複数の第1のクラスタ40aが処理するデータタイプは異なる。複数の第1のクラスタ40aは異なる言語のデータを処理することができ、複数の第1のクラスタ40aは異なる業界分野のデータを処理することもできる。
【0058】
本実施例では、複数の第1のクラスタ40aと第2のクラスタ40b中のトレーニング論理は強い結合を必要とせず、基盤に異なるチップを用いることができるため、複数の第1のクラスタ40aと第2のクラスタ40bは互いに異種クラスタであり、すなわち複数の第1のクラスタ40aと第2のクラスタ40bで使用されるプロセッサは異なり、一実施例では、複数の第1のクラスタ40aで使用されるプロセッサはグラフィックプロセッサであり、第2のクラスタ40bで使用されるプロセッサはニューラルネットワークプロセッシングユニットである。
【0059】
以下、アプリケーションシーンと併せて、本出願の実施例の技術案を説明する。
【0060】
連邦学習と併せたアプリケーションシーン:複数の第1のクラスタ40aにそれぞれ異なるデータタイプのモデルが配置され、第2のクラスタ40bに複数のデータタイプの統一モデルが配置される。例えば、クラスタA、クラスタB及びクラスタCに対応するサンプルデータはそれぞれ金融サンプルデータ、医療サンプルデータ及び法律サンプルデータであり、クラスタA、クラスタB及びクラスタCは金融サンプルデータ、医療サンプルデータ及び法律サンプルデータに基づいて、金融トレーニングデータ、医療トレーニングデータ及び法律トレーニングデータを生成し、クラスタDは金融トレーニングデータ、医療トレーニングデータ及び法律トレーニングデータに基づいて統一モデルをトレーニングする。本実施例は、プライベートデータの安全性を保護しながら、クロスクラスタのモデルトレーニングを実現する。
【0061】
上記システムの実施例では、少なくとも1つの第1のクラスタはサンプルデータセットをトレーニングしてトレーニングデータを取得し、第2のクラスタは、トレーニングデータに基づいてトレーニングモデルをトレーニングし、トレーニングデータを生成するモデルと事前トレーニングモデルを個別に異なるクラスタに配置し、モデルに対してクロスクラスタトレーニングを行い、第1のクラスタと第2のクラスタとの間でトレーニングデータを伝送するだけで、モデルパラメータを伝送する必要がなく、クラスタ間の低い広帯域通信は本出願のクロスクラスタトレーニングを満たすことができ、異なる段階のトレーニングタスクに基づいて、トレーニングデータの生成タスクと事前トレーニングモデルのトレーニングタスクをそれぞれ異なるプロセッサに配置し、モデルトレーニングをコンピュータシステム内部構造と技術的に関連付け、トレーニング中のハードウェアの実行効果を向上させ、ハードウェア処理速度を向上させ、第1のクラスタがトレーニングデータを生成して第2のクラスタに提供してモデルトレーニングを行うことにより、第2のクラスタ自体がトレーニングデータを生成してからモデルトレーニングを行うことに比べて、モデルトレーニングを加速し、モデルのトレーニング効率を向上することができる。
【0062】
上記に提供されるモデルトレーニングシステムに加えて、本出願のいくつかの実施例はモデルトレーニング方法をさらに提供し、本出願の実施例によって提供されるモデルトレーニング方法は上記のモデルトレーニングシステムに限定されない。
【0063】
第1のクラスタの観点から、
図5aは、本出願の実施例1によって提供されるモデルトレーニング方法の概略フローチャートである。
図5aに示すように、当該方法は、以下のステップS511~S513を含む。
【0064】
S511、サンプルデータセットを取得する。
【0065】
S512、サンプルデータセットに基づいて、トレーニングデータを生成する。
【0066】
S513、第2のクラスタがトレーニングデータに基づいて事前トレーニングモデルをトレーニングするように、トレーニングデータを第2のクラスタに送信する。
【0067】
第2のクラスタの観点から、
図5bは、本出願の実施例2によって提供されるモデルトレーニング方法の概略フローチャートである。
図5bに示すように、この方法は、以下のステップS521~S522を含む。
【0068】
S521、少なくとも1つの第1のクラスタから送信されたサンプルデータセットを受信する。
【0069】
S522、トレーニングデータに基づいて事前トレーニングモデルをトレーニングする。
【0070】
本実施例では、第1のクラスタと第2のクラスタのタイプを限定せず、クラスタは、記憶ノード、計算ノード及びアービトレーションノードなどを含むことができる。
【0071】
なお、第1のクラスタは1つであってもよく、複数であってもよい。
【0072】
本実施例では、少なくとも第1のクラスタはサンプルデータセットをトレーニングしてトレーニングデータを取得するために使用され、第2のクラスタは、トレーニングデータに基づいてトレーニングモデルをトレーニングし、トレーニングデータを生成するモデルと事前トレーニングモデルを個別に異なるクラスタに配置し、モデルに対してクロスクラスタトレーニングを行い、第1のクラスタと第2のクラスタとの間でトレーニングデータを伝送するだけで、モデルパラメータを伝送する必要がなく、クラスタ間の低い広帯域通信は本出願のクロスクラスタトレーニングを満たすことができ、モデルのトレーニング效率を向上させる。
【0073】
上記の実施例では、少なくとも1つの第1のクラスタがサンプルデータセットに基づいてトレーニングデータを生成する一実現可能な方式は、サンプルデータセットを初期生成器に入力して、トレーニングデータを生成し、サンプルデータセットに基づいて初期生成器をトレーニングして、トレーニングされた生成器を取得することである。それに応じて、第2のクラスタが少なくとも1つの第1のクラスタから送信されたトレーニングデータに基づいて事前トレーニングモデルをトレーニングする一実現可能な方式は、トレーニングデータに基づいて初期判別器をトレーニングして、トレーニングされた判別器を取得することである。
【0074】
本出願の実施例は、「少なくとも1つの生成器+判別器」であるモードのモデル中の生成器と判別器をそれぞれ少なくとも1つの第1のクラスタと第2のクラスタに配置し、モデルに対してクロスクラスタトレーニングを行い、少なくとも1つの第1のクラスタと第2のクラスタとの間でトレーニングデータを伝送するだけで、モデルパラメータを伝送する必要がなく、クラスタ間の低い広帯域通信は本出願のクロスクラスタトレーニングを満たすことができ、モデルのトレーニング效率を向上させる。
【0075】
なお、サンプルデータセットはテキストサンプルデータセットまたは画像サンプルデータセットである。
【0076】
選択的に、サンプルデータセットが第1のテキストサンプルデータセットである場合、第1のテキストサンプルデータセット中のテキストセグメントを設定された識別子に置換して、置換された第1のテキストサンプルデータセットを取得し、置換された第1のテキストサンプルデータセットを初期生成器に入力して、第2のテキストサンプルデータを取得し、第2のテキストサンプルデータに基づいて初期判別器をトレーニングして、トレーニングされた判別器を取得する。トレーニング中に、少なくとも1つの第1のクラスタに配置された初期生成器は、第1のテキストサンプルデータ中の一部の字または単語を設定された識別子に置換した後、少なくとも1つの第2のテキストサンプルデータを生成し、第1のクラスタは第2のテキストサンプルデータを第2のクラスタに送信し、第2のクラスタに配置された初期判別器は第2のテキストサンプルデータ中の各字または単語が置換された否かを判断する。
【0077】
例えば、
図3bに示すように、第1のテキストサンプルデータは「ハルビンは黒竜江の省都で、国際氷雪文化名城である」であり、第1のクラスタに配置された初期生成器は第1のテキストサンプルデータ中の一部の字または単語を設定された識別子に置換し、「Mは黒竜江の省Mで、M文化名城である」を生成し、「Mは黒竜江の省Mで、M文化名城である」を生成器に入力して、第2のサンプルデータである「牡丹江は黒竜江の省市で、国際氷雪文化名城である」を生成する。第1のクラスタは第2のテキストサンプルデータを第2のクラスタに送信し、第2のクラスタに配置された初期判別器は「牡丹江は黒竜江の省市で、国際氷雪文化名城である」中の各字または単語が置換されたか否かを判断する。ここで、0は置換されたことを表し、1は置換されていないことを表す。図から分かるように、判別器は「牡丹江」、「市」などの字または単語が置換されたと判断した。
【0078】
選択可能な一実施例では、各第1のクラスタはサンプルデータセットに基づいて初期生成器をトレーニングして、トレーニングされた生成器を取得する。一実現可能な方式は、初期生成パラメータを再帰的ニューラルネットワークに入力して初期生成器を作成し、サンプルデータセットを初期生成器に入力して事前トレーニングを行い、確率分布関数に基づいて確率出力に変換し、事前トレーニング後のネットワークパラメータを取得し、事前トレーニング後のネットワークパラメータに基づいて初期生成器のネットワークパラメータを更新して、生成器を取得することである。
【0079】
それに応じて、別の選択的な実施例では、第2のクラスタはトレーニングデータに基づいて初期判別器をトレーニングして、トレーニングされた判別器を取得する。一実現可能な方式は、初期判別パラメータを畳み込みニューラルネットワークに入力して初期判別器を作成し、トレーニングデータを初期判別器に入力して事前トレーニングを行い、確率分布関数に基づいて確率出力に変換し、最小化されたクロスエントロピーに基づいて初期判別器の初期判別パラメータを更新して、事前トレーニング後の判別パラメータを取得し、事前トレーニング後の判別パラメータに基づいて初期判別器のネットワークパラメータを更新して、判別器を取得することである。
【0080】
なお、第1のクラスタの内部は第1の帯域幅で通信し、第2のクラスタの内部は第2の帯域幅で通信し、第1のクラスタと第2のクラスタとの間は第3の帯域幅で互いに通信し、第1の帯域幅が第3の帯域幅より大きく、第2の帯域幅が第3の帯域幅より大きい。すなわち、第1のクラスタと第2のクラスタの内部は高帯域幅で通信することを維持することができ、第1のクラスタと第2のクラスタとの間は低帯域幅で通信し、通信コストを増やすことなく、トレーニングデータの送信を完全に満たすことができる。
【0081】
本実施例では、少なくとも1つの第1のクラスタと第2のクラスタ中のトレーニング論理は強い結合を必要とせず、基盤に異なるチップを用いることができるため、少なくとも1つの第1のクラスタと第2のクラスタは互いに異種クラスタであり、すなわち、少なくとも1つの第1のクラスタと第2のクラスタで使用されるプロセッサは異なり、一実施例では、少なくとも1つの第1のクラスタで使用されるプロセッサはグラフィックプロセッサであり、第2のクラスタで使用されるプロセッサはニューラルネットワークプロセッシングユニットである。
【0082】
なお、複数の第1のクラスタが処理するデータタイプは異なる。複数の第1のクラスタは異なる言語のデータを処理することができ、複数の第1のクラスタは異なる業界分野のデータを処理することもできる。
【0083】
以下、アプリケーションシーンと併せて、本出願の実施例の技術案を説明する。
【0084】
アプリケーションシーン1:機械翻訳モデルである。第1のクラスタに配置された第1のモデルはテキストサンプルデータセットに基づいて、Back-Translationデータを生成し、第1のクラスタはBack-Translationデータを第2のクラスタに送信し、第2のクラスタに配置された第2のモデルはBack-Translationデータに基づいて事前トレーニングモデルをトレーニングする。
【0085】
アプリケーションシーン2:多言語の事前トレーニングモデルである。第1のクラスタに配置された第1のモデルは、多言語テキストサンプルデータセットに基づいて、Back-Translationデータを生成し、第1のクラスタはBack-Translationデータを第2のクラスタに送信し、第2のクラスタに配置された第2のモデルはBack-Translationデータに基づいて事前トレーニングモデルをトレーニングする。
【0086】
アプリケーションシーン3:大きなモデルの蒸留である。第1のクラスタに大きなモデルを配置し、第2のクラスタに小さなモデルを配置する。第1のクラスタは大きなモデルをトレーニングしながら、新たなトレーニングデータを生成し、第1のクラスタはトレーニングデータを第2のクラスタに送信し、第2のクラスタはトレーニングデータに基づいて小さなモデルをトレーニングする。
【0087】
アプリケーションシーン4:連邦学習と併せたアプリケーションシーンである。複数の第1のクラスタ40aにそれぞれ異なるデータタイプのモデルが配置され、第2のクラスタ40bに複数のデータタイプの統一モデルが配置される。例えば、クラスタA、クラスタB及びクラスタCに対応するサンプルデータはそれぞれ金融サンプルデータ、医療サンプルデータ及び法律サンプルデータであり、クラスタA、クラスタB及びクラスタCは金融サンプルデータ、医療サンプルデータ及び法律サンプルデータに基づいて、金融トレーニングデータ、医療トレーニングデータ及び法律トレーニングデータを生成し、クラスタDは金融トレーニングデータ、医療トレーニングデータ及び法律トレーニングデータに基づいて統一モデルをトレーニングする。本実施例は、プライベートデータの安全性を保護しながら、クロスクラスタのモデルトレーニングを実現する。
【0088】
上記各実施例の説明に基づいて、
図6は、本出願の実施例3によって提供されるモデルトレーニング方法の概略フローチャートである。
図6に示すように、この方法は以下のステップS601~S604を含む。
【0089】
S601、少なくとも1つの第1のクラスタがサンプルデータセットを取得する。
【0090】
S602、少なくとも1つの第1のクラスタがサンプルデータセットに基づいてトレーニングデータを生成する。
【0091】
S603、少なくとも1つの第1のクラスタがトレーニングデータを第2のクラスタに送信する。
【0092】
S604、第2のクラスタが少なくとも1つの第1のクラスタから送信されたトレーニングデータに基づいて事前トレーニングモデルをトレーニングする。
【0093】
本実施例では、第1のクラスタと第2のクラスタのタイプを限定せず、クラスタは、記憶ノード、計算ノード及びアービトレーションノードなどを含むことができる。
【0094】
なお、本出願の実施例の各ステップの実現方式は、上記の各実施例の対応する部分の説明を参照することができ、ここでは説明を省略する。
【0095】
上記方法の実施例では、少なくとも1つの第1のクラスタはサンプルデータセットをトレーニングしてトレーニングデータを取得し、第2のクラスタは、トレーニングデータに基づいてトレーニングモデルをトレーニングし、トレーニングデータを生成するモデルと事前トレーニングモデルを個別に異なるクラスタに配置し、モデルに対してクロスクラスタトレーニングを行い、第1のクラスタと第2のクラスタとの間でトレーニングデータを伝送するだけで、モデルパラメータを伝送する必要がなく、クラスタ間の低い広帯域通信は本出願のクロスクラスタトレーニングを満たすことができ、異なる段階のトレーニングタスクに基づいて、トレーニングデータの生成タスクと事前トレーニングモデルのトレーニングタスクをそれぞれ異なるプロセッサに配置し、モデルトレーニングをコンピュータシステム内部構造と技術的に関連付け、トレーニング中のハードウェアの実行効果を向上させ、ハードウェア処理速度を向上させ、第1のクラスタがトレーニングデータを生成して第2のクラスタに提供してモデルトレーニングを行うことにより、第2のクラスタ自体がトレーニングデータを生成してからモデルトレーニングを行うことに比べて、モデルトレーニングを加速し、モデルのトレーニング効率を向上することができる。
【0096】
図7は、本出願の例示的な実施例によって提供されるモデルトレーニング装置70の概略構成図である。当該モデルトレーニング装置70は、取得モジュール71、生成モジュール72及び送信モジュール73を備える。
【0097】
取得モジュール71は、サンプルデータセットを取得する。
【0098】
生成モジュール72は、サンプルデータセットに基づいて、トレーニングデータを生成する。
【0099】
送信モジュール73は、第2のクラスタがトレーニングデータに基づいて事前トレーニングモデルをトレーニングするように、トレーニングデータを第2のクラスタに送信する。
【0100】
選択的に、生成モジュール72は、サンプルデータセットに基づいて、トレーニングデータを生成する場合、サンプルデータセットを初期生成器に入力して、トレーニングデータを生成し、サンプルデータセットに基づいて初期生成器をトレーニングして、トレーニングされた生成器を取得する。
【0101】
選択的に、サンプルデータセットは第1のテキストサンプルデータセットであり、生成モジュール72は、サンプルデータセットを初期生成器に入力して、トレーニングデータを生成する場合、第1のテキストサンプルデータセット中のテキストセグメントを設定された識別子に置換して、置換された第1のテキストサンプルデータセットを取得し、置換された第1のテキストサンプルデータセットを初期生成器に入力して、第2のテキストサンプルデータを取得する。
【0102】
選択的に、生成モジュール72はサンプルデータセットに基づいて初期生成器をトレーニングして、トレーニングされた生成器を取得する場合、初期生成パラメータを再帰的ニューラルネットワークに入力して初期生成器を作成し、サンプルデータセットを初期生成器に入力して事前トレーニングを行い、確率分布関数に基づいて確率出力に変換し、事前トレーニング後のネットワークパラメータを取得し、事前トレーニング後のネットワークパラメータに基づいて初期生成器のネットワークパラメータを更新して、生成器を取得する。
【0103】
選択的に、第1のクラスタの内部は第1の帯域幅で通信し、第2のクラスタの内部は第2の帯域幅で通信し、第1のクラスタと第2のクラスタとの間は第3の帯域幅で互いに通信し、第1の帯域幅が第3の帯域幅より大きく、第2の帯域幅が第3の帯域幅より大きい。
【0104】
選択的に、少なくとも1つの第1のクラスタと第2のクラスタは互いに異種クラスタである。
【0105】
図8は、本出願の例示的な実施例によって提供されるモデルトレーニング装置80の概略構成図である。当該モデルトレーニング装置80は、受信モジュール81とトレーニングモジュール82を備える。
【0106】
受信モジュール81は、少なくとも1つの第1のクラスタから送信されたサンプルデータセットを受信する。
【0107】
トレーニングモジュール82は、トレーニングデータに基づいて事前トレーニングモデルをトレーニングする。
【0108】
選択的に、トレーニングモジュール82は、トレーニングデータに基づいて事前トレーニングモデルをトレーニングするとき、トレーニングデータに基づいて初期判別器をトレーニングして、トレーニングされた判別器を取得する。
【0109】
選択的に、トレーニングデータは第2のテキストサンプルデータであり、トレーニングモジュール82は、トレーニングデータに基づいて初期判別器をトレーニングして、トレーニングされた判別器を取得するとき、第2のテキストサンプルデータに基づいて初期判別器をトレーニングして、トレーニングされた判別器を取得する。
【0110】
選択的に、トレーニングモジュール82は、トレーニングデータに基づいて初期判別器をトレーニングして、トレーニングされた判別器を取得する場合、初期判別パラメータを畳み込みニューラルネットワークに入力して初期判別器を作成し、トレーニングデータを初期判別器に入力して事前トレーニングを行い、確率分布関数に基づいて確率出力に変換し、最小化されたクロスエントロピーに基づいて初期判別器の初期判別パラメータを更新して、事前トレーニング後の判別パラメータを取得し、事前トレーニング後の判別パラメータに基づいて初期判別器のネットワークパラメータを更新して、判別器を取得する。
【0111】
本出願の実施例によれば、本出願は、電子機器、及び読み取り可能な記憶媒体、をさらに提供する。
本出願の実施例によれば、本出願は、コンピュータプログラムをさらに提供し、コンピュータプログラムはプロセッサによって実行される場合、本出願によって提供されるモデルトレーニング方法が実現される。
【0112】
上記実施例の装置について、その各モジュールの操作を実行する具体的な方式は、当該方法に関する実施例においてすでに詳細に説明したが、ここでは詳細に説明しない。
【0113】
図9は、本出願の実施例を実行するための例示的な電子機器900の概略ブロック図である。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレームコンピュータ、および他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことを目的とする。電子機器は、パーソナルデジタル処理、携帯電話、スマートフォン、ウェアラブルデバイス、および他の同様のコンピューティングデバイスなどの様々な形態のモバイルデバイスを表すこともできる。本明細書で示されるコンポーネント、それらの接続と関係、及びそれらの機能は、単なる例であり、本明細書の説明及び/又は要求される本出願の実現を制限することを意図したものではない。
【0114】
図9に示すように、電子機器900は、読み取り専用メモリ(ROM)902に記憶されているコンピュータプログラムまたは記憶ユニット908からランダムアクセスメモリ(RAM)903にロードされたコンピュータプログラムに従って様々な適切な動作および処理を実行できる計算ユニット901を備える。RAM903には、電子機器900の動作に必要な各種のプログラムやデータも記憶されてもよい。計算ユニット901、ROM902、およびRAM903は、バス904を介して互いに接続されている。バス904には、入力/出力(I/O)インターフェース905も接続されている。
【0115】
電子機器900の複数のコンポーネントはI/Oインターフェース905に接続され、キーボード、マウスなどの入力ユニット906、各タイプのディスプレイ、スピーカなどの出力ユニット907、磁気ディスク、光ディスクなどの記憶ユニット908、およびネットワークカード、モデム、無線通信トランシーバなどの通信ユニット909を備える。通信ユニット909は、電子機器900が、インターネットなどのコンピュータネットワークおよび/または各種の電信ネットワークを介して他のデバイスと情報/データを交換することを可能にする。
【0116】
計算ユニット901は、処理および計算能力を有する様々な汎用および/または専用の処理コンポーネントであってもよい。計算ユニット901のいくつかの例は、中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、各種の専用の人工知能(AI)計算チップ、各種のマシン運転学習モデルアルゴリズムの計算ユニット、デジタル信号プロセッサ(DSP)、およびいずれかの適切なプロセッサ、コントローラ、マイクロコントローラなどを含むが、これらに限定されない。計算ユニット901は、上記に記載された各方法および処理、例えば、モデルトレーニング方法を実行する。例えば、いくつかの実施例では、モデルトレーニング方法を、記憶ユニット908などの機械読み取り可能な媒体に有形的に含まれるコンピュータソフトウェアプログラムとして実現することができる。いくつかの実施例では、コンピュータプログラムの一部または全部は、ROM 902および/または通信ユニット909を介して電子機器900にロードおよび/またはインストールすることができる。コンピュータプログラムがRAM 903にロードされ、計算ユニット901によって実行される場合、上記に記載されたモデルトレーニング方法の1つまたは複数のステップが実行されてもよい。代替的に、他の実施例では、計算ユニット901はモデルトレーニング方法を実行するように、他のいずれかの適切な方式(例えば、ファームウェアを介して)によって構成されてもよい。
【0117】
本明細書で上記記載のシステムと技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップ(SOC)、コンプレックス・プログラマブル・ロジック・デバイス(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせで実現することができる。これらの様々な実施形態は、1つ又は複数のコンピュータプログラムで実施されることを含むことができ、当該1つ又は複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを備えるプログラム可能なシステムで実行および/または解釈されることができ、当該プログラマブルプロセッサは、特定用途向け又は汎用プログラマブルプロセッサであってもよく、ストレージシステム、少なくとも1つの入力装置、および少なくとも1つの出力装置からデータおよび命令を受信し、データおよび命令を当該ストレージシステム、当該少なくとも1つの入力装置、および当該少なくとも1つの出力装置に伝送することができる。
【0118】
本出願の方法を実行するためのプログラムコードは、1つ又は複数のプログラミング言語の任意の組み合わせで書くことができる。これらのプログラムコードは、プロセッサ又はコントローラによって実行された際に、フローチャートおよび/またはブロック図に規定された機能/操作が実施されるように、汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサ又はコントローラに提供されてもよい。プログラムコードは、完全に機械上で実行されるか、部分的に機械上で実行されるか、スタンドアロンソフトウェアパッケージとして、部分的に機械上で実行され、部分的にリモート機械上で実行され又は完全にリモート機械又はサーバ上で実行されてもよい。
【0119】
本出願のコンテクストでは、機械読み取り可能な媒体は、命令実行システム、装置、またはデバイスによって使用されるために、又は命令実行システム、装置、またはデバイスと組み合わせて使用するためのプログラムを含むか、又は記憶することができる有形の媒体であってもよい。機械読み取り可能な媒体は、機械読み取り可能な信号媒体または機械読み取り可能な記憶媒体であってもよい。機械読み取り可能な媒体は、電子的、磁気的、光学的、電磁気的、赤外線的、又は半導体システム、装置又はデバイス、または上記コンテンツの任意の適切な組み合わせを含むことができるが、これらに限定されない。機械読み取り可能な記憶媒体のより具体的な例は、1つ又は複数のラインに基づく電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能プログラマブルリードオンリーメモリ(EPROM又はフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスクリードオンリーメモリ(CD-ROM)、光学記憶装置、磁気記憶装置、または上記コンテンツの任意の適切な組み合わせを含む。
【0120】
ユーザとのインタラクションを提供するために、コンピュータ上でここで説明されるシステム及び技術を実施することができ、当該コンピュータは、ユーザに情報を表示するためのディスプレイ装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを有し、ユーザは、当該キーボード及び当該ポインティングデバイスによって入力をコンピュータに提供することができる。他の種類の装置も、ユーザとのインタラクションを提供することができ、例えば、ユーザに提供されるフィードバックは、任意の形式のセンシングフィードバック(例えば、ビジョンフィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、任意の形式(音響入力と、音声入力、または、触覚入力とを含む)でユーザからの入力を受信することができる。
【0121】
ここで説明されるシステムおよび技術は、バックエンドコンポーネントを備えるコンピューティングシステム(例えば、データサーバとする)、又はミドルウェアコンポーネントを備えるコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンドコンポーネントを備えるコンピューティングシステム(例えば、グラフィカルユーザインターフェース又はウェブブラウザを有するユーザコンピュータ、ユーザは、当該グラフィカルユーザインターフェース又は当該ウェブブラウザによってここで説明されるシステムおよび技術の実施形態とインタラクションできる)、又はこのようなバックエンドコンポーネントと、ミドルウェアコンポーネントと、フロントエンドコンポーネントのいずれかの組み合わせを備えるコンピューティングシステムで実行することができる。任意の形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によってシステムのコンポーネントを相互に接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)と、ワイドエリアネットワーク(WAN)と、インターネットと、ブロックチェーンネットワークを含む。
【0122】
コンピュータシステムは、クライアントとサーバを備えることができる。クライアントとサーバは、一般に、互いに離れており、通常に通信ネットワークを介してインタラクションする。対応するコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによってクライアントとサーバとの関係が生成される。サーバはクラウドサーバであってもよく、クラウドコンピューティングサーバまたはクラウドホストとも呼ばれ、クラウドコンピューティングサービスシステムにおける1つのホスト製品であり、従来の物理ホストとVPSサービス(「Virtual Private Server」,または「VPS」と省略する)に存在する管理の難しさ、ビジネス拡張性の弱いという欠陥を解決した。サーバは分散システムのサーバであってもよく、ブロックチェーンを組み込んだサーバであってもよい。
【0123】
上記方法、装置、機器、記憶媒体及びコンピュータプログラムの実施例では、少なくとも1つの第1のクラスタはサンプルデータセットをトレーニングしてトレーニングデータを取得し、第2のクラスタは、トレーニングデータに基づいてトレーニングモデルをトレーニングし、トレーニングデータを生成するモデルと事前トレーニングモデルを個別に異なるクラスタに配置し、モデルに対してクロスクラスタトレーニングを行い、第1のクラスタと第2のクラスタとの間でトレーニングデータを伝送するだけで、モデルパラメータを伝送する必要がなく、クラスタ間の低い広帯域通信は本出願のクロスクラスタトレーニングを満たすことができ、異なる段階のトレーニングタスクに基づいて、トレーニングデータの生成タスクと事前トレーニングモデルのトレーニングタスクをそれぞれ異なるプロセッサに配置し、モデルトレーニングをコンピュータシステム内部構造と技術的に関連付け、トレーニング過程におけるハードウェアの実行効果を向上させ、ハードウェア処理速度を向上させ、第1のクラスタがトレーニングデータを生成して第2のクラスタに提供してモデルトレーニングを行うことにより、第2のクラスタ自体がトレーニングデータを生成してからモデルトレーニングを行うことに比べて、モデルトレーニングを加速し、モデルのトレーニング効率を向上することができる。
【0124】
なお、上記に示される様々な形式のフローを使用して、ステップを並べ替え、追加、又は削除することができると理解されたい。例えば、本開示に記載されている各ステップは、並列に実行されてもよいし、順次実行されてもよいし、異なる順序で実行されてもよいが、本出願で開示されている技術案が所望の結果を実現することができれば、本明細書では限定されない。
【0125】
上記具体的な実施形態は、本出願の保護範囲を制限するものではない。当業者は、設計要件と他の要因に応じて、様々な修正、組み合わせ、サブコンビネーション、及び代替を行うことができる。任意の本出願の精神と原則内で行われる修正、同等の置換、及び改善などは、いずれも本出願の保護範囲内に含まれなければならない。