(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-10-11
(54)【発明の名称】可視化方法及び関連デバイス
(51)【国際特許分類】
G06N 20/00 20190101AFI20221003BHJP
【FI】
G06N20/00
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021570729
(86)(22)【出願日】2021-03-23
(85)【翻訳文提出日】2021-12-03
(86)【国際出願番号】 CN2021082348
(87)【国際公開番号】W WO2022007434
(87)【国際公開日】2022-01-13
(31)【優先権主張番号】202010656553.8
(32)【優先日】2020-07-09
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】519290264
【氏名又は名称】シャンハイ センスタイム インテリジェント テクノロジー カンパニー リミテッド
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】ジュー,ヤンボー
(57)【要約】
本発明において可視化方法及び関連デバイスは提供される。この方法は以下の内容を含む。ユーザー機器はクラウドサーバーに可視化要請を送信する。可視化要請は目標深層学習モデルの目標訓練データの可視化を要請するために用いられる。ユーザー機器はクラウドサーバーが送信する可視化応答を受信する。可視化応答は目標訓練データの可視化情報を有する。ユーザー機器は可視化情報を表示する。本発明の実施形態を採用すると、深層学習モデルの訓練データの可視化を実現することができる。深層学習モデルの訓練データの可視化は、現在の訓練戦略の実行可能性を適時に判断し、早期中止などの決定に拠り所を提供することに役に立つ。
【特許請求の範囲】
【請求項1】
可視化方法であって、ユーザー機器に適用され、前記方法は、
クラウドサーバーに、目標深層学習モデルの目標訓練データの可視化を要請するために用いられる可視化要請を送信することと、
前記クラウドサーバーが送信する、目標訓練データの可視化情報を有する可視化応答を受信することと、
前記可視化情報を表示することとを含む、
ことを特徴とする可視化方法。
【請求項2】
前記可視化情報は、有向非巡回グラフ、3次元ヒストグラム、複数のプロセスの呼び出しシーケンス線図、特徴マップ、2次元ヒートマップ及びスカラー線グラフのうちの少なくとも一つを含み、及び/又は、
前記目標訓練データは、モデル性能変化傾向情報、モデルロス傾向情報、モデルパラメータの分布情報、モデル処理の中間結果、モデル構造情報、モデル訓練の現在の進捗情報、同じモデルの異なる訓練の比較情報、複数のプロセスのスケジューリング時間情報のうちの少なくとも一つを含む、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記可視化情報は、
前記目標深層学習モデルの複数のモジュール及び/又は複数の演算子を含む、前記目標深層学習モデルの少なくとも一部のトポロジー情報と、
前記目標深層学習モデルに含まれる少なくとも一つの演算子における各演算子のリソース占用情報と、
のうちの少なくとも一つの情報を含む、
ことを特徴とする請求項1又は請求項2に記載の方法。
【請求項4】
前記複数のモジュールのトポロジー情報は、
前記複数のモジュールの識別情報、前記複数のモジュールの間の依存関係、前記複数のモジュールの各々のデータ量、前記複数のモジュールの各々に含まれる少なくとも一つの演算子の情報のうちの少なくとも一つを含む、
ことを特徴とする請求項3に記載の方法。
【請求項5】
前記リソース占用情報は、前記演算子のデータ型、前記演算子の入力データ情報、前記演算子の出力データ情報のうちの少なくとも一つに基づいて、前記クラウドサーバーによって確定される、
ことを特徴とする請求項3又は請求項4に記載の方法。
【請求項6】
前記可視化要請は、前記目標深層学習モデルの訓練タスク識別と前記目標訓練データの索引情報とを有し、
前記索引情報はデータ型とデータラベルとを含む、
ことを特徴とする請求項1~5のいずれか一項に記載の方法。
【請求項7】
前記可視化情報を表示することは、
折畳み表示モード又は非折畳み表示モードで前記可視化情報を表示することを含み、
前記折畳み表示モードでは、前記目標深層学習モデルにおけるモジュールを最小表示ユニットとし、前記モジュールは少なくとも一つの演算子を含み、及び/又は、
前記非折畳み表示モードでは、前記目標深層学習モデルにおける演算子を最小表示ユニットとする、
ことを特徴とする請求項1~6のいずれか一項に記載の方法。
【請求項8】
前記クラウドサーバーに可視化要請を送信する前に、前記方法は、
データアップロードスレッドを介して、前記クラウドサーバーに前記目標深層学習モデルの中間訓練データを送信することであって、前記中間訓練データは、前記クラウドサーバーが前記目標訓練データの索引情報と訓練タスク識別とを取得するために用いられる、送信することと、
前記訓練タスク識別に基づいて前記索引情報を索引データベースに格納することと、
前記索引情報に基づいて前記目標訓練データをクラウドストレージに格納することとをさらに含む、
ことを特徴とする請求項1~7のいずれか一項に記載の方法。
【請求項9】
可視化方法であって、クラウドサーバーに適用され、前記方法は、
ユーザー機器から、目標深層学習モデルの目標訓練データの可視化を要請するために用いられる可視化要請を受信することと、
前記可視化要請に対応する目標訓練データを取得することと、
前記目標訓練データに対して前処理を行って、可視化情報を取得することと、
前記ユーザー機器に、前記可視化情報を有する可視化応答を送信することとを含む、
ことを特徴とする可視化方法。
【請求項10】
前記可視化情報は、有向非巡回グラフ、3次元ヒストグラム、複数のプロセスの呼び出しシーケンス線図、特徴マップ、2次元ヒートマップ及びスカラー線グラフのうちの少なくとも一つを含み、及び/又は、
前記目標訓練データは、モデル性能変化傾向情報、モデルロス傾向情報、モデルパラメータの分布情報、モデル処理の中間結果、モデル構造情報、モデル訓練の現在の進捗情報、同じモデルの異なる訓練の比較情報、複数のプロセスのスケジューリング時間情報のうちの少なくとも一つを含む、
ことを特徴とする請求項9に記載の方法。
【請求項11】
前記可視化情報は、
前記目標深層学習モデルの複数のモジュール及び/又は複数の演算子を含む、前記目標深層学習モデルの少なくとも一部のトポロジー情報と、
前記目標深層学習モデルに含まれる少なくとも一つの演算子における各演算子のリソース占用情報と、
のうちの少なくとも一つの情報を含む、
ことを特徴とする請求項9又は請求項10に記載の方法。
【請求項12】
前記複数のモジュールのトポロジー情報は、
前記複数のモジュールの識別情報、前記複数のモジュールの間の依存関係、前記複数のモジュールの各々のデータ量、前記複数のモジュールの各々に含まれる少なくとも一つの演算子の情報のうちの少なくとも一つを含む、
ことを特徴とする請求項11に記載の方法。
【請求項13】
前記目標訓練データに対して前処理を行って可視化情報を取得することは、
前記目標深層学習モデルにおける少なくとも一つの演算子のデータ型、前記演算子の入力データ情報、前記演算子の出力データ情報のうちの少なくとも一つに基づいて、前記少なくとも一つの演算子における各演算子のリソース占用情報を確定することを含む、
ことを特徴とする請求項9~12のいずれか一項に記載の方法。
【請求項14】
前記可視化要請は、前記目標深層学習モデルの訓練タスク識別と前記目標訓練データの索引情報とを有し、前記索引情報はデータ型とデータラベルを含み、
前記可視化要請に対応する目標訓練データを取得することは、
前記可視化要請が有する訓練タスク識別と索引情報に基づいて索引データベースを検索することによって、前記目標訓練データの格納位置情報を取得することと、
前記目標訓練データの格納位置情報に基づいて、クラウドストレージに格納される前記目標訓練データを取得することとを含む、
ことを特徴とする請求項9~13のいずれか一項に記載の方法。
【請求項15】
前記目標訓練データに対して前処理を行って可視化情報を取得することは、
前記目標訓練データに対して少なくとも一つの前処理を行って、前処理されたデータを取得することと、
前記前処理されたデータをレンダーリングして、前記可視化情報を取得することとを含む、
ことを特徴とする請求項9~14のいずれか一項に記載の方法。
【請求項16】
前記目標訓練データに対して前処理を行って可視化情報を取得することは、
前記目標深層学習モデルの訓練タスクは目標フレームワークのもとで実行される場合、2分木を介して前記目標訓練データを解析して、前記可視化情報を取得することを含む、
ことを特徴とする請求項9~15のいずれか一項に記載の方法。
【請求項17】
可視化装置であって、ユーザー機器に適用され、前記装置は、
クラウドサーバーに、目標深層学習モデルの目標訓練データの可視化を要請するために用いられる可視化要請を送信するように構成されている送信ユニットと、
前記クラウドサーバーが送信する、前記目標訓練データの可視化情報を有する可視化応答を受信するように構成されている受信ユニットと、
前記可視化情報を表示するように構成されている表示ユニットとを含む、
ことを特徴とする可視化装置。
【請求項18】
可視化装置であって、クラウドサーバーに適用され、前記装置は、
ユーザー機器から、目標深層学習モデルの目標訓練データの可視化を要請するために用いられる可視化要請を受信するように構成されている受信ユニットと、
前記可視化要請に対応する目標訓練データを取得するように構成されている取得ユニットと、
前記目標訓練データに対して前処理を行って可視化情報を取得するように構成されている確定ユニットと、
前記ユーザー機器に、前記可視化情報を有する可視化応答を送信するように構成されている送信ユニットとを含む、
ことを特徴とする可視化装置。
【請求項19】
コンピュータデバイスであって、前記ユーザー機器はプロセッサ、メモリ、通信インターフェース、及び一つまたは複数のプログラムを含み、
前記一つまたは複数のプログラムは前記メモリに格納され、且つ前記プロセッサによって実行され、前記プログラムは、請求項1~8又は請求項9~16のいずれか一項に記載の方法におけるステップを実行するように構成された命令を含む、
ことを特徴とするコンピュータデバイス。
【請求項20】
コンピュータ可読記憶媒体であって、コンピュータプログラムを格納し、
前記コンピュータプログラムは請求項1~8又は請求項9~16のいずれか一項に記載の方法を実行するように構成されている、
ことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、発明の名称を「可視化方法及び関連デバイス」とする、2020年7月9日に出願された中国特許出願第202010656553.8号の優先権を主張し、そのすべての内容が参照として本出願に組み込まれる。
【0002】
本発明はコンピュータ技術分野に関し、さらに具体的に、可視化方法及び関連デバイスに関する。
【背景技術】
【0003】
近年、深層学習モデルは画像とビデオ処理分野に広く使用されている。一般的に、深層学習モデルは訓練によって取得される。しかしながら、深層学習モデルの訓練プロセスは複雑且つ奥深い計算に係り、複数回の繰り返しが必要で、訓練時間が長い。この他、研究者は訓練が終わった後のみに、訓練によって取得された深層学習モデルに対して性能評価を行うことができる。
【発明の概要】
【0004】
本発明の実施形態は、深層学習モデルの訓練データの可視化のために用いられる可視化方法及び関連デバイスを提供する。
【0005】
第一様態において、本発明の実施形態は可視化方法を提供する。この方法は、ユーザー機器に適用される。この方法は、
クラウドサーバーに、目標深層学習モデルの目標訓練データの可視化を要請するために用いられる可視化要請を送信することと、
クラウドサーバーが送信する、目標訓練データの可視化情報を有する可視化応答を受信することと、
可視化情報を表示することとを含む。
【0006】
第二様態において、本発明の実施形態は可視化装置を提供する。この装置は、ユーザー機器に適用される。この装置は、
クラウドサーバーに、目標深層学習モデルの目標訓練データの可視化を要請するために用いられる可視化要請を送信するように構成されている送信ユニットと、
クラウドサーバーが送信する、目標訓練データの可視化情報を有する可視化応答を受信するように構成されている受信ユニットと、
可視化情報を表示するように構成されている表示ユニットとを含む。
【0007】
第三様態において、本発明の実施形態は可視化方法を提供する。この方法は、クラウドサーバーに適用される。この方法は、
ユーザー機器から、目標深層学習モデルの目標訓練データの可視化を要請するために用いられる可視化要請を受信することと、
可視化要請に対応する目標訓練データを取得することと、
目標訓練データに対して前処理を行って、可視化情報を取得することと、
ユーザー機器に、可視化情報を有する可視化応答を送信することとを含む。
【0008】
第四様態において、本発明の実施形態は可視化装置を提供する。この装置は、クラウドサーバーに適用される。この装置は、
ユーザー機器から、目標深層学習モデルの目標訓練データの可視化を要請するために用いられる可視化要請を受信するように構成されている受信ユニットと、
可視化要請に対応する目標訓練データを取得するように構成されている取得ユニットと、
目標訓練データに対して前処理を行って可視化情報を取得するように構成されている確定ユニットと、
ユーザー機器に、可視化情報を有する可視化応答を送信するように構成されている送信ユニットとを含む。
【0009】
第五様態において、本発明の実施形態はコンピュータデバイスを提供する。このコンピュータデバイスはプロセッサ、メモリ、通信インターフェース、及び一つ又は複数のプログラムを含む。一つ又は複数のプログラムはメモリに格納され、且つプロセッサによって実行されるように構成された。上記プログラムは本発明の実施形態の第一様態又は第三様態に記載された方法の操作を実行するように構成された命令を含む。
【0010】
第六様態において、本発明の実施形態はコンピュータ可読記憶媒体を提供する。このコンピュータ可読記憶媒体は、電子データ交換(electronic data interchange、EDI)のために用いられるコンピュータプログラムを格納する。コンピュータプログラムはコンピュータに、本発明の実施形態の第一様態又は第三様態に記載された方法の操作の一部又は全部を実行させる。
【0011】
第七様態において、本発明の実施形態は、コンピュータプログラム製品を提供する。このコンピュータプログラム製品は、コンピュータプログラムを格納する非一時的なコンピュータ可読記憶媒体を含む。上記コンピュータプログラムが実行されると、コンピュータに本発明の実施形態の第一様態又は第三様態に記載された方法の操作の一部又は全部を実行させる。当該コンピュータプログラム製品はソフトウェアインストールパッケージであることができる。
【0012】
本発明の実施形態において、ユーザー機器は、まずクラウドサーバーに可視化要請を送信して、次に、クラウドサーバーが送信する可視化応答を受信する。可視化応答は目標訓練データの可視化情報を有する。最後に、可視化情報を表示する。目標訓練データの可視化情報に基づいて、深層学習モデルの訓練状態を直観的に理解することができる。これによって、現在の訓練戦略の実行可能性を適時に判断し、早期中止などの決定に拠り所を提供することに役に立つ。
【図面の簡単な説明】
【0013】
本発明の実施形態の技術方案又は既存技術の技術法案を明らかに説明するために、以下、実施形態又は既存技術の説明に必要な図面を簡単に紹介する。明らかに、説明される図面は本発明のいくつかの実施形態にすぎず、当業者にとって、創造的な努力なしに、これらの図面によって他の図面を得ることができる。
【
図1】
図1は、本発明の実施形態に係る可視化システムのアーキテクチャを示す概略図である。
【
図2】
図2は、本発明の実施形態に係る可視化方法を示すフローチャートである。
【
図3】
図3は、本発明の実施形態に係るコンピュータデバイスの構造を示す概略図である。
【
図4】
図4は、本発明の実施形態に係る可視化装置の構造を示す概略図である。
【
図5】
図5は、本発明の実施形態に係る他の可視化装置の構造を示す概略図である。
【発明を実施するための形態】
【0014】
以下、当業者に本発明の技術方案をより良く理解させるために、本発明の実施形態の図面を参照しながら本発明の実施形態の技術方案を明晰に、全面的に説明する。明らかに、説明される実施形態は、本発明の一部の実施形態だけのものであり、全ての実施形態ではない。本発明に記載された実施形態に基づいて、当業者が創造的な努力なしに得ることができるすべての別の実施形態は、皆本発明の保護範囲に属する。
【0015】
以下、詳しく説明する。
【0016】
本発明の明細書と請求項及び図面における「第一」「第二」「第三」「第四」などの用語は特定のシーケンスの説明のためではなく、異なる対象を区別するために用いられる。また、「含む」、「備える」又は他のいかなるバリアントなどの用語は非排他的な含みをカバーすることを意図する。例えば、一連のステップ又はモジュールを含むプロセス、方法、システム、製品又は装置は、リストされたステップ又はモジュールに限定しなく、選択的に、リストされていない他のステップ又はモジュールを含み、又は選択的に、プロセス、方法、製品又は装置の固有の他のステップ又はモジュールを含むことができる。
【0017】
本発明に言及される「実施形態」は、実施形態と結びついて説明される特定の特徴、構造、又は特性は本発明の少なくとも一つの実施形態に含まれることができることを意味する。明細書のいかなるところに現れる当該言葉は必ずしも同じ実施形態を示すとは限らなく、他の実施形態と矛盾する独立の実施形態又は選択可能な実施形態ではない。当業者は、本明細書に記載される実施形態は他の実施形態と組み合わせることができることを明示的に又は暗示的に理解できる。
【0018】
図1を参照すると、
図1は、本発明の実施形態に係る可視化システムのアーキテクチャを示す概略図である。当該可視化システムはスーパーコンピューティングクラスター(supercomputing cluster)、クラウドサーバー(cloud server)、クラウドストレージ(cloud storage)及びユーザー機器(user equipment、UE)を含む。
図1に示されたスーパーコンピューティングクラスター、クラウドサーバー、クラウドストレージ及びユーザー機器の形態と数量は例示のみに用いられ、本発明の実施形態を限定するものではない。当該可視化システムは、ジャバスクリプト(javascript)とスケーラブルベクトルグラフィックス(scalable vector graphics、SVG)技術に基づいて、多次元多クラス(multi-dimensional and multi-class)の中間訓練データの可視化を実現することができ、大量の中間訓練データの高速且つ高効率の可視化レンダーリングをサポートする。
【0019】
当該可視化システムはクバネティスコンテナオーケストレーションシステム(kubernetes container orchestration system)に基づいて、製造レベルの安定した可視化システムデプロイメントを提供し、動的で制御可能なサービス機能を提供する。クバネティスコンテナは、クラウドサーバーにおける複数のホストにあるコンテナ化されたアプリケーションを管理するために用いられる。
【0020】
クラウドサーバーは可視化サービスを提供する。可視化サービスは、取得された中間訓練データに対して前処理などのようなデータ操作を行うために用いられる。データ操作が行われた後の中間訓練データに対して可視化レンダーリング行って、可視化情報を取得する。
【0021】
選択的に、クラウドサーバーは、サービスゲートウェイ(service gateway)、訓練管理サービス、データ記憶サービス及び権限サービスのうちの少なくとも一つを提供する。
【0022】
サービスゲートウェイは訓練管理サービス、データ記憶サービス、データ可視化サービス及び権限サービスのうちの少なくとも一つのサービスの入口とされることができる。
【0023】
選択的に、サービスゲートウェイはアプリケーションプログラムであることができる。
【0024】
選択的に、サービスゲートウェイは流量制限機能を持つことができる。
【0025】
訓練管理サービスは、深層学習モデルの訓練タスクが完成しているかどうかへのモニタリング、異常が生じた訓練タスクへの記録、索引、検索、同じ深層学習モデルの複数の訓練タスクの訓練プロセスの比較、及び深層学習モデルの訓練結果の共有のうちの少なくとも一つのサービスを提供することができる。
【0026】
データ記憶サービスは、データの永続、データスレッドを用いることによって深層学習モデル訓練中に生成された中間訓練データを格納すること、及びキャッシングを用いることによって深層学習モデル訓練中に生成された中間訓練データを格納することのうちの少なくとも一つのサービスを提供することができる。
【0027】
権限管理サービスは可視化システムの安全性を保障するために用いられる。権限管理サービスの認証に合格した後のみに、可視化システムを使用することができる。この他、共有訓練も権限管理サービスを介して認証を行う。権限管理サービスは統一認証アカウントログイン及び/又は普通の登録という二種類のログイン方式をサポートする。
【0028】
クラウドサーバーは、ハイパーテキスト転送プロトコル(HyperText Transfer Protocol、HTTP)、グーグル遠隔手続呼び出し(Google Remote Procedure Call、GRPC)プロトコル又は他のプロトコルを介して、開発者ツールキットと通信する。
【0029】
クラウドサーバーは訓練データをクラウドストレージに直接格納することができる。
【0030】
ユーザーがtensorflow、pytorch、caffeフレームなどと一緒に使用できるように、スーパーコンピューティングクラスターは、開発者ツールキットを実行することによって、pythonなどのプログラミング言語のツールキットなどのような開発ツールを提供する。及び/又は、スーパーコンピューティングクラスターは、新しいスレッドを開始してそれをデータアップロード専用スレッドとする。スーパーコンピューティングクラスターは、HTTP通信プロトコルとGRPCプロトコルを介して、データアップロード専用スレッドでクラウドサーバーに深層学習モデル訓練中に生成された中間訓練データをアップロードする。アップロードされた中間訓練データのデータ型はベクトル、スカラー、画像、ビデオ、オーディオなどを含むことができる。アップロードされた中間訓練データは開発者ツールキットのデータキャッシングに格納される。
【0031】
新しいスレッドを開始してそれをデータアップロード専用スレッドとすることは、深層学習モデルの計算速度を保障することができる。
【0032】
選択的に、クラウドストレージは分散型のストレージであることができ、深層学習モデルによって生成された中間訓練データを統一管理し、中間訓練データに大量のストレージを提供するために用いられる。中間訓練データのデータ量の増加に伴って、中間訓練データのストレージニーズを満たすために、クラウドストレージはストレージ容量を動的に拡大することができ、可視化サービスの増加に後続の保障を提供する。
【0033】
選択的に、クラウドストレージは、データブロックレベル(data block-level)のクラウドストレージ、ファイルレベル(file-level)のクラウドストレージ、オブジェクトレベル(object-level)のクラウドストレージ及び/又は他の形式のクラウドストレージであることができる。
【0034】
ユーザー機器は、予め設定されたアプリケーションソフトウェアを介してクラウドサーバーと通信することができ、予め設定されたネットワークアドレスを介してクラウドサーバーと通信することもできる。
【0035】
選択的に、ユーザー機器は通信機能を有する各種類のハンドヘルド機器、車載機器、ウェアラブル機器、計算装置、又は無線モデムと接続する他のプロセスデバイス、及び各種類のユーザー機器(User Equipment,UE)、移動ステーション(Mobile Station,MS)、端末装置(terminal device)などを含むことができる。
【0036】
図2を参照すると、
図2は、本発明の実施形態に係る可視化方法を示すフローチャートである。可視化方法は上記ユーザー機器とクラウドサーバーに適用され、具体的に、以下のステップを含む。
【0037】
ステップ201:ユーザー機器はクラウドサーバーに可視化要請を送信する。可視化要請は目標深層学習モデルの目標訓練データの可視化を要請するために用いられる。
【0038】
ステップ202:クラウドサーバーはユーザー機器から可視化要請を受信する。可視化要請は目標深層学習モデルの目標訓練データの可視化を要請するために用いられる。
【0039】
一つの可能な実施形態において、可視化要請は目標深層学習モデルの訓練タスク識別を有する。クラウドサーバーは当該可視化要請を受信した後に、目標深層学習モデルの訓練タスク識別に基づいて、当該訓練タスクの関連訓練データを取得することができる。例示として、格納された各深層学習モデルの訓練タスクの関連訓練データと深層学習モデルの訓練タスク識別を関連させることができる。例えば、訓練タスクに基づいて訓練データを格納し、異なる訓練タスクの関連訓練データは異なる位置に格納される。もう一つの例を挙げると、深層学習モデル又はデータ型に基づいて訓練データを格納することができる。
【0040】
データ型は2次元ヒートマップ(two-dimensional(2D) heat map)、三位直方図(three-dimensional(3D) histogram)、特徴マップ(feature map)、呼び出しシーケンス線図(invoking sequence diagram)、スカラー線グラフ(scalar line graph)、有向非巡回グラフ(directed acyclic graph、DAG)などであることができる。
【0041】
異なるデータ型は異なる可視化アイコンに対応する。
【0042】
訓練タスクはスーパーコンピューティングクラスターの上に位置する。スーパーコンピューティングクラスターの中央処理装置を利用することで、深層学習モデルの訓練を加速することができる。
【0043】
この場合、選択的に、訓練データと訓練データに対応する訓練タスクのタスク識別を関連させて格納することができるが、本発明の実施形態では、これに限定されない。
【0044】
一つの可能な実施形態において、可視化要請は目標深層学習モデルの訓練タスク識別と目標訓練データの索引情報を有する。当該索引情報は当該目標訓練データを検索することによって、当該目標訓練データの格納位置を確定するために用いられる。当該索引情報は様々な方法に実装されてもよい。例えば、索引情報はデータ作成時間、データ型、データラベルなどの任意の一つ又は複数を含むことができる。もう一つの例を挙げると、索引情報はデータ型とデータラベルを含む。
【0045】
同じデータ型は複数のデータラベルを有することができる。データラベルは自己定義されたものであることができる。
【0046】
例えば、データ型はスカラー線グラフである場合、データラベルは厳密値であることができ、ロス値などであることもできる。
【0047】
可視化要請は、訓練タスク識別と索引情報に基づいて、索引情報に対応する中間データセットから全てのデータへのサンプリング、又は中間データセットにおけるデータへのランダムサンプリングを要請することができる。
【0048】
目標深層学習モデルは少なくとも一つのディープニューラルネットワーク(deep neural network)を含む。目標訓練データは目標深層学習モデルにおける一つのディープニューラルネットワークによって生成された中間データであることができ、目標深層学習モデルにおける複数のディープニューラルネットワークによって生成された中間データであることもできる。
【0049】
選択的に、可視化要請は、第一期間内に目標深層学習モデルによって生成された中間データの可視化を要請することができる。第一期間の長さは3min、5min、9min及び15minなど他の値であることができる。第一期間の終了時点は現時点であることができ、現時点より早くてもよく、現時点より遅くてもいい。
【0050】
目標訓練データはクラウドストレージに格納される。
【0051】
一つの可能な実施形態において、目標訓練データは、モデル性能変化傾向情報、モデルロス傾向情報、モデルパラメータの分布情報、モデル処理の中間結果、モデル構造情報、モデル訓練の現在の進捗情報、同じモデルの異なる訓練の比較情報、複数のプロセスのスケジューリング時間情報のうちの少なくとも一つを含む。
【0052】
一つの可能な実施形態において、目標訓練データはモデル性能変化傾向情報、モデルロス傾向情報、モデル訓練の現在の進捗情報及び同じモデルの異なる訓練の比較情報のうちの少なくとも一つである場合、可視化情報の種類はスカラー線グラフである。
【0053】
目標訓練データはモデル性能変化傾向情報である場合、スカラー線グラフに基づいて、性能変化傾向が第一予め設定された条件を満たすかどうかを確定することができる。第一予め設定された条件を満す場合、モデル訓練が停止する。第一予め設定された条件を満さない場合、モデル訓練が続く。
【0054】
目標訓練データはモデルロス傾向情報である場合、スカラー線グラフに基づいて、ロス傾向が第二予め設定された条件を満たすかどうかを確定することができる。第二予め設定された条件を満す場合、モデル訓練が停止する。第二予め設定された条件を満さない場合、モデル訓練が続く。
【0055】
目標訓練データはモデル訓練の現在の進捗情報である場合、スカラー線グラフに基づいて、訓練進捗が予め設定された進捗を満たすかどうかを確定することができる。予め設定された進捗を満す場合、モデル訓練が続く。予め設定された進捗を満さない場合、モデル訓練が停止する。
【0056】
目標訓練データは同じモデルの異なる訓練の比較情報である場合、スカラー線グラフに基づいて、異なる訓練から抽出された特徴が同じであるかどうかを確定することができる。特徴が同じである場合、モデル訓練が続く。特徴が異なる場合、モデル訓練が停止する。
【0057】
目標訓練データはモデルパラメータの分布情報である場合、可視化情報の種類は3次元ヒストグラムである。3次元ヒストグラムに基づいて、モデルパラメータの分布が異常であるかどうかを確定することができる。モデルパラメータの分布が異常である場合、モデル訓練が停止する。
【0058】
目標訓練データはモデル処理の中間結果である場合、可視化情報の種類は特徴マップである。特徴マップに基づいて、モデルにより抽出された特徴が正確であるかどうかを確定することができる。抽出された特徴が不正確である場合、モデルは再構築される。
【0059】
目標訓練データはモデル構造情報である場合、可視化情報の種類は有向非巡回グラフである。有向非巡回グラフに基づいて、モデルの構造が正確であるかどうかを確定することができる。モデルの構造が不正確である場合、モデルの構造は再構築される。
【0060】
有向非巡回グラフがサポートする深層学習モデルのアーキテクチャは、オープンニューラルネットワークイクスチェインジ(Open Neural Network Exchange、ONNX)などのような標準アーキテクチャであることができ、他の種類のアーキテクチャであることもできる。ONNXは有向非巡回グラフを取得するには、中間訓練データに対してデータ処理を行う必要がない。しかしながら、一部のアーキテクチャは有向非巡回グラフを取得するには、中間訓練データに対して前処理を行う必要がある。
【0061】
目標訓練データは複数のプロセスのスケジューリング時間情報である場合、可視化情報の種類は複数のプロセスの呼び出しシーケンス線図である。呼び出しシーケンス線図に基づいて、各演算子の消費時間を確定することができる。演算子の消費時間が予め設定された時間より長い場合、消費時間が予め設定された時間より長い演算子を最適化する。
【0062】
目標訓練データはモデル処理の中間結果である場合、可視化情報の種類は2次元ヒートマップである。2次元ヒートマップに基づいて、モデルにより抽出された特徴が正確であるかどうかを確定することができる。抽出された特徴が不正確である場合、モデルは再構築される。
【0063】
特徴マップと2次元ヒートマップは、目標訓練データがモデル処理の中間結果である場合の異なる表現形式である。
【0064】
目標訓練データの種類は、スカラー、ベクトル、画像、ビデオ、オーディオのうちの少なくとも一つを含む。
【0065】
ステップ203:クラウドサーバーは可視化要請に対応する目標訓練データを取得する。
【0066】
一つの可能な実施形態において、可視化要請に対応する目標訓練データを取得することは、
可視化要請が有する訓練タスク識別と索引情報に基づいて索引データベースを検索することによって、目標訓練データの格納位置情報を取得することと、
目標訓練データの格納位置情報に基づいて、クラウドストレージに格納される目標訓練データを取得することとを含む。
【0067】
訓練タスク識別と索引情報に基づいて中間訓練データのリストを取得する。中間訓練データのリストに基づいてクラウドストレージから中間訓練データを取得する。
【0068】
選択的に、可視化要請は目標深層学習モデルの目標訓練データの識別情報を有する。識別情報は、クラウドサーバーがクラウドストレージから目標訓練データを取得するために用いられる。識別情報はクラウドストレージにおいて予め設定され且つユニーク(唯一のもの)である。
【0069】
例えば、目標深層学習モデルの訓練タスクは訓練タスクAと訓練タスクBを含む。訓練タスクAが生成した訓練データは訓練データA1と訓練データA2を含む。訓練タスクBが生成した訓練データは訓練データB1と訓練データB2を含む。訓練データA1、訓練データA2、訓練データB1と訓練データB2はいずれもクラウドプラットフォームに格納されている。訓練データA1の識別情報は1であり、訓練データA2の識別情報は2であり、訓練データB1の識別情報は3であり、訓練データB2の識別情報は4である。識別情報は1である場合、クラウドサーバーがクラウドストレージから取得した目標訓練データは訓練データA1である。識別情報は2である場合、クラウドサーバーがクラウドストレージから取得した目標訓練データは訓練データA2である。識別情報は3である場合、クラウドサーバーがクラウドストレージから取得した目標訓練データは訓練データB1である。識別情報は4である場合、クラウドサーバーがクラウドストレージから取得した目標訓練データは訓練データB2である。
【0070】
ステップ204:クラウドサーバーは目標訓練データに対して前処理を行って可視化情報を取得する。
【0071】
ステップ205:クラウドサーバーはユーザー機器に可視化応答を送信する。可視化応答は可視化情報を有する。
【0072】
ステップ206:ユーザー機器はクラウドサーバーが送信する可視化応答を受信する。可視化応答は目標訓練データの可視化情報を有する。
【0073】
ステップ207:ユーザー機器は可視化情報を表示する。
【0074】
一つの可能な実施形態において、可視化情報は、有向非巡回グラフ、3次元ヒストグラム、複数のプロセスの呼び出しシーケンス線図、特徴マップ、2次元ヒートマップ及びスカラー線グラフのうちの少なくとも一つを含む。
【0075】
選択的に、可視化情報の種類は有向非巡回グラフである場合、可視化情報は、目標深層学習モデルの少なくとも一部のトポロジー情報と、目標深層学習モデルに含まれる少なくとも一つの演算子における各演算子のリソース占用情報とを含む。目標深層学習モデルの少なくとも一部は、目標深層学習モデルの複数のモジュール及び/又は複数の演算子を含む。
【0076】
選択的に、複数のモジュールのトポロジー情報は、複数のモジュールの識別情報、複数のモジュールの間の依存関係、複数のモジュールの各々のデータ量、複数のモジュールの各々に含まれる少なくとも一つの演算子の情報のうちの少なくとも一つを含む。
【0077】
モジュールの識別情報はユニーク(唯一のもの)であり且つ予め設定されたものであってよい。
【0078】
選択的に、演算子の情報は演算子の識別情報、演算子の間の依存関係、演算子のデータ量のうちの少なくとも一つを含む。
【0079】
依存関係は順次関係、並行関係であることができる。
【0080】
選択的に、リソース占用情報は演算子のデータ型、演算子の入力データ情報、演算子の出力データ情報のうちの少なくとも一つに基づいて、クラウドサーバーによって確定される。
【0081】
演算子の入力は画像、ビデオ、オーディオ、スカラー、ベクトルなどであることができる。異なる入力は異なる次元に対応する。例えば、画像は一つの2次元のマトリクスに相当し、オーディオは一つの1次元のマトリクスに相当する。
【0082】
演算子によって計算された後に、演算子の入力情報の次元が変化する。
【0083】
演算子のデータ型は倍精度型であることができ、単精度型であることもできる。
【0084】
演算子は畳み込み(convolution)、バッチノルム(Batch Norm、BN)、フルコネクション(full connection)、プール(pooling)、マトリクス乗除(matrix multiplication and division)、ドロップアウト(DropOut)、活性化(activation)などのうちの少なくとも一つであることができる。
【0085】
入力データ情報は入力データ量であることができ、出力データ情報は出力データ量であることができる。
【0086】
選択的に、可視化情報の種類はスカラー線グラフである場合、可視化情報は目標深層モデルの性能変化傾向情報、目標深層モデルのロス傾向情報、目標深層学習モデルの訓練進捗情報及び目標深層学習モデルにおける異なる訓練の比較情報のうちの少なくとも一つを含む。
【0087】
選択的に、可視化情報の種類は特徴マップ又は2次元ヒートマップである場合、可視化情報は目標深層学習モデルにより抽出された特徴を含む。
【0088】
選択的に、可視化情報の種類は3次元ヒストグラムである場合、可視化情報は各演算子のパラメータ分布を含む。
【0089】
選択的に、可視化情報の種類は複数のプロセスの呼び出しシーケンス線図である場合、可視化情報は、少なくとも一つのプロセスの各プロセスにおける各演算子の実行期間を含む。
【0090】
選択的に、プロセスは、インタプリタ型言語プロセス(interpretive language process)、ローカルプロセス(local process)、人工知能チッププロセス(artificial intelligence(AI) chip process)のうちの少なくとも一つであることができる。
【0091】
インタプリタ型言語プロセス、ローカルプロセス、人工知能チッププロセスは時間に基づいて、呼び出しシーケンス線図を交代で実行する。
【0092】
本発明の実施形態において、ユーザー機器は、まずクラウドサーバーに可視化要請を送信して、次に、クラウドサーバーが送信する可視化応答を受信する。可視化応答は目標訓練データの可視化情報を有する。最後に、可視化情報を表示する。目標訓練データの可視化情報に基づいて、深層学習モデルの訓練状態を直観的に理解することができる。これによって、現在の訓練戦略の実行可能性を適時に判断し、早期中止などの決定に拠り所を提供することに役に立つ。
【0093】
本発明の一つの実施形態において、可視化情報を表示することは、折畳み表示モード(folded display mode)又は非折畳み表示モード(unfolded display mode)で可視化情報を表示することを含む。
折畳み表示モードでは、目標深層学習モデルにおけるモジュールを最小表示ユニットとする。モジュールは少なくとも一つの演算子を含む。及び/又は、
非折畳み表示モードでは、目標深層学習モデルにおける演算子を最小表示ユニットとする。
【0094】
可視化情報の種類は有向非巡回グラフである場合、折畳み表示モードで可視化情報を表示することができ、非折畳み表示モードで可視化情報を表示することもできる。可視化情報の種類は有向非巡回グラフではない場合、非折畳み表示モードで可視化情報を表示する。
【0095】
非折畳み表示モードでは、モジュールは演算命令を受信した後に、モジュールにおける演算子を表示することができる。
【0096】
可視化情報の種類は3次元ヒストグラムである場合、非折畳み表示モードでは、各モジュールにおける各演算子のパラメータ分布を直接に表示することができる。
【0097】
可視化情報の種類は呼び出しシーケンス線図である場合、非折畳み表示モードでは、少なくとも一つのプロセスにおける各モジュールの各演算子の実行期間を直接に表示することができる。
【0098】
例えば、可視化情報の種類は有向非巡回グラフであり、目標深層学習モデルは2つのモジュール(モジュールAとモジュールB)を含み、モジュールAは3つの演算子(A1、A2及びA3)を含み、モデルBは2つの演算子(B1とB2)を含むと仮定する。折畳み表示モードで可視化情報を表示する場合、モジュールAとモジュールBが表示される。非折畳み表示モードで可視化情報を表示する場合、モジュールAが演算命令を受信した後に、モジュールAにおける演算子A1、A2及びA3が表示され、モジュールBが演算命令を受信した後に、モジュールBにおける演算子B1とB2が表示される。
【0099】
例えば、可視化情報の種類は3次元ヒストグラムであり、目標深層学習モデルは2つのモジュール(モジュールAとモジュールB)を含み、モジュールAは3つの演算子(A1、A2及びA3)を含み、モデルBは2つの演算子(B1とB2)を含み、モジュールAは3次元ヒストグラム1に対応し、モジュールBは3次元ヒストグラムBに対応すると仮定すると、3次元ヒストグラム1はA1のパラメータ分布、A2のパラメータ分布及びA3のパラメータ分布を含み、3次元ヒストグラム2はB1のパラメータ分布とB2のパラメータ分布を含む。
【0100】
例えば、可視化情報の種類は呼び出しシーケンス線図であり、目標深層学習モデルは2つのモジュール(モジュールAとモジュールB)と2つのプロセス(プロセスC1とC2)を含み、モジュールAは2つの演算子(A1とA2)を含み、モデルBは2つの演算子(B1とB2)を含み、モジュールAは呼び出しシーケンス線
図1に対応し、モジュールBは呼び出しシーケンス線
図Bに対応すると仮定すると、呼び出しシーケンス線
図1はプロセスC1におけるA1の実行期間、プロセスC2におけるA1の実行期間を含み、プロセスC1におけるA2の実行期間、プロセスC2におけるA2の実行期間を含み、呼び出しシーケンス線
図2はプロセスC1におけるB1の実行期間、プロセスC2におけるB1の実行期間を含み、プロセスC1におけるB2の実行期間、プロセスC2におけるB2の実行期間を含む。
【0101】
選択的に、可視化情報の表示モードは予めに設定されることができる。まず折畳み表示モードで可視化情報を表示して、第一期間後に、非折畳み表示モードで可視化情報を表示することができる。第一期間は予め設定されたものであることができる。
【0102】
選択的に、可視化情報の種類はスカラー線グラフである場合、線グラフは多重線であることができる。演算命令が受信された後に、線グラフは縮小拡大する又は平行移動することができる。非折畳み表示モードでは、スカラー線グラフは、目標深層モデル性能変化傾向、目標深層モデルロス傾向、目標深層学習モデルの訓練進捗及び目標深層学習モデルの異なる訓練から抽出された特徴のうちの少なくとも一つを直接に表示することができる。
【0103】
選択的に、可視化情報の種類は特徴マップ又は2次元ヒートマップである場合、非折畳み表示モードでは、目標深層学習モデルにより抽出された特徴を直接に表示することができる。
【0104】
2次元ヒートマップにおいて、よりレベルの高いヒートほど、特徴である確率がより高いことを示す。
【0105】
本発明の実施形態において、ユーザー機器が異なる方式で可視化情報を表示することは、ユーザー機器の適用範囲を拡大することに役に立つ。
【0106】
本発明の一つの実施形態において、クラウドサーバーに可視化要請を送信する前に、上記方法は以下の内容をさらに含む。
データアップロードスレッドを介して、クラウドサーバーに目標深層学習モデルの中間訓練データを送信する。中間訓練データは、クラウドサーバーが目標訓練データの索引情報と訓練タスク識別を取得するために用いられる。訓練タスク識別に基づいて索引情報をデータベースに格納する。索引情報に基づいて目標訓練データをクラウドストレージに格納する。
【0107】
データアップロードスレッドは新しく開始したスレッドである。
【0108】
訓練タスク識別はユニーク(唯一のもの)である。訓練タスク識別は中間訓練データが生成された後に確定されることができ、訓練を始める時点で確定されることもできる。
【0109】
中間訓練データは目標訓練データ、訓練タスク識別及び索引情報を含む。
【0110】
選択的に、データアップロードスレッドを介して、クラウドサーバーに目標深層学習モデルの中間訓練データを送信する。中間訓練データは、クラウドサーバーが目標訓練データの識別情報を取得するために用いられる。識別情報をデータベースに格納する。識別情報に基づいて目標訓練データをクラウドストレージに格納する。
【0111】
識別情報はユニーク(唯一のもの)である。
【0112】
選択的に、データアップロードスレッドを介して、クラウドサーバーに目標深層学習モデルの中間訓練データを送信する前に、上記方法は以下の内容をさらに含む。
中間訓練データにおける目標訓練データのデータ量を確定する。
上記データ量が予め設定されたデータ量より大きい場合、訓練タスク識別と目標訓練データの索引情報を確定する。また、訓練タスク情報と目標訓練データの索引情報を中間訓練データに載せる。
上記データ量が予め設定されたデータ量より小さい場合、目標訓練データの識別情報を確定する。識別情報は中間訓練データに載せられている。
【0113】
選択的に、クラウドサーバーが識別情報を受信する場合、識別情報をデータベースの第一バッファーエリアに格納し、また、識別情報に基づいて目標訓練データをデータベースの第二バッファーエリアに格納することができる。
【0114】
本発明の実施形態において、クラウドサーバーを介して目標データをクラウドストレージに格納することによって、クラウドサーバーが可視化要請を受信した後に目標訓練データを素早く取得することができる。
【0115】
本発明の一つの実施形態において、目標訓練データに対して前処理を行って可視化情報を取得することは、目標訓練データに対して少なくとも一つの前処理を行って、前処理されたデータを取得することと、前処理されたデータをレンダーリングして、可視化情報を取得することとを含む。
【0116】
目標訓練データのデータ型は画像又はビデオである場合、画像又はビデオへの前処理は、インセンシティブエリア除去(insensitive area rejection)処理、画像精度の向上(image accuracy enhancement)処理、画像ノイズ除去(image noise reduction)処理、及び画像2値化(image binarization)処理のうちの一つ又は複数を含む。
【0117】
目標訓練データのデータ型はテキストである場合、テキストへの前処理は、ドキュメント分割(document segmentation)処理、テキスト単語分割(text word segmentation)処理、ストップワード(句読点、数字、単語と他の無意味なワードを含む)除去(deactivated word removal)処理、テキスト特徴抽出(text feature extraction)処理、語彙頻度統計(word frequency statistics)処理、及びテキストベクトル化(text vectorization)処理のうちの一つ又は複数を含む。
【0118】
可視化レンダーリングは、前処理されたデータをハイパーテキストマークアップ言語(Hypertext Markup Language、HTML)に組み立てるためのものである。
【0119】
前処理を介して取得された可視化情報の種類は有向非巡回グラフではない。
【0120】
本発明の実施形態において、目標訓練データに対して前処理を行って前処理されたデータを取得して、前処理されたデータに対してレンダーリングをして可視化情報を取得することは、可視化情報に基づいて目標深層学習モデルを分析することに役に立つ。
【0121】
本発明の一つの実施形態において、目標訓練データに対して前処理を行って可視化情報を取得することは、目標深層学習モデルの訓練タスクは目標フレームワークのもとで実行される場合、2分木を介して目標訓練データを解析して、可視化情報を取得することを含む。
【0122】
2分木を介して目標訓練データに対して処理を行う目標深層学習モデルの種類はパロトゥ(parrots)である。
【0123】
2分木を介して目標訓練データを解析して取得された可視化情報の種類は有向非巡回グラフである。
【0124】
本発明の実施形態において、目標訓練データを解析して可視化情報を取得することは、可視化情報に基づいて目標深層学習モデルを分析することに役に立つ。
【0125】
図3を参照すると、
図3は、本発明の実施形態に係るコンピュータデバイスの構造を示す概略図である。
図3に示されたように、当該コンピュータデバイスはプロセッサ、メモリ、通信インターフェース、及び一つ又は複数のプログラムを含む。一つ又は複数のプログラムはメモリに格納され、且つプロセッサによって実行されるように構成された。
【0126】
一つの実施形態において、コンピュータデバイスはユーザー機器である。上記プログラムは以下の操作を実行するように構成された命令を含む。
クラウドサーバーに可視化要請を送信する。可視化要請は目標深層学習モデルの目標訓練データの可視化を要請するために用いられる。
クラウドサーバーが送信する可視化応答を受信する。可視化応答は目標訓練データの可視化情報を有する。
可視化情報を表示する。
【0127】
選択的に、可視化情報は、有向非巡回グラフ、3次元ヒストグラム、複数のプロセスの呼び出しシーケンス線図、特徴マップ、2次元ヒートマップ及びスカラー線グラフのうちの少なくとも一つを含む。及び/又は、
目標訓練データは、モデル性能変化傾向情報、モデルロス傾向情報、モデルパラメータの分布情報、モデル処理の中間結果、モデル構造情報、モデル訓練の現在の進捗情報、同じモデルの異なる訓練の比較情報、複数のプロセスのスケジューリング時間情報のうちの少なくとも一つを含む。
【0128】
選択的に、可視化情報は、目標深層学習モデルの少なくとも一部のトポロジー情報と、目標深層学習モデルに含まれる少なくとも一つの演算子における各演算子のリソース占用情報のうちの少なくとも一つの情報を含む。
目標深層学習モデルの少なくとも一部は、目標深層学習モデルの複数のモジュール及び/又は複数の演算子を含む。
【0129】
選択的に、複数のモジュールのトポロジー情報は、複数のモジュールの識別情報、複数のモジュールの間の依存関係、複数のモジュールの各々のデータ量、複数のモジュールの各々に含まれる少なくとも一つの演算子の情報のうちの少なくとも一つを含む。
【0130】
選択的に、リソース占用情報は、演算子のデータ型、演算子の入力データ情報、演算子の出力データ情報のうちの少なくとも一つに基づいて、クラウドサーバーによって確定される。
【0131】
選択的に、可視化要請は、目標深層学習モデルの訓練タスク識別と目標訓練データの索引情報を有する。索引情報はデータ型とデータラベルを含む。
【0132】
選択的に、可視化情報を表示することについて、上記プログラムは以下の操作を実行するように構成された命令を含む。
本発明の一つの実施形態において、異なるモードで可視化データを表示することができる。いくつかの実施形態において、折畳み表示モード又は非折畳み表示モードで可視化情報を表示することができる。又は、他の表示モードを定義することもできるが、本発明の実施形態では、これらに限定されない。
【0133】
いくつかの実施形態において、折畳み表示モードでは、目標深層学習モデルにおけるモジュールを最小表示ユニットとする。モジュールは少なくとも一つの演算子を含む。ここのモジュールはデフォルト(default)の分割方式で分割されてもよく、又はユーザーによって設定されてもよいが、本発明の実施形態では、これらに限定されない。
【0134】
いくつかの実施形態において、非折畳み表示モードでは、目標深層学習モデルにおける演算子を最小表示ユニットとする。この場合、モデルにおける全ての演算子の情報を表示することができる。
【0135】
いくつかの実施形態において、混合した表示モードで表示することができる。即ち、一部のモジュールは折畳み表示モードで表示され、他のモジュールは非折畳み表示モードで表示される。選択的に、ユーザー設定に基づいて表示されることができるが、本発明の実施形態では、これに限定されない。
【0136】
選択的に、クラウドサーバーに可視化要請を送信する前に、上記プログラムは以下の操作を実行するように構成された命令を含む。
データアップロードスレッドを介して、クラウドサーバーに目標深層学習モデルの中間訓練データを送信する。中間訓練データは、クラウドサーバーが目標訓練データの索引情報と訓練タスク識別を取得するために用いられる。訓練タスク識別に基づいて索引情報をデータベースに格納する。索引情報に基づいて目標訓練データをクラウドストレージに格納する。
【0137】
別の実施形態において、コンピュータデバイスはクラウドサーバーである。上記プログラムは以下の操作を実行するように構成された命令を含む。
ユーザー機器から可視化要請を受信する。可視化要請は目標深層学習モデルの目標訓練データの可視化を要請するために用いられる。
可視化要請に対応する目標訓練データを取得する。
目標訓練データに対して前処理を行って、可視化情報を取得する。
ユーザー機器に可視化応答を送信する。可視化応答は可視化情報を有する。
【0138】
選択的に、可視化情報は、有向非巡回グラフ、3次元ヒストグラム、複数のプロセスの呼び出しシーケンス線図、特徴マップ、2次元ヒートマップ及びスカラー線グラフのうちの少なくとも一つを含む。及び/又は、
目標訓練データは、モデル性能変化傾向情報、モデルロス傾向情報、モデルパラメータの分布情報、モデル処理の中間結果、モデル構造情報、モデル訓練の現在の進捗情報、同じモデルの異なる訓練の比較情報、複数のプロセスのスケジューリング時間情報のうちの少なくとも一つを含む。
【0139】
選択的に、可視化情報は、目標深層学習モデルの少なくとも一部のトポロジー情報と、目標深層学習モデルに含まれる少なくとも一つの演算子における各演算子のリソース占用情報のうちの少なくとも一つの情報を含む。
目標深層学習モデルの少なくとも一部は、目標深層学習モデルの複数のモジュール及び/又は複数の演算子を含む。
【0140】
選択的に、複数のモジュールのトポロジー情報は、複数のモジュールの識別情報、複数のモジュールの間の依存関係、複数のモジュールの各々のデータ量、複数のモジュールの各々に含まれる少なくとも一つの演算子の情報のうちの少なくとも一つを含む。
【0141】
選択的に、目標訓練データに対して前処理を行って可視化情報を取得することについて、上記プログラムは以下の操作を実行するように構成された命令を含む。
目標深層学習モデルにおける少なくとも一つの演算子のデータ型、演算子の入力データ情報、演算子の出力データ情報のうちの少なくとも一つに基づいて、少なくとも一つの演算子における各演算子のリソース占用情報を確定する。
【0142】
選択的に、可視化要請は、目標深層学習モデルの訓練タスク識別と目標訓練データの索引情報を有する。索引情報はデータ型とデータラベルを含む。
可視化要請に対応する目標訓練データを取得することについて、上記プログラムは以下の操作を実行するように構成された命令を含む。
可視化要請が有する訓練タスク識別と索引情報に基づいて索引データベースを検索することによって、目標訓練データの格納位置情報を取得する。
目標訓練データの格納位置情報に基づいて、クラウドストレージに格納される目標訓練データを取得する。
【0143】
選択的に、目標訓練データに対して前処理を行って可視化情報を取得することについて、上記プログラムは以下の操作を実行するように構成された命令を含む。
目標訓練データに対して少なくとも一つの前処理を行って、前処理されたデータを取得する。
前処理されたデータをレンダーリングして、可視化情報を取得する。
【0144】
選択的に、目標訓練データに対して前処理を行って可視化情報を取得することについて、上記プログラムは以下の操作を実行するように構成された命令を含む。
目標深層学習モデルの訓練タスクは目標フレームワークのもとで実行される場合、2分木を介して目標訓練データを解析して、可視化情報を取得する。
【0145】
本実施形態の具体的な実行プロセスについては、上記方法実施形態に記載された具体的な実行プロセスを参照することができる。ここで繰り返さない。
【0146】
図4を参照すると、
図4は、本発明の実施形態に係る可視化装置の構造を示す概略図である。当該可視化装置はユーザー機器に適用され、当該装置は送信ユニット401、受信ユニット402、及び表示ユニット403を含む。
送信ユニット401はクラウドサーバーに可視化要請を送信するように構成されている。可視化要請は目標深層学習モデルの目標訓練データの可視化を要請するために用いられる。
受信ユニット402はクラウドサーバーが送信する可視化応答を受信するように構成されている。可視化応答は目標訓練データの可視化情報を有する。
表示ユニット403は可視化情報を表示するように構成されている。
【0147】
本発明の一つの実施形態において、可視化情報は、有向非巡回グラフ、3次元ヒストグラム、複数のプロセスの呼び出しシーケンス線図、特徴マップ、2次元ヒートマップ及びスカラー線グラフのうちの少なくとも一つを含む。及び/又は、
目標訓練データは、モデル性能変化傾向情報、モデルロス傾向情報、モデルパラメータの分布情報、モデル処理の中間結果、モデル構造情報、モデル訓練の現在の進捗情報、同じモデルの異なる訓練の比較情報、複数のプロセスのスケジューリング時間情報のうちの少なくとも一つを含む。
【0148】
本発明の一つの実施形態において、可視化情報は、目標深層学習モデルの少なくとも一部のトポロジー情報と、目標深層学習モデルに含まれる少なくとも一つの演算子における各演算子のリソース占用情報のうちの少なくとも一つの情報を含む。
目標深層学習モデルの少なくとも一部は、目標深層学習モデルの複数のモジュール及び/又は複数の演算子を含む。
【0149】
本発明の一つの実施形態において、複数のモジュールのトポロジー情報は、複数のモジュールの識別情報、複数のモジュールの間の依存関係、複数のモジュールの各々のデータ量、複数のモジュールの各々に含まれる少なくとも一つの演算子の情報のうちの少なくとも一つを含む。
【0150】
本発明の一つの実施形態において、リソース占用情報は、演算子のデータ型、演算子の入力データ情報、演算子の出力データ情報のうちの少なくとも一つに基づいて、クラウドサーバーによって確定される。
【0151】
本発明の一つの実施形態において、可視化要請は、目標深層学習モデルの訓練タスク識別と目標訓練データの索引情報を有する。索引情報はデータ型とデータラベルを含む。
【0152】
本発明の一つの実施形態において、可視化情報を表示することについて、上記表示ユニット403は、折畳み表示モード又は非折畳み表示モードで可視化情報を表示するように構成されている。
折畳み表示モードでは、目標深層学習モデルにおけるモジュールを最小表示ユニットとする。モジュールは少なくとも一つの演算子を含む。
及び/又は、非折畳み表示モードでは、目標深層学習モデルにおける演算子を最小表示ユニットとする。
【0153】
本発明の一つの実施形態において、上記送信ユニット401はさらに、クラウドサーバーに可視化要請を送信する前に、データアップロードスレッドを介してクラウドサーバーに目標深層学習モデルの中間訓練データを送信するように構成されている。中間訓練データは、クラウドサーバーが目標訓練データの索引情報と訓練タスク識別を取得するために用いられる。
上記装置は、データ記憶ユニット404をさらに含む。データ記憶ユニット404は、訓練タスク識別に基づいて索引情報をデータベースに格納し、索引情報に基づいて目標訓練データをクラウドストレージに格納するように構成されている。
【0154】
送信ユニット401、受信ユニット402は通信インターフェースによって実装されることができる。表示ユニット403は表示画面によって実装されることができる。データ記憶ユニット404はプロセッサによって実装されることができる。
【0155】
図5を参照すると、
図5は、本発明の実施形態に係る他の可視化装置の構造を示す概略図である。当該可視化装置はクラウドサーバーに適用され、当該装置は受信ユニット501、取得ユニット502、確定ユニット503、及び送信ユニット504を含む。
受信ユニット501はユーザー機器から可視化要請を受信するように構成されている。可視化要請は目標深層学習モデルの目標訓練データの可視化を要請するために用いられる。
取得ユニット502は可視化要請に対応する目標訓練データを取得するように構成されている。
確定ユニット503は目標訓練データに対して前処理を行って可視化情報を取得するように構成されている。
送信ユニット504はユーザー機器に可視化応答を送信するように構成されている。可視化応答は可視化情報を有する。
【0156】
本発明の一つの実施形態において、可視化情報は、有向非巡回グラフ、3次元ヒストグラム、複数のプロセスの呼び出しシーケンス線図、特徴マップ、2次元ヒートマップ及びスカラー線グラフのうちの少なくとも一つを含む。及び/又は、
目標訓練データは、モデル性能変化傾向情報、モデルロス傾向情報、モデルパラメータの分布情報、モデル処理の中間結果、モデル構造情報、モデル訓練の現在の進捗情報、同じモデルの異なる訓練の比較情報、複数のプロセスのスケジューリング時間情報のうちの少なくとも一つを含む。
【0157】
本発明の一つの実施形態において、可視化情報は、目標深層学習モデルの少なくとも一部のトポロジー情報と、目標深層学習モデルに含まれる少なくとも一つの演算子における各演算子のリソース占用情報のうちの少なくとも一つの情報を含む。
目標深層学習モデルの少なくとも一部は、目標深層学習モデルの複数のモジュール及び/又は複数の演算子を含む。
【0158】
本発明の一つの実施形態において、複数のモジュールのトポロジー情報は、複数のモジュールの識別情報、複数のモジュールの間の依存関係、複数のモジュールの各々のデータ量、複数のモジュールの各々に含まれる少なくとも一つの演算子の情報のうちの少なくとも一つを含む。
【0159】
本発明の一つの実施形態において、目標訓練データに対して前処理を行って可視化情報を取得することについて、上記プログラムは以下の操作を実行するように構成された命令を含む。
目標深層学習モデルにおける少なくとも一つの演算子のデータ型、演算子の入力データ情報、演算子の出力データ情報のうちの少なくとも一つに基づいて、少なくとも一つの演算子における各演算子のリソース占用情報を確定する。
【0160】
本発明の一つの実施形態において、可視化要請は、目標深層学習モデルの訓練タスク識別と目標訓練データの索引情報を有する。索引情報はデータ型とデータラベルを含む。
可視化要請に対応する目標訓練データを取得することについて、上記取得ユニット502は、
可視化要請が有する訓練タスク識別と索引情報に基づいて索引データベースを検索することによって、目標訓練データの格納位置情報を取得するように構成されており、
目標訓練データの格納位置情報に基づいて、クラウドストレージに格納される目標訓練データを取得するように構成されている。
【0161】
本発明の一つの実施形態において、目標訓練データに対して前処理を行って可視化情報を取得することについて、上記確定ユニット503は、
目標訓練データに対して少なくとも一つの前処理を行って、前処理されたデータを取得するように構成されており、
前処理されたデータをレンダーリングして、可視化情報を取得するように構成されている。
【0162】
本発明の一つの実施形態において、目標訓練データに対して前処理を行って可視化情報を取得することについて、上記確定ユニット503は、
目標深層学習モデルの訓練タスクは目標フレームワークのもとで実行される場合、2分木を介して目標訓練データを解析して、可視化情報を取得するように構成されている。
【0163】
受信ユニット501と送信ユニット504は通信インターフェースによって実装されることができる。取得ユニット502と確定ユニット503はプロセッサによって実装されることができる。
【0164】
本発明の実施形態は、コンピュータ可読記憶媒体をさらに提供する。当該コンピュータ可読記憶媒体は、電子データ交換(electronic data interchange、EDI)のために用いられるコンピュータプログラムを格納する。コンピュータプログラムはコンピュータに、上記した方法実施形態における電子デバイス又はクラウドサーバーによって実行されるステップの一部又は全部を実行させる。
【0165】
本発明の実施形態は、コンピュータプログラム製品をさらに提供する。コンピュータプログラム製品は、コンピュータプログラムを格納する非一時的なコンピュータ可読記憶媒体を含む。コンピュータプログラムが実行されると、コンピュータに上記した方法実施形態における電子デバイス又はクラウドサーバーによって実行されるステップの一部又は全部を実行させる。当該コンピュータプログラム製品はソフトウェアインストールパッケージであることができる。
【0166】
本発明の実施形態に記載された方法又はアルゴリズムのステップは、ハードウェアの形式によって実現することができるか、プロセッサがソフトウェア命令を実行する形式によって実現することができる。ソフトウェア命令は、対応するソフトウェアモジュールによって組み合わせられることができる。ソフトウェアモジュールは、ランダムアクセスメモリ(Random Access Memory、RAM)、フラッシュメモリ、読み取り専用メモリ(Read Only Memory、ROM)、消却・プログラム可能型読取専用メモリ(Erasable Programmable ROM、EPROM)、電気的消却・プログラム可能型読取専用メモリ(Electrically EPROM、EEPROM)、レジスタ、ハードディスク、モバイルハードディスク、コンパクトディスク(compact disc、CD)-ROM又は本技術分野の公知の他の任意の記憶媒体に格納されることができる。一つ例示的な記憶媒体がプロセッサに結合されることにより、プロセッサは、当該記憶媒体から情報を読み取り、且つ当該記憶媒体に情報を書き込むことができる。もちろん、記憶媒体はプロセッサの構成の一部であることもできる。プロセッサと記憶媒体はASICに位置することができる。また、当該ASICは、アクセスネットワークデバイス(access network device)、目標ネットワークデバイス(target network device)又はコアネットワークデバイス(core network device)に位置することができる。もちろん、プロセッサと記憶媒体はディスクリートコンポーネント(discrete components)としてアクセスネットワークデバイス、目標ネットワークデバイス、コアネットワークデバイスに位置することもできる。
【0167】
当業者は以下の内容を認識することができるべきである。一つ又は複数の実施形態において、本発明の実施形態に記載された機能の全部又は一部はソフトウェア、ハードウェア、ファームウェア、又はそれらの任意の組み合わせによって実現されることができる。ソフトウェアによって実現される場合、上記した機能の全部又は一部は、コンピュータプログラム製品の形式で実現されることができる。コンピュータプログラム製品は、一つ又は複数のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータにロードされて実行されるとき、本発明の実施形態で説明されるプロセス又は機能の全部又は一部が実行される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク又は他のプログラム可能な装置であることができる。コンピュータ命令は、コンピュータ可読記憶媒体に記憶されるか、又は一つのコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に送信されることができる。例えば、コンピュータ命令は、一つのウェブサイト、コンピュータ、サーバー又はデータセンターから有線(例えば、同軸ケーブル、光ファイバー、デジタル加入者線(Digital Subscriber Line、DSL)などである)又は無線(例えば、赤外線、無線、マイクロ波などである)で別のウェブサイト、コンピュータ、サーバー又はデータセンターに送信されることができる。コンピュータ可読記憶媒体は、コンピュータがアクセスできる任意の利用可能な媒体、又は、一つ又は複数の利用可能な媒体が統合されたサーバー、データセンターなどのようなデータ記憶装置であってもよい。使用可能な媒体は、磁気媒体(例えば、ソフトディスク、ハードディスク又は磁気テープである)、光学媒体(例えば、デジタルビデオディスク(Digital Video Disc、DVD)である)、又は半導体媒体(例えば、ソリッドステートディスク(Solid State Disk、SSD)である)などであることができる。
【0168】
上記した具体的な実施形態で、本発明の実施形態の目的、技術方案及び有益な効果をさらに詳細に説明した。上記した内容はただ本発明の実施形態の具体的な実施方式にすぎず、本発明の実施形態の保護範囲を限定するために用いられず、本発明の実施形態の技術方案に基づくいかなる修正、同等の代替、改善は、全て本発明の保護範囲内に含まれるべきであることを理解されるべきである。
【手続補正書】
【提出日】2021-12-03
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0027
【補正方法】変更
【補正の内容】
【0027】
権限管理サービス(即ち権限サービス)は可視化システムの安全性を保障するために用いられる。権限管理サービスの認証に合格した後のみに、可視化システムを使用することができる。この他、共有訓練も権限管理サービスを介して認証を行う。権限管理サービスは統一認証アカウントログイン及び/又は普通の登録という二種類のログイン方式をサポートする。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0039
【補正方法】変更
【補正の内容】
【0039】
一つの可能な実施形態において、可視化要請は目標深層学習モデルの訓練タスク識別を有する。クラウドサーバーは当該可視化要請を受信した後に、目標深層学習モデルの訓練タスク識別に基づいて、当該訓練タスクの関連訓練データを取得することができる。例示として、格納された各深層学習モデルの訓練タスクの関連訓練データと目標深層学習モデルの訓練タスク識別を関連させることができる。例えば、訓練タスクに基づいて訓練データを格納し、異なる訓練タスクの関連訓練データは異なる位置に格納される。もう一つの例を挙げると、深層学習モデル又はデータ型に基づいて訓練データを格納することができる。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0099
【補正方法】変更
【補正の内容】
【0099】
例えば、可視化情報の種類は3次元ヒストグラムであり、目標深層学習モデルは2つのモジュール(モジュールAとモジュールB)を含み、モジュールAは3つの演算子(A1、A2及びA3)を含み、モデルBは2つの演算子(B1とB2)を含み、モジュールAは3次元ヒストグラム1に対応し、モジュールBは3次元ヒストグラム2に対応すると仮定すると、3次元ヒストグラム1はA1のパラメータ分布、A2のパラメータ分布及びA3のパラメータ分布を含み、3次元ヒストグラム2はB1のパラメータ分布とB2のパラメータ分布を含む。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0100
【補正方法】変更
【補正の内容】
【0100】
例えば、可視化情報の種類は呼び出しシーケンス線図であり、目標深層学習モデルは2つのモジュール(モジュールAとモジュールB)と2つのプロセス(プロセスC1とC2)を含み、モジュールAは2つの演算子(A1とA2)を含み、モデルBは2つの演算子(B1とB2)を含み、モジュールAは呼び出しシーケンス線
図1に対応し、モジュールBは呼び出しシーケンス線図
2に対応すると仮定すると、呼び出しシーケンス線
図1はプロセスC1におけるA1の実行期間、プロセスC2におけるA1の実行期間を含み、プロセスC1におけるA2の実行期間、プロセスC2におけるA2の実行期間を含み、呼び出しシーケンス線
図2はプロセスC1におけるB1の実行期間、プロセスC2におけるB1の実行期間を含み、プロセスC1におけるB2の実行期間、プロセスC2におけるB2の実行期間を含む。
【手続補正5】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項19
【補正方法】変更
【補正の内容】
【請求項19】
コンピュータデバイスであって
、プロセッサ、メモリ、通信インターフェース、及び一つまたは複数のプログラムを含み、
前記一つまたは複数のプログラムは前記メモリに格納され、且つ前記プロセッサによって実行され、前記プログラムは、請求項1~8又は請求項9~16のいずれか一項に記載の方法におけるステップを実行するように構成された命令を含む、
ことを特徴とするコンピュータデバイス。
【国際調査報告】