IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ホアウェイ クラウド コンピューティング テクノロジーズ カンパニー リミテッドの特許一覧

<>
  • 特表-モデル訓練方法および装置 図1
  • 特表-モデル訓練方法および装置 図2
  • 特表-モデル訓練方法および装置 図3
  • 特表-モデル訓練方法および装置 図4
  • 特表-モデル訓練方法および装置 図5
  • 特表-モデル訓練方法および装置 図6
  • 特表-モデル訓練方法および装置 図7
  • 特表-モデル訓練方法および装置 図8
  • 特表-モデル訓練方法および装置 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-03-17
(54)【発明の名称】モデル訓練方法および装置
(51)【国際特許分類】
   G06N 20/00 20190101AFI20230310BHJP
   G06F 11/34 20060101ALI20230310BHJP
【FI】
G06N20/00
G06F11/34 147
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022543575
(86)(22)【出願日】2020-09-04
(85)【翻訳文提出日】2022-08-25
(86)【国際出願番号】 CN2020113610
(87)【国際公開番号】W WO2021143155
(87)【国際公開日】2021-07-22
(31)【優先権主張番号】202010049320.1
(32)【優先日】2020-01-16
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】521486206
【氏名又は名称】ホアウェイ クラウド コンピューティング テクノロジーズ カンパニー リミテッド
【氏名又は名称原語表記】Huawei Cloud Computing Technologies Co., Ltd.
【住所又は居所原語表記】Huawei Cloud Data Center,Jiaoxinggong Road,Qianzhong Avenue, Gui’an New District, Guizhou,550025,China
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133569
【弁理士】
【氏名又は名称】野村 進
(72)【発明者】
【氏名】▲劉▼ 志▲飄▼
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042MA08
5B042MA14
5B042MC08
(57)【要約】
通信技術の分野に関連し、第1のサーバ(10)および第2のサーバ(20)を含むシステムに適用される、モデル訓練方法および装置が開示される。第1のサーバ(10)は、プライベートクラウド内に配置され、モデル推論のために使用され、第2のサーバ(20)は、パブリッククラウド内に配置され、モデル訓練のために使用される。訓練モデルは、訓練モデルの推論効果を監視し、訓練モデルを適時に再訓練するために、推論結果およびモデル評価メトリックに基づいて評価され、これによって推論結果の正確さを改善し、サービスシステムの性能を保証する。方法は、第1のサーバ(10)によって、第2のサーバ(20)から第1の訓練モデルを取得し(S601)、推論のための第1の訓練モデルに入力データを入力して推論結果を取得するステップ(S602)と、次いで、推論結果およびモデル評価メトリックに基づいて第1の訓練モデルを評価してモデル評価メトリックの評価結果を取得するステップ(S603)と、少なくとも1つのモデル評価メトリックの評価結果がモデル評価メトリックに対応する所定の閾値を超えない場合、第1の訓練モデルの再訓練命令を第2のサーバ(20)に送信するステップ(S604)と、を含む。
【特許請求の範囲】
【請求項1】
第1のサーバおよび第2のサーバを含むシステムに適用されるモデル訓練方法であって、前記第1のサーバは、プライベートクラウド内に配置され、モデル推論のために使用され、前記第2のサーバは、パブリッククラウド内に配置され、モデル訓練のために使用され、前記方法は、
前記第1のサーバによって、前記第2のサーバから第1の訓練モデルを取得するステップと、
前記第1のサーバによって、モデル推論のための前記第1の訓練モデルに入力データを入力して推論結果を取得するステップと、
前記第1のサーバによって、前記推論結果およびモデル評価メトリックに基づいて前記第1の訓練モデルを評価して前記モデル評価メトリックの評価結果を取得するステップと、
少なくとも1つのモデル評価メトリックの評価結果が前記モデル評価メトリックに対応する所定の閾値以下である場合、前記第1のサーバによって、前記第1の訓練モデルのための再訓練命令を前記第2のサーバに送信するステップであって、前記再訓練命令は、前記第1の訓練モデルを再訓練するように前記第2のサーバに命令する、ステップと
を含むモデル訓練方法。
【請求項2】
前記第1のサーバによって、モデル推論のための前記第1の訓練モデルに入力データを入力して推論結果を取得する前記ステップの後に、前記方法は、
前記第1のサーバによって、前記入力データおよび前記推論結果を前記第2のサーバに送信するステップであって、前記入力データおよび前記推論結果は、前記第1の訓練モデルを再訓練するために使用される、ステップ
をさらに含む、請求項1に記載のモデル訓練方法。
【請求項3】
前記モデル評価メトリックは、前記推論結果の正確さ、前記推論結果の精度、前記推論結果の再現率、前記推論結果のF1スコアF1-score、および前記推論結果の受信者操作特性ROC曲線下面積AUCのうちの少なくとも1つを含む、請求項1または2に記載のモデル訓練方法。
【請求項4】
前記方法は、モデル評価メトリックのすべての評価結果が前記モデル評価メトリックに対応する所定の閾値を超える場合、前記第1のサーバによって、前記第1の訓練モデルのための再訓練命令を前記第2のサーバに送信することをスキップするステップを含む、請求項1から3のいずれか一項に記載のモデル訓練方法。
【請求項5】
第1のサーバおよび第2のサーバを含むシステムに適用されるモデル訓練方法であって、前記第1のサーバは、プライベートクラウド内に配置され、モデル推論のために使用され、前記第2のサーバは、パブリッククラウド内に配置され、モデル訓練のために使用され、前記方法は、
前記第2のサーバによって、前記第1のサーバから第1の訓練モデルのための再訓練命令、入力データ、および推論結果を取得するステップであって、前記再訓練命令は、前記第1の訓練モデルを再訓練するように前記第2のサーバに命令し、前記入力データは前記第1のサーバによって前記第1の訓練モデルに入力されるデータであり、前記推論結果は、前記第1のサーバがモデル推論のための前記第1の訓練モデルに前記入力データを入力した後に取得された結果である、ステップと、
前記第2のサーバによって、前記入力データおよび前記推論結果に基づいて再訓練サンプルセットを決定するステップと、
前記第2のサーバによって、前記再訓練サンプルセットに基づいて前記第1の訓練モデルを再訓練して第2の訓練モデルを決定するステップであって、前記第2の訓練モデルは、前記第1の訓練モデルに置き換わるために使用される、ステップと、
前記第2のサーバによって、前記第2の訓練モデルを前記第1のサーバに送信するステップと
を含むモデル訓練方法。
【請求項6】
前記第2のサーバによって、前記第1のサーバから第1の訓練モデルのための再訓練命令、入力データ、および推論結果を取得する前記ステップは、具体的には、
前記第2のサーバによって、前記第1のサーバから受信した前記再訓練命令に応答して前記入力データおよび前記推論結果を取得するステップ
を含む、請求項5に記載のモデル訓練方法。
【請求項7】
前記第2のサーバによって、前記入力データおよび前記推論結果に基づいて再訓練サンプルセットを決定する前記ステップは、具体的には、
前記第2のサーバによって、前記入力データに注釈を付けて注釈付き入力データを取得するステップと、
前記第2のサーバによって、前記注釈付き入力データおよび前記推論結果を前記再訓練サンプルセットに記憶するステップと
を含む、請求項5または6に記載のモデル訓練方法。
【請求項8】
前記第2のサーバによって、前記入力データに注釈を付けて前記注釈付き入力データを取得する前記ステップの前に、前記方法は、
前記推論結果が正確な推論結果である場合、前記第2のサーバによって、前記推論結果および前記推論結果に対応する入力データを確保しておくステップ、または
前記推論結果が不正確な推論結果である場合、前記第2のサーバによって、前記推論結果および前記推論結果に対応する入力データを削除するか、または前記第2のサーバによって、前記推論結果を前記入力データに対応する正確な推論結果に置き換えるステップ
をさらに含む、請求項7に記載のモデル訓練方法。
【請求項9】
第1のサーバおよび第2のサーバを含むシステムに適用されるモデル訓練装置であって、前記第1のサーバは、プライベートクラウド内に配置され、モデル推論のために使用され、前記第2のサーバは、パブリッククラウド内に配置され、モデル訓練のために使用され、前記第1のサーバとして機能する前記装置は、
前記第2のサーバから第1の訓練モデルを取得するように構成された取得ユニットと、
モデル推論のための前記第1の訓練モデルに入力データを入力して推論結果を取得するように構成された推論ユニットと、
前記推論結果およびモデル評価メトリックに基づいて前記第1の訓練モデルを評価して前記モデル評価メトリックの評価結果を取得するように構成された評価ユニットと、
少なくとも1つのモデル評価メトリックの評価結果が前記モデル評価メトリックに対応する所定の閾値以下である場合、前記第1の訓練モデルのための再訓練命令を前記第2のサーバに送信するように構成された送信ユニットであって、前記再訓練命令は、前記第1の訓練モデルを再訓練するように前記第2のサーバに命令する、送信ユニットと
を含む、モデル訓練装置。
【請求項10】
前記送信ユニットは、前記入力データおよび前記推論結果を前記第2のサーバに送信するようにさらに構成されており、前記入力データおよび前記推論結果は、前記第1の訓練モデルを再訓練するために使用される、
請求項9に記載のモデル訓練装置。
【請求項11】
前記モデル評価メトリックは、前記推論結果の正確さ、前記推論結果の精度、前記推論結果の再現率、前記推論結果のF1スコアF1-score、および前記推論結果の受信者操作特性ROC曲線下面積AUCのうちの少なくとも1つを含む、請求項9または10に記載のモデル訓練装置。
【請求項12】
前記送信ユニットは、モデル評価メトリックのすべての評価結果が前記モデル評価メトリックに対応する所定の閾値を超える場合、前記第1の訓練モデルのための再訓練命令を前記第2のサーバに送信することをスキップするようにさらに構成されている、
請求項9から11のいずれか一項に記載のモデル訓練装置。
【請求項13】
第1のサーバおよび第2のサーバを含むシステムに適用されるモデル訓練装置であって、前記第1のサーバは、プライベートクラウド内に配置され、モデル推論のために使用され、前記第2のサーバは、パブリッククラウド内に配置され、モデル訓練のために使用され、前記第2のサーバとして機能する前記装置は、
前記第1のサーバから第1の訓練モデルのための再訓練命令、入力データ、および推論結果を取得するように構成された取得ユニットであって、前記再訓練命令は、前記第1の訓練モデルを再訓練するように前記第2のサーバに命令し、前記入力データは前記第1のサーバによって前記第1の訓練モデルに入力されるデータであり、前記推論結果は、前記第1のサーバがモデル推論のための前記第1の訓練モデルに前記入力データを入力した後に取得された結果である、取得ユニットと、
前記入力データおよび前記推論結果に基づいて再訓練サンプルセットを決定するように構成された決定ユニットであって、
前記決定ユニットは、前記再訓練サンプルセットに基づいて前記第1の訓練モデルを再訓練して第2の訓練モデルを決定するようにさらに構成されており、前記第2の訓練モデルは、前記第1の訓練モデルに置き換わるために使用される、決定ユニットと、
前記第2の訓練モデルを前記第1のサーバに送信するように構成された送信ユニットと
を含むモデル訓練装置。
【請求項14】
前記取得ユニットは、具体的には、前記第1のサーバから受信した前記再訓練命令に応答して前記入力データおよび前記推論結果を取得するように構成されている、
請求項13に記載のモデル訓練装置。
【請求項15】
前記決定ユニットは、具体的には、前記入力データに注釈を付けて注釈付き入力データを取得するように構成されており、
前記決定ユニットは、具体的には、前記注釈付き入力データおよび前記推論結果を前記再訓練サンプルセットに記憶するようにさらに構成されている、
請求項13または14に記載のモデル訓練装置。
【請求項16】
前記決定ユニットは、前記推論結果が正確な推論結果である場合、前記第2のサーバによって、前記推論結果および前記推論結果に対応する入力データを確保しておくように構成されており、
前記決定ユニットは、前記推論結果が不正確な推論結果である場合、前記第2のサーバによって、前記推論結果および前記推論結果に対応する入力データを削除するか、または前記第2のサーバによって、前記推論結果を前記入力データに対応する正確な推論結果に置き換えるようにさらに構成されている、
請求項15に記載のモデル訓練装置。
【請求項17】
モデル訓練装置であって、前記装置は、プロセッサ、メモリ、および通信インターフェースを含み、前記通信インターフェースは、別のデバイスまたは通信ネットワークと通信するように構成されており、前記メモリは、1つ以上のプログラムを記憶するように構成されており、前記1つ以上のプログラムは、コンピュータ実行可能命令を含み、前記装置が作動すると、前記プロセッサは、前記メモリに記憶された前記コンピュータ実行可能命令を実行して、前記装置が請求項1から4または5から8のいずれか一項に記載のモデル訓練方法を実行することを可能にする、モデル訓練装置。
【請求項18】
コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体はプログラム命令を記憶しており、前記プログラム命令がプロセッサによって実行されると、請求項1から4または5から8のいずれか一項に記載のモデル訓練方法が実行される、コンピュータ可読記憶媒体。
【請求項19】
命令を含むコンピュータプログラム製品であって、前記コンピュータプログラム製品がコンピュータにおいてプロセッサによって実行されると、前記コンピュータは、請求項1から4または5から8のいずれか一項に記載のモデル訓練方法を実行することが可能にされる、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2020年1月16日に中国国家知識産権局に出願された、発明の名称を「モデル訓練方法および装置」とする中国特許出願第202010049320.1号の優先権を主張し、これは参照によりその全体が本出願に組み込まれる。
【0002】
本出願は、通信技術の分野に関し、詳細には、モデル訓練方法および装置に関する。
【背景技術】
【0003】
データ、アルゴリズム、および計算能力は、人工知能(artificial intelligence,AI)を実現するための3つの要素である。データ収集方法がますます多様化するにつれて、AIチップはより低いコストでより多くのデータを取得することができる。加えて、AIアルゴリズムにおける継続的なブレークスルーは、AIチップの計算速度をますます高速にする。したがって、AIチップはますます強力な計算能力を有し、AIは現実世界でますます普及してきている。従来の技術では、AIモデル訓練および推論を実行するために、通常はハイブリッドクラウドが使用される。具体的には、「オンライン訓練およびオフライン推論」モードが使用される。訓練データは、要件を満たす訓練モデルを決定するために、モデル訓練のためにパブリッククラウドのオンライン訓練プラットフォームに最初にアップロードされる。次いで、訓練モデルはプライベートクラウドのオフライン推論プラットフォームにプッシュダウンされ、オフライン推論プラットフォームは推論のためのサービスとして訓練モデルを公開する。この実装形態では、パブリッククラウドの計算能力は、ユーザデータのセキュリティを確保するためにプライベートクラウドを使用しながら、モデル訓練および推論を実行するために最大化されることが可能である。
【0004】
実際の生産環境では、モデル訓練を実行するためにハイブリッドクラウドが使用され、訓練モデルが決定された後、訓練モデルの入力データが変更されるので、訓練モデルを使用して推論を実行することによって得られた推論結果は、あまり正確ではない可能性がある。ハイブリッドクラウドの既存のAIモデル訓練モードでは、サービスシステム(例えば、顔認識システム)は、訓練モデルの推論の正確さの低下を適時に感知することができず、頻繁に誤って報告する場合があり、または利用できない場合がある。例えば、セキュリティ保護のためのビデオ監視シナリオでは、チェックポイントカメラ(例えば、居住地域の入口にあるカメラ)の経年劣化、交換、または設置位置調整は、チェックポイントカメラによって撮影されたビデオの鮮明度、角度などの変化、すなわち訓練モデルの入力データの変化を引き起こす可能性がある。推論を実行するために変更された入力データおよび訓練モデルを使用することで、後続の訓練モデルの推論結果の正確さを大幅に低下させ、セキュリティ保護のためのビデオ監視システムの正常な機能に影響を及ぼす可能性がある。
【発明の概要】
【課題を解決するための手段】
【0005】
本出願は、モデル訓練方法および装置を提供する。ハイブリッドクラウドシナリオでは、訓練モデルは、訓練モデルの推論結果に基づいて評価され、訓練モデルのモデル評価メトリックの評価結果は、訓練モデルの推論効果を監視するために決定される。したがって、訓練モデルは、より良い推論効果を有する訓練モデルを決定するために訓練モデルの推論効果に基づいて適時に再訓練され、これによって推論結果の正確さを改善し、サービスシステムの性能を保証する。
【0006】
前述の目的を達成するために、本出願は、以下の技術的解決策を用いる。
【0007】
第1の態様によれば、本出願の一実施形態は、第1のサーバおよび第2のサーバを含むシステムに適用されるモデル訓練方法を提供する。第1のサーバは、プライベートクラウド内に配置され、モデル推論のために使用される。第2のサーバは、パブリッククラウド内に配置され、モデル訓練のために使用される。方法は、第1のサーバによって、第2のサーバから第1の訓練モデルを取得するステップと、第1のサーバによって、モデル推論のための第1の訓練モデルに入力データを入力して推論結果を取得するステップとを含む。次いで、第1のサーバは、推論結果およびモデル評価メトリックに基づいて第1の訓練モデルを評価してモデル評価メトリックの評価結果を取得する。最後に、少なくとも1つのモデル評価メトリックの評価結果がモデル評価メトリックに対応する所定の閾値を超えない場合、第1のサーバは、第1の訓練モデルのための再訓練命令を第2のサーバに送信する。再訓練命令は、第1の訓練モデルを再訓練するように第2のサーバに命令する。
【0008】
結論として、第1のサーバは、第1の訓練モデルの推論効果を決定するために、第1の訓練モデルのモデル評価メトリックを評価し、第1の訓練モデルの推論効果を監視する。したがって、第1の訓練モデルが不十分な推論効果を有するときには、より良い推論効果を有する訓練モデルを決定するために、第2のサーバが訓練モデルの推論効果に基づいて適時に訓練モデルを再訓練できるように、モデル再訓練に使用される再訓練命令が第2のサーバに送信され、これによって推論結果の正確さを改善し、サービスシステムの性能を保証する。
【0009】
可能な実装形態では、第1のサーバによって、モデル推論のための第1の訓練モデルに入力データを入力して推論結果を取得するステップの後に、方法は、ハイブリッドクラウドシナリオにおいてモデル訓練および推論システムにデータ閉ループを実装するために、第1のサーバによって、入力データおよび推論結果を第2のサーバに送信するステップをさらに含む。したがって、本出願では、訓練モデルは、推論のために訓練モデルに入力される入力データおよびモデル推論を通じて取得された推論結果を使用して再訓練されてもよく、これによって、訓練モデルの推論効果、すなわち推論結果の正確さを改善し、サービスシステム性能を保証する。入力データおよび推論結果は、第1の訓練モデルを再訓練するために使用される。
【0010】
可能な実装形態では、モデル評価メトリックは、推論結果の正確さ、推論結果の精度、推論結果の再現率、推論結果のF1スコアF1-score、および推論結果の受信者操作特性ROC曲線下面積AUCのうちの少なくとも1つを含む。
【0011】
可能な実装形態では、方法は、モデル評価メトリックのすべての評価結果が評価結果に対応する所定の閾値を超える場合、第1のサーバは、第1の訓練モデルのための再訓練命令を第2のサーバに送信しないことを含む。
【0012】
第2の態様によれば、本出願の一実施形態は、第1のサーバおよび第2のサーバを含むシステムに適用されるモデル訓練方法を提供する。第1のサーバは、プライベートクラウド内に配置され、モデル推論のために使用される。第2のサーバは、パブリッククラウド内に配置され、モデル訓練のために使用される。方法は、第2のサーバによって、第1のサーバから第1の訓練モデルのための再訓練命令、入力データ、および推論結果を取得するステップを含む。再訓練命令は、第1の訓練モデルを再訓練するように第2のサーバに命令し、入力データは、第1のサーバによって第1の訓練モデルに入力されるデータであり、推論結果は、第1のサーバがモデル推論のための第1の訓練モデルに入力データを入力した後に取得された結果である。次いで、第2のサーバは、入力データおよび推論結果に基づいて再訓練サンプルセットを決定し、再訓練サンプルセットに基づいて第1の訓練モデルを再訓練して第2の訓練モデルを決定し、第2の訓練モデルは、この第1の訓練モデルに置き換わるために使用される。最後に、第2のサーバは、第2の訓練モデルを第1のサーバに送信する。
【0013】
可能な実装形態では、第2のサーバによって、第1のサーバから第1の訓練モデルのための再訓練命令、入力データ、および推論結果を取得するステップは、具体的には、第2のサーバによって、第1のサーバから受信した再訓練命令に応答して入力データおよび推論結果を取得するステップを含む。
【0014】
可能な実装形態では、第2のサーバによって、入力データおよび推論結果に基づいて再訓練サンプルセットを決定するステップは、具体的には、第2のサーバによって入力データに注釈を付けて注釈付き入力データを取得し、次いで注釈付き入力データおよび推論結果を再訓練サンプルセットに記憶するステップを含む。
【0015】
可能な実装形態では、第2のサーバによって入力データに注釈を付けて注釈付き入力データを取得するステップの前に、方法は、推論結果が正確な推論結果である場合、第2のサーバによって、推論結果および推論結果に対応する入力データを確保しておくステップ、または推論結果が不正確な推論結果である場合、第2のサーバによって、推論結果および推論結果に対応する入力データを削除するか、または第2のサーバによって、推論結果を入力データに対応する正確な推論結果に置き換えるステップをさらに含む。
【0016】
第3の態様によれば、本出願は、第1のサーバおよび第2のサーバのシステムに適用される、第1のサーバとして機能するモデル訓練装置をさらに提供する。第1のサーバは、プライベートクラウド内に配置され、モデル推論のために使用され、第2のサーバは、パブリッククラウド内に配置され、モデル訓練のために使用される。第1のサーバとして機能する装置は、取得ユニット、推論ユニット、評価ユニット、および送信ユニットを含む。取得ユニットは、第2のサーバから第1の訓練モデルを取得するように構成される。推論ユニットは、モデル推論のための第1の訓練モデルに入力データを入力して推論結果を取得するように構成される。評価ユニットは、推論結果およびモデル評価メトリックに基づいて第1の訓練モデルを評価してモデル評価メトリックの評価結果を取得するように構成される。送信ユニットは、少なくとも1つのモデル評価メトリックの評価結果がモデル評価メトリックに対応する所定の閾値を超えない場合、第1の訓練モデルのための再訓練命令を第2のサーバに送信するように構成される。再訓練命令は、第1の訓練モデルを再訓練するように第2のサーバに命令する。
【0017】
可能な実装形態では、モデル評価メトリックは、推論結果の正確さ、推論結果の精度、推論結果の再現率、推論結果のF1スコアF1-score、および推論結果の受信者操作特性ROC曲線下面積AUCのうちの少なくとも1つを含む。
【0018】
可能な実装形態では、送信ユニットは、入力データおよび推論結果を第2のサーバに送信するようにさらに構成される。入力データおよび推論結果は、第1の訓練モデルを再訓練するために使用される。
【0019】
第4の態様によれば、可能な実装形態では、送信ユニットは、モデル評価メトリックのすべての評価結果が評価結果に対応する所定の閾値を超える場合、第1の訓練モデルのための再訓練命令を第2のサーバに送信することをスキップするようにさらに構成される。
【0020】
本出願は、第1のサーバおよび第2のサーバのシステムに適用される、第2のサーバとして機能するモデル訓練装置をさらに提供する。第1のサーバは、プライベートクラウド内に配置され、モデル推論のために使用され、第2のサーバは、パブリッククラウド内に配置され、モデル訓練のために使用される。第2のサーバとして機能する装置は、取得ユニット、決定ユニット、送信ユニット、および処理ユニットを含む。取得ユニットは、第1のサーバから第1の訓練モデルのための再訓練命令、入力データ、および推論結果を取得するように構成される。決定ユニットは、入力データおよび推論結果に基づいて再訓練サンプルセットを決定するように構成される。決定ユニットは、再訓練サンプルセットに基づいて第1の訓練モデルを再訓練して第2の訓練モデルを決定するようにさらに構成される。第2の訓練モデルは、第1の訓練モデルに置き換わるために使用される。送信ユニットは、第2の訓練モデルを第1のサーバに送信するように構成される。再訓練命令は、第1の訓練モデルを再訓練するように第2のサーバに命令し、入力データは、第1のサーバによって、モデル推論のための第1の訓練モデルに入力されるデータであり、推論結果は、第1のサーバがモデル推論のための第1の訓練モデルに入力データを入力した後に取得された結果である。
【0021】
可能な実装形態では、処理ユニットは、推論結果が正確な推論結果である場合、第2のサーバによって、推論結果および推論結果に対応する入力データを確保しておき、または推論結果が不正確な推論結果である場合、第2のサーバによって、推論結果および推論結果に対応する入力データを削除するか、または第2のサーバによって、推論結果を入力データに対応する正確な推論結果に置き換えるように構成される。
【0022】
可能な実装形態では、取得ユニットは、具体的には、第1のサーバから受信した再訓練命令に応答して入力データおよび推論結果を取得するように構成される。
【0023】
可能な実装形態では、決定ユニットは、入力データに注釈を付けて注釈付き入力データを取得し、注釈付き入力データおよび推論結果を再訓練サンプルセットに記憶するように構成される。
【0024】
第5の態様によれば、本出願は、モデル訓練装置を提供する。装置は、プロセッサ、メモリ、および通信インターフェースを含む。通信インターフェースは、別のデバイスまたは通信ネットワークと通信するように構成され、メモリは、1つ以上のプログラムを記憶するように構成され、1つ以上のプログラムは、コンピュータ実行可能命令を含み、装置が作動すると、プロセッサは、メモリに記憶されたコンピュータ実行可能命令を実行して、装置が第1の態様または第2の態様、および第1の態様または第2の態様の任意選択的な実装形態のいずれか1つによるモデル訓練方法を実行することを可能にする。
【0025】
第6の態様によれば、本出願は、命令を含むコンピュータプログラム製品を提供する。命令がプロセッサによって実行されると、コンピュータは、第1の態様または第2の態様、および第1の態様または第2の態様の任意選択的な実装形態のいずれか1つによるモデル訓練方法を実行することが可能になる。
【0026】
第7の態様によれば、本出願は、1つ以上のプログラムを記憶するコンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は命令を記憶する。1つ以上のプログラムは命令を含み、命令がプロセッサによって実行されると、コンピュータは、第1の態様または第2の態様、および第1の態様または第2の態様の任意選択的な実装形態のいずれか1つによるモデル訓練方法を実行することが可能になる。
【図面の簡単な説明】
【0027】
図1】現在の技術のハイブリッドクラウドシナリオにおけるAIモデル訓練および推論に使用されるシステムの概略図1である。
図2】現在の技術のハイブリッドクラウドシナリオにおけるAIモデル訓練および推論に使用されるシステムの概略図2である。
図3】本出願の一実施形態によるハイブリッドクラウドシナリオにおけるAIモデル訓練および推論に使用されるシステムの概略図である。
図4】本出願の一実施形態によるチップのハードウェア構造の概略図である。
図5】本出願の一実施形態によるモデル訓練装置の概略図である。
図6】本出願の一実施形態によるモデル訓練方法の概略フローチャートである。
図7】本出願の一実施形態による推論結果の受信者操作特性ROC曲線下面積AUCの概略図である。
図8】本出願の一実施形態による第1のサーバとして機能するモデル訓練装置の概略図である。
図9】本出願の一実施形態による第2のサーバとして機能するモデル訓練装置の概略図である。
【発明を実施するための形態】
【0028】
以下では、最初に、本出願で使用される技術用語が説明される。
【0029】
クラウド:クラウドは、サーバまたはサーバクラスタである。クラウドを形成するサーバまたはサーバクラスタによって提供されるサービスは、クラウドサービス(例えば、ストレージ、コンピューティングなど)であるか、またはクラウドコンピューティングサービス、すなわちクラウドサービスとして説明されてもよい。ユーザによって必要とされるリソースおよびサービスは、ネットワークを通じてクラウドから取得される。
【0030】
プライベートクラウド(private cloud):プライベートクラウドは、内部クラウドまたは企業クラウドとも呼ばれ、インターネットまたはプライベート内部ネットワークを通じて特定のユーザ(一般大衆ではなく)にクラウドコンピューティングサービスを提供するクラウドである。プライベートクラウドは通常、提供されるサービスのセキュリティおよび品質を効果的に保証するために、ファイアウォールの内側またはホスティングのための場所に配備される。
【0031】
パブリッククラウド(public cloud):パブリッククラウドは、インターネットまたはプライベート内部ネットワークを通じてすべてのユーザにクラウドコンピューティングサービスを提供するクラウドである。パブリッククラウドのコアは、オープンな公衆ネットワークで使用され得る共有リソースサービスである。
【0032】
ハイブリッドクラウド(hybrid cloud):ハイブリッドクラウドは、ユーザにクラウドコンピューティングサービスを提供するためにパブリッククラウドおよびプライベートクラウドを統合したクラウドである。
【0033】
ハイブリッドクラウドが簡単に説明された後、ハイブリッドクラウドシナリオでAIモデル訓練および推論に使用されるシステムが、図1を参照して最初に説明される。
【0034】
図1に示されるように、ハイブリッドクラウドシナリオでAIモデル訓練および推論に使用されるシステムは、第1のサーバ10および第2のサーバ20を含み得る。第1のサーバ10は、プライベートクラウド内に配置され、モデル推論のために使用される。第2のサーバ20は、パブリッククラウド内に配置され、モデル訓練のために使用される。
【0035】
第1のサーバ10は、プライベートクラウド内のサーバであってもよく、またはプライベートクラウド内の複数のサーバを含むサーバクラスタであってもよい。第2のサーバ20は、パブリッククラウド内のサーバであってもよく、またはパブリッククラウド内の複数のサーバを含むサーバクラスタであってもよい。
【0036】
図2に示されるように、モジュールが機能によって分割されている場合、図1に示されるハイブリッドクラウドシナリオでAIモデル訓練および推論に使用されるシステムは、データ収集モジュール101、モデル訓練モジュール102、第1のモデル記憶モジュール103、第2のモデル記憶モジュール104、およびモデル推論管理モジュール105を含んでもよい。
【0037】
データ収集モジュール101、モデル訓練モジュール102、および第1のモデル記憶モジュール103は、第2のサーバ20内に配置されている。具体的には、第2のサーバ20がパブリッククラウド内のサーバである場合、データ収集モジュール101、モデル訓練モジュール102、および第1のモデル記憶モジュール103はすべて第2のサーバ20上に配置される。第2のサーバ20がパブリッククラウド内の複数のサーバを含むサーバクラスタである場合、データ収集モジュール101、モデル訓練モジュール102、および第1のモデル記憶モジュール103は、サーバクラスタ内の同じサーバ上に、またはサーバクラスタ内の異なるサーバ上に配置される。
【0038】
データ収集モジュール101は、モデル訓練のために使用されるデータを取得し、取得データを訓練サンプルとして訓練サンプルセットに追加し、次いで訓練サンプルセットをモデル訓練モジュール102に送信するように構成される。通常、データ収集モジュール101は、オブジェクトストレージサービス(OBS,object storage service)を使用して、データ収集モジュール101によって取得されたデータを記憶することができる。
【0039】
モデル訓練モジュール102は、データ収集モジュール101によって送信された訓練サンプルセットを受信し、アプリケーションの要件を満たす訓練モデルを取得するために、訓練サンプルセットに基づいて所定のモデルに対してモデル訓練を実行し、第1のモデル記憶モジュール103に訓練モデルを記憶するように構成される。所定のモデルは、予め記憶されたモデル(例えば、事前にモデル訓練を通じて取得された訓練モデル)であってもよく、または訓練モデルのアプリケーションシナリオに基づいて設定されたモデルであってもよい。例えば、神経言語プログラミング(NPL,neuro-linguistic programming)の分野では、ユーザは通常、必要な訓練モデルを取得するために、ユーザによって取得された訓練サンプルセットを使用して、いくつかのベンチマークモデルに対してモデル訓練を実行する。この場合、本出願のこの実施形態の所定のモデルは、ベンチマークモデルである。
【0040】
任意選択的に、モデル訓練モジュール102は、第1のモデル記憶モジュール103から、モデル訓練のために使用される所定のモデルを取得するように構成される。
【0041】
第1のモデル記憶モジュール103は、モデル訓練モジュール102から訓練された訓練モデルを取得し、第1のモデル記憶モジュール103によって取得された訓練モデルを記憶するように構成される。第1のモデル記憶モジュール103は、訓練モデルの記述情報を記憶するようにさらに構成される。訓練モデルの記述情報は、訓練モデルの名称、用途、ライフサイクルなどを含む。加えて、第1のモデル記憶モジュール103は、訓練モデルの記述情報を修正するように構成される。第1のモデル記憶モジュール103は、訓練モデルの記述情報内のライフサイクル、第1のモデル記憶モジュール103によって訓練モデルを記憶する期間などに基づいて、訓練モデルのライフサイクルを管理するようにさらに構成される。言い換えると、第1のモデル記憶モジュール103は、訓練モデルのライフサイクル内で訓練モデル、訓練モデルの記述情報などを記憶、更新、または削除し、訓練モデルのライフサイクルが終了した後に訓練モデル、訓練モデルの記述情報などを削除または更新するように構成される。
【0042】
例えば、第1のモデル記憶モジュール103が訓練モデルAを取得する時点は11:30amであり、訓練モデルAのライフサイクルは2時間である。言い換えると、訓練モデルのライフサイクルは11:30 amから1:30pmまでである。現在の瞬間が11:30amから1:30pmまでのいずれかの時点である場合、第1のモデル記憶モジュール103は、第1のモデル記憶モジュール103に記憶された訓練モデルAを更新または削除してもよく、または訓練モデルAのものであって第1のモデル記憶モジュール103に記憶された記述情報を修正してもよい。第1のモデル記憶モジュール103は、訓練モデルAの名称および用途を変更するために、または訓練モデルAのライフサイクルを延長/短縮するために、訓練モデルAの記述情報を修正することができる。11:30amから1:30pmまでの期間において、第1のモデル記憶モジュール103が第1のモデル記憶モジュール103に記憶された訓練モデルAのライフサイクルを変更しない場合、1:30pmよりも後に、訓練モデルAのライフサイクルが終了し、第1のモデル記憶モジュール103は、第1のモデル記憶モジュール103に記憶されている訓練モデルAおよび訓練モデルAの記述情報を削除する。
【0043】
任意選択的に、第1のモデル記憶モジュール103は、モデル訓練のために使用される所定のモデルを記憶するようにさらに構成される。
【0044】
第1のモデル記憶モジュール103は、モデル訓練モジュール102から第1のモデル記憶モジュール103によって受信された訓練モデルを第2のモデル記憶モジュール104に送信するようにさらに構成される。任意選択的に、第1のモデル記憶モジュール103は、モデル推論管理モジュール105が訓練モデルを使用してモデル推論を実行するように訓練モデルの記述情報などを第2のモデル記憶モジュール104に送信するようにさらに構成される。
【0045】
第2のモデル記憶モジュール104は、第1のモデル記憶モジュール103によって送信された訓練モデルを取得および記憶するように構成される。任意選択的に、第2のモデル記憶モジュール104は、訓練モデルのものであって第1のモデル記憶モジュール103によって送信された記述情報を取得および記憶するようにさらに構成される。記述情報については、前述の内容を参照されたい。本明細書では詳細は再び説明されない。第2のモデル記憶モジュール104は、訓練モデルのものであって第2のモデル記憶モジュール104に記憶された記述情報を修正するようにさらに構成される。加えて、第2のモデル記憶モジュール104は、訓練モデルの記述情報内のライフサイクル、第2のモデル記憶モジュール104によって訓練モデルを記憶する期間などに基づいて、訓練モデルのライフサイクルを管理するように構成される。訓練モデルのライフサイクルを管理する具体的な説明については、前述の内容を参照されたい。本明細書では詳細は再び説明されない。第2のモデル記憶モジュール104は、第1のモデル記憶モジュール103から第2のモデル記憶モジュール104によって取得された訓練モデルをモデル推論管理モジュール105に送信するようにさらに構成される。
【0046】
第2のモデル記憶モジュール104およびモデル推論管理モジュール105は、第1のサーバ10上に配置される。具体的には、第1のサーバ10がプライベートクラウド内のサーバである場合、第2のモデル記憶モジュール104およびモデル推論管理モジュール105の両方が第1のサーバ10上に配置される。第1のサーバ10がプライベートクラウド内の複数のサーバを含むサーバクラスタである場合、第2のモデル記憶モジュール104およびモデル推論管理モジュール105は、サーバクラスタ内の同じサーバ上に、またはサーバの異なるサーバ上に配置される。
【0047】
モデル推論管理モジュール105は、第2のモデル記憶モジュール104から訓練モデルを呼び出し、サービスとして訓練モデルを公開するように構成される。モデル推論管理モジュール105は、第2のモデル記憶モジュール104内の訓練モデルの更新および削除のために、訓練モデルに対応し、モデル推論管理モジュール105によって公開されたサービスを更新および削除するようにさらに構成される。モデル推論管理モジュール105は、サービスを提供するための命令を受信した後に、サービスに対応する訓練モデルを呼び出し、モデル推論のための訓練モデルに入力データを入力して推論結果を取得し、ユーザ端末に推論結果を配信するようにさらに構成される。任意選択的に、モデル推論管理モジュール105は、推論プロセスを加速し、モデル推論効率を向上させるために、訓練モデルをクリップするように、例えば、ディープラーニングモデル内のネットワーク層、マージ演算子などの数を削減するようにさらに構成される。
【0048】
ハイブリッドクラウドを使用してAIモデル訓練および推論を実行する既存の方法では、訓練モデルに入力される入力データが変更される場合(例えば、ビデオ監視シナリオにおいて、このシナリオの監視カメラの経年劣化、交換、または位置調整が、訓練モデルに入力される入力データが変更する)、訓練モデルを使用してモデル推論を実行することによって取得される推論結果の正確さが低下する可能性がある。具体的には、訓練モデルが不十分な推論効果を有する可能性があり、サービスシステムの性能が影響を受ける可能性がある。
【0049】
前述の問題を解決するために、本出願は、ハイブリッドクラウドシナリオに適用されるモデル訓練方法を提供する。訓練モデルは、訓練モデルの推論効果を監視し、不十分な推論効果を有する訓練モデルを適時に再訓練するために、モデル評価メトリックおよび訓練モデルに対してモデル推論を実行することによって取得された推論結果に基づいて評価されてもよく、これによってモデル推論を通じて取得された推論結果の正確さを改善し、サービスシステム(例えば、顔認識システム)の性能を保証する。したがって、図3に示されるように、ハイブリッドクラウドシナリオでAIモデル訓練および推論に使用されるシステムが機能によって分割されている場合、モデル再訓練管理モジュール201およびモデル評価モジュール202が、本出願のこの実施形態の図2に示されるモジュールにさらに追加される。
【0050】
第2のサーバ20がパブリッククラウド内のサーバである場合、データ収集モジュール101、モデル訓練モジュール102、第1のモデル記憶モジュール103、およびモデル再訓練管理モジュール201は、第2のサーバ20上に配置される。第2のサーバ20がプライベートクラウド内の複数のサーバを含むサーバクラスタである場合、データ収集モジュール101、モデル訓練モジュール102、第1のモデル記憶モジュール103、およびモデル再訓練管理モジュール201は、サーバクラスタ内の同じサーバ上に、またはサーバクラスタ内の異なるサーバ上に配置される。
【0051】
モデル再訓練管理モジュール201は、訓練モデルのためのものであり、モデル評価モジュール202によって送信された再訓練命令を受信するように構成される。モデル再訓練管理モジュール201は、訓練モデルのためのものであり、モデル再訓練管理モジュール201によって受信された再訓練命令に応答して、モデル評価モジュール202からモデル再訓練に使用されるデータを取得するようにデータ収集モジュール101に命令し、再訓練サンプルとして使用される取得データをモデル訓練モジュール102に送信された再訓練サンプルセットに追加するようにさらに構成される。任意選択的に、モデル再訓練管理モジュール201は、受信した再訓練命令に応答して、第1のモデル記憶モジュール103からモデル再訓練のために使用される訓練モデルを取得するようにモデル訓練モジュール102に命令するようにさらに構成される。
【0052】
データ収集モジュール101は、モデル再訓練管理モジュール201の命令に基づいてモデル評価モジュール202から、モデル再訓練に使用されるデータ、すなわち入力データおよび推論結果を取得するようにさらに構成される。入力データは、モデル推論のための訓練モデルに入力されるデータであり、推論結果は、モデル推論のための訓練モデルに入力データを入力することによって取得される推論結果である。データ収集モジュール101は、データ収集モジュール101によって取得され、モデル再訓練サンプルとして使用されるデータを再訓練サンプルセットに追加し、次いで再訓練サンプルセットをモデル訓練モジュール102に送信するようにさらに構成される。通常、データ収集モジュール101は、オブジェクトストレージサービス(OBS,object storage service)を使用して取得データを記憶するようにさらに構成される。
【0053】
モデル訓練モジュール102は、データ収集モジュール101から、モデル再訓練に使用される再訓練サンプルセットを取得し、モデル再訓練管理モジュール201の命令に基づいて第1のモデル記憶モジュール103から、モデル再訓練に使用される訓練モデルを取得するようにさらに構成される。モデル訓練モジュール102は、アプリケーションの要件を満たす再訓練モデルを取得するために、モデル訓練モジュール102によって取得された再訓練サンプルセットに基づいて訓練モデルを再訓練し、第1のモデル記憶モジュール103に記憶された訓練モデルを再訓練モデルに置き換えるようにさらに構成される。
【0054】
第1のサーバ10がプライベートクラウド内のサーバである場合、第2のモデル記憶モジュール104、モデル推論管理モジュール105、およびモデル評価モジュール202は、すべて第1のサーバ10上に配置される。第1のサーバ10がプライベートクラウド内の複数のサーバを含むサーバクラスタである場合、第2のモデル記憶モジュール104、モデル推論管理モジュール105、およびモデル評価モジュール202は、サーバクラスタ内の同じサーバ上に、またはサーバクラスタの異なるサーバ上に配置される。モデル訓練モジュール102、第1のモデル記憶モジュール103、第2のモデル記憶モジュール104、およびモデル推論管理モジュール105の説明については、前述の説明を参照されたい。本明細書では詳細は再び説明されない。
【0055】
モデル評価モジュール202は、モデル評価メトリックおよびモデル推論のための訓練モデルに入力データを入力することによって取得された推論結果に基づいて訓練モデルを評価し、訓練モデルのためのモデル評価メトリックの評価結果を決定するように構成される。次いで、モデル評価モジュール202は、モデル評価メトリックの評価結果およびモデル評価メトリックに対応する所定の閾値に基づいて訓練モデルの推論効果を決定するようにさらに構成される。モデル評価モジュール202は、訓練モデルの推論効果に基づいて、訓練モデルのための再訓練命令をモデル再訓練管理モジュール201に送信するようにさらに構成される。モデル評価モジュール202は、モデル再訓練に使用されるデータをデータ収集モジュール101に送信するようにさらに構成される。
【0056】
例えば、モデル評価モジュール202が、訓練モデルが不十分な推論効果を有すると判定した場合、モデル評価モジュール202は、訓練モデルのための再訓練命令をモデル再訓練管理モジュール201に送信する。モデル評価モジュール202が、訓練モデルが良好な推論効果を有すると判定した場合、モデル評価モジュール202は、訓練モデルのための再訓練命令をモデル再訓練管理モジュール201に送信しない。
【0057】
任意選択的に、モデル評価モジュール202は、評価ポリシー構成モジュール2021、データ収集モジュール2022、およびモデル評価メトリック査定モジュール2023にさらに具体的に分割されてもよい。
【0058】
評価ポリシー構成モジュール2021は、訓練モデルの評価ポリシーを構成するために使用され、これは、訓練モデルを評価するために使用される少なくとも1つのモデル評価メトリック、モデル評価メトリックの評価ルール、モデル評価メトリックに対応する所定の閾値、モデル評価メトリックを評価するために使用される入力データおよび推論結果の選択ルール、および訓練モデルのための再訓練トリガポリシーを構成することを含む。入力データは、モデル推論のための訓練モデルに入力されるデータであり、推論結果は、モデル推論のための訓練モデルに入力データを入力することによって取得される予測結果である。したがって、入力データと推論結果との間には対応関係がある。評価ポリシー構成モジュール2021は、データ収集モジュール2022に、モデル評価メトリックを評価するために使用される入力データおよび推論結果の選択ルール、訓練モデルを評価するために使用される少なくとも1つのモデル評価メトリック、およびモデル評価メトリックの評価ルールを送信し、モデル評価メトリック査定モジュール2023に、訓練モデルを評価するために使用される少なくとも1つのモデル評価メトリック、モデル評価メトリックの評価ルール、モデル評価メトリックに対応する所定の閾値、および訓練モデルのための再訓練トリガポリシーを送信するようにさらに構成される。
【0059】
データ収集モジュール2022は、入力データおよび推論結果を取得し、データ収集モジュール2022によって取得された入力データおよび推論結果をデータ収集モジュール101に送信するように構成される。データ収集モジュール2022は、モデル評価メトリックを評価するために使用される入力データおよび推論結果の選択ルール、訓練モデルを評価するために使用される少なくとも1つのモデル評価メトリック、およびモデル評価メトリックの評価ルールなどの情報を評価ポリシー構成モジュール2021から取得し、情報に基づいて、モデル評価に使用される入力データおよび推論結果を決定し、モデル評価に使用される入力データおよび推論結果をモデル評価メトリック査定モジュール2023に送信するようにさらに構成される。
【0060】
モデル評価メトリック査定モジュール2023は、データ収集モジュール2022から、モデル評価に使用される入力データおよび推論結果を取得し、評価ポリシー構成モジュール2021から、訓練モデルを評価するために使用される少なくとも1つのモデル評価メトリック、モデル評価メトリックの評価ルール、モデル評価メトリックに対応する所定の閾値、および訓練モデルのための再訓練トリガポリシーを取得するように構成される。モデル評価メトリック査定モジュール2023は、モデル評価に使用される入力データおよび推論結果を使用して、訓練モデルを評価するために使用される少なくとも1つのモデル評価メトリックおよびモデル評価メトリックの評価ルールに基づいて、訓練モデルを評価するために使用される少なくとも1つのモデル評価メトリックの評価結果を決定するようにさらに構成される。モデル評価メトリック査定モジュール2023は、モデル評価メトリックの評価結果およびモデル評価メトリックに対応する所定の閾値に基づいて訓練モデルの推論効果を決定するようにさらに構成される。モデル評価メトリック査定モジュール2023は、訓練モデルの再訓練トリガポリシーに基づいて、訓練モデルのための再訓練命令をモデル再訓練管理モジュール201に送信するか否かを決定するようにさらに構成される。
【0061】
例えば、訓練モデルのための再訓練トリガポリシーは、以下の通りである。訓練モデルを評価するために使用される少なくとも1つのモデル評価メトリックの評価結果がモデル評価メトリックに対応する所定の閾値を超えない場合、モデル評価メトリック査定モジュール2023は、訓練モデルが不十分な推論効果を有すると判定し、訓練モデルのための再訓練命令をモデル再訓練管理モジュール201に送信する。訓練モデルを評価するために使用されるモデル評価メトリックのすべての評価結果が評価結果に対応する所定の閾値を超える場合、モデル評価メトリック査定モジュール2023は、訓練モデルが良好な推論効果を有すると判定し、訓練モデルのための再訓練命令をモデル再訓練管理モジュール201に送信しない。
【0062】
任意選択的に、分割は、機能モジュールに基づいて実行される。ハイブリッドクラウドを使用してAIモデル訓練および推論を実行する図2および図3に示されるシステムは、データ注釈モジュールをさらに含む。データ注釈モジュールは、別のモジュールに緩く結合される。データ収集モジュール101は、モデル訓練のために使用されるデータまたはモデル再訓練に使用されるデータを取得した後、モデル訓練/モデル再訓練に使用される取得データをデータ注釈モジュールに送信するようにさらに構成される。次いで、データ注釈モジュールは、モデル訓練/モデル再訓練に使用される受信データに注釈を付け、注釈付きデータをデータ収集モジュール101に送信するように構成される。最後に、データ収集モジュール101は、モデル訓練モジュール102が、要件を満たす訓練モデルを取得するために、訓練サンプルセット/再訓練サンプルセット内のデータを使用して所定のモデルに対してモデル訓練を実行するか、または再訓練モデルを取得するために訓練モデルに対してモデル再訓練を実行することができるように、データ注釈モジュールから取得され、訓練サンプル/再訓練サンプルとして使用される注釈付きデータを訓練サンプルセット/再訓練サンプルセットに追加する。
【0063】
例えば、画像内のオブジェクトが分類されるシナリオでは、データ注釈プロセスは、注釈ツールを使用して矩形フレームを画像内のオブジェクトに追加し、次いで、例えば「猫」、「携帯電話」などのラベルを矩形フレーム内のオブジェクトに追加する。
【0064】
データ収集モジュール101およびモデル訓練モジュール102の他の機能、ならびに第1のモデル記憶モジュール103、第2のモデル記憶モジュール104、およびモデル推論管理モジュール105の機能については、前述の説明を参照されたい。本明細書では詳細は再び説明されない。
【0065】
前述のプロセスにおいて、本出願では、ハイブリッドクラウドシナリオにおけるモデル訓練および推論システムのデータ閉ループがさらに実装され得ることに留意すべきである。具体的には、モデル推論、モデル評価、モデル再訓練、再訓練モデル配信、および再訓練モデル推論のためのエンドツーエンドサービス閉ループが実装され得る。したがって、本出願では、環境変化によって引き起こされる入力データの変化などの要因によって訓練モデルの推論効果が低下すると、訓練モデルは、推論のために訓練モデルに入力される入力データおよびモデル推論を通じて取得された推論結果を使用して適時に再訓練されてもよく、次いで、再訓練モデルを使用してモデル推論が実行され、これによって訓練モデルの推論効果、すなわち推論結果の正確さを改善し、サービスシステム性能を保証する。
【0066】
図4は、本出願の一実施形態によるチップのハードウェア構造を示す。チップはニューラルネットワーク処理ユニット300を含む。チップは、図1に示される第1のサーバ10および/または第2のサーバ20内に設けられてもよく、モデル訓練を通じて訓練モデルを取得すること、訓練モデルを使用してモデル推論を実行すること、訓練モデルに対してモデル評価を実行すること、モデル再訓練を通じて再訓練モデルを取得することなどを含む、図2または図3に示されるモジュールの作業を完了するように構成されてもよい。
【0067】
ニューラルネットワーク処理ユニットNPU300は、コプロセッサとして、ホスト中央処理装置(central processing unit,CPU)(host CPU)に実装される。ホストCPUは、タスクを割り当てる。NPU300のコア部分は演算回路303である。コントローラ304は、メモリ(重みメモリまたは入力メモリ)からデータを抽出して演算を実行するように演算回路303を制御する。
【0068】
いくつかの実装形態では、演算回路303は、複数の処理エンジン(process engine,PE)を内部に含む。いくつかの実装形態では、演算回路303は、二次元シストリックアレイである。あるいは、演算回路303は、一次元シストリックアレイ、または乗算および加算などの数学的演算を実行することができる別の電子回路であってもよい。いくつかの実装形態では、演算回路303は、汎用マトリックスプロセッサである。
【0069】
例えば、入力行列A、重み行列B、および出力行列Cがあると仮定する。演算回路303は、重みメモリ302から、行列Bに対応するデータをフェッチし、演算回路303内の各PEにデータをバッファリングする。演算回路303は、行列Bに対して行列演算を実行するために、入力メモリ301から行列Aのデータをフェッチし、行列の取得された部分的結果または取得された最終結果を累算器(accumulator)308に記憶する。
【0070】
ベクトル計算ユニット307は、演算回路303の出力に対してベクトル乗算、ベクトル加算、指数演算、対数演算、または値比較などのさらなる処理を実行してもよい。例えば、ベクトル計算ユニット307は、ニューラルネットワークの非畳み込み/非FC層で、プーリング(pooling)、バッチ正規化(batch normalization)、または局所応答正規化(local response normalization)などのネットワーク計算を実行するように構成されてもよい。
【0071】
いくつかの実装形態では、ベクトル計算ユニット307は、処理済み出力ベクトルをユニファイドメモリ306に記憶することができる。例えば、ベクトル計算ユニット307は、起動値を生成するために、演算回路303の出力、例えば累積値のベクトルに非線形関数を適用してもよい。
【0072】
いくつかの実装形態では、ベクトル計算ユニット307は、正規化値、合成値、またはその両方を生成する。
【0073】
いくつかの実装形態では、処理済み出力ベクトルは、演算回路303への起動入力として使用されることが可能である。例えば、処理済み出力ベクトルは、ニューラルネットワーク内の後続の層で使用されることが可能である。
【0074】
ユニファイドメモリ306は、入力データおよび出力データを記憶するように構成される。記憶ユニットアクセスコントローラ305(direct memory access controller,DMAC)は、外部メモリの入力データを入力メモリ301および/またはユニファイドメモリ306に記憶し、外部メモリの重みデータを重みメモリ302に記憶し、ユニファイドメモリ306のデータを外部メモリに記憶する。
【0075】
バスインターフェースユニット(bus interface unit,BIU)310は、バスを通じてホストCPU、DMAC、および命令フェッチバッファ309の間の相互作用を実施するように構成される。
【0076】
コントローラ304に接続された命令フェッチバッファ(instruction fetch buffer)309は、コントローラ304によって使用される命令を記憶するように構成される。コントローラ304は、演算加速器の作業プロセスを制御するために、命令フェッチバッファ309にバッファリングされた命令を呼び出すように構成される。
【0077】
通常、ユニファイドメモリ306、入力メモリ301、重みメモリ302、および命令フェッチバッファ309は各々オンチップ(On-Chip)メモリである。外部メモリは、NPUの外部のメモリである。外部メモリは、ダブルデータレート同期ダイナミックランダムアクセスメモリ(double data rate synchronous dynamic random access memory,DDR SDRAM)、高帯域幅メモリ(high bandwidth memory,HBM)、または別の読み書き可能なメモリであってもよい。
【0078】
図1から図3では、ホストCPUおよびNPUは、図1の第1のサーバ10および第2のサーバ20によって必要とされる機能の対応するアルゴリズムを実装するために協働してもよい。図2または図3に示されるシステム内の各モジュールの動作は、演算回路303またはベクトル計算ユニット307によって実行され得る。
【0079】
上述の図1の第1のサーバ10および第2のサーバ20は、本出願の実施形態におけるモデル訓練方法のステップを実行することができる。図4に示されるチップもまた、本出願の実施形態におけるモデル訓練方法のステップを実行するように構成され得る。
【0080】
図5を参照されたい。本出願は、モデル訓練装置をさらに提供する。モデル訓練装置400は、プロセッサ401および/またはプロセッサ407などの1つ以上のプロセッサ、通信インターフェース404などの少なくとも1つの通信インターフェース、および通信線402を含む。任意選択的に、通信装置400は、メモリ403をさらに含んでもよい。以下、一例としてプロセッサ401を説明する。
【0081】
プロセッサ401は、汎用中央処理装置(central processing unit,CPU)、マイクロプロセッサ、特定用途向け集積回路(application-specific integrated circuit,ASIC)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array,FPGA)、または複数の処理回路機能(例えば、CPUおよびASIC)を集積した1つ以上の集積回路であってもよい。
【0082】
通信線402は、異なる構成要素を接続するための1つ以上の経路を含み得る。
【0083】
通信インターフェース404は、トランシーバ回路であってもよく、別のデバイスまたは通信ネットワーク、例えばクラウドコンピューティングネットワーク、イーサネット、無線アクセスネットワーク(radio access network,RAN)、無線ローカルエリアネットワーク(wireless local area network,WLAN)などと通信するように構成される。例えば、トランシーバ回路は、トランシーバまたはトランシーバマシンなどの装置であってもよい。任意選択的に、通信インターフェース404は、代わりにプロセッサ401の入出力(input/output,I/O)回路であってもよく、プロセッサ401の信号入力および信号出力を実施するように構成される。
【0084】
メモリ403は、記憶機能を有する装置であり得る。例えば、メモリ403は、読み取り専用メモリ(read-only memory,ROM)または静的情報および命令を記憶することができる別のタイプの静的記憶デバイス、ランダムアクセスメモリ(random access memory,RAM)または情報および命令を記憶することができる別のタイプの動的記憶デバイス、電気的消去可能プログラマブル読み取り専用メモリ(electrically erasable programmable read-only memory,EEPROM)、コンパクトディスク読み取り専用メモリ(compact disc read-only memory,CD-ROM)または別のコンパクトディスクストレージ、光ディスクストレージ(圧縮光ディスク、レーザディスク、光ディスク、デジタル多用途ディスク、ブルーレイ光ディスクなどを含む)、磁気ディスク記憶媒体または別のタイプの磁気ストレージデバイス、あるいは命令またはデータ構造の形態で所定のプログラムコードを担持もしくは記憶するように構成され得、コンピュータによってアクセスされ得る任意の他の媒体であってもよい。しかしながら、メモリ403はこれらに限定されない。メモリ403は、独立して存在してもよく、通信線402を通じてプロセッサ401に接続されている。当然ながら、メモリ403はまたプロセッサ401と一体化されてもよい。
【0085】
メモリ403は、本出願の解決策を実行するためのコンピュータ実行可能命令を記憶するように構成され、プロセッサ401は実行を制御する。プロセッサ401は、本出願の実施形態で提供されるモデル訓練方法を実施するために、メモリ403に記憶された(例えばCPUに使用される)コンピュータ命令または(例えばFPGAに使用される)構成ファイルを読み取りおよび実行するように構成される。
【0086】
あるいは、任意選択的に、本出願のこの実施形態では、プロセッサ401は、本出願の以下の実施形態で提供されるモデル訓練方法において関連する処理機能を実行してもよい。通信インターフェース404は、別のデバイスまたは別の通信ネットワークと通信する役割を担う。これは、本出願のこの実施形態では特に限定されない。
【0087】
任意選択的に、本出願のこの実施形態におけるコンピュータ実行可能命令は、アプリケーションプログラムコードとも呼ばれ得る。これは、本出願のこの実施形態では特に限定されない。
【0088】
具体的な実装中に、一実施形態では、プロセッサ401は、1つ以上のCPU、例えば、図5のCPU 0およびCPU 1を含み得る。
【0089】
具体的な実装中に、一実施形態では、モデル訓練装置400はまた、複数のプロセッサ、例えば図5のプロセッサ401およびプロセッサ407を含んでもよい。これらのプロセッサの各々はシングルコア(single-CPU)プロセッサであってもよく、またはマルチコア(multi-CPU)プロセッサであってもよい。本明細書のプロセッサは、データ(例えば、コンピュータプログラム命令)を処理するように構成された1つまたは複数のデバイス、回路、および/または処理コアであってもよい。
【0090】
具体的な実装中に、一実施形態では、モデル訓練装置400は、出力デバイス405および入力デバイス406をさらに含み得る。出力デバイス405は、プロセッサ401と通信し、複数の方法で情報を出力してもよい。例えば、出力デバイス405は、タッチスクリーン、液晶ディスプレイ(liquid crystal display、LCD)、発光ダイオード(light emitting diode、LED)ディスプレイデバイス、陰極線管(cathode ray tube、CRT)ディスプレイデバイス、プロジェクタ(projector)、プリンタ(printer)などであってもよい。入力デバイス406は、プロセッサ401と通信し、複数の方法でユーザからの入力を受信し得る。例えば、入力デバイス406は、マウス、キーボード、タッチスクリーンデバイス、またはセンサデバイスであってもよい。
【0091】
モデル訓練装置400は、訓練デバイスと呼ばれることがあってもよく、汎用デバイスまたは専用デバイスであり得る。例えば、訓練デバイスは、クライアント、デスクトップコンピュータ、ポータブルコンピュータ、ネットワークサーバ、携帯情報端末(personal digital assistant,PDA)、携帯電話、タブレットコンピュータ、無線端末デバイス、埋め込みデバイス、または同様の構造を有するデバイスであってもよい。当然ながら、モデル訓練装置400は代わりに、前述の単一のデバイス、例えば本出願の実施形態で提供されたタスクを実行するように構成されたチップまたはチップシステムの内部に設けられたソフトウェアおよび/またはハードウェアエンティティであってもよい。モデル訓練装置400のタイプは、本出願のこの実施形態に限定されない。
【0092】
図5は、理解を容易にするための例の単純化された概略図にすぎないことが、理解されるべきである。モデル訓練装置は、図5に示されていない別の構成要素、回路、または装置をさらに含んでもよい。
【0093】
本出願のこの実施形態では、図5に示されるモデル訓練装置400は、図5に示されるモデル訓練方法を実行することができる。
【0094】
本出願は、図1に記載されたシステムに適用されるモデル訓練方法をさらに提供する。以下、図6を参照して本出願のモデル訓練方法を説明する。方法は、主にステップS601からS608を含む。
【0095】
S601:第1のサーバは、第2のサーバから第1の訓練モデルを取得する。
【0096】
第1の訓練モデルは、第2のサーバによって所定のモデルに対してモデル訓練を実行することによって取得される。所定のモデルは、システム内に予め記憶されたモデルであってもよく、または必要な第1の訓練モデルのアプリケーションシナリオに基づいて決定されたモデルであってもよい。
【0097】
例えば、神経言語プログラミング(NPL,neuro-linguistic programming)の分野では、ユーザは通常、必要な訓練モデルを取得するために、ユーザによって取得された訓練サンプルセットを使用して、いくつかのベンチマークモデル、例えば機械翻訳モデル、感情分析モデルなどに対してモデル訓練を実行する。本出願のこの実施形態の所定のモデルは、ベンチマークモデルである。現在のアプリケーションシナリオがテキスト翻訳シナリオである場合、所定のモデルは機械翻訳モデルであってもよい。現在のアプリケーションシナリオがテキストによって表現される感情を分析するシナリオである場合、所定のモデルは感情分析モデルである。
【0098】
第2のサーバが、第1の訓練モデルを取得するために、取得された訓練データを使用して所定のモデルに対してモデル訓練を実行した後、第2のサーバは、第1の訓練モデルおよび第1の訓練モデルの記述情報を記憶し、第1の訓練モデルおよび第1の訓練モデルの記述情報を第1のサーバに配信する。第1の訓練モデルの記述情報は、第1の訓練モデルの名称、用途、ライフサイクルなどを含む。第1のサーバが第2のサーバによって配信された第1の訓練モデルおよび第1の訓練モデルの記述情報を取得した後、第1のサーバは、ユーザがモデル推論を実行するためにサービスを通じて関連する第1の訓練モデルを呼び出せるように、受信した第1の訓練モデルおよび受信した記述情報を記憶し、第1の訓練モデルをサービスとして公開する。
【0099】
例えば、第1の訓練モデルの記述情報は、第1の訓練モデルの名称、例えば顔認識モデル、第1の訓練モデルの用途、例えば顔認識、および第1の訓練モデルのライフサイクル、例えば1時間を含む。任意選択的に、第1の訓練モデルの記述情報は、第1の訓練モデルの記憶時間、例えば11:30am、第1の訓練モデルの記憶持続時間、例えば0.5時間を含む。この場合、第1の訓練モデルの記憶持続時間は0.5時間である。
【0100】
任意選択的に、第1のサーバまたは第2のサーバは、第1のサーバまたは第2のサーバに記憶された第1の訓練モデルの記述情報を修正してもよく、または第1の訓練モデルのライフサイクルに基づいて第1の訓練モデルを削除または更新してもよい。
【0101】
S602:第1のサーバは、モデル推論のための第1の訓練モデルに入力データを入力して推論結果を取得する。
【0102】
第1のサーバがユーザ端末によって送信されたおよびモデル推論のために使用される入力データを受信した後、第1のサーバは、第1のサーバによって公開されたサービスを通じて、サービスに対応する第1の訓練モデルを決定する。次いで、第1のサーバは、モデル推論のために使用される入力データ、例えばユーザによって入力されたデータ、またはローカルに記憶されたデータを、モデル推論のための第1の訓練モデルに入力して推論結果を取得し、推論結果を対応するユーザ端末に送信する。
【0103】
例えば、第1の訓練モデルは顔認識モデルである。ステップS602の後、第1のサーバは、第2のサーバによって送信された顔認識モデルを取得し、顔認識モデルを記憶し、顔認識サービスとして顔認識モデルを公開する。次いで、ユーザ端末が画像内の顔を認識する必要がある場合、ユーザ端末は、顔認識サービスのサービス呼び出し要求および画像を第1のサーバに送信する。第1のサーバは、呼び出される必要がある顔認識サービスに対応する顔認識モデルを決定し、推論結果を決定するために、モデル推論のための顔認識モデルに画像を入力する。例えば、推論結果は、画像内の人物がAであるというものである。最後に、第1のサーバは、推論結果、すなわち画像内の人物がAであることを、ユーザ端末に送信する。
【0104】
入力データに基づいて、モデル推論は、バッチ推論およびリアルタイム推論に分類されることが可能である。モデル推論のための訓練モデルにリアルタイムで取得されたデータを入力して推論結果を取得するプロセスは、リアルタイム推論プロセスである。モデル推論のための訓練モデルに複数の予め記憶されたデータを入力して複数の推論結果を取得するプロセスは、バッチ推論プロセスである。複数の推論結果と複数のデータとの間には対応関係がある。
【0105】
リアルタイム推論プロセスでは、第1のサーバは入力データ、すなわちリアルタイムでユーザ端末によって送信されたデータ、およびサービス呼び出し要求を受信する。次いで、第1のサーバは、受信したサービス呼び出し要求に基づいて、アプリケーションプログラミングインターフェース(API,application programming interface)を通じて、サービス呼び出し要求に対応する推論サービスを呼び出し、次いで、モデル推論のための推論サービスに対応する第1の訓練モデルに入力データを入力して推論結果を取得する。
【0106】
例えば、顔認識シナリオにおけるターンスタイルが一例として使用される。カメラを使用して顔画像をキャプチャした後、顔画像および顔認識サービス呼び出し要求が、ターンスタイルと第1のサーバとの間のAPIを通じて第1のサーバにさらに送信される。次いで、第1のサーバは、顔認識サービス呼び出し要求(例えば、httpフォーマットの呼び出し要求)に基づいて対応する顔認識モデルを呼び出し、顔認識モデルを使用して顔画像を認識し、認識結果に基づいてターンスタイルが開かれるかまたは閉じたまま維持され得るように、認識結果をターンスタイルに送信する。
【0107】
バッチ推論プロセスでは、第1のサーバは、入力データおよびサービス呼び出し要求を受信する。入力データは、予め記憶された入力データ、または予め記憶された入力データの経路情報(例えば、ネットワークファイルシステム(NFS,network file system)アドレス、ファイル転送プロトコル(FTP,file transfer protocol)アドレスなど)である。次いで、第1のサーバは、経路情報に基づいて予め記憶された入力データを取得し、サービス呼び出し要求に基づいて対応する第1の訓練モデルを呼び出し、モデル推論のための第1の訓練モデルに取得された予め記憶されたデータを入力して推論結果を取得する。
【0108】
例えば、顔認識シナリオが一例として使用される。ユーザ端末は、顔認識サービス呼び出し要求および入力データの経路情報(例えば、NFSアドレス)を第1のサーバに送信する。第1のサーバは、NFSアドレスに基づいて、アドレスが指し示すフォルダ内に記憶された画像を取得し、顔認識サービスに対応する顔認識モデルを呼び出す。例えば、フォルダは10枚の画像を記憶する。第1のサーバは、モデル推論のための顔認識モデルに10枚の画像を別々に入力して10個の推論結果を取得する。
【0109】
第1のサーバがモデル推論のための第1の訓練モデルに入力データを入力し、推論結果を取得した後、第1のサーバは、入力データおよび推論結果を記憶する。任意選択的に、第1のサーバは、第2のサーバが受信した入力データおよび受信した推論結果に基づいて第1の所定のモデルを再訓練できるように、取得された入力データおよび取得された推論結果を第2のサーバにさらに送信してもよい。
【0110】
S603:第1のサーバは、推論結果およびモデル評価メトリックに基づいて第1の訓練モデルを評価してモデル評価メトリックの評価結果を取得する。
【0111】
モデル評価メトリックは、推論結果の正確さ、推論結果の精度、推論結果の再現率、推論結果のF1スコアF1-score、および推論結果の受信者操作特性ROC曲線下面積AUCのうちの少なくとも1つを含む。任意選択的に、モデル評価メトリックは、平均絶対誤差(MAE,mean absolute error)、平均二乗誤差(MSE,mean square error)などをさらに含んでもよい。通常、正確さ、精度、再現率、F1スコアF1-Score、およびAUCなどのモデル評価メトリックは、主に二項分類モデルを評価するために使用され、MAEおよびMSEなどのモデル評価メトリックは、主に回帰モデル(例えば、顔認識モデル)を評価するために使用される。
【0112】
任意選択的に、第1の訓練モデルを評価するために使用されるモデル評価メトリックは、現在のアプリケーションシナリオに基づいて決定され、具体的には、第1の訓練モデルの用途に基づいて決定される。
【0113】
例えば、現在のアプリケーションシナリオでは、別のモデル評価メトリックを使用して第1の訓練モデルの推論効果を評価する場合と比較して、推論結果の再現率を使用して第1の訓練モデルの推論効果を評価することによってより良い評価効果が取得され得る場合、推論結果の再現率は、第1の訓練モデルの推論効果を評価するために使用されるモデル評価メトリックとして設定され得る。
【0114】
例えば、アプリケーションシナリオでは、ユーザは代わりに、アプリケーションシナリオの要件に基づいて、第1の訓練モデルを評価するために使用されるモデル評価メトリックを、推論結果の正確さ、推論結果の再現率、および推論結果のF1-Scoreに設定してもよい。
【0115】
例えば、第1の訓練モデルは二項分類モデルである。100枚のカードのうち60枚のカードの番号は奇数であり、言い換えると、60個の陽性サンプルがあり、40枚のカードの番号は偶数であり、言い換えると40個の陰性サンプルがある。100枚のカードの番号は、第1の訓練モデルを使用して予測される。言い換えると、100回の推論が実行され、100個の推論結果が生成される。陽性サンプルでは、40枚のカードに対応する推論結果が正確であり、20個の推論結果が誤りである。陰性サンプルでは、30枚のカードに対応する推論結果が正しく、10個の推論結果が誤りである。陽性サンプルとして予測される陽性サンプルの数TPは40であり、陰性サンプルとして予測される陽性サンプルの数FNは20であり、陽性サンプルとして予測される陰性サンプルの数FPは10であり、陰性サンプルとして予測される陰性サンプルの数TNは30である。次に、モデル評価メトリックの評価ルールに基づいて、推論結果の正確さ(Accuracy)が(TP+TN)/(TP+FN+FP+TN)、すなわち70%であり、推論結果の精度(Precision)がTP/(TP+FP)、すなわち80%であり、推論結果の再現率(Recall)は、TP/(TP+FN)、すなわち2/3であり、推論結果のF1スコア(F1-Score)が精度および再現率の調和平均2Presicion*Recall/(Presicion+Recall)、すなわち8/11であると判定され得る。ROCおよびAUCは、水平座標としてx=FP/(FP+TN)および垂直座標としてy=TP/(TP+FN)を使用して決定され、xおよびyの値は[0,1]である。例えば、図7に示されるROCおよびAUCでは、ROC上の点Aの座標は(1/4,2/3)である。
【0116】
任意選択的に、モデル評価は、第1の訓練モデルに対して周期的に実行されてもよい。例えば、モデル評価は、第1の訓練モデルのモデル評価メトリックの評価結果を取得するために、第1の所定の時間間隔内のリアルタイム推論の推論結果を使用して、所定の時間間隔で実行される。次いで、第1の訓練モデルのモデル評価メトリックの評価結果を再び取得するために、第2の所定の時間間隔内のリアルタイム推論の推論結果に基づいてモデル評価が再び実行される。
【0117】
例えば、リアルタイム推論は、第1の訓練モデルに対して10:00amから12:00amまでの間に20回実行される。例えば、所定の時間間隔は40minである。モデル評価は、第1の訓練モデルのモデル評価メトリックの評価結果を取得するために、10:00amから10:40amまでの間にリアルタイム推論の推論結果を使用して1回実行される。次いで、モデル評価は、第1の訓練モデルのモデル評価メトリックの評価結果を再び取得するために、10:40amから11:20amまでの間にリアルタイム推論の推論結果を使用して実行される。最後に、モデル評価は、第1の訓練モデルのモデル評価メトリックの評価結果をもう一度取得するために、11:20amから12:00amまでの間にリアルタイム推論の推論結果を使用して実行される。
【0118】
任意選択的に、評価は、第1の訓練モデルのモデル評価メトリックの評価結果を取得するために、バッチ推論またはリアルタイム推論の入力データおよび入力データに対応する推論結果を使用して、所定の頻度間隔に基づいて実行される。
【0119】
例えば、所定の頻度間隔は1回である。バッチ推論が第1の訓練モデルに対してA、B、C、D、およびEの5回実行される場合、モデル評価は、第1の訓練モデルのモデル評価メトリックの評価結果の3つのグループを取得するために、バッチ推論A、C、およびEの推論結果を別々に使用して実行される。
【0120】
任意選択的に、ステップS603が実行される前に、第1の訓練モデルの評価ポリシーが構成される必要があり、これは、訓練モデルを評価するために使用される少なくとも1つのモデル評価メトリック、モデル評価メトリックの評価ルール、モデル評価メトリックに対応する所定の閾値、モデル評価メトリックを評価するために使用される入力データおよび推論結果の選択ルール、および訓練モデルのための再訓練トリガポリシーを構成することを含む。評価ポリシーの詳細な説明については、上述の説明を参照されたい。本明細書では詳細は再び説明されない。任意選択的に、第1のサーバは、入力データおよび推論結果のストレージパスをさらに構成してもよい。
【0121】
S604:少なくとも1つのモデル評価メトリックの評価結果がモデル評価メトリックに対応する所定の閾値を超えない場合、第1のサーバは、第1の訓練モデルのための再訓練命令を送信する。
【0122】
第1の訓練モデルのための再訓練命令は、第1の訓練モデルに対してモデル再訓練を実行するように第2のサーバに命令する。
【0123】
任意選択的に、少なくとも1つのモデル評価メトリックの評価結果がモデル評価メトリックに対応する所定の閾値を超えない場合、第1のサーバは、第1の訓練モデルが不十分な推論効果を有すると判定し、第1の訓練モデルのための再訓練命令を第2のサーバに送信する。モデル評価メトリックのすべての評価結果が評価結果に対応する所定の閾値を超える場合、第1のサーバは、第1の訓練モデルが良好な推論効果を有し、更新される必要がないと判定する。この場合、第1のサーバは、第1の訓練モデルのための再訓練命令を第2のサーバに送信しない。モデル評価メトリックの評価結果に対応する所定の閾値は、現在のアプリケーションシナリオに基づいて予め設定されてもよく、またはユーザによって予め設定されてもよい。
【0124】
モデル評価メトリックは、推論結果の正確さ、推論結果の精度、推論結果の再現率、推論結果のF1-score、および推論結果のROC曲線下面積AUCのうちの少なくとも1つを含む。推論結果の正確さが所定の正確さ閾値を超えない場合、および/または推論結果の精度が所定の精度閾値を超えない場合、および/または推論結果の再現率が所定の正確さ閾値を超えない場合、および/または推論結果のAUCが所定のAUC閾値を超えない場合、および/または推論結果のF1-Scoreが所定のF1-Score閾値を超えない場合、第1のサーバは、第1の訓練モデルが不十分な推論効果を有すると判定し、第1の訓練モデルのための再訓練命令を第2のサーバに送信する。推論結果の正確さが所定の正確さ閾値を超え、推論結果の精度が所定の精度閾値を超え、推論結果の再現率が所定の正確さ閾値を超え、推論結果のAUCが所定のAUC閾値を超え、推論結果のF1-Scoreが所定のF1-Score閾値を超えない場合、第1のサーバは、第1の訓練モデルが良好な推論効果を有すると判定し、第1の訓練モデルのための再訓練命令を第2のサーバに送信しない。
【0125】
任意選択的に、別の可能な実装形態では、モデル評価メトリックのすべての評価結果が評価結果に対応する所定の閾値を超えない場合、第1のサーバは、第1の訓練モデルが不十分な推論効果を有すると判定し、第1の訓練モデルのための再訓練命令を第2のサーバに送信する。少なくとも1つのモデル評価メトリックの評価結果がモデル評価メトリックに対応する所定の閾値を超える場合、第1のサーバは、第1の訓練モデルが良好な推論効果を有し、更新される必要がないと判定する。この場合、第1のサーバは、第1の訓練モデルのための再訓練命令を第2のサーバに送信しない。
【0126】
任意選択的に、可能な実装形態では、第1の訓練モデルを評価するために使用されるモデル評価メトリックがアプリケーションシナリオの要件に基づいて決定され、ステップS604が実行された後、ユーザは、アプリケーションシナリオの要件に基づいて、第1のサーバによって再訓練命令を第2のサーバに送信するためのトリガ条件をさらに構成してもよい。第1の訓練モデルを評価するために使用されるモデル評価メトリックの評価結果がトリガ条件を満たすと、第1のサーバは、第1の訓練モデルのための再訓練命令を第2のサーバに送信する。第1のサーバが第1の訓練モデルの再訓練命令を送信する、すなわち第1の訓練モデルのための再訓練が可能となることが理解されるだろう。
【0127】
例えば、現在のサービスシナリオでは、ユーザは、サービスシナリオの要件に基づいて、第1の訓練モデルを評価するために使用される3つのモデル評価メトリックを設定する。3つのモデル評価メトリックはそれぞれ、推論結果の正確さ、推論結果の再現率、および推論結果のF1-Scoreである。次いで、ユーザは、サービスシナリオの要件に基づいて、再訓練命令を第2のサーバに送信するように第1のサーバをトリガするための条件が以下の通りであると判定することができる。推論結果の正確さおよび推論結果のF1-Scoreのうちの少なくとも1つの評価結果がモデル評価メトリックに対応する所定の閾値を超えず、推論結果の再現率の評価結果がモデル評価メトリックに対応する所定の閾値を超える場合、第1のサーバは、第1の訓練モデルのための再訓練命令を第2のサーバに送信する。第1の訓練モデルでは、推論結果の正確さの評価結果はaであり、推論結果のF1-Scoreの評価結果はbであり、推論結果の再現率の評価結果はcであり、a、b、およびcに対応する所定の閾値はそれぞれA、B、およびCであると仮定する。この場合、a≦Aおよびc≦Cの場合、bがBよりも大きいか否かにかかわらず、第1のサーバは、第1の訓練モデルのための再訓練命令を第2のサーバに送信する。b≦Bおよびc≦Cの場合、aがAよりも大きいか否かにかかわらず、第1のサーバは、第1の訓練モデルのための再訓練命令を第2のサーバに送信する。a>Aおよびb>Bの場合、cがCよりも大きいか否かにかかわらず、第1のサーバは、第1の訓練モデルのための再訓練命令を第2のサーバに送信しない。c>Cの場合、aがAよりも大きいか否かおよびbがBよりも大きいか否かにかかわらず、第1のサーバは、第1の訓練モデルのための再訓練命令を第2のサーバに送信しない。
【0128】
前述のプロセスを通じて、任意のサービスシナリオにおいて、第1のサーバは、モデル評価に使用される推論結果を周期的または非周期的に取得し、訓練モデルの事前構成された評価ポリシーおよび訓練モデルの事前構成された再訓練トリガポリシーに基づいて訓練モデルの推論効果を評価し、次いで、訓練モデルのための再訓練をトリガするか否かを判定し、訓練モデルの推論効果を監視し、不十分な推論効果を有する訓練モデルを適時に再訓練することを決定し、これによって、サービスシステムの性能を保証することに留意すべきである。
【0129】
S605:第2のサーバは、第1のサーバから入力データおよび推論結果を取得する。
【0130】
入力データは、第1のサーバによって、モデル推論のための第1の訓練モデルに入力されるデータであり、推論結果は、第1のサーバがモデル推論のための第1の訓練モデルに入力データを入力した後に取得された推論結果である。
【0131】
第1のサーバから第2のサーバによって受信した再訓練命令に応答して、第2のサーバは、第1のサーバに、入力データの取得要求および入力データに対応する推論結果を送信する。取得要求は、モデル推論のための第1の訓練モデルに入力される入力データおよび入力データに対応する推論結果を第2のサーバに送信するように第1のサーバに要求するために使用される。次いで、第1のサーバは、取得要求に応答して第2のサーバにデータを送信する。データは、第1のサーバによって第1の訓練モデルに入力される入力データ、および入力データが第1の訓練モデルに入力された後にモデル推論を実行することによって取得された推論結果を含む。
【0132】
任意選択的に、別の可能な実装形態では、第1のサーバが再訓練命令を送信すると、第1のサーバは、入力データおよび入力データに対応する推論結果を第2のサーバに送信する。
【0133】
任意選択的に、別の可能な実装形態では、ステップS602の後に、第2のサーバは、最初にステップS605を実行し、次いでステップS603およびS604を実行してもよい。この場合、ステップS605は周期的に実行されてもよい。第2のサーバは、第1のサーバから、所定の時間間隔または所定の頻度間隔に基づいて、モデル評価に使用される入力データおよび入力データに対応する推論結果を周期的に取得する。言い換えると、第1のサーバは、第2のサーバに、所定の時間間隔または所定の頻度間隔に基づいて、モデル評価に使用される入力データおよび入力データに対応する推論結果を周期的に送信し得る。
【0134】
ステップS605を周期的に実行することと比較して、ステップS604の後、第2のサーバは、入力データおよび第1の訓練モデルの推論結果が第1のサーバに送信されたとき、データ送信に使用されるリソースが節約され得るように、受信した再訓練命令に応答して、第1の訓練モデルを再訓練するために、モデル評価に使用される入力データおよび推論結果を取得することに留意すべきである。
【0135】
任意選択的に、別の可能な実装形態では、第1のサーバおよび第2のサーバは、ステップS603およびS604を実行するのではなく、ステップS602の後にステップS605を直接実行し、第2のサーバが、入力データおよび入力データに対応する推論結果を使用して、再訓練命令に基づいて第1の訓練モデルを再訓練して第2の訓練モデルを決定するように、周期的または非周期的に再訓練命令を第2のサーバに送信してもよい。
【0136】
この技術的解決策では、良好な推論効果を達成するために、再訓練モデルが現在の環境の入力データとうまく一致するように、モデル評価は実行されず、第2のサーバはモデル再訓練を実行するように直接命令されることに留意すべきである。しかしながら、モデルは過度に頻繁に再訓練されてもよく、または既存の訓練モデルの推論効果が良好であるときにモデルが再訓練されてもよい。これにより、計算負荷が重くなり、ソフトウェアおよびハードウェアの不必要な消費をもたらす。加えて、サービスシステムにおけるモデル推論のために使用される訓練モデルが過剰に頻繁に変更される場合、サービスシステムが不安定になり、サービスシステム性能が影響を受ける可能性がある。モデル評価が実行された後、必要なときにモデルが再訓練され得るように、モデルの推論効果に基づいて第2のサーバに再訓練命令が送信される。これは、帯域幅などのソフトウェアおよびハードウェアリソースの浪費を十分に削減し、サービスシステムの安定した作動を保証することができる。
【0137】
S606:第2のサーバは、入力データおよび推論結果に基づいて再訓練サンプルセットを決定する。
【0138】
第1の訓練モデルのための受信した再訓練命令に応答して、第2のサーバは、第1のサーバから、第1の訓練モデルのものであって第2のサーバによって取得された入力データおよび入力データに対応する推論結果を、モデル再訓練に使用される再訓練サンプルセットに追加する。再訓練サンプルセットは、モデル再訓練に使用される訓練データを記憶する。
【0139】
任意選択的に、第2のサーバが入力データおよび入力データに対応する推論結果を取得した後、第2のサーバは、最初に、入力データに注釈を付けて注釈付き入力データを取得し、次に、モデル再訓練に使用される再訓練サンプルセットを取得するために、注釈付き入力データおよび推論結果を再訓練サンプルセットに追加する。
【0140】
任意選択的に、第2のサーバが入力データおよび入力データに対応する推論結果を取得した後、第2のサーバは、推論結果が正しいか否かに基づいて、入力データおよび推論結果をスクリーニングまたは修正する。正確な推論結果では、第2のサーバは、推論結果および推論結果に対応する入力データを再訓練サンプルセットに追加する。あるいは、正確な推論結果に対応する入力データに注釈が付けられた後、注釈付き入力データおよび入力データに対応する推論結果は、再訓練サンプルセットに記憶される。不正確な推論結果では、第2のサーバは、推論結果および推論結果に対応する入力データを削除するか、または第2のサーバは、モデル再訓練に使用される再訓練サンプルセットを取得するために、不正確な推論結果を正確な推論結果に修正し、修正された推論結果および入力データ(または注釈付き入力データ)を再訓練サンプルセットに追加する。
【0141】
S607:第2のサーバは、再訓練サンプルセットに基づいて第1の訓練モデルに対してモデル再訓練を実行して第2の訓練モデルを決定する。
【0142】
第2のサーバによって受信された再訓練命令に応答して、第2のサーバは、第2の訓練モデルを取得するために、ステップS606で第2のサーバによって決定された再訓練サンプルセットを使用して、第1の訓練モデルに対してモデル再訓練を実行する。次いで、第2のサーバは、第2のサーバに記憶された第1の訓練モデルを第2の訓練モデルに置き換える。任意選択的に、第2のサーバは、第2の訓練モデルの記述情報をさらに記憶する。記述情報の具体的な説明については、前述の内容を参照されたい。本明細書では詳細は再び説明されない。
【0143】
S608:第2のサーバは、第2の訓練モデルを第1のサーバに送信する。
【0144】
第2のサーバは、第1のサーバに、ステップS606で第2のサーバによって決定された再訓練サンプルセット、第1の訓練モデルに対してモデル再訓練を実行することによって取得された第2の訓練モデル、および第2の訓練モデルの記述情報を配信する。第1のサーバは、第1のサーバに記憶された第1の訓練モデルを第2の訓練モデルに置き換え、第2の訓練モデルの記述情報を記憶する。次いで、第1のサーバは、ユーザがモデル推論を実行するためにサービスを通じて第2の訓練モデルを呼び出せるように、第2の訓練モデルをサービスとしてさらに公開する。任意選択的に、第1のサーバは、第1の訓練モデルに対応するサービスを削除するか、または第1の訓練モデルに対応するサービスを第2の訓練モデルに対応するサービスに置き換える。
【0145】
前述のプロセスでは、第2のサーバは、第2の訓練モデルを取得するために、正確な推論結果および正確な推論結果に対応する入力データを使用して第1の訓練モデルを再訓練し、これが第2の訓練モデルの推論効果をうまく改善し、これによって第2の訓練モデルが配置されるサービスシステムの性能を保証する。
【0146】
任意選択的に、第1のサーバによって第2のサーバに送信される再訓練命令は、第2の訓練モデルを取得するために、第2のサーバがステップS606で決定された再訓練サンプルセットに基づいて所定のモデルに対してモデル再訓練を実行するように、所定のモデルに固有であってもよい。次いで、第2のサーバは、第2のサーバに記憶された第1の訓練モデルを第2の訓練モデルに置き換え、第2の訓練モデルの記述情報を記憶する。所定のモデルの説明については、前述の内容を参照されたい。本明細書では詳細は再び説明されない。
【0147】
ステップS606で決定された再訓練サンプルセットに基づいて第1の訓練モデルを再訓練することによって取得された第2の訓練モデルと比較して、ステップS606で決定された再訓練サンプルセットに基づいて所定のモデルに対してモデル再訓練を実行することによって決定された第2の訓練モデルは、現在のシナリオにより適用可能であるが、不十分な一般化能力を有することに留意すべきである。言い換えると、第2の訓練モデルの入力データとして以前のデータが使用されるときの推論効果は保証され得ない。
【0148】
前述の実施形態によれば、本出願は、ハイブリッドクラウドシナリオに適用されるモデル訓練方法を提供し、これは、第1の訓練モデルの推論効果を決定するために、第1の訓練モデルのモデル評価メトリックを評価し、第1の訓練モデルの推論効果を監視することができる。したがって、第1の訓練モデルが不十分な推論効果を有するときには、より良い推論効果を有する訓練モデルを決定するために、第2のサーバが訓練モデルの推論効果に基づいて適時に訓練モデルを再訓練できるように、モデル再訓練に使用される再訓練命令が第2のサーバに送信され、これによって推論結果の正確さを改善し、サービスシステムの性能を保証する。
【0149】
図8に示されるように、本出願は、第1のサーバおよび第2のサーバのシステムに適用されるモデル訓練装置をさらに提供する。第1のサーバは、プライベートクラウド内に配置され、モデル推論のために使用され、第2のサーバは、パブリッククラウド内に配置され、モデル訓練のために使用される。第1のサーバとして機能する装置は、前述の方法の実施形態において第1のサーバによって実行されるステップを実行するように構成され得る。装置は、取得ユニット801、推論ユニット802、評価ユニット803、および送信ユニット804を含む。
【0150】
取得ユニット801は、第2のサーバから第1の訓練モデルを取得するように構成される。
【0151】
推論ユニット802は、モデル推論のための第1の訓練モデルに入力データを入力して推論結果を取得するように構成される。
【0152】
評価ユニット803は、推論結果およびモデル評価メトリックに基づいて第1の訓練モデルを評価してモデル評価メトリックの評価結果を取得するように構成される。
【0153】
モデル評価メトリックは、推論結果の正確さ、推論結果の精度、推論結果の再現率、推論結果のF1スコアF1-score、および推論結果の受信者操作特性ROC曲線下面積AUCのうちの少なくとも1つを含む。
【0154】
送信ユニット804は、少なくとも1つのモデル評価メトリックの評価結果がモデル評価メトリックに対応する所定の閾値を超えない場合、第1の訓練モデルのための再訓練命令を第2のサーバに送信するように構成される。再訓練命令は、第1の訓練モデルを再訓練するように第2のサーバに命令する。
【0155】
任意選択的に、送信ユニット804は、入力データおよび推論結果を第2のサーバに送信するようにさらに構成される。入力データおよび推論結果は、第1の訓練モデルを再訓練するために使用される。
【0156】
任意選択的に、送信ユニット804は、モデル評価メトリックのすべての評価結果がモデル評価メトリックに対応する所定の閾値を超える場合、第1の訓練モデルのための再訓練命令を第2のサーバに送信することをスキップするようにさらに構成される。
【0157】
図9に示されるように、本出願は、第1のサーバおよび第2のサーバのシステムに適用されるモデル訓練装置をさらに提供する。第1のサーバは、プライベートクラウド内に配置され、モデル推論のために使用され、第2のサーバは、パブリッククラウド内に配置され、モデル訓練のために使用される。第2のサーバとして機能する装置は、前述の方法の実施形態において第2のサーバによって実行されるステップを実行するように構成され得る。装置は、取得ユニット901、決定ユニット902、送信ユニット903、および処理ユニット904を含む。
【0158】
取得ユニット901は、第1のサーバから第1の訓練モデルのための再訓練命令、入力データ、および推論結果を取得するように構成される。再訓練命令は、第1の訓練モデルを再訓練するように第2のサーバに命令し、入力データは、第1のサーバによって、モデル推論のための第1の訓練モデルに入力されるデータであり、推論結果は、第1のサーバがモデル推論のための第1の訓練モデルに入力データを入力した後に取得された結果である。
【0159】
取得ユニット901は、具体的には、第1のサーバから受信した再訓練命令に応答して入力データおよび推論結果を取得するように構成される。
【0160】
決定ユニット902は、入力データおよび推論結果に基づいて再訓練サンプルセットを決定するように構成される。
【0161】
処理ユニット904は、推論結果が正確な推論結果である場合、第2のサーバによって、推論結果および推論結果に対応する入力データを確保しておき、または推論結果が不正確な推論結果である場合、第2のサーバによって、推論結果および推論結果に対応する入力データを削除するか、または第2のサーバによって、推論結果を入力データに対応する正確な推論結果に置き換えるように構成される。
【0162】
決定ユニット902は、入力データに注釈を付けて注釈付き入力データを取得し、注釈付き入力データおよび推論結果を再訓練サンプルセットに記憶するように構成される。
【0163】
決定ユニット902は、再訓練サンプルセットに基づいて第1の訓練モデルを再訓練して第2の訓練モデルを決定するようにさらに構成される。第2の訓練モデルは、第1の訓練モデルに置き換わるために使用される。
【0164】
送信ユニット903は、第2の訓練モデルを第1のサーバに送信するように構成される。
【0165】
本出願の一実施形態は、コンピュータ可読記憶媒体をさらに提供する。コンピュータ可読記憶媒体は命令を記憶する。命令がプロセッサによって実行されると、前述の方法の実施形態における方法が実行される。
【0166】
本出願の一実施形態は、命令を含むコンピュータプログラム製品をさらに提供する。命令がコンピュータにおいてプロセッサによって実行されると、コンピュータは、前述の方法の実施形態における方法を実行することが可能となる。
【0167】
本出願の一実施形態はチップをさらに提供する。チップは、トランシーバユニットおよび処理ユニットを含む。トランシーバユニットは、入出力回路または通信インターフェースであってもよい。処理ユニットは、プロセッサ、マイクロプロセッサ、またはチップ上に集積された集積回路である。チップは、前述の方法の実施形態における方法を実行することができる。
【0168】
簡便かつ簡単な説明のために、前述のシステム、装置、およびユニットの詳細な動作プロセスについては、前述の方法の実施形態の対応するプロセスを参照することとし、ここでは詳細が再度説明されないことが、当業者によって明確に理解され得る。
【0169】
前述の実施形態の全部または一部は、ソフトウェア、ハードウェア、ファームウェア、またはこれらの任意の組み合わせを使用して実現され得る。実施形態がソフトウェアプログラムを使用して実現されるとき、実施形態は、その全部または一部がコンピュータプログラム製品の形態で出現し得る。コンピュータプログラム製品は、1つ以上のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータにロードされ実行されると、本出願の実施形態による手順または機能がすべてまたは部分的に生成される。
【0170】
コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または任意の他のプログラマブル装置であってもよい。コンピュータ命令は、コンピュータ可読記憶媒体に記憶されてもよく、またはコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に送信されてもよい。例えば、コンピュータ命令は、有線(例えば、同軸ケーブル、光ファイバ、またはデジタル加入者回線(digital subscriber line、DSL))の方式またはワイヤレス(例えば、赤外線、無線、もしくはマイクロ波)の方式で、あるウェブサイト、コンピュータ、サーバ、またはデータセンタから別のウェブサイト、コンピュータ、サーバ、またはデータセンタに送信され得る。コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の使用可能な媒体、または1つ以上の使用可能な媒体を統合した、サーバまたはデータセンタなどのデータ記憶デバイスであってもよい。使用可能媒体は、磁気媒体(例えば、フロッピーディスク、ハードディスク、または磁気テープ)、光学媒体(例えば、DVD)、半導体媒体(例えば、ソリッドステートディスク(solid state disk、SSD))などであってもよい。
【0171】
実施態様の前述の説明に基づいて、当業者は、簡便かつ簡単な説明のために、前述の機能モジュールへの分割が説明のための例として使用されているにすぎないことを明確に理解し得る。実際の用途においては、前述の機能は、要件に基づいて実現するための異なる機能モジュールに割り当てられることができ、すなわち装置の内部構造は、前述した機能の全部または一部を実現するために、異なる機能モジュールに分割される。
【0172】
本出願で提供されるいくつかの実施形態では、開示された装置および方法は別の方法でも実現され得ることを理解されたい。例えば、記載された装置の実施形態は、単なる例である。例えば、モジュールまたはユニットの分割は、単なる論理機能の分割であって、実際の実施においては他の分割があってもよい。例えば、複数のユニットまたは構成要素が、別の装置に組み合わされ、または統合されてもよく、一部の特徴が、無視され、または実行されなくてもよい。加えて、提示または説明された相互結合または直接的な結合もしくは通信接続は、いくつかのインターフェースを介して実装されてもよい。装置間またはユニット間の間接的結合または通信接続は、電気的形態、機械的形態、またはその他の形態で実現されてもよい。
【0173】
個別構成要素として記載されているユニットは、物理的に分離していてもよく、物理的に分離していなくてもよく、ユニットとして表示されている構成要素は、1箇所に配置されてもよく、または複数の異なる場所に分散されてもよい。適用プロセスでは、ユニットの一部または全部は、実施形態の解決策の目的を達成するための実際的な要件にしたがって選択され得る。
【0174】
加えて、本出願の実施形態における機能ユニットは、1つの処理ユニットに統合されてもよく、またはユニットの各々は物理的に単独で存在してもよく、または2つ以上のユニットが1つのユニットに統合される。統合ユニットは、ハードウェアの形態で実装されてもよく、ソフトウェア機能ユニットの形態で実現されてもよい。
【0175】
統合ユニットが、ソフトウェア機能ユニットの形態で実現され、独立した製品として販売または使用されるとき、統合ユニットは、コンピュータ可読記憶媒体に記憶されてもよい。このような理解に基づき、本出願の実施形態の技術的解決策が本質的に、または現在の技術に寄与する部分が、または技術的な解決策の一部が、ソフトウェア製品の形態で実現されてもよい。コンピュータソフトウェア製品は、記憶媒体に記憶され、コンピュータデバイス(パーソナルコンピュータ、サーバ、ネットワークデバイス、シングルチップマイクロコンピュータ、チップなどであってもよい)またはプロセッサ(processor)に本出願の実施形態で説明された方法のステップの全部または一部を実行するように命令するためのいくつかの命令を含む。記憶媒体は、USBフラッシュドライブ、リムーバブルハードディスク、読み取り専用メモリ(read-only memory、ROM)、ランダムアクセスメモリ(random access memory、RAM)、磁気ディスク、光ディスクなどの、プログラムコードを記憶することができる任意の媒体を含む。
【0176】
前述の説明は、本出願の特定の実装形態にすぎず、本出願の保護範囲を限定することを意図するものではない。本出願で開示されている技術的範囲内のいかなる変更または置換も、本出願の保護範囲内にあるものとする。
【符号の説明】
【0177】
10 第1のサーバ
20 第2のサーバ
101 データ収集モジュール
102 モデル訓練モジュール
103 第1のモデル記憶モジュール
104 第2のモデル記憶モジュール
105 モデル推論管理モジュール
201 モデル再訓練管理モジュール
202 モデル評価モジュール
2021 評価ポリシー構成モジュール
2022 データ収集モジュール
2023 モデル評価メトリック査定モジュール
300 ニューラルネットワーク処理ユニット
301 入力メモリ
302 重みメモリ
303 演算回路
304 コントローラ
305 記憶ユニットアクセスコントローラ
306 ユニファイドメモリ
307 ベクトル計算ユニット307
308 累算器
309 命令フェッチバッファ
310 バスインターフェースユニット
400 モデル訓練装置
401、407 プロセッサ
402 通信線
403 メモリ
404 通信インターフェース
405 出力デバイス
406 入力デバイス
801、901 取得ユニット
802 推論ユニット
803 評価ユニット
804、903 送信ユニット
902 決定ユニット
904 処理ユニット
図1
図2
図3
図4
図5
図6
図7
図8
図9
【手続補正書】
【提出日】2022-08-25
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
第1のサーバおよび第2のサーバを含むシステムに適用されるモデル訓練方法であって、前記第1のサーバは、プライベートクラウド内に配置され、モデル推論のために使用され、前記第2のサーバは、パブリッククラウド内に配置され、モデル訓練のために使用され、前記方法は、
前記第1のサーバによって、前記第2のサーバから第1の訓練モデルを取得するステップと、
前記第1のサーバによって、モデル推論のための前記第1の訓練モデルに入力データを入力して推論結果を取得するステップと、
前記第1のサーバによって、前記推論結果およびモデル評価メトリックに基づいて前記第1の訓練モデルを評価して前記モデル評価メトリックの評価結果を取得するステップと、
少なくとも1つのモデル評価メトリックの評価結果が前記モデル評価メトリックに対応する所定の閾値以下である場合、前記第1のサーバによって、前記第1の訓練モデルのための再訓練命令を前記第2のサーバに送信するステップであって、前記再訓練命令は、前記第1の訓練モデルを再訓練するように前記第2のサーバに命令する、ステップと
を含むモデル訓練方法。
【請求項2】
前記第1のサーバによって、モデル推論のための前記第1の訓練モデルに入力データを入力して推論結果を取得する前記ステップの後に、前記方法は、
前記第1のサーバによって、前記入力データおよび前記推論結果を前記第2のサーバに送信するステップであって、前記入力データおよび前記推論結果は、前記第1の訓練モデルを再訓練するために使用される、ステップ
をさらに含む、請求項1に記載のモデル訓練方法。
【請求項3】
前記モデル評価メトリックは、前記推論結果の正確さ、前記推論結果の精度、前記推論結果の再現率、前記推論結果のF1スコア、および前記推論結果の受信者操作特性ROC曲線下面積AUCのうちの少なくとも1つを含む、請求項1または2に記載のモデル訓練方法。
【請求項4】
前記方法は、モデル評価メトリックのすべての評価結果が前記モデル評価メトリックに対応する所定の閾値を超える場合、前記第1のサーバによって、前記第1の訓練モデルのための再訓練命令を前記第2のサーバに送信することをスキップするステップを含む、請求項1から3のいずれか一項に記載のモデル訓練方法。
【請求項5】
第1のサーバおよび第2のサーバを含むシステムに適用されるモデル訓練方法であって、前記第1のサーバは、プライベートクラウド内に配置され、モデル推論のために使用され、前記第2のサーバは、パブリッククラウド内に配置され、モデル訓練のために使用され、前記方法は、
前記第2のサーバによって、前記第1のサーバから第1の訓練モデルのための再訓練命令、入力データ、および推論結果を取得するステップであって、前記再訓練命令は、前記第1の訓練モデルを再訓練するように前記第2のサーバに命令し、前記入力データは前記第1のサーバによって前記第1の訓練モデルに入力されるデータであり、前記推論結果は、前記第1のサーバがモデル推論のための前記第1の訓練モデルに前記入力データを入力した後に取得された結果である、ステップと、
前記第2のサーバによって、前記入力データおよび前記推論結果に基づいて再訓練サンプルセットを決定するステップと、
前記第2のサーバによって、前記再訓練サンプルセットに基づいて前記第1の訓練モデルを再訓練して第2の訓練モデルを決定するステップであって、前記第2の訓練モデルは、前記第1の訓練モデルに置き換わるために使用される、ステップと、
前記第2のサーバによって、前記第2の訓練モデルを前記第1のサーバに送信するステップと
を含むモデル訓練方法。
【請求項6】
前記第2のサーバによって、前記第1のサーバから第1の訓練モデルのための再訓練命令、入力データ、および推論結果を取得する前記ステップは、具体的には、
前記第2のサーバによって、前記第1のサーバから受信した前記再訓練命令に応答して前記入力データおよび前記推論結果を取得するステップ
を含む、請求項5に記載のモデル訓練方法。
【請求項7】
前記第2のサーバによって、前記入力データおよび前記推論結果に基づいて再訓練サンプルセットを決定する前記ステップは、具体的には、
前記第2のサーバによって、前記入力データに注釈を付けて注釈付き入力データを取得するステップと、
前記第2のサーバによって、前記注釈付き入力データおよび前記推論結果を前記再訓練サンプルセットに記憶するステップと
を含む、請求項5または6に記載のモデル訓練方法。
【請求項8】
前記第2のサーバによって、前記入力データに注釈を付けて前記注釈付き入力データを取得する前記ステップの前に、前記方法は、
前記推論結果が正確な推論結果である場合、前記第2のサーバによって、前記推論結果および前記推論結果に対応する入力データを確保しておくステップ、または
前記推論結果が不正確な推論結果である場合、前記第2のサーバによって、前記推論結果および前記推論結果に対応する入力データを削除するか、または前記第2のサーバによって、前記推論結果を前記入力データに対応する正確な推論結果に置き換えるステップ
をさらに含む、請求項7に記載のモデル訓練方法。
【請求項9】
第1のサーバおよび第2のサーバを含むシステムに適用されるモデル訓練装置であって、前記第1のサーバは、プライベートクラウド内に配置され、モデル推論のために使用され、前記第2のサーバは、パブリッククラウド内に配置され、モデル訓練のために使用され、前記第1のサーバとして機能する前記装置は、
前記第2のサーバから第1の訓練モデルを取得するように構成された取得ユニットと、
モデル推論のための前記第1の訓練モデルに入力データを入力して推論結果を取得するように構成された推論ユニットと、
前記推論結果およびモデル評価メトリックに基づいて前記第1の訓練モデルを評価して前記モデル評価メトリックの評価結果を取得するように構成された評価ユニットと、
少なくとも1つのモデル評価メトリックの評価結果が前記モデル評価メトリックに対応する所定の閾値以下である場合、前記第1の訓練モデルのための再訓練命令を前記第2のサーバに送信するように構成された送信ユニットであって、前記再訓練命令は、前記第1の訓練モデルを再訓練するように前記第2のサーバに命令する、送信ユニットと
を含む、モデル訓練装置。
【請求項10】
前記送信ユニットは、前記入力データおよび前記推論結果を前記第2のサーバに送信するようにさらに構成されており、前記入力データおよび前記推論結果は、前記第1の訓練モデルを再訓練するために使用される、
請求項9に記載のモデル訓練装置。
【請求項11】
前記モデル評価メトリックは、前記推論結果の正確さ、前記推論結果の精度、前記推論結果の再現率、前記推論結果のF1スコア、および前記推論結果の受信者操作特性ROC曲線下面積AUCのうちの少なくとも1つを含む、請求項9または10に記載のモデル訓練装置。
【請求項12】
前記送信ユニットは、モデル評価メトリックのすべての評価結果が前記モデル評価メトリックに対応する所定の閾値を超える場合、前記第1の訓練モデルのための再訓練命令を前記第2のサーバに送信することをスキップするようにさらに構成されている、
請求項9から11のいずれか一項に記載のモデル訓練装置。
【請求項13】
第1のサーバおよび第2のサーバを含むシステムに適用されるモデル訓練装置であって、前記第1のサーバは、プライベートクラウド内に配置され、モデル推論のために使用され、前記第2のサーバは、パブリッククラウド内に配置され、モデル訓練のために使用され、前記第2のサーバとして機能する前記装置は、
前記第1のサーバから第1の訓練モデルのための再訓練命令、入力データ、および推論結果を取得するように構成された取得ユニットであって、前記再訓練命令は、前記第1の訓練モデルを再訓練するように前記第2のサーバに命令し、前記入力データは前記第1のサーバによって前記第1の訓練モデルに入力されるデータであり、前記推論結果は、前記第1のサーバがモデル推論のための前記第1の訓練モデルに前記入力データを入力した後に取得された結果である、取得ユニットと、
前記入力データおよび前記推論結果に基づいて再訓練サンプルセットを決定するように構成された決定ユニットであって、
前記決定ユニットは、前記再訓練サンプルセットに基づいて前記第1の訓練モデルを再訓練して第2の訓練モデルを決定するようにさらに構成されており、前記第2の訓練モデルは、前記第1の訓練モデルに置き換わるために使用される、決定ユニットと、
前記第2の訓練モデルを前記第1のサーバに送信するように構成された送信ユニットと
を含むモデル訓練装置。
【請求項14】
前記取得ユニットは、具体的には、前記第1のサーバから受信した前記再訓練命令に応答して前記入力データおよび前記推論結果を取得するように構成されている、
請求項13に記載のモデル訓練装置。
【請求項15】
前記決定ユニットは、具体的には、前記入力データに注釈を付けて注釈付き入力データを取得するように構成されており、
前記決定ユニットは、具体的には、前記注釈付き入力データおよび前記推論結果を前記再訓練サンプルセットに記憶するようにさらに構成されている、
請求項13または14に記載のモデル訓練装置。
【請求項16】
前記決定ユニットは、前記推論結果が正確な推論結果である場合、前記第2のサーバによって、前記推論結果および前記推論結果に対応する入力データを確保しておくように構成されており、
前記決定ユニットは、前記推論結果が不正確な推論結果である場合、前記第2のサーバによって、前記推論結果および前記推論結果に対応する入力データを削除するか、または前記第2のサーバによって、前記推論結果を前記入力データに対応する正確な推論結果に置き換えるようにさらに構成されている、
請求項15に記載のモデル訓練装置。
【請求項17】
モデル訓練装置であって、前記装置は、プロセッサ、メモリ、および通信インターフェースを含み、前記通信インターフェースは、別のデバイスまたは通信ネットワークと通信するように構成されており、前記メモリは、1つ以上のプログラムを記憶するように構成されており、前記1つ以上のプログラムは、コンピュータ実行可能命令を含み、前記装置が作動すると、前記プロセッサは、前記メモリに記憶された前記コンピュータ実行可能命令を実行して、前記装置が請求項1から4または5から8のいずれか一項に記載のモデル訓練方法を実行することを可能にする、モデル訓練装置。
【請求項18】
コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体はプログラム命令を記憶しており、前記プログラム命令がプロセッサによって実行されると、請求項1から4または5から8のいずれか一項に記載のモデル訓練方法が実行される、コンピュータ可読記憶媒体。
【請求項19】
命令を含むコンピュータプログラムであって、前記コンピュータプログラムがコンピュータにおいてプロセッサによって実行されると、前記コンピュータは、請求項1から4または5から8のいずれか一項に記載のモデル訓練方法を実行することが可能にされる、コンピュータプログラム。
【国際調査報告】