JP7841826B2 - 連合学習のための信頼できる分散型アグリゲーション - Google Patents

連合学習のための信頼できる分散型アグリゲーション

Info

Publication number
JP7841826B2
JP7841826B2 JP2023571220A JP2023571220A JP7841826B2 JP 7841826 B2 JP7841826 B2 JP 7841826B2 JP 2023571220 A JP2023571220 A JP 2023571220A JP 2023571220 A JP2023571220 A JP 2023571220A JP 7841826 B2 JP7841826 B2 JP 7841826B2
Authority
JP
Japan
Prior art keywords
aggregator
execution
model
entity
execution entity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2023571220A
Other languages
English (en)
Other versions
JP2024519365A (ja
Inventor
ラダクリシュナン、ジャヤラム、カラパラヤム
ヴェルマ、アシシュ
グ、ゾンシュ
バルデス、エンリキージョ
チェン、パウチェン
ジャムジュム、ハニ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2024519365A publication Critical patent/JP2024519365A/ja
Application granted granted Critical
Publication of JP7841826B2 publication Critical patent/JP7841826B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/02Circuit arrangements for generating control signals
    • F02D41/14Introducing closed-loop corrections
    • F02D41/1401Introducing closed-loop corrections characterised by the control or regulation method
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/30Controlling fuel injection
    • F02D41/38Controlling fuel injection of the high pressure type
    • F02D41/40Controlling fuel injection of the high pressure type with means for controlling injection timing or duration
    • F02D41/401Controlling injection timing
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02MSUPPLYING COMBUSTION ENGINES IN GENERAL WITH COMBUSTIBLE MIXTURES OR CONSTITUENTS THEREOF
    • F02M47/00Fuel-injection apparatus operated cyclically with fuel-injection valves actuated by fluid pressure
    • F02M47/02Fuel-injection apparatus operated cyclically with fuel-injection valves actuated by fluid pressure of accumulator-injector type, i.e. having fuel pressure of accumulator tending to open, and fuel pressure in other chamber tending to close, injection valves and having means for periodically releasing that closing pressure
    • F02M47/027Electrically actuated valves draining the chamber to release the closing pressure
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02MSUPPLYING COMBUSTION ENGINES IN GENERAL WITH COMBUSTIBLE MIXTURES OR CONSTITUENTS THEREOF
    • F02M61/00Fuel-injectors not provided for in groups F02M39/00 - F02M57/00 or F02M67/00
    • F02M61/04Fuel-injectors not provided for in groups F02M39/00 - F02M57/00 or F02M67/00 having valves, e.g. having a plurality of valves in series
    • F02M61/10Other injectors with elongated valve bodies, i.e. of needle-valve type
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/098Distributed learning, e.g. federated learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/043Distributed expert systems; Blackboards
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/02Circuit arrangements for generating control signals
    • F02D41/14Introducing closed-loop corrections
    • F02D41/1401Introducing closed-loop corrections characterised by the control or regulation method
    • F02D2041/1413Controller structures or design
    • F02D2041/1431Controller structures or design the system including an input-output delay
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D2200/00Input parameters for engine control
    • F02D2200/02Input parameters for engine control the parameters being related to the engine
    • F02D2200/06Fuel or fuel supply system parameters
    • F02D2200/0602Fuel pressure

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • Neurology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Fluid Mechanics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本開示は、一般に分散型機械学習の技術に関する。
連合学習(FL)は、複数の関係者が一緒に機械学習(ML)モデルを構築することを可能にする、協調学習のメカニズムを提供する。すべての訓練データを中央の訓練サーバ(またはデータセンター)にプールする代わりに、連合学習では、関係者が信頼され保護されたドメイン/インフラストラクチャ内にプライベートデータを保持することができる。各関係者はローカルモデルを訓練し、モデル更新や勾配のみを中央のアグリゲーションサーバに定期的にアップロードする。このアグリゲータはモデルの更新を融合し、モデルの同期のためにアグリゲートされたモデルを全関係者に配布する。連合学習訓練設定は、訓練データのプライバシーを保護するための一意の利点を提示する。これは特に、相互に不信感を抱いている/競合している訓練関係者や、法律や規制によってデータの共有が禁止されている機密データ(健康データや財務データなど)の保有者にとって魅力的である。
連合学習、すなわち、FL通信で交換されるモデルの更新が、生の訓練データよりも少ない情報しか含んでいないという誤解がある。そのため、モデル更新を共有することは「プライバシーを保護する」ことだと考えられてきた。しかし、モデル更新は、ローカルの訓練データから直接導き出される。明示的には識別できないかもしれないが、モデル更新の表現には訓練データの情報が隠されている。最近の研究では、連合学習が約束するプライバシーに疑問が投げかけられている。特に、この研究は、honest-but-curious中央アグリゲーションサーバを仮定した場合、モデル更新を悪用することで、敵がプライベート属性を推測したり、訓練データを再構築したりすることが確実に可能であることを実証している。
これらの問題に対処する既存の技術としては、モデルの更新に統計的ノイズを追加することによる差分的プライベートアグリゲーションや、Secure Multi-Party Computation (SMC)プロトコルや準同型暗号化(Homomorphic Encryption:HE)などの暗号プリミティブの使用がある。どちらの手法にもいくつかの欠点がある。前者は訓練済みモデルの精度を著しく低下させることが多く、注意深くハイパーパラメータをチューニングする必要があり、後者は計算コストが高い。また、関係者はお互いを信頼していないため、中央アグリゲータは信頼できない第三者(クラウド)のコンピューティングインフラストラクチャ上で実行されることが多く、攻撃時に単一障害点となる可能性がある。
したがって、この脅威モデルに対処する、より強化された連合学習フレームワークを提供する必要性が残っている。
本開示によれば、プライバシー漏洩およびデータ再構成攻撃を防御するための、ニューラルネットワーク訓練のための連合学習システムおよび方法が説明される。本明細書におけるアプローチは、信頼できるアグリゲーション、モデルパーティショニングを伴う分散型アグリゲーション、および動的並べ替えという複数の態様を含む多層防御戦略を活用することによって、情報漏洩に対する強化された防御を提供する。
本明細書で使用する信頼できるアグリゲーションとは、信頼できないサーバ上での隔離された機密実行を容易にするために、ランタイムメモリ暗号化と遠隔認証を提供する信頼できる実行環境(TEE)を使用する概念を指す。分散型アグリゲーションとは、中央アグリゲータを複数の独立した機能的に等価な実行エンティティにパーティショニングし、各実行エンティティを暗号化された仮想マシン内で実行するという概念を指す。複数の分散型アグリゲータにより、関係者は、モデルパラメータ粒度でモデル更新を分解し、各単一重みを特定のアグリゲータにマッピングする自由を有する。したがって、各アグリゲータはモデル更新の部分的なビューしか持たず、モデルアーキテクチャに気づかないことが望ましい。モデル更新のパーティショニングによって単一のアグリゲータを分散化することで、このアプローチは、アグリゲータがセキュリティ攻撃(例えば、特定のTEEをターゲットとする攻撃)の下で単一障害点となることを防ぐ。さらに、ユーザは、複数のアグリゲータを、異なる地理的位置の物理サーバに展開することができ、他のマイクロプロセッサ上の多様なTEEを使用することもできる。たとえアグリゲータのサブセットが侵害されたとしても、敵対者はモデル更新情報全体をまとめ上げることはできない。
ある実装例では、すべてのアグリゲータの実行エンティティは、ランタイムメモリを暗号化した暗号化仮想マシン(EVM)内で実行される。訓練に参加する前に、連合学習の各関係者は、ハードウェアが本物であることを遠隔で認証し、モデルの更新を交換するためのエンドツーエンドの安全なチャネルを確立する。
付加的な態様によれば、上述のように、付加的な防御戦略は、本明細書では動的並べ替えと呼ばれる。動的並べ替えは、連合学習融合アルゴリズム、例えば、連合確率的勾配降下(Federated Stochastic Gradient Descent:FedSGD)や連合平均化(Federated Averaging:FedAvg)の算術演算が、モデル更新にわたって全単射であるという概念を活用する。したがって、モデル更新をパーティショニングし、(内部的に)シャッフルしても、融合結果に影響を与えない。本開示のこの態様によると、関係者は、各訓練反復で断片的なモデル更新を動的にシャッフルし、各アグリゲータ実行エンティティにディスパッチされる情報をさらに難読化する能力を提供される。この戦略により、すべての分散型アグリゲータが侵害されたとしても、敵対者は訓練データを再構築するためのモデル更新の正しい順序を解読できないことが保証される。動的並べ替えは、モデル更新の関係者側の変換が決定論的で可逆的であり、関係者間で同一である場合に有効である。
以上、主題のより適切な特徴のいくつかを概説した。これらの特徴は、単なる例示であると解釈されるべきである。他の多くの有益な結果は、開示された主題を異なる方法で適用することによって、または、これから説明されるように主題を変更することによって達成することができる。
主題およびその利点をより完全に理解するために、添付図面と併せて以下の説明を参照されたい。
例示的な実施形態の例示的な態様が実装され得る分散型データ処理環境の例示的なブロック図を示す。 例示的な実施形態の例示的な態様が実施され得るデータ処理システムの例示的なブロック図である。 安全な分散型機械学習フレームワークの融合サーバが本開示に従って実装され得るクラウドコンピューティング環境を示している。 アグリゲーションサーバとデータ所有者/学習エージェントのセットを含む分散型学習フレームワークを示している。 本明細書では信頼されるアグリゲーションと呼ばれる、第1のセキュリティ技術を示す。 本開示の信頼された分散型連合学習を実装するシステムアーキテクチャを示す。 モデルパーティショニングおよび動的並べ替えスキームの代表的な実装を示している。
<例示的な実施形態の詳細説明>
ここで図面、特に図1~2を参照すると、本開示の例示的な実施形態が実施され得るデータ処理環境の例示的な図が提供されている。図1~2は、例示的なものに過ぎず、開示された主題の態様または実施形態が実装され得る環境に関して、いかなる限定も主張または暗示することを意図していない。本発明の精神および範囲から逸脱することなく、描かれた環境に対する多くの変更を行うことができる。
ここで図面を参照すると、図1は、例示的な実施形態の態様が実装され得る例示的な分散型データ処理システムの絵画表現を示す。分散型データ処理システム100は、例示的な実施形態の態様が実装され得るコンピュータのネットワークを含み得る。分散型データ処理システム100は、分散型データ処理システム100内で共に接続された様々なデバイスおよびコンピュータ間の通信リンクを提供するために使用される媒体である少なくとも1つのネットワーク102を含む。ネットワーク102は、有線、無線通信リンク、または光ファイバケーブルなどの接続を含み得る。
描かれている例では、サーバ104とサーバ106は、記憶装置108とともにネットワーク102に接続されている。さらに、クライアント110、112、114もネットワーク102に接続されている。これらのクライアント110、112、114は、例えば、パーソナルコンピュータ、ネットワークコンピュータなどであってもよい。図示の例では、サーバ104は、ブートファイル、オペレーティングシステムイメージ、およびアプリケーションなどのデータをクライアント110、112、および114に提供する。クライアント110、112、および114は、描かれている例では、サーバ104に対するクライアントである。分散型データ処理システム100は、図示しない追加のサーバ、クライアント、および他のデバイスを含んでもよい。
描かれている例では、分散型データ処理システム100は、互いに通信するためにプロトコルのTCP/IP(Transmission Control Protocol/Internet Protocol)スイートを使用するネットワークおよびゲートウェイの世界的なコレクションを表すネットワーク102を有するインターネットである。インターネットの中心には、主要なノードまたはホストコンピュータ間の高速データ通信回線のバックボーンがあり、データやメッセージをルーティングする何千もの商業、政府、教育、その他のコンピュータシステムで構成されている。もちろん、分散型データ処理システム100は、例えば、イントラネット、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)等のような多数の異なるタイプのネットワークを含むように実装することもできる。上述したように、図1は、開示された主題の異なる実施形態に対するアーキテクチャ上の限定ではなく、例として意図されており、したがって、図1に示された特定の要素は、本発明の例示的な実施形態が実施され得る環境に関して限定的であると考えられるべきではない。
ここで図2を参照すると、例示的な実施形態の態様が実装され得る例示的なデータ処理システムのブロック図が示されている。データ処理システム200は、図1のクライアント110のようなコンピュータの一例であり、本開示の例示的な実施形態のプロセスを実装するコンピュータ使用可能なコードまたは命令が配置され得る。
ここで図2を参照すると、例示的な実施形態が実装され得るデータ処理システムのブロック図が示されている。データ処理システム200は、図1におけるサーバ104またはクライアント110のようなコンピュータの一例であり、その中に、例示的な実施形態に係るプロセスを実装するコンピュータ使用可能なプログラムコードまたは命令が配置され得る。この例示的な実施例では、データ処理システム200は、プロセッサユニット204、メモリ206、永続ストレージ208、通信ユニット210、入力/出力(I/O)ユニット212、およびディスプレイ214の間の通信を提供する通信ファブリック202を含む。
プロセッサユニット204は、メモリ206にロードされ得るソフトウェアの命令を実行する役割を果たす。プロセッサユニット204は、特定の実装に応じて、1または複数のプロセッサのセットであってもよいし、マルチプロセッサコアであってもよい。さらに、プロセッサユニット204は、メインプロセッサが単一チップ上にセカンダリプロセッサと共に存在する1または複数のヘテロジニアスプロセッサシステムを使用して実装されてもよい。別の例示的な例として、プロセッサユニット204は、同じタイプの複数のプロセッサを含む対称型マルチプロセッサ(SMP)システムであってもよい。
メモリ206および永続ストレージ208は、記憶装置の一例である。記憶装置は、情報を一時的もしくは永続的またはその両方で記憶することができるハードウェアの任意の部分である。メモリ206は、これらの例では、例えば、ランダムアクセスメモリ、または任意の他の適切な揮発性または不揮発性記憶装置であってもよい。永続ストレージ208は、特定の実装に応じて様々な形態をとることができる。例えば、永続ストレージ208は、1または複数のコンポーネントまたはデバイスを含むことができる。例えば、永続ストレージ208は、ハードドライブ、フラッシュメモリ、書き換え可能な光ディスク、書き換え可能な磁気テープ、またはこれらの組み合わせであってもよい。永続ストレージ208によって使用される媒体はまた、取り外し可能であってもよい。例えば、取り外し可能なハードドライブは永続ストレージ208に使用され得る。
通信ユニット210は、これらの実施例では、他のデータ処理システムまたは装置との通信を提供する。これらの実施例では、通信ユニット210はネットワークインタフェースカードである。通信ユニット210は、物理通信リンクおよび無線通信リンクのいずれか一方または両方の使用を通じて通信を提供することができる。
入力/出力ユニット212は、データ処理システム200に接続され得る他の装置とのデータの入力および出力を可能にする。例えば、入力/出力ユニット212は、キーボードおよびマウスを介したユーザ入力のための接続を提供することができる。さらに、入力/出力ユニット212は、出力をプリンタに送信してもよい。ディスプレイ214は、ユーザに情報を表示する機構を提供する。
オペレーティングシステムおよびアプリケーションまたはプログラムの命令は、永続ストレージ208に配置される。これらの命令は、プロセッサユニット204による実行のためにメモリ206にロードされてもよい。異なる実施形態の処理は、メモリ206などのメモリに配置されてもよいコンピュータ実装命令を使用して、プロセッサユニット204によって実行されてもよい。これらの命令は、プロセッサユニット204内のプロセッサによって読み取られ実行され得るプログラムコード、コンピュータ使用可能なプログラムコード、またはコンピュータ可読プログラムコードと呼ばれる。異なる実施形態におけるプログラムコードは、メモリ206または永続ストレージ208などの異なる物理的または有形コンピュータ可読媒体上に実装されてもよい。
プログラムコード216は、選択的に取り外し可能なコンピュータ可読媒体218上に機能形態で配置され、プロセッサユニット204による実行のために、データ処理システム200上にロードされるか、またはデータ処理システム200に転送され得る。プログラムコード216およびコンピュータ可読媒体218は、これらの例ではコンピュータプログラム製品220を形成する。一実施例では、コンピュータ可読媒体218は、例えば、永続ストレージ208の一部であるハードドライブなどの記憶装置上に転送するために永続ストレージ208の一部であるドライブや他の装置などに挿入または配置される光学または磁気ディスクなどの有形の形態であってもよい。有形の形態では、コンピュータ可読媒体218はまた、データ処理システム200に接続されるハードドライブ、サムドライブ、またはフラッシュメモリなどの永続ストレージの形態をとることができる。コンピュータ可読媒体218の有形形態は、コンピュータ記録可能記憶媒体とも呼ばれる。いくつかの実施態様では、コンピュータ記録可能媒体218は取り外し可能でなくてもよい。
あるいは、プログラムコード216は、通信ユニット210への通信リンクを介して、もしくは入力/出力ユニット212への接続を介して、またはその両方で、コンピュータ可読媒体218からデータ処理システム200に転送されてもよい。通信リンクもしくは接続またはその両方は、図示の例では物理的または無線であってもよい。コンピュータ可読媒体はまた、プログラムコードを含む通信リンクまたは無線伝送などの非有形媒体の形態をとることもできる。データ処理システム200について例示された異なる構成要素は、異なる実施形態が実装され得る方法に対するアーキテクチャ上の制限を提供することを意図するものではない。異なる例示的な実施形態は、データ処理システム200について図示した構成要素に加えて、またはデータ処理システム200について図示した構成要素の代わりに、構成要素を含むデータ処理システムにおいて実装することができる。図2に示された他の構成要素は、示された例示から変化させることができる。一例として、データ処理システム200における記憶装置は、データを記憶することができる任意のハードウェア装置である。メモリ206、永続ストレージ208、およびコンピュータ可読媒体218は、有形の形態の記憶装置の例である。
別の例では、通信ファブリック202を実装するためにバスシステムが使用されることがあり、システムバスまたは入力/出力バスなどの1または複数のバスで構成されることがある。もちろん、バスシステムは、バスシステムに接続された異なるコンポーネントまたはデバイス間のデータ転送を提供する任意の適切なタイプのアーキテクチャを使用して実装されてもよい。さらに、通信ユニットは、モデムやネットワークアダプタなど、データの送信および受信に使用される1または複数のデバイスを含むことができる。さらに、メモリは、例えば、メモリ206、または通信ファブリック202に存在し得るインタフェースおよびメモリコントローラハブに見られるようなキャッシュであってもよい。
本発明の動作を実行するためのコンピュータプログラムコードは、Java(商標)、Smalltalk、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語や類似のプログラミング言語などの従来の手続き型プログラミング言語を含む、1または複数のプログラミング言語の任意の組み合わせで記述することができる。プログラムコードは、スタンドアロンソフトウェアパッケージとして、完全にユーザのコンピュータ上で、または部分的にユーザのコンピュータ上で実行可能である。あるいは、部分的にユーザのコンピュータ上でかつ部分的にリモートコンピュータ上で、または完全にリモートコンピュータまたはサーバ上で実行可能である。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続され、または(例えば、インターネットサービスプロバイダーを使用したインターネット経由で)外部コンピュータに接続されてよい。
当業者であれば、図1~2のハードウェアは、実装形態によって異なる可能性があることを理解するであろう。フラッシュメモリ、同等の不揮発性メモリ、または光ディスクドライブなどの他の内部ハードウェアまたは周辺デバイスが、図1~2に描かれたハードウェアに加えて、またはその代わりに使用されてもよい。また、例示の実施形態のプロセスは、開示された主題の精神および範囲から逸脱することなく、先に述べたSMPシステム以外のマルチプロセッサデータ処理システムに適用することができる。
これからわかるように、本明細書で説明する技術は、図1に示すような標準的なクライアントサーバパラダイム内で連動して動作することができ、クライアントマシンは、1または複数台のマシンのセットで実行されるインターネットにアクセス可能なウェブベースのポータルと通信する。エンドユーザは、ポータルにアクセスして対話できるインターネット接続可能なデバイス(デスクトップコンピュータ、ノートブックコンピュータ、インターネット対応モバイルデバイスなど)を操作する。典型的には、各クライアントまたはサーバマシンは、ハードウェアおよびソフトウェアを含む図2に示されるようなデータ処理システムであり、これらのエンティティは、インターネット、イントラネット、エクストラネット、プライベートネットワーク、または任意の他の通信媒体またはリンクなどのネットワークを介して互いに通信する。データ処理システムは通常、1または複数のプロセッサ、オペレーティングシステム、1または複数のアプリケーション、および1または複数のユーティリティを含む。データ処理システム上のアプリケーションは、HTTP、SOAP、XML、WSDL、UDDI、WSFLなどのサポートを含むがこれらに限定されない、Webサービスのネイティブサポートを提供する。SOAP、WSDL、UDDI、およびWSFLに関する情報は、これらの標準の開発および保守を担当するWorld Wide Web Consortium(W3C)から入手可能である。HTTPとXMLに関する詳しい情報は、インターネット・エンジニアリング・タスク・フォース(IETF)から入手できる。これらの標準に精通していることが前提となる。
データ処理システム上のアプリケーションは、非標準プロトコルのネイティブサポートや、TCP/IPネットワーク上で動作するように開発されたプライベートプロトコルを使用することもできる。
<クラウドコンピューティングモデル>
上述したように、本開示の分散型機械学習技術は、好ましくは、クラウドコンピューティング環境に配置されるコンピューティング要素を活用する。したがって、クラウドコンピューティングに関する以下の追加的な背景が提供される。
クラウドコンピューティングは、設定可能なコンピューティングリソースの共有プール(例えばネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、記憶装置、アプリケーション、仮想マシンおよびサービス)へ、簡便かつオンデマンドのネットワークアクセスを可能にするためのサービス提供のモデルであり、リソースは、最小限の管理労力または最小限のサービスプロバイダとのやり取りによって速やかに準備(provision)およびリリースできるものである。このクラウドモデルは、少なくとも5つの特性、少なくとも3つのサービスモデル、および少なくとも4つの実装モデルを含むことがあり、これらはすべて、2011年9月のPeter MellおよびTim Granceによる「The NIST Definition of Cloud Computing(NISTによるクラウドコンピューティングの定義)」でより詳細に説明および定義されている。
特に、特性は以下の通りである。
オンデマンド・セルフサービス:クラウドの消費者は、サービスプロバイダとの人的な対話を必要することなく、必要に応じて自動的に、サーバ時間やネットワークストレージなどのコンピューティング能力を一方的に準備することができる。
ブロード・ネットワークアクセス:コンピューティング能力はネットワーク経由で利用可能であり、また、標準的なメカニズムを介してアクセスできる。それにより、異種のシンまたはシッククライアントプラットフォーム(例えば、携帯電話、ラップトップ、PDA)による利用が促進される。
リソースプーリング:プロバイダのコンピューティングリソースはプールされ、マルチテナントモデルを利用して複数の消費者に提供される。様々な物理リソースおよび仮想リソースが、需要に応じて動的に割り当ておよび再割り当てされる。一般に消費者は、提供されたリソースの正確な位置を管理または把握していないため、位置非依存(location independence)の感覚がある。ただし消費者は、より高い抽象レベル(例えば、国、州、データセンタ)では場所を特定可能な場合がある。
迅速な柔軟性(elasticity):コンピューティング能力は、迅速かつ柔軟に準備することができるため、場合によっては自動的に、直ちにスケールアウトし、また、速やかにリリースされて直ちにスケールインすることができる。消費者にとって、準備に利用可能なコンピューティング能力は無制限に見える場合が多く、任意の時間に任意の数量で購入することができる。
測定されるサービス:クラウドシステムは、サービスの種類(例えば、ストレージ、処理、帯域幅、アクティブユーザアカウント)に適したある程度の抽象化レベルでの測定機能を活用して、リソースの使用を自動的に制御し最適化する。リソース使用量を監視、制御、および報告して、利用されるサービスのプロバイダおよび消費者の両方に透明性を提供することができる。
サービスモデルは以下の通りである。
サービスとしてのソフトウェア(SaaS):消費者に提供される機能は、クラウドインフラストラクチャ上で動作するプロバイダのアプリケーションを利用できることである。当該そのアプリケーションは、ウェブブラウザ(例えばウェブメール)などのシンクライアントインタフェースを介して、各種のクライアント装置からアクセスできる。消費者は、ネットワーク、サーバ、オペレーティングシステム、ストレージや、個別のアプリケーション機能さえも含めて、基礎となるクラウドインフラストラクチャの管理や制御は行わない。ただし、ユーザ固有の限られたアプリケーション構成の設定はその限りではない。
サービスとしてのプラットフォーム(PaaS):消費者に提供される機能は、プロバイダによってサポートされるプログラム言語およびツールを用いて、消費者が作成または取得したアプリケーションを、クラウドインフラストラクチャに展開(deploy)することである。消費者は、ネットワーク、サーバ、オペレーティングシステム、ストレージを含む、基礎となるクラウドインフラストラクチャの管理や制御は行わないが、展開されたアプリケーションを制御でき、かつ場合によってはそのホスティング環境の構成も制御できる。
サービスとしてのインフラストラクチャ(IaaS):消費者に提供される機能は、オペレーティングシステムやアプリケーションを含み得る任意のソフトウェアを消費者が展開および実行可能な、プロセッサ、ストレージ、ネットワーク、および他の基本的なコンピューティングリソースを準備することである。消費者は、基礎となるクラウドインフラストラクチャの管理や制御は行わないが、オペレーティングシステム、ストレージ、および展開されたアプリケーションを制御でき、かつ場合によっては一部のネットワークコンポーネント(例えばホストファイアウォール)を部分的に制御できる。
展開モデルは以下の通りである。
プライベートクラウド:このクラウドインフラストラクチャは、特定の組織専用で運用される。このクラウドインフラストラクチャは、当該組織または第三者によって管理することができ、オンプレミスまたはオフプレミスで存在することができる。
コミュニティクラウド:このクラウドインフラストラクチャは、複数の組織によって共有され、共通の関心事(例えば、ミッション、セキュリティ要件、ポリシー、およびコンプライアンス)を持つ特定のコミュニティをサポートする。このクラウドインフラストラクチャは、当該組織または第三者によって管理することができ、オンプレミスまたはオフプレミスで存在することができる。
パブリッククラウド:このクラウドインフラストラクチャは、不特定多数の人々や大規模な業界団体に提供され、クラウドサービスを販売する組織によって所有される。
ハイブリッドクラウド:このクラウドインフラストラクチャは、2つ以上のクラウドモデル(プライベート、コミュニティまたはパブリック)を組み合わせたものとなる。それぞれのモデル固有の実体は保持するが、標準または個別の技術によってバインドされ、データとアプリケーションの可搬性(例えば、クラウド間の負荷分散のためのクラウドバースティング)を実現する。
クラウドコンピューティング環境は、ステートレス性(statelessness)、低結合性(low coupling)、モジュール性(modularity)および意味論的相互運用性(semantic interoperability)に重点を置いたサービス指向型環境である。クラウドコンピューティングの中核にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。代表的なクラウドコンピューティングノードは、前述の図2に示されている通りである。特に、クラウドコンピューティングノードには、コンピュータシステム/サーバがあり、多数の他の汎用または特殊目的のコンピューティングシステム環境または構成と運用可能である。コンピュータシステム/サーバと共に使用するのに適し得る周知のコンピューティングシステム、環境、もしくは構成、またはその組み合わせの例としては、パーソナルコンピュータシステム、サーバコンピュータシステム、シンクライアント、シッククライアント、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル家電、ネットワークPC、ミニコンピュータシステム、メインフレームコンピュータシステム、および上記のシステムまたはデバイスのいずれかを含む分散型クラウドコンピューティング環境などが挙げられるが、これらに限定されない。コンピュータシステム/サーバは、プログラムモジュールなどのコンピュータシステム実行可能命令がコンピュータシステムによって実行されるという一般的な文脈で説明される場合がある。一般に、プログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含むことができる。コンピュータシステム/サーバは、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散型クラウドコンピューティング環境で実施される場合がある。分散型クラウドコンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含むローカルおよびリモートのコンピュータシステムの記憶媒体の両方に配置されることがある。
典型的なクラウドコンピューティング環境において、図3に図示されるように、機能的抽象化レイヤのセットが提供される。これらは、ハードウェアおよびソフトウェアレイヤ、仮想化レイヤ、管理レイヤおよびワークロードレイヤを含む。
ハードウェアおよびソフトウェアレイヤ300は、ハードウェアコンポーネントおよびソフトウェアコンポーネントを含む。ハードウェアコンポーネントの例には、メインフレーム(一例としてIBM(登録商標)zSeries(登録商標)システム)、縮小命令セットコンピュータ(RISC)アーキテクチャベースのサーバ(一例としてIBM pSeries(登録商標)システム、IBM xSeries(登録商標)システム、IBM BladeCenter(登録商標)システム))、記憶装置、ならびにネットワークおよびネットワークコンポーネントが含まれる。ソフトウェアコンポーネントの例としては、IBM WebSphere(登録商標)アプリケーションサーバソフトウェアなどのネットワークアプリケーションサーバソフトウェア、IBM DB2(登録商標)データベースソフトウェアなどのデータベースソフトウェアがある。(IBM、zSeries、pSeries、xSeries、BladeCenter、WebSphere、およびDB2は、世界中の多くの法域で登録されているInternational Business Machines Corporationの商標である。)
仮想化レイヤ302は、抽象化レイヤを提供する。当該レイヤから、例えば以下の仮想エンティティを提供することができる:仮想サーバ、仮想ストレージ、仮想プライベートネットワークを含む仮想ネットワーク、仮想アプリケーションおよびオペレーティングシステム、ならびに仮想クライアント。
管理レイヤ304は様々な管理機能を提供する。例えば、リソース準備は、クラウドコンピューティング環境内でタスクを実行するために利用されるコンピューティングリソースおよび他のリソースの動的な調達を可能にする。計量および価格設定は、クラウドコンピューティング環境内でリソースが利用される際のコスト追跡、およびこれらのリソースの消費に対する請求またはインボイス送付を可能にする。一例として、これらのリソースはアプリケーションソフトウェアのライセンスを含んでよい。セキュリティは、データおよび他のリソースに対する保護のみならず、クラウドコンシューマおよびタスクの識別確認を可能にする。ユーザポータルは、コンシューマおよびシステム管理者にクラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理は、要求されたサービスレベルが満たされるように、クラウドコンピューティングリソースの割り当ておよび管理を可能にする。サービス品質保証(SLA)の計画および履行は、SLAに従って将来必要になると予想されるクラウドコンピューティングリソースの事前手配および調達を可能にする。
ワークロードレイヤ306は、クラウドコンピューティング環境が利用される機能を提供する。このレイヤから提供可能なワークロードおよび機能の例には、マッピングおよびナビゲーション、ソフトウェア開発およびライフサイクル管理、仮想教室教育の配信、データ分析処理、取引処理、プライベートクラウド内の企業固有の機能、および本開示によれば、分散型機械学習308が含まれる。
したがって、代表的なクラウドコンピューティング環境は、フロントエンドIDマネジャ、ビジネスサポートサービス(BSS)機能コンポーネント、運用サポートサービス(OSS)機能コンポーネント、およびコンピュートクラウドコンポーネントを含むハイレベル機能コンポーネントのセットを有する。IDマネージャーは、ID管理を提供するように要求するクライアントとのインターフェースを担当し、このコンポーネントは、ニューヨーク州アーモンクのIBM社から入手可能なTivoli Federated Identity Manager(TFIM)など、1または複数の既知のシステムで実装することができる。適切な状況では、TFIMを使用して、他のクラウドコンポーネントに連携シングルサインオン(F-SSO)を提供することができる。ビジネスサポートサービスコンポーネントは、課金サポートなど特定の管理機能を提供する。運用サポートサービスコンポーネントは、仮想マシン(VM)インスタンスなど、他のクラウドコンポーネントの展開と管理を提供するために使用される。仮想マシンは、ソフトウェア上にインストールされ、ハードウェアマシンを模倣するオペレーティングシステムまたはアプリケーション環境である。クラウドコンポーネントは、主要な計算リソースを表し、典型的には、クラウドを介してアクセスできるようにされているターゲットアプリケーションを実行するために使用される複数の仮想マシンインスタンスである。1または複数のデータベースは、ディレクトリ、ログ、およびその他の作業データを記憶するために使用される。これらのコンポーネント(フロントエンドアイデンティティマネージャを含む)はすべてクラウド「内」に配置されるが、これは要件ではない。代替実施形態では、IDマネージャはクラウドの外部で運用される場合がある。サービスプロバイダもクラウドの外部で動作させることができる。
いくつかのクラウドは、非伝統的なIPネットワークに基づくものもある。したがって、例えば、クラウドは、MACアドレスのハッシュを使用する特別なシングルレイヤーIPルーティングを備えた2層のCLOSベースのネットワークに基づく場合がある。本明細書で説明する技術は、このような非伝統的なクラウドでも使用することができる。
一般化すると、クラウドコンピューティングインフラストラクチャは、ネットワークを介して接続されたホストマシン(例えば、サーバまたは同様の物理マシンコンピューティングデバイス)と、1または複数の管理サーバを備える仮想マシンホスティング環境を提供する。通常、物理サーバはそれぞれ、VMware ESX/ESXiなどの仮想化技術を使用して、1または複数の仮想マシンを動的に提供するように適合されている。複数のVMを単一のホストマシンに配置し、ホストマシンのCPU、メモリ、その他のリソースを共有することで、組織のデータセンターの利用率を高めることができる。他のタスクの中でも、管理サーバはインフラストラクチャを監視し、必要に応じて例えば仮想マシンをホスト間で移動させるなど、VMの配置を自動的に操作する。
非限定的な実装では、代表的なプラットフォーム技術として、VMware vSphere 4.1 Update 1および5.0を搭載したIBM System x(登録商標)サーバが挙げられるが、これらに限定されるものではない。
<連合学習と脅威モデル>
分散型機械学習の既知のアプローチが図4に描かれている。このシステムは、融合(アグリゲーション)サーバ400と、本明細書では学習エージェントと呼ばれることもある、データ所有者またはエージェント402の数Nを含む。本実施形態では、各学習エージェントは、ローカルデータセットd_iにアクセスすることができ、通常はラベル付けされたサンプルから構成され、同じ機械学習またはニューラルネットワークモデルを訓練することを望んでいる。各エージェントは、保護したい独自のデータセットを有し、他のエージェントやアグリゲーションサーバと共有することはできない。典型的な操作では、分散型学習プロセスは以下のように実行される。ステップ(1)で、各エージェント402は、訓練のためのハイパーパラメータを取得するために、アグリゲーションサーバ400に接続する。機械学習において、ハイパーパラメータとは、学習が開始される前に値が設定されるパラメータであり、これに対して、他のパラメータの値は、訓練によって導出される。各エージェント402は、同じタイプのニューラルネットワークを訓練する。代表的な例では、エージェントに関連するモデルは、複数のパラメータからなるパラメータベクトルA=[p...p]によって特徴付けられる。システムには複数のエージェントが存在し、Aはエージェントiによって与えられるパラメータベクトルである。ステップ(2)で、i番目のエージェントは、そのローカルデータセットd_iでモデルを訓練する。かかる訓練は、通常、全体的な訓練データの小さなサブセットであるミニバッチを取ることによって行われ、そうすることで、i番目のエージェントは、そのパラメータベクトルAを計算する。ステップ(3)で、各エージェント402は、結果として得られたパラメータをアグリゲーションサーバ400に送信し、アグリゲーションサーバ400は、ベクトル内の各パラメータを融合する(典型的には、平均または加重平均を計算する)。平均は、エージェントごとに異なる優先順位(重みm)を使用することができる。例えば、エージェントiが重みmを得た場合、アグリゲーションサーバによって計算された平均パラメータベクトルは、Σ/Σとなる。ステップ(4)で、アグリゲーションサーバ400は、平均パラメータベクトルをエージェント402に返送する。ステップ(2)~(3)は、学習が完了したとみなされるまで、所定の回数繰り返される。
上述したプロセスは、少なくとも加法的な損失関数、すなわち指標損失関数(例えば、クロスエントロピー損失、ノルムベース損失、バイナリクロスエントロピーなど)については、全てのデータが一箇所で収集され、モデルの訓練に使用された場合と同じモデルを作成することにつながることが示されている。しかし、このアプローチには、モデルをアグリゲーションサーバに公開するという課題がある。アグリゲーションサーバは通常クラウドホスティングサービスであり、クラウド上に存在しないかもしれないデータ所有者/エージェントから信頼されていない可能性がある。後述するように、本開示の多層セキュリティ技術はこの問題に対処する。
さらに背景を説明すると、連合学習が登場した背景には、訓練データをすべての関係者から収集し、訓練のために中央サーバにプールしなければならない集中型訓練のプライバシーリスクと制約に対処する必要性という重要な原動力がある。FLでは、訓練データは各参加者のローカルデバイスに分散管理される。参加者(または関係者)は、モデルアーキテクチャに合意し、ローカルな訓練パイプラインを維持する必要がある。図4に示されているように、各関係者は、生の訓練データを中央サーバに提供する代わりに、プライベート訓練データを使用してローカルモデルを訓練し、モデル更新を中央サーバにアップロードする。通常、アグリゲータは、関係者の管理、訓練タスクのオーケストレーション、モデル更新のマージも担当する。アグリゲーションされたモデル更新は、各訓練反復後に、ローカルモデルを同期させるために(通常)各関係者にディスパッチされる。
FedSGDとFedAvgの両アルゴリズムは、全単射の和と平均の演算しか行わない。簡単に言えば、モデルが配列として表現されている場合、これらの融合アルゴリズムは、関係者間で座標的に融合を実行する。つまり、関係者PのモデルMのインデックス iのパラメータと、関係者PのモデルMの同じインデックスiのパラメータを加算または平均する。関係者間で与えられたインデックスiのパラメータは、他のインデックスのパラメータを知らなくても融合できる。このように、モデル更新全体を複数の部分にパーティショニングし、それらを複数のサーバに展開し、同じ融合アルゴリズムを独立して実行することができる。さらに、すべての関係者が同じ並べ替えを行う限り、パラメータや勾配をアグリゲーション前にシャッフルすることもできる。FLプライバシー攻撃では、モデル更新の完全性とデータ順序が、訓練データを再構成する最適化手順にとって極めて重要である。どちらかが欠けていると、再構成に失敗する。後述するように、パーティショニングと並べ替えをローカル側で逆に行うことができればよいので、本明細書の手法にはこのような制限はない。
一般的に、連合学習は、クロスデバイスとクロスサイロの両方のシナリオで使用することができる。一般的に、クロスデバイスFL訓練では、多数のモバイルデバイスやIoT(Internet of Thing)デバイスがクライアントとして使用される。クライアントの信頼性は非常に低い。デバイスは頻繁に参加したり脱退したりする可能性があり、バッテリーで駆動することが多いためエネルギー制約がある。しかし、クロスサイロFL訓練では、通常、一定数の組織がモデルを共同で学習するインセンティブを共有する。これらの組織は、信頼性の高いローカル訓練施設を提供することができる。そのため、アグリゲータは関係者の状態を維持し、一意のIDで関係者に対処することができる。クロスサイロ訓練は、データの機密性を厳しく要求することで、データのプライバシーにより重点を置いている。後述するように、本アプローチはFLクロスサイロ訓練の問題に対処しているが、クロスデバイスドメインにも適応可能である。
本明細書での脅威モデルは、honest-but-curiousアグリゲーションサーバを想定している。FLの訓練プロセスに関与するすべての関係者は善良であるが、訓練データを互いに共有する傾向はないと仮定する。敵対者は、関係者からアップロードされたモデル更新を検査しようとする。敵の目的は、FL訓練に参加した関係者の訓練データを再構築することである。この脅威モデルは、FLプライバシー攻撃と同じである。さらに、FLに関与する関係者は、システムオンチップ(SoC)ハードウェアと、モデルアグリゲーションワークロードを保持するEVMを信頼していると仮定する。
<システム設計>
以下では、本開示の連合学習フレームワークの代表的な設計を詳述し、本アプローチがFLプライバシー攻撃の情報漏洩チャネルを効果的に緩和する方法について説明する。上述のように、フレームワークは、好ましくは、(1)信頼できるアグリゲーション、(2)分散型アグリゲーション、および(3)動的並べ替えを含む多層セキュリティアプローチを活用する。第1のアグリゲーション技術は、ランタイムメモリ暗号化を備えた遠隔で証明可能な暗号化された仮想マシン(例えば、AMD(登録商標)SEV EVM)を介して、秘密かつ信頼できるアグリゲーションを可能にする。この例示的な実施形態で使用されるSecure Encrypted Virtualization(SEV)は、2016年にAMDによって導入されたコンピューティング技術である。これは、パブリッククラウド環境においてセキュリティに敏感なワークロードを保護することを目的としている。SEVは、AMD Secure Memory Encryption(SME)に依存して、ランタイムメモリ暗号化を可能にする。AMD仮想化(AMD-V)アーキテクチャと組み合わせることで、SEVはゲストVMとハイパーバイザー間の暗号分離を強制することができる。そのため、SEVは、例えばハイパーバイザーレベルの高位のシステム管理者が、暗号化された仮想マシンのドメイン内のデータにアクセスできないようにすることができる。SEVが有効な場合、SEVハードウェアはVMのすべてのコードとデータにアドレス空間識別子(ASID)を付け、ASIDは、VM暗号化鍵(VM Encryption Key:VEK)と呼ばれる個別の一過性の高度な暗号化標準(Advanced Encryption Standard:AES)鍵と関連付けられる。鍵は、AMD SoCに統合された32ビットARM Cortex-A5マイクロコントローラであるAMD SPによって管理される。ランタイムメモリ暗号化は、オンダイメモリコントローラを介して実行される。各メモリコントローラにはAESエンジンが搭載されており、メインメモリへの書き込み時やSoCへの読み込み時にデータの暗号化/復号を行う。メモリページ暗号化の制御は、ページテーブルを介して行われる。物理アドレスビット47(別名Cビット)は、メモリページが暗号化されているかどうかを示すために使用される。他のTEEと同様に、SEVは、ハードウェアプラットフォームの認証と、起動されたゲストVMの認証のための遠隔認証メカニズムも提供する。プラットフォームの真正性は、AMDとプラットフォーム所有者によって署名されたID鍵によって証明される。秘密を準備する前に、ゲストVMのオーナーは、SEV対応ハードウェアの真正性と、暗号化された仮想マシンの起動を支援するUEFIファームウェアの計測の両方を検証する。
図5は、この機密アグリゲーションの一般的な概念を示している。図3に関して上述したクラウド実行環境のような、分離され独立した信頼された実行環境(その1つを500で示す)がクラウド内に存在すると仮定する。TEE500のようなTEEにより、ユーザは、CPUパッケージを信頼した上で、第三者のクラウドサーバに計算をアウトソースすることができる。代表的なTEE技術としては、例えばIntel(登録商標) SGX(Software Guard Extensions)/TDX(Trust Domain Extensions)、AMD(登録商標)SEV(上述)、IBM(登録商標) PEF(Protected Execution Facility)、ARM TrustZoneなどがある。TEEは、特に、プライバシーに敏感な大量の訓練データ、複数の配布者、より厳しいデータ保護の規制を伴う可能性のある、協調的なML計算にとって魅力的である。ここで、これから説明するように、TEE500は、連合学習を促進する他のかかる実行エンティティからアグリゲータ実行エンティティを分離するための信頼できる仲介者として機能する。
図5に示すように、TEE500は、パッキングおよび展開のためにオペレーティングシステムベースのコンテナメカニズム(例えば、Kata Containerなどのオープンソースコンテナ)に関連付けられ、隔離された仮想マシンを実行する。特に、TEE500は、ランタイムメモリ暗号化(SEVなど)506によってサポートされる暗号化仮想マシン(EVM)504内でアグリゲータ502を実行する。TEE内でアグリゲータを実行することで、メモリ破壊攻撃が緩和される。アグリゲータ502は、図4に描かれた単一のアグリゲータを含む、分散型アグリゲータのセットの1つである。アグリゲータ502などの各アグリゲータは、EVM504内で実行され、EVMメモリは、別個の一過性仮想マシン暗号化鍵(VEK)によって保護される。このようにして、モデルアグリゲーション計算の機密性も、権限のないユーザ、例えばシステム管理者、およびホスティングサーバ上で実行されているハイパーバイザーやOSなどの特権ソフトウェアから保護される。これから説明するように、連合学習の関係者508はそれぞれ、訓練に参加する前に、本物のSEVハードウェア/ファームウェアを遠隔で認証し、モデル更新を交換するためのエンドツーエンドの安全なチャネルを確立する。特に、認証サーバ505によって促進される遠隔認証は、アグリゲータのハードウェア認証と負荷時整合性チェックを提供するために使用される。また、描かれているように、各関係者508は、データと独自の機械学習(ML)インフラストラクチャ510を有し、通常、属性(例えば、モデル勾配)を交換することによって協力する。
上記を背景として、以下では、本開示の連合学習フレームワークの代表的な展開例について、より詳細に説明する。
連合学習フレームワークの代表的な展開例を図6に示す。この例では、連合学習に参加する4つの関係者600(番号関係者1~4)があり、アグリゲーションメカニズムは、3つのアグリゲータ実行エンティティ602(番号アグリゲータ1~3)に分散化されている。各アグリゲータ実行エンティティ602は、TEE604内で実行されるため、3つのTEE(番号TEE1~3)が存在する。従来の連合学習と同様に、本アプローチでは、各関係者600は、訓練に参加するために、アグリゲータ602に登録する必要がある。各関係者は、登録の前に、例えば遠隔認証によって、TEEプラットフォームを検証する必要がある。まず、1つのアグリゲータ実行エンティティが、すべての関係者に通知することで、訓練プロセスを開始する。訓練フェーズの間、アグリゲータは、すべての関係者と訓練を何度か繰り返す。各訓練反復において、各関係者はまずアグリゲータから最新のモデル更新をダウンロードすることによってローカルモデルを同期させ、次にローカルの訓練データを使用して新しいモデル更新を生成し、それをアグリゲータにアップロードする。アグリゲータは、全関係者からのモデル更新をマージし、アグリゲートバージョンを全関係者に送り返す。グローバル訓練は予め決定された訓練基準を満たすと終了する。例えば、FL訓練が指定された訓練反復回数に達した場合や、モデルの精度要件がローカルで満たされた場合にFL訓練を終了することを各関係者が決定できる場合などである。従来のFLとは異なり、図4に描かれたような単一の中央アグリゲータではなく、TEE604内で実行される複数のアグリゲータ602が展開に関与する。このシステムでは、アグリゲータ602は、訓練同期のために互いに通信する必要がある。さらに、これから説明するように、アグリゲータのワークロードと展開秘密の認証を担当する認証サーバ606も展開される。
<信頼できるアグリゲーション>
前述したように、関係者とアグリゲータ間で交換されるモデル更新には、プライベート訓練データをリバースエンジニアリングするために不可欠な情報が含まれている可能性がある。以下の技法は、送信中および使用中のモデル更新を敵対者が傍受および検査するチャネルを排除するために使用される。この設計では、好ましくは、SEV(ただし、これに限定されない)のようなメカニズムを介して、FLアグリゲーションの暗号分離が実施される。図5で述べたように、アグリゲータはEVM内で実行され、各EVMのメモリは個別の一過性のVEKで保護される。図6に示す実施形態では、アグリゲータ602と関係者600の間の信頼の確立は、2つの段階に分けられる。
<ステージI:信頼できるアグリゲータの起動>
まず、SEV EVMは、アグリゲータが内部で実行されている状態で安全に起動される。EVMの信頼を確立するために、(1)プラットフォームが必要なセキュリティ特性を提供する本物のセキュア(例えばAMD SEV対応)ハードウェアであること、(2)EVMを起動するためのUEFI(Unified Extensible Firmware Image)が改ざんされていないこと、を証明するための認証が提供される。遠隔認証が完了すると、秘密が好ましくは信頼できるアグリゲータの一意の識別子として、EVMに展開される。秘密はEVMの暗号化された物理メモリに注入され、後述のステージIIでアグリゲータの認証に使用される。図6において、ステップ(1)は、遠隔認証を容易にする認証サーバ606を示す。この目的のために、EVMオーナーは、サービスプロバイダ(例えば、AMD(登録商標) SP)に、例えば、プラットフォームDiffie-Hellman公開鍵(PDH)からルート(例えば、AMDルート鍵(ARK))までの証明書チェーンをエクスポートするように指示する。この証明書チェーンは、ルート証明書によって検証できる。さらに、証明書チェーンとともに、UEFIイメージのダイジェスト、SEV APIバージョン、VM展開ポリシーも認証レポートに含まれることが望ましい。
認証レポートは、ハードウェアプラットフォームを認証するために証明書チェーンを検証するルート証明書で展開されている認証サーバ606に送信される。その後、認証サーバ606は、起動ブロブおよびゲストオーナーDiffie-Hellman公開鍵(GODH)証明書を生成する。これらは、Diffie-Hellman鍵交換(Diffie-Hellman Key Exchange:DHKE)を介してトランスポート暗号化鍵(Transport Encryption Key:TEK)とトランスポート完全性鍵(Transport Integrity Key :TIK)をネゴシエートし、EVMを起動するために、アグリゲーションサーバ606に送り返される。起動時にEVMを一時停止することで、SPを介してUEFI測定値を取得することができる。この測定値はUEFIブートプロセスの完全性を証明するために認証サーバ606に送られる。この後、認証サーバ606はパッケージ化された秘密を生成する。この秘密には、好ましくはECDSA prime251v1鍵が含まれる。ハイパーバイザー(図示せず)は、この秘密を信頼できるアグリゲータの一意の識別子としてEVMの物理メモリ空間に注入し、起動プロセスを継続する。この秘密の注入手順は、第1世代SEV遠隔認証プロトコルなどの遠隔認証プロトコルに従うことが好ましい。他の遠隔認証プロトコル、例えば今後のSEV-SNPを実装することで、起動プロセスの完全性をさらに強化することができる。
<ステージII:アグリゲータの認証>
FLに参加する関係者は、実行時メモリ暗号化保護を持つ信頼できるアグリゲータと相互作用していることを確認する必要がある。アグリゲータの認証を可能にするために、また上述したように、ステージIで、認証サーバ606は、EVM展開中に秘密としてECDSA秘密鍵を規定する。この鍵は、チャレンジ要求に署名するために使用されるため、正当なアグリゲータを識別するのに役立つ。図6のステップ(2)では、FLに参加する前に、関係者はまず、チャレンジ要求プロトコルに参加することによってアグリゲータを認証する。この目的のために、関係者600は、ランダムに生成されたノンスをアグリゲータ602に送信する。アグリゲータ602は、対応するECDSAプライベート鍵を使用してノンスにデジタル署名し、署名されたノンスを要求関係者に返す。関係者はノンスが対応するECDSA公開鍵で署名されていることを検証する。検証が成功した場合、関係者600はアグリゲータ602に登録し、FLに参加する。さらに、好ましくは、モデルパラメータを更新するためのアグリゲータ間およびアグリゲータと関係者間の通信を保護するために、安全なチャネルが提供される。安全なチャネルは、関係者とアグリゲータ間の相互認証をサポートするために、トランスポートレイヤセキュリティ(TLS)を使用して実装することができる。このようにして、交換されたすべてのモデル更新は、使用時と送信時の両方で保護される。
<モデルパーティショニングによる分散アグリゲーション>
信頼できるアグリゲーションを有効にすると大きな利点が得られるが、TEEが万能であり将来的にセキュリティの脆弱性が発覚しないという保証はないため、それだけでは十分ではない可能性がある。したがって、モデルパーティショニングを伴う分散型アグリゲーションである第2のセキュリティレイヤは、TEEがデータ漏えいで侵害されたとしても、敵対者がモデル更新から訓練データを再構築できないことを保証するために、システムの回復力を強化する。ここで、本開示のこの態様について、図6に示す代表的な実装に関して再度詳しく説明する。
先に説明したように、各アグリゲータ602はEVM内で動作し、モデル更新の一部のみを担当する。図6では、3つのアグリゲータが確立され、上述したように、参加する各関係者は、すべてのアグリゲータをそれぞれ認証し、登録する。この例では、以下のように分散型アグリゲーションが有効になっている。
<アグリゲータ間訓練同期>
通信チャネルは、例えばステップ(3)の訓練同期のためにアグリゲータ間で維持される。アグリゲータ602のいずれか1つが訓練反復を開始することができ、デフォルトでイニシエータノードになる。他のすべてのアグリゲータはフォロワノードとなり、イニシエータからのコマンドを待つ。各訓練反復において、イニシエータはまず、ローカル訓練を開始し、融合のためのモデル更新を取得するために、すべての関係者に問い合わせを行う。その後、イニシエータはすべてのフォロワノードに、対応するモデル更新を取得し、それらをアグリゲーションし、アグリゲーションされた更新を各関係者に配布するように通知する。
分散型アグリゲーションは、アグリゲーションポイントでモデル情報を不正に入手するためのコストを増加させる。アグリゲータはもはやモデルのアーキテクチャ情報を保持しておらず、数字のベクトルしか見ていない。さらに、モデル更新のごく一部を見逃してしまうだけでも、データ再構築攻撃が完全に無効になってしまう可能性がある。したがって、この保護スキームでは、モデル更新の完全なセットを取得するために、TEEで保護されたすべてのアグリゲータを妥協させる必要がある。
TEEで保護されたすべてのアグリゲータを危殆化することは非常に困難であるが、以下では、連合学習を情報漏洩やその他の危殆化からさらに保護するために実装することができる、第3のセキュリティレイヤである動的並べ替えについて説明する。
<動的並べ替え>
この目的のために、また、関係者からアグリゲータに転送される情報をさらに難読化するために、好ましくは、動的並べ替えスキームが、パーティショニングされたモデル更新をシャッフルするために、好ましくは、訓練反復毎(または、他の定義された期間)に、展開される。上述したように、動的並べ替えスキームは、モデル更新におけるパラメータの順序は融合アルゴリズムには関係ないが、FLプライバシー攻撃で使用されるデータ再構築アルゴリズムには重要であるという洞察に基づいている。このデータ順序が難読化されているため、敵対者がモデル更新全体を取得したとしても、再構築された訓練データを生成することは不可能である。
<ランダム化されたモデルパーティショニング>
モデルパーティショニングおよび動的並べ替えは、図7に描かれており、そこに描かれている3つのアグリゲータに関して描かれている。特に、アグリゲータ702(アグリゲータ1から3)は、図6のアグリゲータ602に対応する。訓練が開始される前に、アグリゲータマッパー710(データ構造)が、訓練されるDNNモデルごとにランダムに生成される。各関係者は、各アグリゲータについてモデルパラメータの割合を選択するが、これはデフォルトに設定することもできる。また、ローカルな関係者は、マッパー710に合意しなければならず、したがって、このマッパー710は、FL訓練に参加するすべての関係者によって共有される。図7において、第1の関係者は、訓練されたローカルモデル712を有する。図7に示されるように、そしてマッパー710を使用して、ローカルモデル712のk個のパラメータは、3つのアグリゲータ、すなわち、示されるように、アグリゲータ{1-3}にマッピングされ、陰影およびクロスハッチングは、モデル内の各パラメータに対するアグリゲータ属性を表す。さらに示されるように、図6のステップ(4)では、シャッフルされたパーティションを生成するために、異なるアグリゲータに対してモデル更新が分解され、再配列される。そして、シャッフルされたパーティションは、それぞれのアグリゲータにアップロードされ、融合が実行されて、アグリゲーションされたパーティションが生成される。関係者は、異なるアグリゲータからアグリゲーションされたモデル更新を受信した後、アグリゲーションされたモデル更新を正しい順序に逆シャッフルする。その後、同じマッパー710が、ローカルモデル内の元の位置にモデル更新をマージするために再度問い合わせられる(図6のステップ(5))。図7では、1つのローカルモデル(訓練され、その後マージされる)のみが描かれているが、各関係者は、それぞれ独自のこのようなローカルモデル構成を有する。
好ましくは、この動的並べ替えスキームは、訓練の反復ごとに、パーティショニングされたモデルの更新をシャッフルする。各並べ替えは、すべての関係者の間で合意された秘密(例えば、信頼できる仲介者を介して配布される)と、動的に生成された訓練反復IDでシードされる。したがって、好ましくは、並べ替えはすべての訓練反復の間で変化するが、それはすべての関係者間で同じである。別の言い方をすれば、本明細書におけるアプローチは、決定論的な並べ替えを用いる各訓練反復において、モデル更新を動的にシャッフルすることが好ましい。アグリゲータ(すなわち、アグリゲータ実行エンティティ)は、モデル更新をマージし、関係者は、アグリゲートされたモデル更新の順序を回復する責任を負う。このアプローチは、アップロードされたモデルパラメータの順序を動的にシャッフルすることで、データ漏洩攻撃を緩和する。このようにして、他の利点の中でも、本アプローチは、連合学習におけるローカル訓練データのプライバシー保護をより効率的にする。
したがって、本態様によれば、好ましくは、関係者によって生成されるモデル更新全体は、複数の部分(パーティション)にパーティショニングされ、パーティションは、同じ融合アルゴリズムが独立して実行される複数のサーバ(アグリゲーション実行エンティティ)に展開される。さらに、すべての関係者が同じ並べ替えを実行する限り、パラメータや勾配(より一般的には要素)も、アグリゲーションの前にローカルでシャッフル(すなわち並べ替え)される。関係者がローカル側でパーティショニングと並べ替えを逆にできることだけが要求される。ローカルモデルの更新パーティショニングと並べ替えは、定期的に、例えば各訓練反復時、または他の定義された周期で実行することができ、別の方法では、更新のパーティショニングと並べ替えが非同期で行われる。
ローカルモデル全体のパーティションへのパーティショニングと、各パーティション内の1または複数の要素の並べ替えは、モデリングの反復ごとに行われる。すべてのパーティションは、同じパーティションを適用するか、何も適用しないかのいずれかである。さらに、パーティショニングもしくは並べ替えまたはその両方の戦略を集中型アグリゲータ(アグリゲーションエンティティの数が1に等しいケース)に適用することもできる。この場合、パーティションはないが、モデル更新における重みの並べ替えはある。
一般化すると、上記のような動的並べ替えスキームは、連合学習におけるアグリゲーションされた難読化を容易にする。連合学習の関係者(または、より一般的には、連合学習に従事している複数のシステムの第1のシステム)は、更新ベクトル(または、より一般的には、更新)が融合のために送信されるべきであると決定する。その後、難読化アルゴリズムが更新ベクトルを難読化するために適用され、難読化更新ベクトルが生成される。この目的のために、各関係者によって共有される秘密が使用されてもよく、連合学習の各関係者は、ローカルに難読化アルゴリズムを適用するために、同じ共有秘密を使用する。図7の例で説明したように、好ましい難読化アルゴリズムは、難読化更新ベクトルを生成するために更新ベクトルの要素の順序を交換する。本明細書において、要素の順序を交換するという概念は、シャッフルまたは並べ替えと同義である。その後、難読化された更新ベクトルは、(機械学習モデルを作成するために複数のかかるエンティティが使用される場合)各アグリゲータ実行エンティティに送信される。更新は、各訓練反復で、異なる要素順序で実行される。更新ベクトルの要素順序をシャッフルすることは、難読化のための好ましい手法であるが、他の難読化アルゴリズムを使用することもできる。
本明細書で説明する技術は、重要な利点を提供する。当業者であれば理解できるように、本アプローチは、オーバーヘッドを低く抑え、多くの異なる深層学習モデルおよびフレームワークをサポートしながら、リバースエンジニアリング攻撃から連合学習におけるアグリゲーションを安全に保護する。さらに、本明細書の技術は、交換されたモデルパラメータを分解するために、複数の構造的かつランダムなモデルパーティショニングメカニズムを提供する。したがって、たとえアグリゲータのサブセットが危殆化されたとしても、敵対者は依然として訓練データ情報を再構築することを防止される。さらに、本明細書の技術は、学習参加者が信頼されたハードウェアプラットフォームを認証し、連合学習の対象となるワークロードを認証することを可能にし、したがって、機密データがエンドツーエンドの暗号化保護なしで公開され、送信されないことをさらに保証する。ここでの技術は、従来のFL訓練と比較して、最終的なモデルの精度と収束率に影響を与えない。同時に、本アプローチは、FLプライバシー攻撃の実施に極めて重要な、非本質的な関係者間の情報露出を大幅に最小化する。
上述したように、本アプローチは、連合学習融合アルゴリズムの一意の演算特性を利用し、潜在的な情報漏洩チャネルを緩和するためのアーキテクチャとプロトコルの強化を提供する。記載された連合学習システムは、好ましくは、3層のセキュリティ戦略、すなわち、秘密かつ信頼できるアグリゲーション、分散化されたモデルパーティショニング、およびモデル更新の動的並べ替えを採用する。これらのセキュリティ戦略を実装した連合学習システムは、訓練データの再構成攻撃に対して免疫がある。
さらに、好ましくは3つの技法は一緒に使用されるが、これは要件ではない。したがって、本開示の技術を実装する連合学習フレームワークは、以下の技術および戦略の1または複数から利益を得ることができる。第1の戦略は、機密コンピューティング技術を活用することで、信頼性が高く、遠隔から認証可能なモデルアグリゲーションを可能にする。第2の戦略は、単一のアグリゲータを複数の独立した実行エンティティに分散させることを含み、好ましくは、各実行エンティティはモデル更新の断片的なビューのみを持ち、モデルアーキテクチャに気づかない。第3の戦略は、各訓練反復において、パーティショニングされたモデル更新のランダムかつ動的な並べ替えをサポートし、データ再構築アルゴリズムが実行不可能になるようにすることである。全ての3層のセキュリティ戦略を実装することで、上述のように、システムは最先端の連合学習プライバシー攻撃を無効化し、実世界の展開において低いパフォーマンスオーバーヘッドを示す。
さらに利点がある。その一つは、分散型学習アプローチでは補助入力を生成する必要がなく、訓練参加者は連合学習プロセスにおいて難読化されたモデルパラメータのサブセットのみを共有することである。信頼された実行環境は、送信時およびアグリゲーション時のモデル更新データの機密性を保護する。さらに、本アプローチは、悪意のある、あるいは危殆化されたアグリゲーションサーバが、連合学習参加者の訓練データを再構築することを防ぐ。本アプローチは、(i)honest but curiousアグリゲータと、(ii)悪意のある、あるいは危殆化したアグリゲータの両方が、モデル更新からプライベートな訓練データを再構築することを防ぐ。もう一つの利点は、同じアプローチを異なるFLタスクに利用でき、ベースラインと同レベルの訓練性能を達成できることである。
上述の技術は、説明した方法で分散可能な機械学習アルゴリズムまたは計算を使用して実装することができる。
この主題は、全体的または部分的にサービスとして実装されてもよい。一般化すると、連合学習機能のための信頼できる分散型アグリゲーションは、スタンドアロン機能として提供されてもよいし、他のMLベースの製品やサービスの機能を活用してもよい。例えば、本明細書のセキュリティ技術は、IBM Framework for Federated Learning(FFL)のような既知の提供物やソリューションを活用して、説明した信頼できるアグリゲーション、モデルパーティショニングを伴う分散型マルチアグリゲータ、および動的なモデル更新の並べ替えをサポートすることができる。好ましくは、アグリゲータアプリケーションは、展開を容易にするためにコンテナ化されるが、これは必須ではない。Kata Containersは、軽量VM内にアグリゲータコンテナを展開するために採用される。したがって、これまで説明してきたように、好ましくは、各アグリゲータコンテナは、SEVで保護されたEVM(または同等のもの)で実行される。TEEセキュリティ機能を提供するために、この例示的だが非限定的な実施形態では、ファームウェアSEV APIを実行するAMD EPYC 7642(Rome)マイクロプロセッサが使用される。
上述した機能の全部または一部は、スタンドアロンのアプローチ、例えばハードウェアプロセッサによって実行されるソフトウェアベースの機能として実装されてもよいし、マネージドサービス(SOAP/XMLインターフェースを介したウェブサービスを含む)として利用可能であってもよい。本明細書で説明する特定のハードウェアおよびソフトウェアの実装の詳細は、単に例示を目的とするものであり、説明する主題の範囲を限定するものではない。
より一般的には、開示された主題のコンテキスト内のコンピューティングデバイスは、それぞれハードウェアおよびソフトウェアを備える(図2に示すような)データ処理システムであり、これらのエンティティは、インターネット、イントラネット、エクストラネット、プライベートネットワーク、または任意の他の通信媒体もしくはリンクなどのネットワークを介して互いに通信する。データ処理システム上のアプリケーションは、HTTP、FTP、SMTP、SOAP、XML、WSDL、UDDI、WSFLなどのサポートを含むがこれらに限定されない、ウェブおよびその他の既知のサービスおよびプロトコルのネイティブサポートを提供する。SOAP、WSDL、UDDI、WSFLに関する情報は、これらの標準の開発と保守を担当するワールドワイドウェブコンソーシアム(W3C)から入手できる。HTTP、FTP、SMTP、XMLに関する詳細情報は、インターネットエンジニアリングタスクフォース(IETF)から入手できる。これらの標準およびプロトコルに精通していることが前提となる。
本明細書で説明するスキームは、単純なn階層アーキテクチャ、セキュリティシステム、ウェブポータル、連合システムなどを含む様々なサーバ側アーキテクチャにおいて、またはそれらと連携して実装することができる。また、前述のように、本明細書で説明する技術は、図3に関連付けて説明するような疎結合サーバ(「クラウド」ベースを含む)環境で実施することもできる。
さらに一般的には、本明細書で説明する主題は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、またはハードウェアとソフトウェアの両方の要素を含む実施形態の形態をとることができる。好ましい実施形態では、機能はソフトウェアで実装され、これにはファームウェア、常駐ソフトウェア、マイクロコードなどが含まれるが、これらに限定されない。さらに、上述したように、IDコンテキストベースのアクセス制御機能は、コンピュータまたは任意の命令実行システムによって、またはそれらに関連して使用するためのプログラムコードを提供する、コンピュータ使用可能媒体またはコンピュータ可読媒体からアクセス可能なコンピュータプログラム製品の形態をとることができる。本明細書では、コンピュータ使用可能またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによって、またはそれらに関連して使用するためのプログラムを格納または記憶することができる任意の装置とすることができる。媒体は、電子的、磁気的、光学的、電磁気的、赤外線的、または半導体システム(または装置またはデバイス)とすることができる。コンピュータ可読媒体の例としては、半導体またはソリッドステートメモリ、磁気テープ、リムーバブルコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、硬質磁気ディスク、光ディスクなどがある。光ディスクの現在の例としては、コンパクトディスクリードオンリーメモリ(CD-ROM)、コンパクトディスクリード/ライト(CD-R/W)、DVDなどがある。コンピュータ可読媒体は有形物である。
コンピュータプログラム製品は、説明した機能の1または複数を実装するためのプログラム命令(またはプログラムコード)を有する製品であってもよい。それらの命令またはコードは、遠隔のデータ処理システムからネットワークを介してダウンロードされた後、データ処理システム内のコンピュータ可読記憶媒体に記憶されてもよい。あるいは、それらの命令またはコードは、サーバデータ処理システム内のコンピュータ可読記憶媒体に記憶され、遠隔システム内のコンピュータ可読記憶媒体で使用するために、遠隔データ処理システムにネットワークを介してダウンロードされるように適合させることもできる。
代表的な実施形態において、融合サーバおよび各エージェントは、好ましくは1または複数のプロセッサによって実行されるソフトウェアにおいて、特別な目的のコンピュータに実装される。ソフトウェアは、1または複数のプロセッサに関連する1または複数のデータストアまたはメモリに保持され、ソフトウェアは、1または複数のコンピュータプログラムとして実装されてもよい。集合的に、この特別目的のハードウェアとソフトウェアは、上述の機能を構成する。
上記では、本発明の特定の実施形態によって実行される操作の特定の順序について説明したが、代替の実施形態では、異なる順序で操作を実行したり、特定の操作を組み合わせたり、特定の操作を重複させたりすることができるため、そのような順序は例示的なものであることを理解されたい。本明細書における所定の実施形態への言及は、記載された実施形態が特定の特徴、構造、または特性を含み得ることを示すが、すべての実施形態が必ずしも特定の特徴、構造、または特性を含むとは限らない。
最後に、システムの所定の構成要素を個別に説明してきたが、当業者であれば、所定の命令、プログラムシーケンス、コード部分などにおいて、機能の一部を組み合わせたり、共有したりすることができることを理解できよう。
本明細書における技術は、別の技術または技術分野、例えば、機械学習システム、セキュリティインシデント・イベント管理(SIEM)システム、その他のセキュリティシステム、ならびに自動化ベースのサイバーセキュリティ分析に対する改善を提供する。
主題を説明した上で、我々が主張することは以下の通りである。

