(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-08-15
(54)【発明の名称】フェデレーションコンピューティングの処理方法、フェデレーションコンピューティングの処理装置、電子機器及び記憶媒体
(51)【国際特許分類】
G06F 9/50 20060101AFI20230807BHJP
【FI】
G06F9/50 150Z
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022581625
(86)(22)【出願日】2021-11-12
(85)【翻訳文提出日】2022-12-28
(86)【国際出願番号】 CN2021130307
(87)【国際公開番号】W WO2022262183
(87)【国際公開日】2022-12-22
(31)【優先権主張番号】202110677839.9
(32)【優先日】2021-06-18
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】512015127
【氏名又は名称】バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド
(74)【代理人】
【識別番号】110000578
【氏名又は名称】名古屋国際弁理士法人
(72)【発明者】
【氏名】ジー シレイ
(72)【発明者】
【氏名】リャオ ユエン
(72)【発明者】
【氏名】ファン ハイピン
(72)【発明者】
【氏名】リュウ ジ
(57)【要約】
本開示は、フェデレーションコンピューティングの処理方法、フェデレーションコンピューティングの処理装置、電子機器および記憶媒体を提供し、人工知能技術分野に関し、特にビッグデータ、クラウドコンピューティング、深層学習技術分野に関する。具体的な実現案としては、実行対象のタスク識別子に基づいて、各パーティから処理対象のメタデータを取得し、各メタデータを分割して、各パーティに対応するn個のデータスライスを取得し、各パーティに対応するn個のデータスライスに基づいて、n個のデータセットを生成し、タスク識別子に対応するn個のデータ処理サービスを呼び出し、各データ処理サービスを用いて各データセットを処理し、各データ処理サービスの処理結果に基づいて、タスク識別子に対応するフェデレーションコンピューティング結果を決定することである。これにより、フェデレーションコンピューティングを行う時、データ並行という方式でフェデレーションラーニングの並行化を実現し、フェデレーションコンピューティングの速度を大幅に向上させ、大規模なデータプライバシーコンピューティングの使用に技術的な実現可能性を提供することができる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
実行対象のタスク識別子に基づいて、各パーティから処理対象のメタデータを取得するステップと、
各前記メタデータを分割して、各パーティに対応するn個のデータスライス(nが1より大きい正の整数)を取得するステップと、
各パーティに対応するn個のデータスライスに基づいて、n個のデータセットを生成するステップと、
前記タスク識別子に対応するn個のデータ処理サービスを呼び出し、各前記データ処理サービスを用いて各前記データセットを処理するステップと、
各前記データ処理サービスの処理結果に基づいて、前記タスク識別子に対応するフェデレーションコンピューティング結果を決定するステップと、を含む、フェデレーションコンピューティングの処理方法。
【請求項2】
各前記メタデータを分割して、各パーティに対応するn個のデータスライスを取得するステップは、
前記実行対象のタスク識別子に基づいて、データ分割モードを決定するステップと、
前記データ分割モードに基づいて、各前記メタデータを分割して、各パーティに対応するn個のデータスライスを取得するステップと、を含む、請求項1に記載のフェデレーションコンピューティングの処理方法。
【請求項3】
各前記データ処理サービスの処理結果に基づいて、前記タスク識別子に対応するフェデレーションコンピューティング結果を決定するステップは、
各前記データ処理サービスから返された処理結果を取得するステップと、
n個の前記処理結果を融合して、融合結果を取得するステップと、
前記タスク識別子に対応するタスクが終了したと決定した場合、前記融合結果を、前記タスク識別子に対応するフェデレーションコンピューティング結果として決定するステップと、を含む、請求項1に記載のフェデレーションコンピューティングの処理方法。
【請求項4】
前記タスク識別子に対応するタスクが終了していないと決定した場合、前記融合結果をn個の前記データ処理サービスに配布し、
前記タスク識別子に対応するタスクが終了したと決定するまで、各前記データ処理サービスにより前記融合結果に基づいて、対応するデータセットを処理し続け、
最新のn個の処理結果に基づいて、前記タスク識別子に対応するフェデレーションコンピューティング結果を決定するステップをさらに含む、請求項3に記載のフェデレーションコンピューティングの処理方法。
【請求項5】
各前記データ処理サービスの処理結果に基づいて、前記タスク識別子に対応するフェデレーションコンピューティング結果を決定するステップは、
いずれか1つのデータ処理サービスから返された融合結果を取得するステップであって、前記融合結果は、前記いずれか1つのデータ処理サービスが各前記データ処理サービスの処理結果を融合して生成されたものであるステップと、
前記タスク識別子に対応するタスクが終了したと決定した場合、前記融合結果を、前記タスク識別子に対応するフェデレーションコンピューティング結果として決定するステップと、
前記タスク識別子に対応するタスクが終了していないと決定した場合、前記融合結果を前記いずれか1つのデータ処理サービスに送信し、
前記タスク識別子に対応するタスクが終了したと決定するまで、各前記データ処理サービスにより前記融合結果に基づいて、対応するデータセットを処理し続け、
最新の融合結果を、前記タスク識別子に対応するフェデレーションコンピューティング結果として決定するステップと、を含む、請求項1に記載のフェデレーションコンピューティングの処理方法。
【請求項6】
前記フェデレーションコンピューティング結果を各個前記パーティに送信するステップさらに含む、請求項1~5のいずれか1項に記載のフェデレーションコンピューティングの処理方法。
【請求項7】
実行対象のタスク識別子に基づいて、各パーティから処理対象のメタデータを取得するように構成される取得モジュールと、
各前記メタデータを分割して、各パーティに対応するn個のデータスライス(nが1より大きい正の整数)を取得するように構成される分割モジュールと、
各パーティに対応するn個のデータスライスに基づいて、n個のデータセットを生成するように構成される生成モジュールと、
前記タスク識別子に対応するn個のデータ処理サービスを呼び出し、各前記データ処理サービスを用いて各前記データセットを処理するように構成される処理モジュールと、
各前記データ処理サービスの処理結果に基づいて、前記タスク識別子に対応するフェデレーションコンピューティング結果を決定するように構成される決定モジュールと、を含む、フェデレーションコンピューティングの処理装置。
【請求項8】
前記分割モジュールは、具体的には、
前記実行対象のタスク識別子に基づいて、データ分割モードを決定し、
前記データ分割モードに基づいて、各前記メタデータを分割して、各パーティに対応するn個のデータスライスを取得するように構成される、請求項7に記載のフェデレーションコンピューティングの処理装置。
【請求項9】
前記決定モジュールは、具体的には、
各前記データ処理サービスから返された処理結果を取得し、
n個の前記処理結果を融合して、融合結果を取得し、
前記タスク識別子に対応するタスクが終了したと決定した場合、前記融合結果を、前記タスク識別子に対応するフェデレーションコンピューティング結果として決定するように構成される、請求項7に記載のフェデレーションコンピューティングの処理装置。
【請求項10】
前記決定モジュールは、さらに、
前記タスク識別子に対応するタスクが終了していないと決定した場合、前記融合結果をn個の前記データ処理サービスに配布し、
前記タスク識別子に対応するタスクが終了したと決定するまで、各前記データ処理サービスにより前記融合結果に基づいて、対応するデータセットを処理し続け、
最新のn個の処理結果に基づいて、前記タスク識別子に対応するフェデレーションコンピューティング結果を決定するように構成される、請求項9に記載のフェデレーションコンピューティングの処理装置。
【請求項11】
前記決定モジュールは、具体的には、
いずれか1つのデータ処理サービスから返された融合結果を取得し、前記融合結果は、前記いずれか1つのデータ処理サービスが各前記データ処理サービスの処理結果を融合して生成されたものであり、
前記タスク識別子に対応するタスクが終了したと決定した場合、前記融合結果を、前記タスク識別子に対応するフェデレーションコンピューティング結果として決定し、
前記タスク識別子に対応するタスクが終了していないと決定した場合、前記融合結果を前記いずれか1つのデータ処理サービスに送信し、
前記タスク識別子に対応するタスクが終了したと決定するまで、各前記データ処理サービスにより前記融合結果に基づいて、対応するデータセットを処理し続け、
最新の融合結果を、前記タスク識別子に対応するフェデレーションコンピューティング結果として決定するように構成される、請求項7に記載のフェデレーションコンピューティングの処理装置。
【請求項12】
前記決定モジュールは、さらに、
前記フェデレーションコンピューティング結果を各個前記パーティに送信するように構成される、請求項7~11のいずれか1項に記載のフェデレーションコンピューティングの処理装置。
【請求項13】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信可能に接続されるメモリと、を含み、
前記メモリには前記少なくとも1つのプロセッサによって実行可能な命令が記憶されており、前記命令が前記少なくとも1つのプロセッサによって実行される場合、前記少なくとも1つのプロセッサが請求項1~6のいずれか1項に記載のフェデレーションコンピューティングの処理方法を実行できる、電子機器。
【請求項14】
コンピュータに請求項1~6のいずれか1項に記載のフェデレーションコンピューティングの処理方法を実行させるためのコンピュータ命令を記憶した、非一時的コンピュータ読み取り可能な記憶媒体。
【請求項15】
プロセッサによって実行される場合、請求項1~6のいずれか1項に記載のフェデレーションコンピューティングの処理方法を実現するコンピュータ命令を含む、コンピュータプログラム製品。
【発明の詳細な説明】
【関連出願の相互引用】
【0001】
本開示は、バイドォオンラインネットワークテクノロジー(ペイジン)カンパニーリミテッドが2021年6月18日に提出し、発明名称が「フェデレーションコンピューティングの処理方法、フェデレーションコンピューティングの処理装置、電子機器及び記憶媒体」で、中国特許出願番号が「202110677839.9」である特許出願の優先権を主張する。
【技術分野】
【0002】
本開示は、人工知能技術分野に関し、具体的にはビッグデータ、クラウドコンピューティング、深層学習技術分野に関し、特にフェデレーションコンピューティングの処理方法、フェデレーションコンピューティングの処理装置、電子機器及び記憶媒体に関する。
【背景技術】
【0003】
フェデレーションコンピューティングとは、マルチパーティコンピューティング(Multi-Party Computation、MPC)、信頼できる実行環境(Trusted Execution Environment、TEE)、フェデレーションラーニング(Federated Learning、FL)などのプライバシーセキュリティテクノロジーを用いて、マルチパーティデータセキュリティ協力のためのデータ分析環境を提供することを指す。データ流通プロセスにおけるプライバシーセキュリティに重要な影響を及ぼす。
【0004】
如何にしてフェデレーションコンピューティングの性能を向上させるかは、早急に解決すべき課題となっている。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示は、フェデレーションコンピューティングの処理方法、フェデレーションコンピューティングの処理装置、電子機器及び記憶媒体を提供する。
【課題を解決するための手段】
【0006】
本開示の第1の態様では、
実行対象のタスク識別子に基づいて、各パーティから処理対象のメタデータを取得するステップと、
各前記メタデータを分割して、各パーティに対応するn個のデータスライス(nが1より大きい正の整数)を取得するステップと、
各パーティに対応するn個のデータスライスに基づいて、n個のデータセットを生成するステップと、
前記タスク識別子に対応するn個のデータ処理サービスを呼び出し、各前記データ処理サービスを用いて各前記データセットを処理するステップと、
各前記データ処理サービスの処理結果に基づいて、前記タスク識別子に対応するフェデレーションコンピューティング結果を決定するステップと、を含む、フェデレーションコンピューティングの処理方法が提供される。
【0007】
本開示の第2の態様では、
実行対象のタスク識別子に基づいて、各パーティから処理対象のメタデータを取得するように構成される取得モジュールと、
各前記メタデータを分割して、各パーティに対応するn個のデータスライス(nが1より大きい正の整数)を取得するように構成される分割モジュールと、
各パーティに対応するn個のデータスライスに基づいて、n個のデータセットを生成するように構成される生成モジュールと、
前記タスク識別子に対応するn個のデータ処理サービスを呼び出し、各前記データ処理サービスを用いて各前記データセットを処理するように構成される処理モジュールと、
各前記データ処理サービスの処理結果に基づいて、前記タスク識別子に対応するフェデレーションコンピューティング結果を決定するように構成される決定モジュールと、を含む、フェデレーションコンピューティングの処理装置が提供される。
【0008】
本開示の第3の態様では、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信可能に接続されるメモリと、を含み、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶されており、前記命令が前記少なくとも1つのプロセッサによって実行される場合、前記少なくとも1つのプロセッサが上記第1の態様の実施例に記載のフェデレーションコンピューティングの処理方法を実行できる、電子機器が提供される。
【0009】
本開示の第4の態様では、コンピュータに上記第1の態様の実施例に記載のフェデレーションコンピューティングの処理方法を実行させるためのコンピュータ命令を記憶した、非一時的コンピュータ読み取り可能な記憶媒体が提供される。
【0010】
本開示の第5の態様では、プロセッサによって実行される場合、上記第1の態様の実施例に記載のフェデレーションコンピューティングの処理方法を実現するコンピュータプログラムを含む、コンピュータプログラム製品が提供される。
【発明の効果】
【0011】
本開示の実施例では、実行対象のタスク識別子に基づいて、各パーティから処理対象のメタデータを取得し、各メタデータを分割して、各パーティに対応するn個のデータスライスを取得し、その後、各パーティに対応するn個のデータスライスに基づいて、n個のデータセットを生成し、さらには、タスク識別子に対応するn個のデータ処理サービスを呼び出し、各データ処理サービスを用いて各データセットを処理し、最後に、各データ処理サービスの処理結果に基づいて、タスク識別子に対応するフェデレーションコンピューティング結果を決定する。これにより、フェデレーションコンピューティングを行う時、データ並行という方式でフェデレーションラーニングの並行化を実現し、フェデレーションコンピューティングの速度を大幅に向上させ、大規模なデータプライバシーコンピューティングの使用に技術的な実現可能性を提供することができる。
【0012】
なお、この概要部分で説明された内容は本開示の実施例の肝心または重要な特徴を特定するものではなく、本開示の範囲を限定するものでもないことを理解されたい。本開示の他の特徴は以下の明細書によって理解しやすくなる。
【図面の簡単な説明】
【0013】
図面は本解決案をよりよく理解するためのものであり、本開示を限定するものではない。
【
図1】本開示の実施例に係るフェデレーションコンピューティングの処理方法の概略フローチャートである。
【
図2】本開示の実施例に係るハッシュバケットのデータ分割の概略図である。
【
図3】本開示の実施例に係る順次バケットのデータ分割の概略図である。
【
図4】本開示の実施例に係る別のフェデレーションコンピューティングの処理方法の概略フローチャートである。
【
図5】本開示の実施例に係るフェデレーションコンピューティングプラットフォームのアーキテクチャの概略図である。
【
図6】本開示の実施例に係る別のフェデレーションコンピューティングの処理方法の概略フローチャートである。
【
図7】本開示の実施例に係る別のフェデレーションコンピューティングプラットフォームのアーキテクチャの概略図である。
【
図8】本開示の実施例に係るフェデレーションコンピューティングの処理装置の概略構成図である。
【
図9】本開示の実施例に係るフェデレーションコンピューティングの処理方法を実現するための電子機器のブロック図である。
【発明を実施するための形態】
【0014】
以下、図面を参照して本開示の例示的な実施例を説明し、理解を助けるために、その中には本開示の実施例の様々な詳細が含まれ、それらの例示的なものとして見なすべきである。したがって、当業者であれば、本開示の範囲と精神から逸脱しない限り、ここで説明される実施例に対して様々な変更と修正を行うことができることを認識されたい。同様に、明確かつ簡潔のために、以下の説明では公知機能の構造に関する説明を省略している。
【0015】
以下、図面のを参照して本開示の実施例に係るフェデレーションコンピューティングの処理方法、フェデレーションコンピューティングの処理装置、電子機器及び記憶媒体を説明する。
【0016】
人工知能は、コンピュータを用いて人間の一部の思考過程と知的な行動(例えばラーニング、推理、思考、計画等)をシミュレートすることを研究する学科であり、ハードウェアレベルの技術分野もあれば、ソフトウェアレベルの技術もある。人工知能ハードウェア技術は一般に、センサ、専用の人工知能チップ、クラウドコンピューティング、分散ストレージ、ビッグデータ処理などの技術を含み、人工知能ソフトウェア技術はコンピュータビジョン技術、音声認識技術、自然言語処理技術及び深層学習、ビッグデータ処理技術、知識グラフ技術などいくつかの方向を含む。
【0017】
クラウドコンピューティングは、ネットワークを経由して柔軟で拡張可能な共有物理的または仮想リソースプールにアクセスし、リソースがサーバ、オペレーティングシステム、ネットワーク、ソフトウェア、アプリケーション及びストレージデバイスなどを含み、必要に応じてセルフサービスの方式を用いてリソースをデプロイし且つ管理する技術システムを指す。クラウドコンピューティング技術により、人工知能、ブロックチェーンなどの技術の応用やモデル訓練のために効率的且つ強力なデータ処理能力を提供することができる。
【0018】
以下、本開示の各実施例に合わせて本開示に係るフェデレーションコンピューティングの処理方法を詳しく説明する。本開示に係るフェデレーションコンピューティングの処理方法の実行主体はフェデレーションコンピューティングプラットフォームである。
【0019】
図1は、本開示の実施例に係るフェデレーションコンピューティングの処理方法の概略フローチャートである。
【0020】
図1に示すように、当該フェデレーションコンピューティングの処理方法は以下のステップ101~105を含む。
【0021】
ステップ101において、実行対象のタスク識別子に基づいて、各パーティから処理対象のメタデータを取得する。
【0022】
実行対象のタスク識別子は、特定のフェデレーションコンピューティングタスクを一意的に識別できる任意の識別子であってもよい。
【0023】
本開示に係るフェデレーションコンピューティングプラットフォームは、まず実行対象のタスク識別子を決定し、次に、実行対象のタスク識別子に関連するメタデータを各パーティから取得することができる。
【0024】
例えば、フェデレーションコンピューティングプラットフォームが実行するタスクは音声認識モデルであり、且つパーティはAとBとを含み、音声認識モデルに関連するパーティAのメタデータはaであり、音声認識モデルに関連するパーティBのメタデータはbである。これにより、フェデレーションコンピューティングプラットフォームはパーティAからメタデータaを取得し、且つパーティBからメタデータbを取得することができる。
【0025】
なお、フェデレーションコンピューティングプラットフォームが各パーティから取得したメタデータは、実行対象のタスク識別子に関連する仲介データであり、即ち、当該メタデータは各パーティの所有データの特性を記述し、且つモデル訓練などのフェデレーションコンピューティングタスクに使用することができるが、所有データ自体ではない。
【0026】
ステップ102において、各メタデータを分割して、各パーティに対応するn個のデータスライスを取得する。
【0027】
選択可能に、まず前記実行対象のタスク識別子に基づいて、データ分割モードを決定することができる。データ分割モードはハッシュバケット分割と順次バケット分割とを含むことができる。
【0028】
データ分割モードを決定した後、前記データ分割モードに基づいて、各前記メタデータを分割して、各パーティに対応するn個のデータスライスを取得することができ、nが1より大きい正の整数である。
【0029】
なお、必要に応じて、異なるタイプのタスク識別子のために異なる分割モードを構成することができる。例えば、ハッシュバケット分割の優勢は、データの検索および挿入速度が非常に早く、スペースの消費が削減されることである。そのため、セキュリティ暗号化、一意の識別、データ検証、ハッシュ関数、ロード バランシング(例えばコンシステントハッシュ)または分散キャッシュを行う時、ハッシュバケット分割を用いることができる。特に、2つのパーティのデータ量の大きさが異なるシーンでは、例えばPSI(プライバシーデータの交差セットを求める)アルゴリズムはハッシュバケット分割を使用しければならない。順次バケット分割の優勢は、データ分割の効率が高く、安定していることである。したがって、データシーケンスが比較的均一である場合、順次バケット分割を用いることができる。
【0030】
図2を参照して、ハッシュバケットのデータ分割を詳しく説明する。
図2は、本開示の実施例に係るハッシュバケットのデータ分割の概略図である。
【0031】
図2に示すように、処理対象のメタデータは{D1、D2、D3、D4、D5、D6}であってもよい。処理対象のメタデータに対してハッシュバケットのデータ分割を行って、得られたデータ分割結果は{[D1、D3、D4]、[D2、D5、D6]}であってもよい。即ち、処理対象のメタデータを2つの小さなデータスライスに分割する。ハッシュバケット分割は、各データの一意の識別値に基づいてハッシュを求めて、対応するパケットに入れるため、得られたデータ分割結果は、処理対象のメタデータの順序に従って分割されるものではない。
【0032】
以下、
図3を参照して、順次パケットのデータ分割を詳しく説明する。
図3は、本開示の実施例に係る順次パケットのデータ分割の概略図である。
【0033】
図3に示すように、処理対象のメタデータは{D1、D2、D3、D4、D5、D6}であってもよい。処理対象のメタデータに対して順次パケットのデータ分割を行って、得られたデータ分割結果は{[D1、D2、D3]、[D4、D5、D6]}であってもよい。これにより、順次パケット分割は各データをパケットに順次入れることである。
【0034】
なお、各パーティに対応するデータをn個のデータスライスに分割する上記処理プロセスは、各パーティによって単独で実行される場合もある。即ち各パーティは、実行対象のタスク識別子に基づいて、処理対象のメタデータを決定し、処理対象のメタデータを決定した後、各パーティはそれぞれ各自の各メタデータを分割して、各パーティに対応するn個のデータスライスを取得する。その後、各個パーティは分割されたn個のデータスライスをそれぞれフェデレーションコンピューティングプラットフォームに同期すればよい。
【0035】
ステップ103において、各パーティに対応するn個のデータスライスに基づいて、n個のデータセットを生成する。
【0036】
本開示では、本開示の実行主体は、各パーティのn個のデータスライスを、自身以外の他のパーティに対応するn個のデータスライスとそれぞれ組み合わせて、n個のデータセットを生成することができる。
【0037】
なお、各データセットは各パーティの1つのデータスライスを含む。
【0038】
ステップ104において、タスク識別子に対応するn個のデータ処理サービスを呼び出し、各データ処理サービスを用いて各データセットを処理する。
【0039】
本開示では、実行対象のタスク識別子に対応するn個データセットを生成した後、n個のスレッドを呼び出して、n個のデータ処理サービスを実行して、それぞれ各データセットを処理することができ、フェデレーションコンピューティングの速度が大幅に向上する。
【0040】
ステップ105において、各データ処理サービスの処理結果に基づいて、タスク識別子に対応するフェデレーションコンピューティング結果を決定する。
【0041】
具体的には、各データセットには各パーティの1つのデータスライスが含まれ、即ち各データセットから得られた処理結果は、少量のフェデレーションデータを用いてフェデレーションコンピューティングを行って1つの結果を取得した後、複数の処理結果を融合して、全量のフェデレーションデータのフェデレーションコンピューティングを行っって得られたコンピューティング結果として見なすことができる。
【0042】
選択可能に、複数のデータ処理サービスの処理結果の平均を求めて、フェデレーションコンピューティング結果を得ることができるか、或いは、複数のデータ処理サービスの処理結果を重み付けして融合して、フェデレーションコンピューティング結果を得ることができ、本開示はこれに限定されない。
【0043】
選択可能に、タスク識別子に対応するフェデレーションコンピューティング結果を決定した後、前記フェデレーションコンピューティング結果を各個前記パーティに送信することができる。
【0044】
本開示の実施例では、実行対象のタスク識別子に基づいて、各パーティから処理対象のメタデータを取得し、各メタデータを分割して、各パーティに対応するn個のデータスライスを取得し、その後、各パーティに対応するn個のデータスライスに基づいて、n個のデータセットを生成し、さらには、タスク識別子に対応するn個のデータ処理サービスを呼び出し、各データ処理サービスを用いて各データセットを処理し、最後に、各データ処理サービスの処理結果に基づいて、タスク識別子に対応するフェデレーションコンピューティング結果を決定する。これにより、フェデレーションコンピューティングを行う時、データ並行という方式でフェデレーションラーニングの並行化を実現し、フェデレーションコンピューティングの速度を大幅に向上させ、大規模なデータプライバシーコンピューティングの使用に技術的な実現可能性を提供することができる。
【0045】
上記分析から分かるように、本開示では、各データ処理サービスの処理結果に基づいて、タスク識別子に対応するフェデレーションコンピューティング結果を決定することができる。1つの可能な実現形態では、フェデレーションコンピューティングのプロセスは複数回の繰り返し更新を必要とする可能性があるため、本開示では、フェデレーションコンピューティング結果を取得するたびに、当該タスク識別子に対応する収束条件に基づいて、タスク識別子に対応するタスクが終了したか否かを判断することで、フェデレーションコンピューティングを継続するか否かを決定することができる。以下、
図4を参照して上記状況を説明し、
図4は本開示の実施例に係る別のフェデレーションコンピューティングの処理方法の概略フローチャートである。
【0046】
図4に示すように、当該フェデレーションコンピューティングの処理方法は以下のステップ401~408を含むことができる。
【0047】
ステップ401において、実行対象のタスク識別子に基づいて、各パーティから処理対象のメタデータを取得する。
【0048】
ステップ402において、各メタデータを分割して、各パーティに対応するn個のデータスライスを取得し、nが1より大きい正の整数である。
【0049】
ステップ403において、各パーティに対応するn個のデータスライスに基づいて、n個のデータセットを生成する。
【0050】
ステップ404において、タスク識別子に対応するn個のデータ処理サービスを呼び出し、各データ処理サービスを用いて各データセットを処理する。
【0051】
テップ401~404の具体的な実現形態は本開示の他の実施例の詳しい説明を参照されたく、ここで詳しい説明を省略する。
【0052】
ステップ405において、各データ処理サービスから返された処理結果を取得する。
【0053】
ステップ406において、n個の処理結果を融合して、融合結果を取得する。
【0054】
本開示では、フェデレーションコンピューティングプラットフォームは、
図5に示すアーキテクチャを用いることができる。
図5は本開示の実施例に係るフェデレーションコンピューティングプラットフォームのアーキテクチャの概略図である。
【0055】
図5では、パーティがパーティAおよびパーティBである場合を例とし、
図5に示すように、パーティAに対応する処理対象のメタデータはXである。パーティBに対応する処理対象のメタデータはYである。実行主体は、実行対象のタスク識別子に基づいてパーティAおよびパーティBからXおよびYを取得した後に、データ分割(split)プログラムを呼び出して、XおよびYに対してデータ分割を行わせることができる。splitプログラムは大きなファイルを複数の小さなファイルに分割できるプログラムである。ここで、splitプログラムはXおよびYをより小さいなータスライスに分割し、例えば、XおよびYをそれぞれ分割した後、パーティAおよびパーティBにそれぞれ対応するn個のデータスライス、例えば
図5のFLA-0、FLA-1、FLA-…、FLA-n、FLB-0、FLB-1、FLB-…、FLB-nを得る。その後、パーティAの最初のデータスライスとパーティBの最初のデータスライスとを組み合わせて、1つのデータセットを取得し、そして、パーティAとパーティBのデータスライスとをすべて組み合わせてn個のデータセット(FLA-0、FLB-0)、(FLA-1、FLB-1)、(FLA-…、FLB-…)、(FLA-n、FLB-n)を生成するまで、上記方法のように順次に行ってくいく。
【0056】
n個のデータセットを得た後、前記タスク識別子に対応するn個のデータ処理サービスを呼び出し、各前記データ処理サービスを用いて各前記データセットを処理することができる。最後に、各データ処理サービスは、得た処理結果をデータ融合サービス、例えば
図5のPSA、PSBに送信することができ、PSA及びPSBにより各個データ処理サービスの処理結果を融合して、タスク識別子に対応するフェデレーションコンピューティング結果を生成する。
【0057】
本開示では、各データ処理サービスを利用して各データセットを処理して、nの個処理結果を得た後、対応するデータサマライザを呼び出してn個の処理結果を融合させ、融合結果を得ることができる。
【0058】
なお、フェデレーションコンピューティングタスクが止まらずに繰り返されることを回避するために、本開示では、フェデレーションコンピューティングプラットフォームは、各フェデレーションコンピューティングタスクに一定のタスク終了条件を設定することができ、これにより、フェデレーションコンピューティング結果が十分正しいこと確保する前提で、無効コンピューティングの回数をできるだけ減少させる。タスク終了条件、例えば、コンピューティング回数、コンピューティング結果の精度などは、必要に応じて設定することができ、本開示はこれについて限定しない。
【0059】
本開示では、毎回のフェデレーションコンピューティング後の融合結果を決定した後、現在ではタスク終了条件が達成されているか否かを判断することができる。例えば、実行されたフェデレーションコンピューティングの回数に基づいて、終了条件が達成されているか否かを判断することができる。または、現在の融合結果と前回のフェデレーションコンピューティングで得られた融合結果との差異に基づいて、タスク終了条件が達成されているか否かを判断するなどであってもよいが、これらに限定されない。
【0060】
ステップ407において、タスク識別子に対応するタスクが終了していないと決定した場合、融合結果をn個のデータ処理サービスに配布し、
タスク識別子に対応するタスクが終了したと決定するまで、各データ処理サービスにより融合結果に基づいて、対応するデータセットを処理し続け、
最新のn個の処理結果に基づいて、タスク識別子に対応するフェデレーションコンピューティング結果を決定する。
【0061】
本開示では、まずタスク識別子に対応するタスクが終了したか否かを決定し、タスク識別子に対応するタスクが終了していないと決定した場合、融合結果をn個のデータ処理サービスに配布することができる。各データ処理サービスは融合結果を受信した後、タスク識別子に対応するタスクが終了したと決定されるまで、融合結果に基づいて、対応するデータセットを処理し続けることができる。その後、最新のn個の処理結果に基づいて、タスク識別子に対応するフェデレーションコンピューティング結果を決定することができる。
【0062】
ステップ408において、タスク識別子に対応するタスクが終了したと決定した場合、融合結果を、タスク識別子に対応するフェデレーションコンピューティング結果として決定する。
【0063】
本開示では、タスク識別子に対応するタスクが終了したと決定した場合、タスク識別子に対応するタスク終了後に得られた融合結果を、タスク識別子に対応するフェデレーションコンピューティング結果として決定することができる。
【0064】
例えば、タスク識別子に対応するタスクが顔認識モデルのK回の訓練であってもよい。そうすると、フェデレーションコンピューティングプラットフォームは、融合結果を得るたびに、実行したフェデレーションコンピューティングの回数がKに達しているか否かを判断し、達していない場合、タスクが終了していないと決定し、達している場合、タスクが終了したと決定する。
【0065】
本開示の実施例では、各データ処理サービスを用いて各データセットを処理した後、各データ処理サービスから返された処理結果を取得し、且つn個の処理結果を融合して、融合結果を取得することができる。タスク識別子に対応するタスクが終了していないと決定した場合、融合結果をn個のデータ処理サービスに配布し、そして、タスク識別子に対応するタスクが終了したと決定されるまで各データ処理サービスにより融合結果に基づいて対応するデータセットを処理し続け、最新のn個の処理結果に基づいて、タスク識別子に対応するフェデレーションコンピューティング結果を決定する。タスク識別子に対応するタスクが終了したと決定した場合、融合結果を、タスク識別子に対応するフェデレーションコンピューティング結果として決定する。これにより、フェデレーションコンピューティングタスクに終了条件を設定することで、最終的なフェデレーションコンピューティング結果の正確さを確保する前提で、タスクに対する無効コンピューティングを回避し、フェデレーションコンピューティングの速度をさらに向上させることができる。
【0066】
以下、
図6を参照して説明し、
図6は本開示の実施例に係る別のフェデレーションコンピューティングの処理方法の概略フローチャートである。
【0067】
図6に示すように、当該フェデレーションコンピューティングの処理方法は以下のステップ601~608を含む。
【0068】
ステップ601において、実行対象のタスク識別子に基づいて、各パーティから処理対象のメタデータを取得する。
【0069】
ステップ602において、各メタデータを分割して、各パーティに対応するn個のデータスライスを取得し、nが1より大きい正の整数である。
【0070】
ステップ603において、各パーティに対応するn個のデータスライスに基づいて、n個のデータセットを生成する。
【0071】
ステップ604において、タスク識別子に対応するn個のデータ処理サービスを呼び出し、各データ処理サービスを用いて各データセットを処理する。
【0072】
本開示では、ステップ601~604の具体的な実現形態は本開示の他の実施例の詳しい説明を参照されたく、ここで詳しい説明を省略する。
【0073】
ステップ605において、いずれか1つのデータ処理サービスから返された融合結果を取得し、融合結果は、いずれか1つのデータ処理サービスが各データ処理サービスの処理結果を融合して生成されたものである。
【0074】
本開示では、フェデレーションコンピューティングプラットフォームは、
図7に示すアーキテクチャを用いることができる。
図7は本開示の実施例に係る別のフェデレーションコンピューティングプラットフォームのアーキテクチャの概略図である。
【0075】
図7において、パーティがパーティAおよびパーティBである場合を例とし、
図7に示すように、パーティAに対応する処理対象のメタデータはデータAで、パーティBに対応する処理対象のメタデータはデータBである。実行主体は、実行対象のタスク識別子に基づいてパーティAおよびパーティBからデータAおよびデータBを取得した後、データ分割splitプログラムを呼び出してデータAおよびデータBに対してデータ分割を行わせることができる。splitプログラムは、大きなファイルを複数の小さなファイルに分割することができるプログラムである。ここで、splitプログラムはデータAおよびデータBをより小さなデータスライスに分割することで、パーティAおよびパーティBにそれぞれ対応するn個のデータスライス、例えば
図7のWorkerA-0、WorkerA-1、WorkerA-…、WorkerA-n、WorkerB-0、WorkerB-1、WorkerB-…、WorkerB-nを得ることができる。さらに、パーティAの最初のデータスライスとパーティBの最初のデータスライスとを組み合わせて、1つのデータセットを得る。そして、パーティAおよびパーティBのデータスライスとをすべて組み合わせてn個のデータセット(WorkerA-0、WorkerB-0)、(WorkerA-1、WorkerB-1)、(WorkerA-…、WorkerB-…)、(WorkerA-n、WorkerB-n)を生成するまで、上記方法のように順次に行っていく。
【0076】
n個のデータセットを得た後、前記タスク識別子に対応するn個のデータ処理サービスを呼び出し、各前記データ処理サービスを用いて各前記データセットを処理することができる。データ処理サービスが各前記データセットを処理する過程で、各データ処理サービスは1回のデータ処理結果を得た後、当該処理結果をその他のデータ処理サービスに同期させることができ、これにより、各個データ処理サービスは複数の処理結果に基づいて、自身の処理結果を更新して、融合された処理結果を得ることができる。最後に、各前記データ処理サービスの更新された処理結果に基づいて、前記タスク識別子に対応するフェデレーションコンピューティング結果を決定する。
【0077】
ステップ606において、タスク識別子に対応するタスクが終了したと決定した場合、融合結果を、タスク識別子に対応するフェデレーションコンピューティング結果として決定する。
【0078】
ステップ607において、タスク識別子に対応するタスクが終了していないと決定した場合、融合結果をいずれか1つのデータ処理サービスに送信し、
タスク識別子に対応するタスクが終了したと決定するまで、各データ処理サービスにより融合結果に基づいて、対応するデータセットを処理し続け、
最新の融合結果を、タスク識別子に対応するフェデレーションコンピューティング結果として決定する。
【0079】
本開示では、まずタスク識別子に対応するタスクが終了したか否かを決定することができ、タスク識別子に対応するタスクが終了していないと決定した場合、融合結果をいずれか1つのデータ処理サービスに送信することができる。いずれか1つのデータ処理サービスが融合結果を受信した後、タスク識別子に対応するタスクが終了したと決定されるまで、融合結果に基づいて対応するデータセットを処理し続けることができる。本開示の実行主体は、タスク識別子に対応するタスクが終了した後、最新の融合結果を、タスク識別子に対応するフェデレーションコンピューティング結果として決定することができる。
【0080】
ステップ608において、フェデレーションコンピューティング結果を各個パーティに送信する。
【0081】
本開示の実施例では、各データ処理サービスを用いて各データセットを処理した後、いずれか1つのデータ処理サービスから返された融合結果を取得することができ、融合結果は、いずれか1つのデータ処理サービスが各データ処理サービスの処理結果を融合して生成されたものであり、タスク識別子に対応するタスクが終了したと決定した場合、融合結果、をタスク識別子に対応するフェデレーションコンピューティング結果として決定し、タスク識別子に対応するタスクが終了していないと決定した場合、タスク識別子に対応するタスクが終了したと決定するまで各データ処理サービスにより融合結果に基づいて対応するデータセットを処理し続ける、さらに、融合結果をいずれか1つのデータ処理サービスに送信し、最新の融合結果を、タスク識別子に対応するフェデレーションコンピューティング結果として決定する。これにより、フェデレーションコンピューティングタスクに終了条件を設定することで、最終的なフェデレーションコンピューティング結果の正確さを確保する前提で、タスクに対する無効コンピューティングを回避し、フェデレーションコンピューティングの速度をさらに向上させることができる。
【0082】
上記実施例を実現するために、本開示の実施例は、フェデレーションコンピューティングの処理装置をさらに提供する。
図8は本開示の実施例に係るフェデレーションコンピューティングの処理装置の概略構成図である。
【0083】
図8に示すように、当該フェデレーションコンピューティングの処理装置は、取得モジュール810、分割モジュール820、生成モジュール830、処理モジュール840及び決定モジュール850を含む。
【0084】
取得モジュール810は、実行対象のタスク識別子に基づいて、各パーティから処理対象のメタデータを取得するように構成される。
分割モジュール820は、各前記メタデータを分割して、各パーティに対応するn個のデータスライス(nが1より大きい正の整数)を取得するように構成される。
生成モジュール830は、各パーティに対応するn個のデータスライスに基づいて、n個のデータセットを生成するように構成される。
処理モジュール840は、前記タスク識別子に対応するn個のデータ処理サービスを呼び出し、各前記データ処理サービスを用いて各前記データセットを処理するように構成される。
決定モジュール850は、各前記データ処理サービスの処理結果に基づいて、前記タスク識別子に対応するフェデレーションコンピューティング結果を決定するように構成される。
【0085】
本開示の実施例の1つの可能な実現形態では、前記分割モジュール820は具体的には、
前記実行対象のタスク識別子に基づいて、データ分割モードを決定し、
前記データ分割モードに基づいて、各前記メタデータを分割して、各パーティに対応するn個のデータスライスを取得するように構成される。
【0086】
本開示の実施例の1つの可能な実現形態では、前記決定モジュール850は具体的には、
各前記データ処理サービスから返された処理結果を取得し、
n個の前記処理結果を融合して、融合結果を取得し、
前記タスク識別子に対応するタスクが終了したと決定した場合、前記融合結果を、前記タスク識別子に対応するフェデレーションコンピューティング結果として決定するように構成される。
【0087】
本開示の実施例の1つの可能な実現形態では、前記決定モジュール850はさらに、
前記タスク識別子に対応するタスクが終了していないと決定した場合、前記融合結果をn個の前記データ処理サービスに配布し、
前記タスク識別子に対応するタスクが終了したと決定するまで、各前記データ処理サービスにより前記融合結果に基づいて、対応するデータセットを処理し続け、
最新のn個の処理結果に基づいて、前記タスク識別子に対応するフェデレーションコンピューティング結果を決定するように構成される。
【0088】
本開示の実施例の1つの可能な実現形態では、前記決定モジュール850は具体的には、
いずれか1つのデータ処理サービスから返された融合結果を取得し、前記融合結果は、前記いずれか1つのデータ処理サービスが各前記データ処理サービスの処理結果を融合して生成されたものであり、
前記タスク識別子に対応するタスクが終了したと決定した場合、前記融合結果を、前記タスク識別子に対応するフェデレーションコンピューティング結果として決定し、
前記タスク識別子に対応するタスクが終了していないと決定した場合、前記融合結果を前記いずれか1つのデータ処理サービスに送信し、
前記タスク識別子に対応するタスクが終了したと決定するまで、各前記データ処理サービスにより前記融合結果に基づいて、対応するデータセットを処理し続け、
最新の融合結果を、前記タスク識別子に対応するフェデレーションコンピューティング結果として決定するように構成される。
【0089】
本開示の実施例の1つの可能な実現形態では、前記決定モジュール850はさらに、
前記フェデレーションコンピューティング結果を各個前記パーティに送信するように構成される。
【0090】
なお、上記フェデレーションコンピューティングの処理方法の実施例に関する説明は、この実施例に係るフェデレーションコンピューティングの処理装置にも適用できるため、ここではそれ以上説明しない。
【0091】
本開示の実施例に係るフェデレーションコンピューティングの処理装置は、実行対象のタスク識別子に基づいて、各パーティから処理対象のメタデータを取得し、各メタデータを分割して、各パーティに対応するn個のデータスライスを取得し、その後、各パーティに対応するn個のデータスライスに基づいて、n個のデータセットを生成し、さらに、タスク識別子に対応するn個のデータ処理サービスを呼び出し、各データ処理サービスを用いて各データセットを処理し、最後に、各データ処理サービスの処理結果に基づいて、タスク識別子に対応するフェデレーションコンピューティング結果を決定する。これにより、フェデレーションコンピューティングの処理を行う時、まず、各パーティに対応するn個のデータスライスを組み合わせてデータセットを生成し、次に、各データ処理サービスを用いて各データセットを処理して、フェデレーションコンピューティング結果を取得するというデータ並行の方式で、フェデレーションラーニングの並行化を実現し、コンピューティング速度を向上させ、大規模なデータプライバシーコンピューティングの使用に技術的な実現可能性を提供することができる。
【0092】
本開示の実施例によれば、本開示は、電子機器、読み取り可能な記憶媒体及びコンピュータプログラム製品をさらに提供する。
【0093】
図9は、本開示の実施例を実施するための例示的な電子機器900の例示的なブロック図を示す。電子機器900はラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレームコンピュータ、及び他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことを目的とする。電子機器900は、パーソナルデジタルプロセッサ、携帯電話、スマートフォン、ウェアラブルデバイス、他の類似するコンピューティングデバイスなどの様々な形態のモバイル装置を表すこともできる。本明細書で示されるコンポーネント、それらの接続と関係、及びそれらの機能は単なる例であり、本明細書の説明及び/又は要求される本出願の実現を制限することを意図したものではない。
【0094】
図9に示すように、電子機器900は、ROM(Read-Only Memory、リードオンリーメモリ)902に記憶されるコンピュータプログラム又は記憶ユニット908からRAM(Random Access Memory、ランダムアクセスメモリ)903内にロードされるコンピュータプログラムに基づいて様々な適切な動作と処理を実行できる計算ユニット901を含む。RAM903は、電子機器900の操作に必要な様々なプログラム及びデータを含むことができる。計算ユニット901、ROM902及びRAM903はバス904を介して互いに接続される。I/O(Input/Output、入力/出力)インターフェース905は同様にバス904に接続される。
【0095】
キーボード、マウスなどの入力ユニット906と、各種類のタイプのモニタ、スピーカーなどの出力ユニット907と、磁気ディスク、光ディスクなどの記憶ユニット908と、ネットワークカード、モデム、無線通信受送信機などの通信ユニット909とを含む電子機器900内の複数の部品はI/Oインターフェース905に接続される。通信ユニット909は、電子機器900がインターネットなどのコンピュータネットワーク及び/又は様々なテレコムネットワークを介して他の機器と情報/データを交換することを許容する。
【0096】
計算ユニット901は処理と計算能力を有する様々な汎用及び/又は専用処理コンポーネントであってもよい。計算ユニット901の一部の例は、CPU(Central Processing Unit、中央処理装置)、GPU(Graphic Processing Units、グラフィックス処理装置)、様々な専用のAI(Artificial Intelligence、人工知能)計算チップ、機械ラーニングモデルアルゴリズムを実行する様々な計算ユニット、DSP(Digital Signal Processor、デジタル信号プロセッサ)、及び任意の適切なプロセッサ、コントローラ、マイクロコントローラなどを含むが、これらに限定されない。計算ユニット901は以上で説明された各方法及び処理、例えば、フェデレーションコンピューティングの処理方法を実行する。例えば、いくつかの実施例では、フェデレーションコンピューティングの処理方法は、記憶ユニット908などの機械読み取り可能な媒体に有形的に含まれるコンピュータソフトウェアプログラムとして実現することができる。一部の実施例では、コンピュータプログラムの一部又はすべてはROM902及び/又は通信ユニット909を介して電子機器900にロード及び/又はインストールされる。コンピュータプログラムがRAM903にロードされ且つ計算ユニット901によって実行される際に、上記で説明されたフェデレーションコンピューティングの処理方法の1つ又は複数のステップを実行することができる。代替的に、他の実施例では、計算ユニット901は他の任意の適切な方法(例えば、ファームウェアを介して)を介して、フェデレーションコンピューティングの処理方法を実行するように構成されてもよい。
【0097】
本明細書の上記システム及び技術の様々な実施形態はデジタル電子回路システム、集積回路システム、FPGA(Field Programmable Gate Array、フィールドプログラマブルゲートアレイ)、ASIC(Application-Specific Integrated Circuit、特定用途向け集積回路)、ASSP(Application Specific Standard Product、特定用途向け標準製品)、SOC(System On Chip、システムオンチップ)、CPLD(Complex Programmable Logic Device、コンプレックス・プログラマブル・ロジック・デバイス)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせで実現することができる。これらの様々な実施形態は、1つ又は複数のコンピュータプログラムで実施されてもよく、当該1つ又は複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラム可能なシステムで実行及び/又は解釈することができ、当該プログラマブルプロセッサは、特定用途向け又は汎用プログラマブルプロセッサであってもよく、ストレージシステム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及び命令を受信し、データ及び命令を当該ストレージシステム、当該少なくとも1つの入力装置、及び当該少なくとも1つの出力装置に伝送することができる。
【0098】
本出願の方法を実行するためのプログラムコードは、1つ又は複数のプログラミング言語の任意の組み合わせで書くことができる。これらのプログラムコードは、プロセッサ又はコントローラによって実行された際に、フローチャート及び/又はブロック図によって規定された機能/動作が実施されるように、汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサ又はコントローラに提供されてもよい。プログラムコードは、完全に機械上で実行され、部分的に機械上で実行され、スタンドアロンソフトウェアパッケージとして、部分的に機械上で実行され、かつ部分的にリモート機械上で実行され、又は完全にリモート機械又はサーバ上で実行されてもよい。
【0099】
本出願の文脈では、機械読み取り可能な媒体は、命令実行システム、装置、またはデバイスによって使用されたり、又は命令実行システム、装置、またはデバイスと組み合わせて使用されたりするプログラムを含むか、又は記憶できる有形の媒体であってもよい。機械読み取り可能な媒体は、機械読み取り可能な信号媒体または機械読み取り可能な記憶媒体であってもよい。機械読み取り可能な媒体は、電子的、磁気的、光学的、電磁気的、赤外線的、又は半導体システム、装置又はデバイス、または上記内容のいずれかの適切な組み合わせを含むことができるが、これらに限定されない。機械読み取り可能な記憶媒体のより具体的な例は、1つ又は複数のラインに基づく電気接続、ポータブルコンピュータディスク、ハードディスク、RAM、ROM、EPROM(Electrically Programmable Read-Only-Memory、消去可能プログラマブルリードオンリーメモリ)又はフラッシュメモリ、光ファイバ、CD-ROM(Compact Disc Read-Only Memory、ポータブルコンパクトディスクリードオンリーメモリ)、光学記憶装置、磁気記憶装置、または上記内容のいずれかの適切な組み合わせを含む。
【0100】
ユーザとのインタラクションを提供するために、ここで説明されたシステム及び技術をコンピュータ上で実施することができ、当該コンピュータは、ユーザに情報を表示するためのディスプレイ装置(例えば、CRT(Cathode-Ray Tube、陰極線管)又はLCD(Liquid Crystal Display、液晶ディスプレイ)モニタ)、並びにキーボードとポインティングデバイス(例えば、マウス又はトラックボール)を有し、ユーザは、当該キーボード及び当該ポインティングデバイスを介して入力をコンピュータに提供することができる。他の種類の装置も、ユーザとのインタラクションを提供することができ、例えば、ユーザに提供されるフィードバックは、任意の形式のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、任意の形式(音響入力と、音声入力または、触覚入力とを含む)でユーザからの入力を受信することができる。
【0101】
ここで説明されるシステム及び技術は、バックエンドコンポーネントを含むコンピューティングシステム(例えば、データサーバとして)、又はミドルウェアコンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンドコンポーネントを含むコンピューティングシステム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータ、ユーザは、当該グラフィカルユーザインタフェース又は当該ウェブブラウザによってここで説明されるシステム及び技術の実施形態とインタラクションを行う)、又はこのようなバックエンドコンポーネントと、ミドルウェアコンポーネントと、フロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムで実施することができる。任意の形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によってシステムのコンポーネントを相互に接続することができる。通信ネットワークの例は、LAN(Local Area Network、ローカルエリアネットワーク)と、WAN(Wide Area Network、ワイドエリアネットワーク)と、インターネットと、ブロックチェーンネットワークと、を含む。
【0102】
コンピュータシステムは、クライアントとサーバを含むことができる。クライアントとサーバは、一般に、互いに離れており、通常に通信ネットワークを介してインタラクションする。対応するコンピュータ上で実行され、かつ互いにクライアント-サーバ関係を有するコンピュータプログラムによってクライアントとサーバとの関係が生成される。サーバはクラウドサーバであってもよく、クラウドコンピューティングサーバまたはクラウドホストとも呼ばれ、クラウドコンピューティングサービスシステムにおける1つのホスト製品であり、従来の物理ホストとVPSサービス(Virtual Private Server、仮想専用サーバ)に存在する管理の難しさ、業務拡張性の弱いという欠陥を解決する。サーバは分散システムのサーバであってもよく、またはブロックチェーンと組み合わせたサーバであってもよい。
【0103】
本開示の実施例によると、本開示はコンピュータプログラム製品をさらに提供し、コンピュータプログラム製品内の命令がプロセッサによって実行される時、本開示の上記実施例に係るフェデレーションコンピューティングの処理方法が実行される。
【0104】
本開示の実施例の技術案によると、ビッグデータ、クラウドコンピューティング、深層学習技術分野に関し、フェデレーションコンピューティングの処理を行う時、データ並行の方式を用い、まず、各パーティに対応するn個のデータスライスを組み合わせてデータセットを生成し、さらに、各データ処理サービスを利用して各データセットを処理し、フェデレーションコンピューティング結果を得る。これにより、フェデレーションコンピューティングを行う時、データ並行という方式でフェデレーションラーニングの並行化を実現し、フェデレーションコンピューティングの速度を大幅に向上させ、大規模データプライバシーコンピューティングを使用するための技術的な実現可能性を提供する。
【0105】
なお、以上に示す様々な形式のフローを用いてステップを改めて並べ替え、増加または削除することができる。例えば、本開示に記載の各ステップは並行して実行してもよいし、順次実行してもよいし、異なる順序で実行してもよい。本開示で開示された技術案の所望の結果を実現できる限り、本明細書では限定されない。
【0106】
上記具体的な実施形態は、本開示の保護範囲を制限するものではない。当業者であれば、設計の要件と他の要因に応じて、様々な修正、組み合わせ、一部の組み合わせ及び代替を行うことができることを理解されたい。本開示の精神及び原則内で行われた修正、同等の置き換え及び改善などは、いずれも本開示の保護範囲に含まれるべきである。
【手続補正書】
【提出日】2022-12-28
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0010
【補正方法】変更
【補正の内容】
【0010】
本開示の第5の態様では、プロセッサによって実行される場合、上記第1の態様の実施例に記載のフェデレーションコンピューティングの処理方法を実現する、コンピュータプログラムが提供される。
【手続補正2】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項8
【補正方法】変更
【補正の内容】
【請求項8】
前記分割モジュールは
、
前記実行対象のタスク識別子に基づいて、データ分割モードを決定し、
前記データ分割モードに基づいて、各前記メタデータを分割して、各パーティに対応するn個のデータスライスを取得するように構成される、請求項7に記載のフェデレーションコンピューティングの処理装置。
【手続補正3】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項9
【補正方法】変更
【補正の内容】
【請求項9】
前記決定モジュールは
、
各前記データ処理サービスから返された処理結果を取得し、
n個の前記処理結果を融合して、融合結果を取得し、
前記タスク識別子に対応するタスクが終了したと決定した場合、前記融合結果を、前記タスク識別子に対応するフェデレーションコンピューティング結果として決定するように構成される、請求項7に記載のフェデレーションコンピューティングの処理装置。
【手続補正4】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項11
【補正方法】変更
【補正の内容】
【請求項11】
前記決定モジュールは
、
いずれか1つのデータ処理サービスから返された融合結果を取得し、前記融合結果は、前記いずれか1つのデータ処理サービスが各前記データ処理サービスの処理結果を融合して生成されたものであり、
前記タスク識別子に対応するタスクが終了したと決定した場合、前記融合結果を、前記タスク識別子に対応するフェデレーションコンピューティング結果として決定し、
前記タスク識別子に対応するタスクが終了していないと決定した場合、前記融合結果を前記いずれか1つのデータ処理サービスに送信し、
前記タスク識別子に対応するタスクが終了したと決定するまで、各前記データ処理サービスにより前記融合結果に基づいて、対応するデータセットを処理し続け、
最新の融合結果を、前記タスク識別子に対応するフェデレーションコンピューティング結果として決定するように構成される、請求項7に記載のフェデレーションコンピューティングの処理装置。
【手続補正5】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項15
【補正方法】変更
【補正の内容】
【請求項15】
プロセッサによって実行される場合、請求項1~6のいずれか1項に記載のフェデレーションコンピューティングの処理方法を実現す
る、コンピュータプログラム。
【国際調査報告】