JP7285977B2 - ニューラルネットワークトレーニング方法、装置、電子機器、媒体及びプログラム製品 - Google Patents

ニューラルネットワークトレーニング方法、装置、電子機器、媒体及びプログラム製品 Download PDF

Info

Publication number
JP7285977B2
JP7285977B2 JP2022007109A JP2022007109A JP7285977B2 JP 7285977 B2 JP7285977 B2 JP 7285977B2 JP 2022007109 A JP2022007109 A JP 2022007109A JP 2022007109 A JP2022007109 A JP 2022007109A JP 7285977 B2 JP7285977 B2 JP 7285977B2
Authority
JP
Japan
Prior art keywords
processing unit
network
network layer
type
selection
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
Application number
JP2022007109A
Other languages
English (en)
Other versions
JP2022179307A (ja
Inventor
フェン,ダンレイ
リャン,ロン
ユ,ダンハイ
ヤオ,シュフェン
ウ,シンシャン
ウ,チイファ
マ,ヤンジュン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2022179307A publication Critical patent/JP2022179307A/ja
Application granted granted Critical
Publication of JP7285977B2 publication Critical patent/JP7285977B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Description

本開示は、コンピュータ技術に関し、さらに具体的には、ニューラルネットワークトレーニング方法、ビデオ画面分割ライン装置、電子機器、コンピュータ読み取り可能な記憶媒体及びコンピュータプログラム製品に関し、人工知能分野に用いることができ、特に、深層学習分野及び分散型学習分野に用いることができる。
深層学習モデルのデータ規模及びモデル規模が徐々に増加するにつれて、スタンドアロントレーニングは、徐々に深層学習サービスのニーズを満たすことができなくなり、したがって、分散型トレーニングは、深層学習トレーニングの基礎となっている。分散型トレーニングでは、中央処理ユニット及び例えばグラフィカル処理ユニットの専用処理ユニットなどの処理ユニットを同時に使用してトレーニングすることができるため、どのように中央処理ユニットの入出力優位及び専用処理ユニットの計算力優位を十分に発揮することにより、モデルトレーニングのスループットを可能な限り向上させることが考えられる。例えば、モデルトレーニングのスループットを最大にし、機械コストを最小にするために、深層学習用のニューラルネットワークの異なるネットワーク層を異なる処理ユニットで運転するようにどのように具体的に分割するかを考慮することができる。
しかし、従来技術での主流である分散型トレーニング方式では、異種機器で最適な機器分割方法を求めることは、主に動的計画方法によって実現されるが、この方法には、汎化性が低く、制約あり問題を求めることができず、モデリング関数の変更に適応できないなどの問題がある。
本開示の実施例によれば、ニューラルネットワークトレーニング方法、ニューラルネットワークトレーニング装置、電子機器、コンピュータ読み取り可能な記憶媒体及びコンピュータプログラム製品が提供される。
本開示の第1側面では、ニューラルネットワークトレーニング方法が提供され、各々が複数の種類の処理ユニットのうちの1種類の処理ユニットによってトレーニングが行われる複数のネットワーク層を含む深層学習用のニューラルネットワークを取得するステップと、ニューラルネットワークに対して、複数のネットワーク層に一対一に対応する複数のモデル層を含む深層強化学習モデルを作成するステップと、深層強化学習モデルを使用して、複数の種類の処理ユニットのうちの各種類の処理ユニットを使用して各々のネットワーク層に対してトレーニングを行うために必要な時間、及び各種類の処理ユニットのコストに基づいて、複数のネットワーク層に対する処理ユニットの選択を決定するステップであって、処理ユニットの選択は、複数のネットワーク層のうちの各々のネットワーク層に対して使用すべき処理ユニットの種類を含み、処理ユニットの選択により、ニューラルネットワークに対してトレーニングを行うために必要なパイプライン並列計算時間が所定時間よりも短くなる場合、ニューラルネットワークにより使用される処理ユニットの総コストがコスト閾値未満であるステップと、を含む。
本開示の第2側面では、ニューラルネットワークトレーニング装置が提供され、各々が複数の種類の処理ユニットのうちの1種類の処理ユニットによってトレーニングが行われる複数のネットワーク層を含む深層学習用のニューラルネットワークを取得するように配置されている取得モジュールと、ニューラルネットワークに対して、複数のネットワーク層に一対一に対応する複数のモデル層を含む深層強化学習モデルを作成するように配置されている作成モジュールと、深層強化学習モデルを使用して、複数の種類の処理ユニットのうちの各種類の処理ユニットを使用して各々のネットワーク層に対してトレーニングを行うために必要な時間、及び各種類の処理ユニットのコストに基づいて、複数のネットワーク層に対する処理ユニットの選択を決定するように配置されている第1処理ユニット選択の決定モジュールであって、処理ユニットの選択は、複数のネットワーク層のうちの各々のネットワーク層に対して使用すべき処理ユニットの種類を含み、処理ユニットの選択により、ニューラルネットワークに対してトレーニングを行うために必要なパイプライン並列計算時間が所定時間よりも短くなる場合、ニューラルネットワークにより使用される処理ユニットの総コストがコスト閾値未満である第1処理ユニット選択の決定モジュールと、を含む。
本開示の第3側面では、電子機器が提供され、少なくとも1つのプロセッサと、少なくとも1つのプロセッサに通信接続されるメモリと、を含み、メモリには、少なくとも1つのプロセッサにより実行可能な命令が記憶され、該命令が少なくとも1つのプロセッサにより実行されることで、少なくとも1つのプロセッサが本開示の第1側面による方法を実現できる。
本開示の第4側面では、コンピュータ命令が記憶される非瞬時コンピュータ読み取り可能な記憶媒体が提供され、コンピュータ命令は、コンピュータに、本開示の第1側面による方法を実現させる。
本開示の第5側面では、コンピュータプログラムを含むコンピュータプログラム製品が提供され、コンピュータプログラムがプロセッサにより実行されると、本開示の第1側面による方法を実行する。
本願による技術を用いることで、ニューラルネットワークトレーニング方法が提供される。該方法を用いることにより、深層強化学習に基づく分割方法を用い、例えば特定の時間及び機械コストの制約条件下で、深層強化学習の方法により、各々のネットワーク層に対する最適な機器分割方式を取得し、これにより、深層学習モデルに対する最適なトレーニングスループットを取得することができる。従って、ニューラルネットワークを最も合理的に分割することによって、分散型トレーニングを実現し、深層学習の効率を向上させ、ユーザが深層学習を行うコストを低減させることによって、深層学習を使用するユーザの体験を向上させることができる。
本発明の内容に記載されている内容は、本開示の実施例のキーポイントまたは重要な特徴を限定することを意図するものではなく、また、本開示の範囲を限定することを意図するものでもないことを理解されたい。本開示の他の特徴は、以下の説明によって容易に理解されるであろう。
本開示の例示的な実施例を図面に関連してより詳細に説明することにより、本開示の上記及び他の目的、特徴および利点はより明確になり、本開示の例示的な実施例では、同じ参照番号は通常同じ構成要素を表す。図面は、本開示に対する限定を構成するものではなく、本解決手段をよりよく理解するためのものであることが理解されたい。
本開示のある実施例でのニューラルネットワークトレーニング方法を実現できるニューラルネットワークトレーニング環境100の概略ブロック図を示す。 本開示の実施例によるニューラルネットワークトレーニング方法200のフローチャートを示す。 本開示の実施例による分割後のニューラルネットワーク300の模式図を示す。 本開示の実施例によるニューラルネットワークトレーニング方法400のフローチャートを示す。 本開示の実施例によるニューラルネットワークトレーニング方法500のフローチャートを示す。 本開示の実施例によるニューラルネットワークトレーニング装置600の概略ブロック図を示す。 本開示の実施例を実施できる例示的な電子機器700の概略ブロック図を示す。
各図面において、同じまたは対応する符号は同じまたは対応する部分を表す。以下、図面を参照して、本開示の好適な実施例についてより詳細に説明する。図面には本開示の好適な実施例が示されているが、本開示はここで説明される実施例によって限定されるべきではなく、様々な形で実施され得ることが理解されるべきである。これらの実施例を提供することは、本開示をより徹底的かつ完全にするためであり、本開示の範囲を当業者に完全に伝達することができる。
本明細書で使用される用語の「含む」およびその変形は、開放的な含み、すなわち、「含むが、これらに限定されない」を表す。特に説明しない限り、用語の「または」は「及び/又は」を表す。用語の「に基づいて」は、「少なくとも部分的に基づいて」を表す。用語「1つの例示的な実施例」および「一実施例」は、「少なくとも1つの例示的な実施例」を意味する。用語の「別の実施例」は、「少なくとも1つの別の実施例」を意味する。用語の「第1」、「第2」などは、異なるオブジェクトまたは同じオブジェクトを指すことができる。以下に、他の明確かつ暗黙的な定義も含むことができる。
以上の背景技術において説明されたように、例えば、複数種のチップの複数種の処理ユニットを用いて異性トレーニングを行う場合、モデルのネットワーク層は、異なる処理ユニットを用いてトレーニングするように指定され、例えば、中央処理ユニットを用いて嵌め込みテーブルルックアップ、入力データの改造などの入出力集約型の操作を行い、専用処理ユニットを用いて全接続、注意力などの計算集約型の操作を行う。しかし、ネットワーが複雑な場合、経験による分割は、必ずしも最適スループットを得ることができるとは限らない。また、従来技術での主流である分散型トレーニング方式には所定の問題がある。例えば、現在、従来の異種機器上で最適な機器分割方法を求めることは、主に動的計画方法により実現され、例えば、Pipe DreamやDAPPLEなどによって提案されたパイプライン並列トレーニング方法では、いずれも動的計画方法を用いて求める。動的計画方法は一般的に問題をサブ問題に分解して求めるが、その解の範囲は非常に限られている。モデリング方法を変えたり、モデル制約を加えたりすると、最適解が求められにくくなる。従って、従来の技術では、分散型トレーニングを実現するために、ニューラルネットワークを合理的に分割することができず、深層学習の効率に影響を与えるだけでなく、ユーザが深層学習を行うコストが高いので、深層学習を使用するユーザの体験にも影響を与える。
上記の問題および他の潜在的問題のうちの1つ以上を少なくとも部分的に解決するために、本開示の実施例は、ニューラルネットワークトレーニング方法を提供し、該方法を用いることにより、深層強化学習に基づく分割方法を用い、例えば特定の時間及び機械コストの制約条件下で、深層強化学習の方法により、各々のネットワーク層に対する最適な機器分割方式を取得し、これにより、深層学習モデルに対する最適なトレーニングスループットを取得することができる。従って、ニューラルネットワークを最も合理的に分割することによって、分散型トレーニングを実現し、深層学習の効率を向上させ、ユーザが深層学習を行うコストを低減させることによって、深層学習を使用するユーザの体験を向上させることができる。
図1は、本開示のある実施例でのニューラルネットワークトレーニング方法を実現できるニューラルネットワークトレーニング環境100の概略ブロック図を示す。本開示の1つ又は複数の実施例によれば、ニューラルネットワークトレーニング環境100は、クラウド環境であってもよい。図1に示すように、ニューラルネットワークトレーニング環境100は、計算機器110を含む。ニューラルネットワークトレーニング環境100では、入力データ120は、計算機器110の入力として計算機器110に提供される。入力データ120は、例えば、深層学習用のニューラルネットワークに関連するデータ、ニューラルネットワークに対して深層強化学習モデルを作成するに必要なデータ、及び深層強化学習モデルを用いて、ニューラルネットワークにおける複数のネットワーク層に対する処理ユニットの選択を決定するに必要なデータなどを含むことができる。
本開示の実施例では、深層強化学習モデルは、深層強化学習を行うために用いられ、深層強化学習は、深層学習の感知能力と強化学習の意思決定能力とを組み合わせ、入力の状態に基づいて直接判断することができ、人間の考え方により近い人工知能方法である。また、深層強化学習は、人工知能分野での新たな研究ホットスポットでもある。汎用の形式により深層学習の感知能力と強化学習の意思決定能力とを組み合わせ、端対端の学習方式によってオリジナル入力から出力までの直接制御を実現することができる。提案以来、高次元のオリジナル入力データ及び意思決定制御が必要とされる多くのタスクにおいて、深層強化学習方法は既に実質的なブレークスルーを得ている。
本開示の1つ又は複数の実施例によれば、深層学習用のニューラルネットワークに対して処理ユニットの選択を決定する必要がある場合、関連するデータは、入力データ120として計算機器110に提供される。その後、計算機器110は該ニューラルネットワークに対して深層強化学習モデルを作成し、該深層強化学習モデルを用いて、該ニューラルネットワークに対する処理ユニットの選択を決定する。該処理ユニットの選択は、例えば、該ニューラルネットワークの複数のネットワーク層のうちの各々のネットワーク層に対して使用すべき処理ユニットの種類を含むことができ、該ニューラルネットワークの複数のネットワーク層のうちの各々のネットワーク層に対して使用すべき処理ユニットの数をさらに含むことができる。また、計算機器110は、該深層強化学習モデルを用いて決定された該ニューラルネットワークに対する処理ユニットの選択を出力することもできる。
ニューラルネットワークトレーニング環境100は、限定的なものではなく例示的なものであり、拡張可能であり、より多くの計算機器110を含むことができ、より多くの入力データ120を計算機器110に提供することができ、それにより、より多くのユーザがより多くの計算機器110を同時に利用し、さらにより多くの入力データ120を利用し、複数の深層学習用のニューラルネットワークに対して処理ユニットの選択を同時又は非同時に決定するニーズを満たすことができることを理解されたい。
図1に示すニューラルネットワークトレーニング環境100では、入力データ120から計算機器110への入力は、ネットワークにより行うことができる。
本開示の1つ又は複数の実施例によれば、深層強化学習モデルでは、例えば長短期記憶ネットワークLSTMモデル、畳み込みニューラルネットワークCNNモデル、再帰型ニューラルネットワークRNNモデルなどを用いてトレーニングすることができる。以下、長短期記憶ネットワークLSTMモデルが深層強化学習モデルであることを例として、深層強化学習モデルを使用してニューラルネットワークにおける複数のネットワーク層に対して処理ユニットの選択を決定するが、本開示の保護範囲はこれに限定されない。
図2は本開示の実施例によるニューラルネットワークトレーニング方法200のフローチャートを示す。具体的には、ニューラルネットワークトレーニング方法200は、図1に示すニューラルネットワークトレーニング環境100での計算機器110によって実行されてもよい。ニューラルネットワークトレーニング方法200は、図示しない追加の動作を含むことができ及び/又は図示した動作を省略することができるが、本開示の範囲はこの点で限定されないことが理解されるべきである。
ブロック202では、計算機器110は深層学習用のニューラルネットワークを取得する。本開示の1つ又は複数の実施例によれば、ニューラルネットワークは、複数のネットワーク層を含み、複数のネットワーク層のうちの各々は、複数の種類の処理ユニットのうちの1種類の処理ユニットによってトレーニングが行われ、各々のネットワーク層は、同じ種類の複数の処理ユニットによって並列にトレーニングが行われ得る。
本開示の1つ又は複数の実施例によれば、深層学習用のニューラルネットワークに対してトレーニングを行うための処理ユニットは、中央処理ユニット及びグラフィカル処理ユニットなどの専用処理ユニットを含むことができる。処理ユニットは、中央処理ユニット及び専用処理ユニットに限定されるのではなく、異なる種類の処理ユニット、例えばより優れた入出力処理能力又はより優れた計算処理能力を有する複数種の処理ユニットを含むことができることが理解されるべきである。
ブロック204では、計算機器110はブロック202で取得されたニューラルネットワークに対して長短期記憶ネットワークLSTMモデルを作成する。本開示の1つ又は複数の実施例によれば、LSTMモデルは、複数のネットワーク層に一対一に対応する複数のモデル層を含む。方法200は、例えばニューラルネットワークに対してトレーニングを行うために必要なパイプライン並列計算時間の制約がある場合、深層学習用のニューラルネットワークの複数のネットワーク層に対する処理ユニットの選択を決定し、それにより、処理ユニットの総コストをコスト閾値より低くすることを目的とするため、解決すべき問題は、制約があるが、導けないことである。この場合、方法200では、複数のモデル層を有するLSTMモデルを用い、例えばREINFORCE方法を用いて上述の問題を解決する。
ブロック206では、計算機器110は、LSTMモデルを使用し、複数の種類の処理ユニットのうちの各種類の処理ユニットを使用して各々のネットワーク層に対してトレーニングを行うために必要な時間、及び各種類の処理ユニットのコストに基づいて、複数のネットワーク層に対する処理ユニットの選択を決定する。本開示の1つ又は複数の実施例によれば、処理ユニットの選択は、複数のネットワーク層のうちの各々のネットワーク層に対して使用すべき処理ユニットの種類を含み、該ニューラルネットワークの複数のネットワーク層のうちの各々のネットワーク層に対して使用すべき処理ユニットの数をさらに含むことができる。処理ユニットの選択により、ニューラルネットワークに対してトレーニングを行うために必要なパイプライン並列計算時間が所定時間よりも短くなる場合、ニューラルネットワークにより使用される処理ユニットの総コストがコスト閾値未満であり、コスト閾値は、ユーザが期待するコストに基づいて予め設定された閾値であってもよい。
本開示の1つ又は複数の実施例によれば、複数のネットワーク層に対する処理ユニットの選択を決定することは、処理ユニットの選択を決定することで、ニューラルネットワークに対してトレーニングを行うために必要なパイプライン並列計算時間が所定時間よりも短くなる場合、ニューラルネットワークにより使用される処理ユニットの総コストをできるだけ低くすることを含むことができる。この場合、方法200は、LSTMモデルを使用し、所定時間の制約下で、総コストを最も低くする処理ユニットの選択をできるだけ探す。
本開示の1つ又は複数の実施例によれば、ニューラルネットワークにおける複数のネットワーク層のうちの各々のネットワーク層は、1つの処理ユニットを用いてトレーニングが行われる。異なる処理ユニット間のデータ伝送時間を減少させるために、同じ種類の処理ユニットを使用する隣接するネットワーク層を結合することができ、結合後の、同じ種類の処理ユニットを使用する隣接するネットワーク層は、段階と呼ばれることができる。つまり、複数のネットワーク層を有するニューラルネットワークを複数の段階に分割でき、各段階は同じ種類の処理ユニットを用いてトレーニングが行われる。
図3は、本開示の実施例による分割後のニューラルネットワーク300の模式図を示す。図3に示すように、ニューラルネットワーク300は、6つのネットワーク層の301、302、303、304、305及び306を有し、この中で、ネットワーク層301及び302は段階310に分割され、同じ種類の処理ユニットを用いてトレーニングが行われ、ネットワーク層303は、単独で1つの段階320として、同じ種類の処理ユニットを用いてトレーニングが行われ、ネットワーク層304、305及び306は、段階330に分割され、同じ種類の処理ユニットを用いてトレーニングが行われる。本開示の1つ又は複数の実施例によれば、段階320に対して使用される処理ユニットの種類と、段階310に対して使用される処理ユニットの種類と、段階330に対して使用される処理ユニットの種類とは異なるが、段階310に対して使用される処理ユニットの種類と、段階330に対して使用される処理ユニットの種類とは同じであってもよい。つまり、ニューラルネットワーク300に対する分割は、隣接する2つの段階が異なる種類の処理ユニットを使用することのみが要求される。
本開示の1つ又は複数の実施例によれば、ニューラルネットワーク全体のトレーニング時間を減少させるために、段階間は、パイプライン並列方式を用いてトレーニングすることができ、それにより、異なる段階に対応するネットワーク層のトレーニングを並列に行うことができ、重複計算をサポートし、通信オーバヘッドを低減させることができ、よって、計算時間及び通信時間を減少させることができる。1つの段階内に、同一種類の複数の処理ユニットを用いてデータ並列を実現することができ、段階内の同一種類の処理ユニットの数を増加させることで計算時間を減少させることができる。従って、処理ユニットの選択によって指示された、複数のネットワーク層のうちの、同一種類の処理ユニットを使用する隣接するネットワーク層の少なくとも1つのセットにおける、隣接するネットワーク層に対してトレーニングを行うために必要な合計時間に基づいて、パイプライン並列計算時間を決定することができる。
本開示の1つ又は複数の実施例によれば、ニューラルネットワークに対してトレーニングを行うために必要なパイプライン並列計算時間は、各段階のうちの時間が最も長い段階のトレーニング時間と等しくてもよく、以下の式(1)によって表されることができる。
Figure 0007285977000001
式(1)では、Tはニューラルネットワークに対してトレーニングを行うために必要なパイプライン並列計算時間、Tはi番目の段階のトレーニング時間、mはニューラルネットワークに対して分割された段階の数である。
図4は、本開示の実施例によるニューラルネットワークトレーニング方法400のフローチャートを示す。具体的には、ニューラルネットワークトレーニング方法400は、図1に示すニューラルネットワークトレーニング環境100での計算機器110によって実行されてもよい。ニューラルネットワークトレーニング方法400は、ニューラルネットワークトレーニング方法200の特定の部分と考えられ、複数のネットワーク層のうちのあるネットワーク層に対してトレーニングを行う時間を決定することができ、図示しない追加の動作を含むことができ及び/又は図示した動作を省略することができるが、本開示の範囲はこの点で限定されないことが理解されるべきである。
ブロック402では、計算機器110は、複数のネットワーク層のうちの第1ネットワーク層に対するトレーニングに関連するプロファイルに基づいて、各種類の処理ユニットが第1ネットワーク層に対してトレーニングを行うために必要な時間を決定する。本開示の1つ又は複数の実施例によれば、計算機器110は、複数のネットワーク層のうちのあるネットワーク層に対するトレーニングに関連するプロファイルに基づいて、例えば、このネットワーク層に対応する各々のオペレータに対して、異なる処理ユニットを用いてトレーニングを行い、複数回の反復を実行して平均解を求めることにより、各種類の処理ユニットがこのネットワーク層に対してトレーニングを行うために必要な時間を決定する。
ニューラルネットワークの分割及びトレーニング過程では、通常、各々のネットワーク層に対する計算時間は、このネットワーク層に対する通信時間よりもはるかに長い。この場合、ブロック402によって決定された、各種類の処理ユニットがこのネットワーク層に対してトレーニングを行うために必要な時間は、このネットワーク層に対してトレーニングを行う時間である。
ブロック404では、計算機器110は、第1ネットワーク層のトレーニングに関連する、伝送されるべきパラメータの大きさ、及びパラメータを伝送するためのネットワーク帯域に基づいて、第1ネットワーク層に対するパラメータ伝達時間を決定する。本開示の1つ又は複数の実施例によれば、計算機器110は、複数のネットワーク層のうちのあるネットワーク層のトレーニングに関連する、伝送されるべきパラメータの大きさ、及び、パラメータを伝送するための例えば圧力テストによって得られたネットワーク帯域に基づいて、パラメータの大きさをネットワーク帯域に割ることによって、このネットワーク層に対するパラメータ伝達時間を決定する。
ニューラルネットワークの分割及びトレーニング過程では、あるネットワーク層に対する計算時間がこのネットワーク層に対する通信時間と等しい場合がある。この場合、このネットワーク層に対してトレーニングを行う時間と比較するために、ブロック404により、このネットワーク層に対するパラメータ伝達時間を決定する必要がある。
ブロック406では、計算機器110は、ブロック404で決定されたパラメータ伝達時間が、ブロック402で決定された各種類の処理ユニットが第1ネットワーク層に対してトレーニングを行うために必要な時間よりも長いことに応じて、各種類の処理ユニットが第1ネットワーク層に対してトレーニングを行うために必要な時間をパラメータ伝達時間に等しくする。つまり、この場合、ブロック404で決定されたパラメータ伝達時間を、このネットワーク層に対してトレーニングを行う時間として決定する。
方法400に基づいて、各段階に対してトレーニングを行う時間は、以下の式(2)によって表されることができる。
Figure 0007285977000002
式(2)では、qはj番目の段階を表し、Tcompは計算時間を表し、Tcommは通信時間を表し、dはこの段階に対してトレーニングを行うために選択された処理ユニットを表し、di+1は、パラメータを伝送して後続のトレーニングを行うための次の処理ユニットを表し、lはこの段階内のネットワーク層を表し、nはj番目の段階内の処理ユニットの数を表す。式(2)では、通信時間を合計する際に、1つの段階内の異なるネットワーク層間の通信時間を無視できる場合があり、この場合、式(2)では、合計を行う必要はなく、この段階内の最後のネットワーク層と次の段階の初めてのネットワーク層との間の通信時間のみを考慮すればよい。
本開示の1つ又は複数の実施例によれば、処理ユニットの選択を決定するとき、計算機器110は、さらに、LSTMモデルを使用し、複数の種類の処理ユニットのうちの各種類の処理ユニットを使用して複数のネットワーク層うちのあるネットワーク層に対してトレーニングを行うために必要な時間、各種類の処理ユニットのコスト、及びこのネットワーク層の前のネットワーク層に対して決定された処理ユニットの種類に基づいて、このネットワーク層に対して使用すべき処理ユニットの種類を決定する。この場合、計算機器110は、選択される処理ユニットの種類を前のネットワーク層の処理ユニットの種類とできるだけ同じとすることを考慮し、それにより、分割される段階に含まれるネットワーク層をより多くすることができ、それにより、段階間の通信時間を減らすことができる。この場合、LSTMモデルの各モデル層に対して、入力データは、このネットワーク層の入力データの大きさ、このネットワーク層の入力パラメータの大きさ、このネットワーク層が異なる処理ユニットを使用するトレーニング時間、及びこのネットワーク層の前のネットワーク層に対して決定された処理ユニットの種類を含むことができる。
前述したように、方法200では、例えば、LSTMモデルを使用し、REINFORCE方法を利用することができる。LSTMモデルを利用する場合、LSTMモデルの出力結果に対してsoftmax操作を行うことで、各々のネットワーク層に対して異なる処理ユニットを使用する確率を得ることができ、その後、最大値を直接用いる又はこのネットワーク層の前のネットワーク層に対して決定された処理ユニットの種類を組み合わせることにより、各々のネットワーク層に対して使用すべき処理ユニットの種類を決定することができる。
REINFORCE方法を利用する場合、LSTMモデルのトレーニング方向を指示するための勾配は、以下の式(3)によって表されることができる。
Figure 0007285977000003
式(3)では、Eは期待値を用いることを表し、Tは、所定時間よりも短い、ニューラルネットワークに対してトレーニングを行うために必要なパイプライン並列計算時間であり、Rは例えば処理ユニットのコストについて負の値をとる戻り値であり、θはLSTMモデルのパラメータであり、a及びa(t-1)は、時間t及びt+1に実行される動作であり、例えば、ネットワーク層に対して異なる種類の処理ユニットを選択する動作であり、aT:1はt=1時点の動作a1からt=T時点の動作aTまでの軌跡であり、∇θR(θ)はパラメータθに対する戻り値の勾配であり、Ep()[...Ri]は、動作a1からaTまでの軌跡をサンプリングして、計算して得られた報酬Rの期待値であり、Pはネットワーク層に対して異なる種類の処理ユニットを選択する確率である。
式(3)については、モンテカルロ定理に基づき、サンプリングすることで、以下の式(4)で表される勾配の近似値を得ることができる。
Figure 0007285977000004
式(4)では、Nは収集されたサンプルの数である。
その後、LSTMモデルで計算する際に推定される分散を大幅に低減させ、トレーニングをより安定化させるために、上記式に基線bを代入し、基線bは、平均報酬値Rを移動することにより得られ、それにより、トレーニング中に、Rの値をより滑らかにすることができ、このとき、以下の式(5)を得る。
Figure 0007285977000005
上記式を用い、ニューラルネットワークの複数のネットワーク層に対する処理ユニットの選択、すなわち、複数のネットワーク層のうちの各々のネットワーク層に対して使用すべき処理ユニットの種類を取得できる。
以上、方策勾配に基づく深層強化学習方法について述べられる。本開示の実施例は、さらに、値関数に基づく深層強化学習方法を使用して実現されてもよいことを理解されたい。
図5は、本開示の実施例によるニューラルネットワークトレーニング方法500のフローチャートを示す。具体的には、ニューラルネットワークトレーニング方法500は、図1に示すニューラルネットワークトレーニング環境100での計算機器110によって実行されてもよい。ニューラルネットワークトレーニング方法500は、ニューラルネットワークトレーニング方法200の拡張と考えることができ、図示しない追加の動作を含むことができ及び/又は図示した動作を省略することができるが、本開示の範囲はこの点で限定されないことが理解されるべきである。
ブロック502では、計算機器110は、深層学習用のニューラルネットワークを取得する。ブロック502に係るステップの具体的な内容は、ブロック202に係るステップの具体的な内容と同じであり、ここでは説明を省略する。
ブロック504では、計算機器110は、ブロック202で取得されたニューラルネットワークに対して長短期記憶ネットワークLSTMモデルを作成する。ブロック504に係るステップの具体的な内容は、ブロック204に係るステップの具体的な内容と同じであり、ここでは説明を省略する。
ブロック506では、計算機器110は、LSTMモデルを使用し、複数の種類の処理ユニットのうちの各種類の処理ユニットを使用して各々のネットワーク層に対してトレーニングを行うために必要な時間、及び各種類の処理ユニットのコストに基づいて、複数のネットワーク層に対する処理ユニットの選択を決定する。ブロック506に係るステップの具体的な内容は、ブロック206に係るステップの具体的な内容と同じであり、ここでは説明を省略する。
ブロック508では、計算機器110は、ブロック506で決定された処理ユニットの選択に基づいて、複数のネットワーク層のうちの各々のネットワーク層に対して使用すべき処理ユニットの種類、各々のネットワーク層に対して使用される種類の1つの処理ユニットがこのネットワーク層に対してトレーニングを行うために必要な時間、及びニューラルネットワークに対してトレーニングを行うために必要なパイプライン並列計算時間を使用し、複数のネットワーク層のうちの各々のネットワーク層に対して使用すべき処理ユニットの数を決定する。
本開示の1つ又は複数の実施例によれば、ニューラルネットワークに対して使用される処理ユニットの総コストは以下の式(6)によって表されることができる。
Figure 0007285977000006
s.t.T+Tmargin<Texpected(6)
式(6)では、Dは処理ユニットの異なる種類を表し、nは使用される処理ユニットの数を表し、cは使用される処理ユニットの単位コストを表し、Tは各ラウンドに対して予測されるトレーニング時間、すなわち、ニューラルネットワークに対してトレーニングを行うために必要なパイプライン並列計算時間を表し、Texpectedは所定時間であり、Tmarginは誤差を低減させるための境界時間である。
本開示のいくつかの実施例によれば、境界時間Tmarginを考慮しなくてもよく、この場合、式(6)は、境界時間Tmarginを含まず、所定時間Texpectedしか含まない。
本開示の他の実施例によれば、境界時間Tmarginの大きさは一定であり得るので、所定時間Texpectedから境界時間Tmarginを減算した値を個別にリストすることができ、それにより、式(6)を簡略化することができ、前述した得られた値を所定時間Texpectedと呼ぶこともできる。
従って、以上の式(6)と併せて、ニューラルネットワークに対してトレーニングを行うために必要なパイプライン並列計算時間を、各々のネットワーク層に対して使用される種類の1つの処理ユニットがこのネットワーク層に対してトレーニングを行うために必要な時間で割ることで、複数のネットワーク層のうちの各々のネットワーク層に対して使用すべき処理ユニットの数を得ることができる。この場合、各々のネットワーク層及び各段階内の計算及び伝送を完全に並列に実行できると考えることが理解され得る。
本開示の他の実施例によれば、ブロック508では、計算機器110はブロック506で決定された処理ユニットの選択に基づいて、複数のネットワーク層のうちの各々のネットワーク層に対して使用すべき処理ユニットの種類、各々のネットワーク層に対して使用される種類の1つの処理ユニットがこのネットワーク層に対してトレーニングを行うために必要な時間、このネットワーク層における並列トレーニング可能な部分の割合、及びニューラルネットワークに対してトレーニングを行うために必要なパイプライン並列計算時間を使用し、複数のネットワーク層のうちの各々のネットワーク層に対して使用すべき処理ユニットの数を決定する。
この場合、ネットワーク層における並列トレーニング可能な部分の割合をpとすると、アムダールの法則に従って、使用される処理ユニットの数n及び計算速度の向上加速度Sは、以下の式(7)に従う。
Figure 0007285977000007
このとき、式(2)と併せ、各段階の時間は、以下の式(8)によって表されることができる。
Figure 0007285977000008
上記式(7)及び(8)では、割合pは、ネットワーク層に対して推算することで得ることができる。例えば、並列計算では、オペレータにより実行される部分を並列にすることができるほか、フレームワークの呼び出し、マルチスレッドの起動など、各機械が実行すべき共通部分があり、したがって、これらの要素に基づいて割合pを推算することができる。
以上、図1~図5を参照しながら、本開示のある実施例でのニューラルネットワークトレーニング方法を実現できるニューラルネットワークトレーニング環境100、本開示の実施例によるニューラルネットワークトレーニング方法200、本開示の実施例による分割後のニューラルネットワーク300、本開示の実施例によるニューラルネットワークトレーニング方法400及び本開示の実施例によるニューラルネットワークトレーニング方法500の関連内容について説明した。上記の説明は、本開示に記載された内容をより良く示すためのものであり、いかなる方法で制限されるものではないことを理解されたい。
本開示の上記の図面において採用される様々な要素の数と物理量の大きさは、単なる例であり、本開示の保護範囲に対する限定ではないことを理解されたい。上記の数と大きさは、本開示の実施形態の正常な実施に影響を与えることなく、必要に応じて任意に設定されてもよい。
以上、図1~図5を参照しながら、本開示の実施の形態によるニューラルネットワークトレーニング方法200、ニューラルネットワークトレーニング方法400及びニューラルネットワークトレーニング方法500の詳細について説明した。以下、図6を参照して、ニューラルネットワークトレーニング装置における各モジュールについて説明する。
図6は、本開示の実施例によるニューラルネットワークトレーニング装置600の概略ブロック図である。図6に示すように、ニューラルネットワークトレーニング装置600は、各々が複数の種類の処理ユニットのうちの1種類の処理ユニットによってトレーニングが行われる複数のネットワーク層を含む深層学習用のニューラルネットワークを取得するように配置されている取得モジュール610と、ニューラルネットワークに対して、複数のネットワーク層に一対一に対応する複数のモデル層を含む深層強化学習モデルを作成するように配置されている作成モジュール620と、深層強化学習モデルを使用して、複数の種類の処理ユニットのうちの各種類の処理ユニットを使用して各々のネットワーク層に対してトレーニングを行うために必要な時間、及び各種類の処理ユニットのコストに基づいて、複数のネットワーク層に対する処理ユニットの選択を決定するように配置されている第1処理ユニット選択の決定モジュールであって、処理ユニットの選択は、複数のネットワーク層のうちの各々のネットワーク層に対して使用すべき処理ユニットの種類を含み、処理ユニットの選択により、ニューラルネットワークに対してトレーニングを行うために必要なパイプライン並列計算時間が所定時間よりも短くなる場合、ニューラルネットワークにより使用される処理ユニットの総コストがコスト閾値未満である第1処理ユニット選択の決定モジュール630と、を含む。
1つ又は複数の実施例では、第1処理ユニット選択の決定モジュール630は、複数のネットワーク層のうちの第1ネットワーク層に対するトレーニングに関連するプロファイルに基づいて、各種類の処理ユニットが第1ネットワーク層に対してトレーニングを行うために必要な時間を決定するように配置されている時間決定モジュール(図示せず)を含む。
1つ又は複数の実施例では、第1処理ユニット選択の決定モジュール630は、第1ネットワーク層のトレーニングに関連する、伝送されるべきパラメータの大きさ、及びパラメータを伝送するためのネットワーク帯域に基づいて、第1ネットワーク層に対するパラメータ伝達時間を決定するように配置されているパラメータ伝達時間モジュール(図示せず)と、パラメータ伝達時間が、各種類の処理ユニットが第1ネットワーク層に対してトレーニングを行うために必要な時間よりも長いことに応じて、各種類の処理ユニットが第1ネットワーク層に対してトレーニングを行うために必要な時間をパラメータ伝達時間に等しくするように配置されている時間調整モジュール(図示せず)と、を含む。
1つ又は複数の実施例では、第1処理ユニット選択の決定モジュール630は、深層強化学習モデルを使用し、複数の種類の処理ユニットのうちの各種類の処理ユニットを使用して複数のネットワーク層のうちの第1ネットワーク層に対してトレーニングを行うために必要な時間、各種類の処理ユニットのコスト、及び第1ネットワーク層の前のネットワーク層に対して決定された処理ユニットの種類に基づいて、第1ネットワーク層に対して使用すべき処理ユニットの種類を決定するように配置されている種類決定モジュール(図示せず)を含む。
1つ又は複数の実施例では、第1処理ユニット選択の決定モジュール630は、処理ユニットの選択を決定することで、ニューラルネットワークに対してトレーニングを行うために必要なパイプライン並列計算時間が所定時間よりも短くなる場合、ニューラルネットワークにより使用される処理ユニットの総コストをできるだけ低くするように配置されている第2処理ユニット選択の決定モジュール(図示せず)を含む。
1つ又は複数の実施例では、ニューラルネットワークトレーニング装置600は、処理ユニットの選択によって指示された、複数のネットワーク層のうちの、同一種類の処理ユニットを使用する隣接するネットワーク層の少なくとも1つのセットにおける、隣接するネットワーク層に対してトレーニングを行うために必要な合計時間に基づいて、パイプライン並列計算時間を決定するように配置されているパイプライン並列計算時間決定モジュール(図示せず)をさらに含む。
1つ又は複数の実施例では、ニューラルネットワークトレーニング装置600は、処理ユニットの選択に基づいて、複数のネットワーク層のうちの各々のネットワーク層に対して使用すべき処理ユニットの種類、各々のネットワーク層に対して使用される種類の1つの処理ユニットがこのネットワーク層に対してトレーニングを行うために必要な時間、及び所定時間を使用し、複数のネットワーク層のうちの各々のネットワーク層に対して使用すべき処理ユニットの数を決定するように配置されている第1数決定モジュール(図示せず)をさらに含む。
1つ又は複数の実施例では、ニューラルネットワークトレーニング装置600は、処理ユニットの選択に基づいて、複数のネットワーク層のうちの各々のネットワーク層に対して使用すべき処理ユニットの種類、各々のネットワーク層に対して使用される種類の1つの処理ユニットがこのネットワーク層に対してトレーニングを行うために必要な時間、このネットワーク層における並列トレーニング可能な部分の割合、及び所定時間を使用し、複数のネットワーク層のうちの各々のネットワーク層に対して使用すべき処理ユニットの数を決定するように配置されている第2数決定モジュール(図示せず)をさらに含む。
1つ又は複数の実施例では、処理ユニットの種類は、中央処理ユニット及び専用処理ユニットを含む。
以上、図1~図6を参照する上記の説明を通じて、本開示の実施の形態による技術的解決手段は、従来の解決手段に対して多くの利点を有する。例えば、本開示の実施例による技術的解決手段を用いると、深層強化学習を用いて問題を求めるとき、目的関数が微分可能である必要はないので、制約あり問題をうまく求めることができ、汎用性が高いだけでなく、より一般的な問題を解決することにも適している。具体的には、本開示の実施例による技術的解決手段を用いることにより、ニューラルネットワークを最も合理的に分割し、分散型トレーニングを実現し、深層学習の効率を向上し、ユーザが深層学習を行うコストを低減させることによって、深層学習を使用するユーザの体験を向上させることができる。
本開示の実施例によれば、本開示は、電子機器、コンピュータ読み取り可能な記憶媒体及びコンピュータプログラム製品をさらに提供する。
図7は、本開示の実施例の例示的な電子機器700を実現するための概略ブロック図を示す。例えば、図1に示す計算機器110及び図6に示すニューラルネットワークトレーニング装置600は、電子機器700によって実装され得る。電子機器700は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレームコンピュータ、及び他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表す。電子機器は、パーソナルデジタルプロセッサ、携帯電話、スマートフォン、ウェアラブルデバイス、他の類似する計算手段などの様々な形態のモバイルデバイスを表すこともできる。本明細書で示されるコンポーネント、それらの接続と関係、及びそれらの機能は単なる例であり、本明細書の説明及び/又は要求される本開示の実現を限定することを意図するものではない。
図7に示すように、機器700は、読み出し専用メモリ(ROM)702に記憶されるコンピュータプログラム又は記憶ユニット708からランダムアクセスメモリ(RAM)703にロードされるコンピュータプログラムに基づいて、さまざまな適切な動作及び処理を実行できる計算ユニット701を含む。RAM703には、機器700の動作に必要な様々なプログラムおよびデータを記憶することができる。計算ユニット701、ROM702及びRAM703は、バス704を介して互いに接続されている。入出力(I/O)インタフェース705もバス704に接続されている。
機器700における複数のコンポーネント(キーボード、マウスなどの入力ユニット706、各種のディスプレイ、スピーカなどの出力ユニット707、磁気ディスク、光ディスクなどの記憶ユニット708、及び、LANカード、モデム、無線通信トランシーバなどの通信ユニット709を含む)は、I/Oインタフェース705に接続されている。通信ユニット709は、機器700がインターネットなどのコンピュータネットワーク及び/又は各種の電子通信ネットワークを介してその他の機器と情報/データを交換することを可能にする。
計算ユニット701は、様々な処理及び計算能力を有する汎用及び/又は専用処理コンポーネントであってもよい。計算ユニット701のいくつかの例は、中央処理ユニット(CPU)、グラフィカル処理ユニット(GPU)、様々な専用の人工知能(AI)計算チップ、様々な機械学習モデルアルゴリズムを実行する計算ユニット、デジタル信号プロセッサ(DSP)、及び任意の適切なプロセッサ、コントローラ、マイクロコントローラなどを含むが、これらに限定されない。計算ユニット701は、方法200、400及び500などの上記で説明される各方法及び処理を実行する。例えば、いくつかの実施例では、方法200、400及び500は、記憶ユニット708のような機械読み取り可能な媒体に有形的に含まれるコンピュータソフトウェアプログラムとして実現することができる。いくつかの実施例では、コンピュータプログラムの一部又は全ては、ROM702及び/又は通信ユニット709を介して、機器700にロード及び/又はインストールすることができる。コンピュータプログラムがRAM703にロードされて計算ユニット701によって実行される場合に、前述した方法200、400及び500の1つ又は複数のステップを実行することができる。追加的に、他の実施例では、計算ユニット701は、他の任意の適当な方式(例えば、ファームウェアを借りる)により方法200、400及び500を実行するように構成される。
本明細書で説明されたシステム及び技術の各実施の形態は、デジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、専用集積回路(ASIC)、専用標準製品(ASSP)、システムオンチップ(SOC)、コンプレックスプログラマブルロジックデバイス(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせで実現することができる。これらの様々な実施形態は、1つ又は複数のコンピュータプログラムで実施され、該1つ又は複数のコンピュータプログラムは、少なくとも1つプログラマブルプロセッサを含むプログラマブルシステムで実行及び/又は解釈される。該プログラマブルプロセッサは、専用又は汎用のプログラマブルプロセッサであってもよく、メモリシステム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及び命令を受信し、データ及び命令を該メモリシステム、該少なくとも1つの入力装置、及び該少なくとも1つの出力装置に伝送することができる。
本開示の方法を実施するためのプログラムコードは、1つ又は複数のプログラミング言語の任意の組み合わせにより作成することができる。これらのプログラムコードは、汎用コンピュータ、専門コンピュータ又はその他のプログラミングデータ処理装置のプロセッサ又はコントローラに提供されることにより、プログラムコードがプロセッサ又はコントローラによって実行される場合に、フローチャート及び/又はブロック図に規定された機能/動作を実行することができる。プログラムコードは、完全に機械で実行されてもよく、部分的に機械で実行されてもよく、独立したソフトパッケージとして部分的に機械で実行されるとともに、部分的にリモート機械で実行されてもよく、又は完全にリモート機械又はサーバで実行されてもよい。
本開示のコンテクストでは、機械読み取り可能な媒体は、有形な媒体であってもよく、命令実行システム、装置又は機器によって、又は命令実行システム、装置又は機器と合わせて使用されるプログラムを含み、又は記憶する。機械読み取り可能な媒体は、機械読み取り可能な信号媒体又は機械読み取り可能な貯蔵媒体であってもよい。機械読み取り可能な媒体は、電子、磁気、光学、電磁気、赤外線、或いは半導体のシステム、装置、機器、又は上記内容の任意の適切な組み合わせを含むがこれらに限定されない。機械読み取り可能な記憶媒体のより具体的な例は、1つ以上のワイヤを有する電気的接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読出専用メモリ(ROM)、消去可能プログラム可能読出専用メモリ(EPROM或いはフラッシュメモリ)、光ファイバー、携帯型コンパクトディスク読出専用メモリ(CD-ROM)、光記憶装置、磁気記憶装置、又は上記内容の任意の適切な組み合わせを含む。
ユーザとのインタラクションを提供するため、コンピュータ上で、ここで説明されているシステム及び技術を実施することができ、コンピュータは、ユーザに情報を表示するためのディスプレイ装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを有し、ユーザは、キーボード及びポインティングデバイスによって入力をコンピュータに提供することができる。他の種類の装置も、ユーザとのインタラクションを提供することができ、例えば、ユーザに提供されるフィードバックは、任意の形態のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、任意の形態(音響入力と、音声入力と、触覚入力とを含む)でユーザからの入力を受信することができる。
ここで説明されたシステム及び技術は、バックエンドコンポーネントを含むコンピューティングシステム(例えば、データサーバとする)、又は、ミドルウェアコンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバ)、又は、フロントエンドコンポーネントを含むコンピューティングシステム(例えば、グラフィカルユーザインタフェース又はネットワークブラウザを有するユーザコンピュータであり、ユーザは、該グラフィカルユーザインタフェース又は該ネットワークブラウザによってここで説明されるシステム及び技術の実施の形態とインタラクションする)、又は、このバックエンドコンポーネント、ミドルウェアコンポーネント、又はフロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムで実施することができる。任意の適切な形態または媒体のデジタルデータ通信(例えば通信ネットワーク)によりシステムのコンポーネントを相互に接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)及びインターネットを含む。
コンピュータシステムは、クライアントおよびサーバを含んでもよい。クライアントおよびサーバは、一般に、互いに遠隔にあり、典型的には通信ネットワークを介してインタラクションする。クライアントおよびサーバの関係は、対応するコンピュータ上で実行され互いにクライアント・サーバ関係を有するコンピュータプログラムにより生じる。
上記に示される様々な形態のフローを使用して、ステップを並べ替え、追加、または削除することができる。例えば、本開示に記載の各ステップは、並列に実行されてもよいし、順次的に実行されてもよいし、異なる順序で実行されてもよいが、本開示で開示されている技術的解決手段の所望の結果を実現することができれば、本明細書では限定しないことを理解すべきである。
上記具体的な実施形態は、本開示の保護範囲を制限するものではない。当業者は、設計要件と他の要因に基づいて、様々な修正、組み合わせ、サブコンビネーション、及び代替を行うことができる。本開示の精神と原則内で行われる任意の修正、同等の置換、及び改善などは、いずれも本開示の保護範囲内に含まれるべきである。