Claims (17)

  1. コンピュータがモデル集約の情報漏洩を低減した連合学習を提供する方法であって、
    コンピュータが、信頼された実行環境でアグリゲータ実行エンティティをロードすることであって、前記信頼された実行環境はランタイムメモリ暗号化保護を提供し、前記アグリゲータ実行エンティティは、機械学習モデルを構築するために協力する複数の関係者によって提供されるモデル更新を融合するように構成されたアグリゲータを備えるアグリゲータ実行エンティティのセットの1つである、ロードすることと、
    コンピュータが、前記複数の関係者の各々を前記アグリゲータ実行エンティティに登録することと、
    コンピュータが、前記複数の関係者の各々から前記アグリゲータ実行エンティティにおいてモデル更新を受信することであって、前記モデル更新は前記信頼された実行環境によってインメモリで自動的に暗号化され、前記複数の関係者によって生成されたモデル更新全体をパーティショニングした複数のパーティションの一部のパーティションであり、各パーティションにおける訓練によって導出される値であるパラメータまたは前記パラメータに関する損失関数の勾配の順序がシャッフルされる、受信することと、
    コンピュータが、安全で信頼できる方法で前記機械学習モデルを生成するために、前記モデル更新を使用し、前記アグリゲータ実行エンティティのセットの他のものと関連して、前記信頼された実行環境内で前記アグリゲータ実行エンティティを実行することにより、前記モデル更新を融合することと、
    を含む、方法。
  2. コンピュータが、前記アグリゲータ実行エンティティの完全性を証明することをさらに含む、請求項1に記載の方法。
  3. コンピュータが、少なくとも1つの他のアグリゲータ実行エンティティとのセキュア通信チャネルを確立および維持することと、
    コンピュータが、前記連合学習中の訓練同期のために前記セキュア通信チャネルを使用することと、
    をさらに含む、請求項1に記載の方法。
  4. 前記アグリゲータ実行エンティティのセットの少なくとも1つの他のものに関して、アグリゲータ実行エンティティが、異なるマシン、異なるデータセンター、異なる信頼された実行環境アーキテクチャ、および異なる地理的位置のうちの1つで実行する、請求項1からのいずれか1項に記載の方法。
  5. 前記アグリゲータ実行エンティティをロードすることは、前記信頼された実行環境で一意の秘密を受信することと、関係者の登録において前記アグリゲータ実行エンティティを認証するために前記一意の秘密を使用することとを含む、請求項1からのいずれか1項に記載の方法。
  6. 装置であって、
    ハードウェアプロセッサと、
    前記ハードウェアプロセッサによって実行され、モデル集約の情報漏洩を低減した連合学習を提供するコンピュータプログラム命令を保持するコンピュータメモリと、を含み、前記コンピュータプログラム命令は、
    信頼された実行環境でアグリゲータ実行エンティティをロードすることであって、前記信頼された実行環境はランタイムメモリ暗号化保護を提供し、前記アグリゲータ実行エンティティは、機械学習モデルを構築するために協力する複数の関係者によって提供されるモデル更新を融合するように構成されたアグリゲータを備えるアグリゲータ実行エンティティのセットの1つである、ロードすることと、
    前記複数の関係者の各々を前記アグリゲータ実行エンティティに登録することと、
    前記アグリゲータ実行エンティティにおいてモデル更新を受信することであって、前記モデル更新は前記信頼された実行環境によってインメモリで自動的に暗号化され、前記複数の関係者によって生成されたモデル更新全体をパーティショニングした複数のパーティションの一部のパーティションであり、各パーティションにおける訓練によって導出される値であるパラメータまたは前記パラメータに関する損失関数の勾配の順序がシャッフルされる、受信することと、
    安全で信頼できる方法で前記機械学習モデルを生成するために、前記モデル更新を使用し、前記アグリゲータ実行エンティティのセットの他のものと関連して、前記信頼された実行環境内で前記アグリゲータ実行エンティティを実行することにより、前記モデル更新を融合することと、
    を実行するように構成される、装置。
  7. 前記コンピュータプログラム命令は、前記アグリゲータ実行エンティティの完全性を証明するようにさらに構成される、請求項に記載の装置。
  8. 前記コンピュータプログラム命令は、
    少なくとも1つの他のアグリゲータ実行エンティティとのセキュア通信チャネルを確立および維持することと、
    前記連合学習中の訓練同期のために前記セキュア通信チャネルを使用することと、
    を実行するようにさらに構成される、請求項に記載の装置。
  9. 前記アグリゲータ実行エンティティのセットの少なくとも1つの他のものに関して、アグリゲータ実行エンティティが、異なるマシン、異なるデータセンター、異なる信頼された実行環境アーキテクチャ、および異なる地理的位置のうちの1つで実行する、請求項からのいずれか1項に記載の装置。
  10. 前記アグリゲータ実行エンティティをロードするように構成された前記コンピュータプログラム命令は、前記信頼された実行環境で一意の秘密を受信することと、関係者の登録において前記アグリゲータ実行エンティティを認証するために前記一意の秘密を使用することとを実行するように構成されたコンピュータプログラム命令をさらに含む、請求項からのいずれか1項に記載の装置。
  11. モデル集約の情報漏洩を低減した連合学習を提供するデータ処理システムで使用するための、非一時的なコンピュータ可読媒体におけるコンピュータプログラムであって、前記コンピュータプログラムは、コンピュータプログラム命令を有し、前記データ処理システムで実行されると、
    信頼された実行環境でアグリゲータ実行エンティティをロードすることであって、前記信頼された実行環境はランタイムメモリ暗号化保護を提供し、前記アグリゲータ実行エンティティは、機械学習モデルを構築するために協力する複数の関係者によって提供されるモデル更新を融合するように構成されたアグリゲータを備えるアグリゲータ実行エンティティのセットの1つである、ロードすることと、
    前記複数の関係者の各々を前記アグリゲータ実行エンティティに登録することと、
    前記アグリゲータ実行エンティティにおいてモデル更新を受信することであって、前記モデル更新は前記信頼された実行環境によってインメモリで自動的に暗号化され、前記複数の関係者によって生成されたモデル更新全体をパーティショニングした複数のパーティションの一部のパーティションであり、各パーティションにおける訓練によって導出される値であるパラメータまたは前記パラメータに関する損失関数の勾配の順序がシャッフルされる、受信することと、
    安全で信頼できる方法で前記機械学習モデルを生成するために、前記モデル更新を使用し、前記アグリゲータ実行エンティティのセットの他のものと関連して、前記信頼された実行環境内で前記アグリゲータ実行エンティティを実行することにより、前記モデル更新を融合することと、
    を実行するように構成される、コンピュータプログラム
  12. 前記コンピュータプログラム命令は、前記アグリゲータ実行エンティティの完全性を証明するようにさらに構成される、請求項11に記載のコンピュータプログラム
  13. 前記コンピュータプログラム命令は、
    少なくとも1つの他のアグリゲータ実行エンティティとのセキュア通信チャネルを確立および維持することと、
    前記連合学習中の訓練同期のために前記セキュア通信チャネルを使用することと、
    を実行するようにさらに構成される、請求項11に記載のコンピュータプログラム
  14. 前記アグリゲータ実行エンティティのセットの少なくとも1つの他のものに関して、アグリゲータ実行エンティティが、異なるマシン、異なるデータセンター、異なる信頼された実行環境アーキテクチャ、および異なる地理的位置のうちの1つで実行する、請求項11から13のいずれか1項に記載のコンピュータプログラム
  15. アグリゲータ実行エンティティをロードするように構成された前記コンピュータプログラム命令は、前記信頼された実行環境で一意の秘密を受信することと、関係者の登録において前記アグリゲータ実行エンティティを認証するために前記一意の秘密を使用することとを実行するように構成されたコンピュータプログラム命令をさらに含む、請求項11から13のいずれか1項に記載のコンピュータプログラム
  16. モデル集約の情報漏洩に対して安全な連合学習システムであって、
    信頼された実行環境のセットと、
    独立したアグリゲータ実行エンティティのセットに分割されるアグリゲータであって、各アグリゲータ実行エンティティは、前記信頼された実行環境のセットの所定の1つに配置される、アグリゲータと、を含み、
    アグリゲータ実行エンティティは、連合学習セッションに参加する関係者のセットの各々からモデル更新を受信するように構成され、前記モデル更新は、前記信頼された実行環境によってインメモリで自動的に暗号化され、複数の関係者によって生成されたモデル更新全体をパーティショニングした複数のパーティションの一部のパーティションであり、各パーティションにおける訓練によって導出される値であるパラメータまたは前記パラメータに関する損失関数の勾配の順序がシャッフルされ、
    前記信頼された実行環境の内部で実行される前記アグリゲータ実行エンティティは、安全かつ信頼できる方法で機械学習モデルを生成するために、前記モデル更新を使用して融合アルゴリズムを実行する、
    連合学習システム。
  17. 前記アグリゲータ実行エンティティのセットの少なくとも1つの他のものに関して、アグリゲータ実行エンティティが、異なるマシン、異なるデータセンター、異なる信頼された実行環境アーキテクチャ、および異なる地理的位置のうちの1つで実行する、請求項16に記載の連合学習システム。
JP2023571220A 2021-05-18 2022-05-17 連合学習のための信頼できる分散型アグリゲーション Active JP7841826B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/323,006 2021-05-18
US17/323,006 US12541708B2 (en) 2021-05-18 2021-05-18 Trusted and decentralized aggregation for federated learning
PCT/IB2022/054581 WO2022243871A1 (en) 2021-05-18 2022-05-17 Trusted and decentralized aggregation for federated learning

Publications (2)

Publication Number Publication Date
JP2024519365A JP2024519365A (ja) 2024-05-10
JP7841826B2 true JP7841826B2 (ja) 2026-04-07

Family

ID=84102764

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023571220A Active JP7841826B2 (ja) 2021-05-18 2022-05-17 連合学習のための信頼できる分散型アグリゲーション

Country Status (6)

Country Link
US (1) US12541708B2 (ja)
JP (1) JP7841826B2 (ja)
CN (1) CN117242463B (ja)
DE (1) DE112022002623T5 (ja)
GB (1) GB2621732A (ja)
WO (1) WO2022243871A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12541708B2 (en) 2021-05-18 2026-02-03 International Business Machines Corporation Trusted and decentralized aggregation for federated learning
CN113537516B (zh) * 2021-09-15 2021-12-14 北京百度网讯科技有限公司 分布式机器学习模型的训练方法、装置、设备和介质
US20230107221A1 (en) * 2021-10-05 2023-04-06 Cisco Technology, Inc. Simplifying machine learning workload composition
US20230325633A1 (en) * 2022-04-07 2023-10-12 Micron Technology, Inc. Shuffled Secure Multiparty Deep Learning
US12250247B2 (en) * 2022-06-13 2025-03-11 Dell Products L.P. Infrastructural edge security as a service
US12278891B2 (en) * 2022-11-03 2025-04-15 Nec Corporation Single-server secure aggregation with public randomness
WO2024123997A1 (en) * 2022-12-07 2024-06-13 Google Llc Efficient machine learning training on spreadsheet data
CN116032590B (zh) * 2022-12-23 2026-04-24 天翼安全科技有限公司 一种ddos攻击的检测模型训练方法及相关装置
EP4428736A1 (en) 2023-03-10 2024-09-11 Nokia Solutions and Networks Oy Method for collaborative machine learning
CN116502730B (zh) * 2023-04-06 2025-09-05 中国人民解放军网络空间部队信息工程大学 基于随机参与差分隐私混洗模型的联邦学习隐私保护方法
CN116415978B (zh) * 2023-04-15 2024-03-22 广州芳禾数据有限公司 基于联邦学习和多方计算的文旅消费数据分析方法和装置
CN116484977B (zh) * 2023-04-24 2026-02-17 洞见科技(雄安)有限公司 基于tee的联邦学习模型优化方法、系统及相关装置
US20240396718A1 (en) * 2023-05-26 2024-11-28 NEC Laboratories Europe GmbH Secure aggregation with integrity verification
WO2025084669A1 (ko) * 2023-10-16 2025-04-24 삼성전자주식회사 연합 학습을 중계하는 중계 서버, 사용자 디바이스 및 이들을 포함하는 시스템
WO2025138062A1 (en) * 2023-12-29 2025-07-03 Huawei Technologies Co., Ltd. Training models in network
US12585769B1 (en) * 2024-11-22 2026-03-24 4MindsAI Inc. Multi-agent system implementing federated learning for cybersecurity applications
CN119272832B (zh) * 2024-12-09 2025-04-01 清华大学 一种兼容可信执行环境tee的深度神经网络dnn模型训练方法及框架、电子设备和存储介质
CN120031662B (zh) * 2025-04-22 2025-08-12 先进计算与关键软件(信创)海河实验室 一种面向联邦学习的区块链混合粒度并行交易处理方法
CN120235271A (zh) * 2025-04-30 2025-07-01 北京字跳网络技术有限公司 基于纵向联邦学习的模型训练方法、介质、设备及产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190042878A1 (en) 2018-03-30 2019-02-07 Intel Corporation Methods and apparatus for distributed use of a machine learning model
WO2019227208A1 (en) 2018-05-28 2019-12-05 Royal Bank Of Canada System and method for secure electronic transaction platform
CN112749812A (zh) 2019-10-29 2021-05-04 华为技术有限公司 一种联合学习系统、训练结果聚合的方法及设备
US20210133555A1 (en) 2019-10-30 2021-05-06 Microsoft Technology Licensing, Llc Distributed learning of composite machine learning models

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8363744B2 (en) * 2001-06-10 2013-01-29 Aloft Media, Llc Method and system for robust, secure, and high-efficiency voice and packet transmission over ad-hoc, mesh, and MIMO communication networks
DE102005045947B4 (de) * 2004-09-24 2017-11-30 Roman Koller Verfahren zur sicheren Erkennung und/oder Überprüfung und/oder Zuordnung von Teilnehmern, bzw. Teilnehmeradressen in Datennetzen
BR112013006890A2 (pt) * 2010-09-28 2020-06-02 Headwater Partners I Llc Dispositivo de comunicações e sistema de rede
US20120246092A1 (en) * 2011-03-24 2012-09-27 Aaron Stibel Credibility Scoring and Reporting
US11295229B1 (en) * 2016-04-19 2022-04-05 Amazon Technologies, Inc. Scalable generation of multidimensional features for machine learning
CN109716346A (zh) * 2016-07-18 2019-05-03 河谷生物组学有限责任公司 分布式机器学习系统、装置和方法
US10504154B1 (en) * 2016-09-20 2019-12-10 Google Llc Systems and methods for private local sponsored content
EP3370083B1 (en) * 2017-03-02 2020-08-26 Nxp B.V. Processing module and associated method
US10615977B2 (en) * 2017-10-13 2020-04-07 Nxp B.V. Verification of secure parameters for rotating codes
US20190373021A1 (en) * 2017-11-20 2019-12-05 Nutanix, Inc. Policy aggregation
KR102369812B1 (ko) * 2017-12-21 2022-03-04 한국전자통신연구원 대역내 전이중 송수신 방법 및 장치
US11126737B2 (en) 2018-01-09 2021-09-21 Randy Friedman System and method of decentralized services to make federated raw data sets self-governing for secure sharing and commingling
US11526745B2 (en) 2018-02-08 2022-12-13 Intel Corporation Methods and apparatus for federated training of a neural network using trusted edge devices
US10970402B2 (en) 2018-10-19 2021-04-06 International Business Machines Corporation Distributed learning preserving model security
US11010314B2 (en) * 2018-10-30 2021-05-18 Marvell Asia Pte. Ltd. Artificial intelligence-enabled management of storage media access
US10839320B2 (en) 2018-12-18 2020-11-17 Rokfin, Inc. Determining network-effects with decentralized applications
US10848974B2 (en) 2018-12-28 2020-11-24 Intel Corporation Multi-domain trust establishment in edge cloud architectures
US11374734B2 (en) * 2019-01-04 2022-06-28 Baidu Usa Llc Method and system for key distribution and exchange for data processing accelerators
CN109871702B (zh) * 2019-02-18 2024-06-28 深圳前海微众银行股份有限公司 联邦模型训练方法、系统、设备及计算机可读存储介质
US11887505B1 (en) * 2019-04-24 2024-01-30 Architecture Technology Corporation System for deploying and monitoring network-based training exercises
US11139961B2 (en) * 2019-05-07 2021-10-05 International Business Machines Corporation Private and federated learning
WO2020243557A1 (en) * 2019-05-31 2020-12-03 Culvert-Iot Corporation An intelligent tracking system and methods and systems therefor
US11562228B2 (en) * 2019-06-12 2023-01-24 International Business Machines Corporation Efficient verification of machine learning applications
US11983608B2 (en) * 2019-06-12 2024-05-14 International Business Machines Corporation Efficient verification of machine learning applications
EP4035096A4 (en) * 2019-09-23 2023-07-19 Presagen Pty Ltd DECENTRALIZED MACHINE LEARNING / ARTIFICIAL INTELLIGENCE (AI) TRAINING SYSTEM
US20210150037A1 (en) * 2019-11-15 2021-05-20 International Business Machines Corporation Secure Federation of Distributed Stochastic Gradient Descent
US12547934B2 (en) * 2019-12-03 2026-02-10 Visa International Service Association Techniques for providing secure federated machine-learning
CN111046425B (zh) * 2019-12-12 2021-07-13 支付宝(杭州)信息技术有限公司 多方联合进行风险识别的方法和装置
US11386344B2 (en) * 2020-02-15 2022-07-12 Near Intelligence Holdings, Inc. Method for automatic estimation of spatio-temporal entity counts using machine learning from partially observable location data
DE102020110034A1 (de) * 2020-04-09 2021-10-14 Bundesdruckerei Gmbh Überwachungssystem mit mehrstufiger Anfrageprüfung
WO2021224453A1 (en) * 2020-05-07 2021-11-11 UMNAI Limited Distributed architecture for explainable ai models
CN111966875B (zh) * 2020-08-18 2023-08-22 中国银行股份有限公司 一种敏感信息识别方法和装置
CN112580821A (zh) 2020-12-10 2021-03-30 深圳前海微众银行股份有限公司 一种联邦学习方法、装置、设备及存储介质
US20240072981A1 (en) * 2021-01-07 2024-02-29 Lenovo (Beijing) Limited Downlink control information having a transmission configuration indicator bitmap
CN112906903B (zh) * 2021-01-11 2024-02-09 北京源堡科技有限公司 网络安全风险预测方法、装置、存储介质及计算机设备
US20220327652A1 (en) * 2021-04-08 2022-10-13 Hitachi, Ltd. Multi-modal mobility management solutions framework
KR20220148017A (ko) * 2021-04-28 2022-11-04 주식회사 디엔솔루션즈 기계학습 기반 공작기계 이상진단 데이터 수집 시스템 및 수집 방법
US11949794B2 (en) * 2021-05-08 2024-04-02 International Business Machines Corporation Data anonymization of blockchain-based processing pipeline
CN115424085A (zh) * 2021-05-14 2022-12-02 华为技术有限公司 模型训练方法和装置
US12541708B2 (en) 2021-05-18 2026-02-03 International Business Machines Corporation Trusted and decentralized aggregation for federated learning

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190042878A1 (en) 2018-03-30 2019-02-07 Intel Corporation Methods and apparatus for distributed use of a machine learning model
WO2019227208A1 (en) 2018-05-28 2019-12-05 Royal Bank Of Canada System and method for secure electronic transaction platform
CN112749812A (zh) 2019-10-29 2021-05-04 华为技术有限公司 一种联合学习系统、训练结果聚合的方法及设备
US20210133555A1 (en) 2019-10-30 2021-05-06 Microsoft Technology Licensing, Llc Distributed learning of composite machine learning models