Claims (21)

  1. ニューラルネットワークトレーニング方法であって、
    各々が複数の種類の処理ユニットのうちの1種類の処理ユニットによってトレーニングが行われる複数のネットワーク層を含む深層学習用のニューラルネットワークを取得するステップと、
    前記ニューラルネットワークに対して、前記複数のネットワーク層に一対一に対応する複数のモデル層を含む深層強化学習モデルを作成するステップと、
    前記深層強化学習モデルを使用し、前記複数の種類の処理ユニットのうちの各種類の処理ユニットを使用して各々のネットワーク層に対してトレーニングを行うために必要な時間、及び各種類の処理ユニットのコストに基づいて、前記複数のネットワーク層に対する処理ユニットの選択を決定するステップであって、前記処理ユニットの選択は、前記複数のネットワーク層のうちの各々のネットワーク層に対して使用すべき処理ユニットの種類を含み、前記処理ユニットの選択により、前記ニューラルネットワークに対してトレーニングを行うために必要なパイプライン並列計算時間が所定時間よりも短くなる場合、前記ニューラルネットワークにより使用される処理ユニットの総コストがコスト閾値未満であるステップと、を含む、ニューラルネットワークトレーニング方法。
  2. 前記処理ユニットの選択を決定するステップは、
    前記複数のネットワーク層のうちの第1ネットワーク層に対するトレーニングに関連するプロファイルに基づいて、各種類の処理ユニットが前記第1ネットワーク層に対してトレーニングを行うために必要な時間を決定するステップを含む、請求項1に記載の方法。
  3. 前記処理ユニットの選択を決定するステップは、
    前記第1ネットワーク層のトレーニングに関連する、伝送されるべきパラメータの大きさ、及び前記パラメータを伝送するためのネットワーク帯域に基づいて、前記第1ネットワーク層に対するパラメータ伝達時間を決定するステップと、
    前記パラメータ伝達時間が各種類の処理ユニットが前記第1ネットワーク層に対してトレーニングを行うために必要な時間よりも長いことに応じて、各種類の処理ユニットが前記第1ネットワーク層に対してトレーニングを行うために必要な前記時間を前記パラメータ伝達時間に等しくするステップと、を含む、請求項2に記載の方法。
  4. 前記処理ユニットの選択を決定するステップは、
    前記深層強化学習モデルを使用し、前記複数の種類の処理ユニットのうちの各種類の処理ユニットを使用して前記複数のネットワーク層のうちの第1ネットワーク層に対してトレーニングを行うために必要な時間、各種類の処理ユニットのコスト、及び前記第1ネットワーク層の前のネットワーク層に対して決定された処理ユニットの種類に基づいて、前記第1ネットワーク層に対して使用すべき処理ユニットの種類を決定するステップを含む、請求項1に記載の方法。
  5. 前記処理ユニットの選択を決定するステップは、
    前記処理ユニットの選択を決定することで、前記ニューラルネットワークに対してトレーニングを行うために必要な前記パイプライン並列計算時間が前記所定時間よりも短くなる場合、前記ニューラルネットワークに対して使用される前記処理ユニットの前記総コストをできるだけ低くするステップを含む、請求項1に記載の方法。
  6. 前記処理ユニットの選択によって指示された、前記複数のネットワーク層のうちの、同一種類の処理ユニットを使用する隣接するネットワーク層の少なくとも1つのセットにおける、隣接するネットワーク層に対してトレーニングを行うために必要な合計時間に基づいて、前記パイプライン並列計算時間を決定するステップをさらに含む、請求項1に記載の方法。
  7. 前記処理ユニットの選択に基づいて、前記複数のネットワーク層のうちの各々のネットワーク層に対して使用すべき処理ユニットの種類、各々のネットワーク層に対して使用される種類の1つの処理ユニットがこのネットワーク層に対してトレーニングを行うために必要な時間、及び前記パイプライン並列計算時間を使用し、前記複数のネットワーク層のうちの各々のネットワーク層に対して使用すべき処理ユニットの数を決定するステップをさらに含む、請求項1に記載の方法。
  8. 前記処理ユニットの選択に基づいて、前記複数のネットワーク層のうちの各々のネットワーク層に対して使用すべき処理ユニットの種類、各々のネットワーク層に対して使用される種類の1つの処理ユニットがこのネットワーク層に対してトレーニングを行うために必要な時間、このネットワーク層における並列トレーニング可能な部分の割合、及び前記パイプライン並列計算時間を使用し、前記複数のネットワーク層のうちの各々のネットワーク層に対して使用すべき処理ユニットの数を決定するステップをさらに含む、請求項1に記載の方法。
  9. 前記処理ユニットの種類は、中央処理ユニット及び専用処理ユニットを含む、請求項1に記載の方法。
  10. ニューラルネットワークトレーニング装置であって、
    各々が複数の種類の処理ユニットのうちの1種類の処理ユニットによってトレーニングが行われる複数のネットワーク層を含む深層学習用のニューラルネットワークを取得するように配置されている取得モジュールと、
    前記ニューラルネットワークに対して、前記複数のネットワーク層に一対一に対応する複数のモデル層を含む深層強化学習モデルを作成するように配置されている作成モジュールと、
    前記深層強化学習モデルを使用し、前記複数の種類の処理ユニットのうちの各種類の処理ユニットを使用して各々のネットワーク層に対してトレーニングを行うために必要な時間、及び各種類の処理ユニットのコストに基づいて、前記複数のネットワーク層に対する処理ユニットの選択を決定するステップであって、前記処理ユニットの選択は、前記複数のネットワーク層のうちの各々のネットワーク層に対して使用すべき処理ユニットの種類を含み、前記処理ユニットの選択により、前記ニューラルネットワークに対してトレーニングを行うために必要なパイプライン並列計算時間が所定時間よりも短くなる場合、前記ニューラルネットワークにより使用される処理ユニットの総コストがコスト閾値未満であるように配置されている第1処理ユニット選択の決定モジュールと、を含む、ニューラルネットワークトレーニング装置。
  11. 前記第1処理ユニット選択の決定モジュールは、
    前記複数のネットワーク層のうちの第1ネットワーク層に対するトレーニングに関連するプロファイルに基づいて、各種類の処理ユニットが前記第1ネットワーク層に対してトレーニングを行うために必要な時間を決定するように配置されている時間決定モジュールを含む、請求項10に記載の装置。
  12. 前記第1処理ユニット選択の決定モジュールは、
    前記第1ネットワーク層のトレーニングに関連する、伝送されるべきパラメータの大きさ、及び前記パラメータを伝送するためのネットワーク帯域に基づいて、前記第1ネットワーク層に対するパラメータ伝達時間を決定するように配置されているパラメータ伝達時間モジュールと、
    前記パラメータ伝達時間が各種類の処理ユニットが前記第1ネットワーク層に対してトレーニングを行うために必要な時間よりも長いことに応じて、各種類の処理ユニットが前記第1ネットワーク層に対してトレーニングを行うために必要な前記時間を前記パラメータ伝達時間に等しくするように配置されている時間調整モジュールと、を含む、請求項11に記載の装置。
  13. 前記第1処理ユニット選択の決定モジュールは、
    前記深層強化学習モデルを使用し、前記複数の種類の処理ユニットのうちの各種類の処理ユニットを使用して前記複数のネットワーク層のうちの第1ネットワーク層に対してトレーニングを行うために必要な時間、各種類の処理ユニットのコスト、及び前記第1ネットワーク層の前のネットワーク層に対して決定された処理ユニットの種類に基づいて、前記第1ネットワーク層に対して使用すべき処理ユニットの種類を決定するように配置されている種類決定モジュールを含む、請求項10に記載の装置。
  14. 前記第1処理ユニット選択の決定モジュールは、
    前記処理ユニットの選択を決定することで、前記ニューラルネットワークに対してトレーニングを行うために必要な前記パイプライン並列計算時間が前記所定時間よりも短くなる場合、前記ニューラルネットワークに対して使用される前記処理ユニットの前記総コストをできるだけ低くするように配置されている第2処理ユニット選択の決定モジュールを含む、請求項10に記載の装置。
  15. 前記処理ユニットの選択によって指示された、前記複数のネットワーク層のうちの、同一種類の処理ユニットを使用する隣接するネットワーク層の少なくとも1つのセットにおける、隣接するネットワーク層に対してトレーニングを行うために必要な合計時間に基づいて、前記パイプライン並列計算時間を決定するように配置されているパイプライン並列計算時間決定モジュールをさらに含む、請求項10に記載の装置。
  16. 前記処理ユニットの選択に基づいて、前記複数のネットワーク層のうちの各々のネットワーク層に対して使用すべき処理ユニットの種類、各々のネットワーク層に対して使用される種類の1つの処理ユニットがこのネットワーク層に対してトレーニングを行うために必要な時間、及び前記所定時間を使用し、前記複数のネットワーク層のうちの各々のネットワーク層に対して使用すべき処理ユニットの数を決定するように配置されている第1数決定モジュールをさらに含む、請求項10に記載の装置。
  17. 前記処理ユニットの選択に基づいて、前記複数のネットワーク層のうちの各々のネットワーク層に対して使用すべき処理ユニットの種類、各々のネットワーク層に対して使用される種類の1つの処理ユニットがこのネットワーク層に対してトレーニングを行うために必要な時間、このネットワーク層における並列トレーニング可能な部分の割合、及び前記所定時間を使用し、前記複数のネットワーク層のうちの各々のネットワーク層に対して使用すべき処理ユニットの数を決定するように配置されている第2数決定モジュールをさらに含む、請求項10に記載の装置。
  18. 前記処理ユニットの種類は、中央処理ユニット及び専用処理ユニットを含む、請求項10に記載の装置。
  19. 電子機器であって、
    少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサに通信接続されるメモリと、を含み、
    前記メモリには、前記少なくとも1つのプロセッサにより実行可能な命令が記憶され、前記命令が前記少なくとも1つのプロセッサにより実行されることで、前記少なくとも1つのプロセッサが請求項1~9のいずれかに記載の方法を実行できる、ことを特徴とする電子機器。
  20. コンピュータ命令が記憶される非瞬時コンピュータ読み取り可能な記憶媒体であって
    前記コンピュータ命令は、前記コンピュータに請求項1~9のいずれかに記載の方法を実行させる、ことを特徴とする、記憶媒体。
  21. コンピュータプログラム製品であって、
    コンピュータプログラムを含み、前記コンピュータプログラムがプロセッサにより実行されると、請求項1~9のいずれかに記載の方法を実行する、コンピュータプログラム製品。