Also Published As

Publication number Publication date
GB202317017D0 (en) 2023-12-20
CN117242463B (zh) 2026-03-10
DE112022002623T5 (de) 2024-03-14
WO2022243871A1 (en) 2022-11-24
JP2024519365A (ja) 2024-05-10
CN117242463A (zh) 2023-12-15
GB2621732A (en) 2024-02-21
US12541708B2 (en) 2026-02-03
US20220374762A1 (en) 2022-11-24

Similar Documents

Publication Publication Date Title
JP7841826B2 (ja) 連合学習のための信頼できる分散型アグリゲーション
JP7740842B2 (ja) 情報漏洩を低減した連合学習の方法、装置およびコンピュータプログラム(分割された動的シャッフルモデル更新を伴う連合学習)
WO2022073264A1 (en) Systems and methods for secure and fast machine learning inference in trusted execution environment
US10726137B2 (en) Copy protection for secured files
Sugumaran et al. An architecture for data security in cloud computing
CN114036573B (zh) 支持隐私计算的计算设备
Wang et al. A user‐centered medical data sharing scheme for privacy‐preserving machine learning
You et al. Proofs of ownership on encrypted cloud data via Intel SGX
US10673827B1 (en) Secure access to user data
Talib et al. CloudZone: Towards an integrity layer of cloud data storage based on multi agent system architecture
US9864853B2 (en) Enhanced security mechanism for authentication of users of a system
Nolte et al. A secure workflow for shared HPC systems
El Balmany et al. VMITLP: A security protocol towards a trusted launch process of a user generic virtual machine image on a public cloud IaaS platform
Boopathy et al. Securing public data storage in cloud environment
Dyer Secure computation in the cloud using MapReduce
Sagar et al. Survey on Various Cloud Security Approaches.
Waizenegger Data security in multi-tenant environments in the cloud
Singh et al. Secure Cloud Architecture based on YAK and ECC
Haimbala Avoiding dark cloud: Secure storage and trusted computing
Theebendra et al. Cloud Computing Security-Data Storage and Transmission
Chen et al. Secure distributed data storage in cloud computing
Shahbazi et al. A distributed key based security framework for private clouds
Panhwer et al. Data integrity schemes for outsourced data on untrusted cloud storage: A review
WO2025246270A1 (zh) 一种数据处理方法及相关设备
Kaur et al. PARAMETRIC ANALYSIS TO ENHANCE SECURITY IN CLOUD COMPUTING TO PREVENT ATTACKS IN LIVE MIGRATION.

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240123

RD16 Notification of change of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7436

Effective date: 20240124

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20241017

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20251010

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20251202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20260203

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20260310

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20260310

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20260324

R150 Certificate of patent or registration of utility model

Ref document number: 7841826

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150