JP2022007109A 2021-05-19 2022-01-20 ニューラルネットワークトレーニング方法、装置、電子機器、媒体及びプログラム製品 Active JP7285977B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110548446.8 2021-05-19
CN202110548446.8A CN113222118B (zh) 2021-05-19 2021-05-19 神经网络训练方法、装置、电子设备、介质和程序产品

Publications (2)

Publication Number Publication Date
JP2022179307A JP2022179307A (ja) 2022-12-02
JP7285977B2 true JP7285977B2 (ja) 2023-06-02

Family

ID=77093484

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022007109A Active JP7285977B2 (ja) 2021-05-19 2022-01-20 ニューラルネットワークトレーニング方法、装置、電子機器、媒体及びプログラム製品

Country Status (3)

Country Link
US (1) US20220374704A1 (ja)
JP (1) JP7285977B2 (ja)
CN (1) CN113222118B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113780554B (zh) * 2021-09-10 2023-10-24 网易(杭州)网络有限公司 深度强化学习模型的处理方法及装置、介质、电子设备
CN114742035B (zh) * 2022-05-19 2023-07-07 北京百度网讯科技有限公司 基于注意力机制优化的文本处理方法、网络模型训练方法
CN114676795B (zh) * 2022-05-26 2022-08-23 鹏城实验室 一种深度学习模型的训练方法、装置、设备及存储介质
CN118233350A (zh) * 2022-12-20 2024-06-21 中国电信股份有限公司 服务性能测量方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017182114A (ja) 2016-03-28 2017-10-05 ソニー株式会社 情報処理装置、情報処理方法および情報提供方法
JP2019040365A (ja) 2017-08-24 2019-03-14 富士通株式会社 情報処理装置、方法、及びプログラム
US20200210239A1 (en) 2018-12-28 2020-07-02 Atlantic Technical Organization System and method of scheduling and computing resource allocation optimization of machine learning flows

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11023803B2 (en) * 2017-04-10 2021-06-01 Intel Corporation Abstraction library to enable scalable distributed machine learning
US11270201B2 (en) * 2017-12-29 2022-03-08 Intel Corporation Communication optimizations for distributed machine learning
CN112424797B (zh) * 2018-05-17 2024-07-12 弗劳恩霍夫应用研究促进协会 神经网络的分布式学习和/或其参数化更新的传输的概念
US20200104715A1 (en) * 2018-09-28 2020-04-02 Xilinx, Inc. Training of neural networks by including implementation cost as an objective
US10832371B2 (en) * 2018-12-28 2020-11-10 Intel Corporation Unified architecture for BVH construction based on hardware pre-sorting and a parallel, reconfigurable clustering array
CN112764893B (zh) * 2019-11-04 2024-03-26 华为技术有限公司 数据处理方法和数据处理系统
CN112202928B (zh) * 2020-11-16 2022-05-17 绍兴文理学院 传感边缘云区块链网络可信卸载协作节点选择系统及方法
CN112464784A (zh) * 2020-11-25 2021-03-09 西安烽火软件科技有限公司 一种基于混合并行的分布式训练方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017182114A (ja) 2016-03-28 2017-10-05 ソニー株式会社 情報処理装置、情報処理方法および情報提供方法
JP2019040365A (ja) 2017-08-24 2019-03-14 富士通株式会社 情報処理装置、方法、及びプログラム
US20200210239A1 (en) 2018-12-28 2020-07-02 Atlantic Technical Organization System and method of scheduling and computing resource allocation optimization of machine learning flows

Also Published As

Publication number Publication date
JP2022179307A (ja) 2022-12-02
CN113222118B (zh) 2022-09-09
US20220374704A1 (en) 2022-11-24
CN113222118A (zh) 2021-08-06

Similar Documents

Publication Publication Date Title
JP7285977B2 (ja) ニューラルネットワークトレーニング方法、装置、電子機器、媒体及びプログラム製品
JP7166322B2 (ja) モデルを訓練するための方法、装置、電子機器、記憶媒体およびコンピュータプログラム
EP3446260B1 (en) Memory-efficient backpropagation through time
US11694109B2 (en) Data processing apparatus for accessing shared memory in processing structured data for modifying a parameter vector data structure
WO2019154411A1 (zh) 词向量更新方法和装置
CN114862656A (zh) 基于多gpu的分布式深度学习模型训练代价的获取方法
JP7414907B2 (ja) 事前訓練済みモデルの決定方法及びその決定装置、電子機器並びに記憶媒体
CN111695698A (zh) 用于模型蒸馏的方法、装置、电子设备及可读存储介质
US20240070454A1 (en) Lightweight model training method, image processing method, electronic device, and storage medium
JP2022050622A (ja) 分野フレーズマイニング方法、装置及び電子機器
WO2022072012A1 (en) Optimizing job runtimes via prediction-based token allocation
CN112288483A (zh) 用于训练模型的方法和装置、用于生成信息的方法和装置
CN114691148A (zh) 模型推理加速方法、装置、电子设备及存储介质
EP3992774A1 (en) Method and device for implementing dot product operation, electronic device, and storage medium
CN112580723B (zh) 多模型融合方法、装置、电子设备和存储介质
CN112200310B (zh) 智能处理器、数据处理方法及存储介质
EP4004769A1 (en) Machine learning system to predict causal treatment effects of actions performed on websites or applications
CN115186738B (zh) 模型训练方法、装置和存储介质
US20220113943A1 (en) Method for multiply-add operations for neural network
JP2024522107A (ja) ニューラルネットワーク中の動的活性化スパーシティ
CN113610856B (zh) 训练图像分割模型和图像分割的方法和装置
CN112560928B (zh) 负样本挖掘方法、装置、电子设备及存储介质
Mu et al. Boosting the Convergence of Reinforcement Learning-based Auto-pruning Using Historical Data
CN114331379B (zh) 用于输出待办任务的方法、模型训练方法和装置
US11972188B2 (en) Rail power density aware standard cell placement for integrated circuits

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230426

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: 20230516

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230523

R150 Certificate of patent or registration of utility model

Ref document number: 7285977

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150