萬字整理聯邦學習系統架構設計參考

語言: CN / TW / HK

引 言

聯邦學習定義了一個機器學習框架,在這個框架下,不同的數據擁有方可以在不交換彼此數據的情\ 況下,建立一個虛擬的共有模型,這個虛擬模型的效果等同於各方把數據聚合在一起建立的最優模型。\ 這樣,建好的模型在各自的區域僅為本地的目標服務。在這樣一個聯邦機制下,各個參與者的身份和地\ 位相同,而聯邦系統幫助大家建立了“共同富裕”的策略。由於在建立虛擬模型的時候,數據本身不移\ 動,也不會泄露用户隱私或影響數據規範,因此,聯邦學習是數據孤島問題的一個可能的解決方案。\ 為了在保護數據隱私、滿足合法合規要求的前提下繼續進行機器學習,更好地運用聯邦學習的方法\ 解決數據孤島問題,特制定此標準。

1 範圍

本標準規範了聯邦學習參考架構( FLRA),包括 FLRA 概念、用户視圖、功能視圖以及他們之間的\ 關係。\ 本標準適用於:\ a) 計劃使用聯邦學習技術的組織選擇和使用聯邦學習服務;\ b) 計劃使用聯邦學習技術的組織建設聯邦學習系統;\ c) 指導使用聯邦學習技術的服務提供組織提供聯邦學習服務。

2 術語、 定義和縮略語

2.1 術語和定義

ITU-T Y.3500|ISO/IEC 17788 界定的以及下列術語和定義適用於本文件。

2.1.1 架構 architecture

通過系統元素、元素間的關係,以及系統設計和進化原則體現出來的一個系統在其環境中的基本概\ 念或屬性。\ [ISO/IEC/IEEE 42010:2011]

2.1.2 活動 activity

一組特定任務的集合。\ [GB/T 32399-2015]

2.1.3 加密 encipherment/encryption

對數據進行密碼變換以產生密文的過程。一般包含一個變換集合,該變換使用一套算法和一套輸入\ 參量。輸入參量通常被稱為密鑰。\ [GB/T 25069-2010]

2.1.4 功能組件 functional component

參與活動(2.1.1)所需的,可實現的一個功能性基本構件塊。\ [GB/T 32399-2015]

2.1.5 互操作 interoperability

a) 兩個或多個系統或組件交換信息並相互使用已交換的信息的能力;\ b) 兩個或兩個以上系統可互相操作的能力。\ [GB/T 11457-2006]

2.1.6 模塊化 modularization

把系統分成若干模塊(模塊變成元素)以便於設計和開發。\ [GB/T 11457-2006]

2.1.7 角色 role

一組服務於共同目的的活動(2.1.1)的集合。\ [GB/T 32399-2015]

2.1.8 子角色 sub-role

給定角色( 3.2.7)的活動( 3.2.1)的子集。

2.1.9 聯邦學習 federated learning

一種多個參與方在各方數據不出本地的前提下共同完成某項機器學習任務的活動。

2.1.10 聯邦學習服務 federated learning service

與一組商業條款一同被提供的一個聯邦學習服務。\ 注: 商業條款包括定價、定級和服務水平。

2.1.11 聯邦學習參與方 federated learning participant

參與到聯邦學習網絡的組織或機構,為其他一個或多個參與方提供聯邦學習的數據,或作為及建模\ 的發起者。

2.2 縮略語

API 應用編程接口( Application Programming Interface)\ FLRA 聯邦學習參考架構( Federated Learning Reference Architecture)\ CPU 中央處理單元( Central Processing Unit)\ FLS 聯邦學習服務( Federated Learning Service)\ FLU 聯邦學習用户( Federated Learning User)\ FLP 聯邦學習參與方( Federated Learning Participant)\ FLC 聯邦學習協調方( Federated Learning Coordinator)

3 概述

3.1 約定

本標準採用的約定包括:\ a) 採用圖來幫助理解FLRA;\ b)對第二章中術語的引用採用粗體字標識。\ 圖1給出了圖中使用的圖例。\ 在這裏插入圖片描述

3.2 FLRA 的目的

聯邦學習參考架構提供了一個體系框架,用於有效描述聯邦學習角色、 子角色、 聯邦學習活動、共同關注點、功能架構和聯邦學習功能組件。\ FLRA的目的包括:\ a) 描述聯邦學習的利益相關者羣體;\ b) 描述聯邦學習系統的基本特徵;\ c) 規範基本的聯邦學習活動和功能組件,描述它們之間的關係以及它們與環境之間的關係;\ d) 識別FLRA設計和改進的指導原則。

3.3 FLRA 的目標

FLRA的目標包括:\ a) 幫助制定一系列協調配套的聯邦學習標準;\ b) 為定義聯邦學習標準提供技術中立的參考點;\ c) 在識別聯邦學習利益和風險時提倡開放性和透明性。

4 參考架構概念

4.1 聯邦學習概述

4.1.1 內涵

為得到更優的機器學習模型,各參與方需藉助其他方數據進行聯合建模。 各方無需共享數據資源,即數據不出本地的情況下,進行數據聯合訓練,建立機器學習模型的框架。\ 聯邦學習系統的約束條件為:\ 在這裏插入圖片描述

其中, VFED指聯邦學習模型的效果, VSUM指傳統方法(即,數據聚合方法)所建模型的效果, δ 為有\ 界正數。

4.1.2 分類

以包含兩個參與方的聯邦學習為例,雙方各自擁有一個數據集,數據集的分佈可分為:\ a) 兩個數據集的樣本特徵( X1,X2,… )重疊部分較大,而樣本ID(U1, U2…)重疊部分較小,如圖\ 2所示;\ 在這裏插入圖片描述

b) 兩個數據集的樣本ID(U1, U2…)重疊部分較大,而樣本特徵( X1,X2,…)重疊部分較小,如圖\ 3所示;\ 在這裏插入圖片描述

c) 兩個數據集的樣本ID(U1, U2…)與樣本特徵重疊( X1,X2,… )部分都比較小或沒有重疊部分,\ 如圖4所示。\ 在這裏插入圖片描述

根據數據分佈形式,聯邦學習可分為橫向聯邦學習、縱向聯邦學習與聯邦遷移學習。

4.2 參考架構概述

本標準定義的 FLRA 能作為聯邦學習標準化的基本參考點,同時可為聯邦學習系統的基本概念和原則提供總體框架。 FLRA 的架構視圖\ 聯邦學習系統能採用視圖方法進行描述。\ FLRA可採用視圖進行描述,包括:\ a) 用户視圖;\ b) 功能視圖;\ c) 實現視圖;\ d) 部署視圖。\ 不同視圖的轉換關係,如圖5所示。\ 在這裏插入圖片描述\ 表1給出對每個視圖的描述。\ 表1 FLRA視圖

| FLRA視圖 | 視圖描述 | 範圍 | | ------ | --------------------------- | --- | | 用户視圖 | 系統環境、 參與方、 角色、 子角色和聯邦學習活動 | 範圍內 | | 功能視圖 | 支撐聯邦學習活動的所需功能 | 範圍內 | | 實現視圖 | 實現服務、基礎設施部件內的聯邦學習服務所需的功能 | 範圍外 | | 部署視圖 | 基於已有或新增的基礎設施,對聯邦學習服務功能的技術實現 | 範圍外 |

注:雖然本標準包含了對用户視圖和功能視圖的詳細描述,但並不包含對實現視圖和部署視圖的描述,\ 因為實現視圖和部署視圖與技術,以及供應者特定的聯邦學習實現和部署方式相關。

4.3 聯邦學習用户視圖

用户視圖涉及的聯邦學習內容包括:\ a) 聯邦學習活動;\ b) 角色和子角色;\ c) 參與方;\ d) 聯邦學習服務;\ e) 共同關注點。

4.4 聯邦學習功能視圖

功能視圖是構建聯邦學習系統所必需功能的技術中立的視圖。功能視圖描述了支持聯邦學習活動所必需功能的分佈, 定義了功能之間的依賴關係。\ 功能視圖涵蓋的聯邦學習內容包括:\ a) 功能組件;\ b) 功能層;\ c) 跨層功能。\ 圖 6 展示了功能、層和功能組件的概念。\ 在這裏插入圖片描述

4.5 用户視圖與共同關注點以及功能視圖與共同關注點之間關係

共同關注點適用於:\ a) 用户視圖中的角色和子角色,並且直接或間接影響這些角色所執行的活動;\ b) 功能視圖中的功能組件, 在執行用户視圖所描述的活動時被使用。\ 共同關注點包括:\ a) 安全;\ b) 模塊化;\ c) 互操作。

4.6 聯邦學習實現視圖

實現視圖不在本標準的範圍之內。

4.7 聯邦學習部署視圖

部署視圖不在本標準的範圍之內。

5 用户視圖

5.1 角色、子角色和聯邦學習活動概述

聯邦學習的核心是分佈式服務及服務交付。據此將所有聯邦學習相關的活動包括使用服務的活動、提供服務的活動和支撐服務的活動。\ 聯邦學習的角色包括:\ a) 服務用户;\ b) 參與方;\ c) 協調方。\ d) 注:在任意給定的時間點,一個參與方可承擔多個角色。當承擔一個角色時,參與方可限制其只承 擔該角色的一個或多個子角色。對於給定角色,子角色是其聯邦學習活動的子集。

5.2 聯邦學習用户

5.2.1 概述

為使用聯邦學習服務,聯邦學習服務用户可與聯邦學習服務提供者建立業務關係, 也可與聯邦學習服務合作者建立業務關係。\ 注: 聯邦學習用户可以是自然人, 或代表該自然人的實體(如參與機構或組織)。\ 與聯邦學習用户及子角色相關的活動如圖7所示。\ 在這裏插入圖片描述

5.2.2 子角色

聯邦學習用户子角色包括:\ a) 聯邦學習服務用户。聯邦學習服務用户的聯邦學習活動主要有使用聯邦學習服務;\ b) 聯邦學習業務管理者。聯邦學習業務管理者是一個機構或組織。它的主要活動包括髮現數據的元數據、發現服務能力及提出服務需求;\ c) 聯邦學習服務集成者是一個機構或組織。它的主要活動包括與現有系統集成。\ 5.2.3 活動\ 聯邦學習服務的主要活動包括:\ a) 使用聯邦學習服務;\ b) 從網絡中發現數據的元數據;\ c) 從網絡中發現服務能力;\ d) 提出服務需求。

5.3 聯邦學習參與方

5.3.1 概述

聯邦學習參與方主要參與聯邦學習的計算,以及對其他聯邦學習參與方或聯邦學習服務用户提供服務。\ 聯邦學習參與方為聯邦學習系統中共同參與機器學習過程的自然人, 或代表該自然人的實體(如參\ 與機構或組織)。\ 與聯邦學習參與方的子角色相關的聯邦學習活動如圖8所示。\ 在這裏插入圖片描述

5.3.2 子角色

聯邦學習參與方子角色包括:\ a) 聯邦學習計算參與者;\ b) 聯邦學習服務提供者。\ 注1:聯邦學習計算參與者主要參與算法活動,如計算活動(建模、預測等)、模型管理;\ 注2: 聯邦學習服務提供者主要負責管理本方提供的能力,如服務管理、數據管理等。

5.3.3 活動

聯邦學習參與方的主要活動包括:\ a) 計算活動, 如發起建模、參與建模、發起預測、參與預測、接收安全加密計算協議、數據加密;\ b) 模型管理, 如模型數據管理、模型元信息管理(版本、參與方、建模時間、有效時間等)、模\ 型發佈、模型使用;\ c) 服務管理, 如建模及預測能力、對用户提供的服務清單、服務接入、服務規劃;\ d) 數據服務, 包括髮布數據元信息、發現網絡中的數據、本方原始數據管理(包括但不限於存儲\ 方式、使用方式、加密方式)、數據使用。

5.3.2 子角色

聯邦學習參與方子角色包括:\ a) 聯邦學習計算參與者;\ b) 聯邦學習服務提供者。\ 注1:聯邦學習計算參與者主要參與算法活動,如計算活動(建模、預測等)、模型管理;\ 注2: 聯邦學習服務提供者主要負責管理本方提供的能力,如服務管理、數據管理等。

5.3.3 活動

聯邦學習參與方的主要活動包括:\ a) 計算活動, 如發起建模、參與建模、發起預測、參與預測、接收安全加密計算協議、數據加密;\ b) 模型管理, 如模型數據管理、模型元信息管理(版本、參與方、建模時間、有效時間等)、模\ 型發佈、模型使用;\ c) 服務管理, 如建模及預測能力、對用户提供的服務清單、服務接入、服務規劃;\ d) 數據服務, 包括髮布數據元信息、發現網絡中的數據、本方原始數據管理(包括但不限於存儲\ 方式、使用方式、加密方式)、數據使用。

5.4 聯邦學習協調方

5.4.1 概述

聯邦學習協調方是為聯邦學習參與方的活動提供支撐或輔助功能的參與方, 具備聯邦學習參與方的職能, 承擔部分聯邦學習網絡管理與仲裁之職責。\ 注1: 聯邦學習協調方的聯邦學習活動隨着合作者的類型及其與聯邦學習服務提供者和聯邦學習服務客户之間關係的不同而變化;\ 注2: 聯邦學習協調方宜為機構或組織。\ 與聯邦學習協調方相關的聯邦學習活動如圖9所示:\ 在這裏插入圖片描述

5.4.2 子角色

聯邦學習協調方子角色包括:\ a) 聯邦學習開發者,主要負責聯邦學習的功能開發;\ b) 聯邦學習算法協調者,主要負責協調聯邦學習算法運行過程中各參與方的計算行為;\ c) 聯邦學習參與方協調者,主要負責協調聯邦學習參與方活動中的行為,同時也是聯邦學習的元\ 數據提供方。\ 注: 典型場景如聯邦學習參與方能力協調與數據管理。

5.4.3 活動

聯邦學習協調方活動包括:\ a) 聯邦學習功能開發, 如算法開發、基礎架構開發、服務開發;\ b) 計算活動, 如發起建模、多方安全計算管理(約定安全協議、密鑰生成、數據解密);\ c) 模型管理, 如模型發現、模型元信息管理、模型密鑰管理;\ d) 服務能力協調, 如服務接入、服務能力發佈、聯邦學習網絡中服務元信息管理、參與方元信息\ 管理;\ e) 數據管理, 如數據元信息管理、數據元信息發佈、數據元信息發現。

5.5 共同關注點

5.5.1 概述

共同關注點適用於 FLRA 描述範圍內或與 FLRA 實例系統運營相關的多個元素。這些共同關注點在多個角色、活動和組件中共享。\ 聯邦學習的共同關注點如圖 10 所示。\ 在這裏插入圖片描述\ 針對共同關注點, 應定義一組聯邦學習活動和組件。不同的角色和解決方案可能使用這些共同關注點的不同子集。\ 共同關注點包括:\ a) 安全(見5.5.2);\ b) 模塊化(見5.5.3);\ c) 互操作性(見5.5.4)。

5.5.2 安全

安全性是聯邦學習的重要共同關注點,包括:\ a) 數據安全。原始數據或能夠推測出原始數據的數據,不應泄漏給其他參與方、協調方或用户;\ b) 隱私保護。交互的數據不應包含以任何形式被夠定位或被大致定位到個體的數據;\ c) 傳輸安全。數據傳輸的協議及軟硬件應安全可靠,能夠防止被攻擊。

5.5.3 模塊化

為提高聯邦學習功能的研發效率、可維護性和可移植性,聯邦學習系統的構建應實現模塊化、可配置和可擴展,以便快捷地複用,以構建上層應用。

5.5.4 互操作性

聯邦學習語境下的互操作性包括聯邦學習服務客户與聯邦學習服務之間按照規定的方法交互和交換信息並獲得可預測結果的能力。\ 實現聯邦學習不同服務或組件間的互操作,各方應採用有效的通信協議、統一的API和數據格式。

6 功能視圖

6.1 功能架構

6.1.1 分層框架

聯邦學習功能架構用一組高層的功能組件來描述聯邦學習。功能組件代表了為執行第5章描述的與聯邦學習相關的各種角和子角色的聯邦學習活動的功能集合。\     功能架構通過分層框架來描述組件。在分層框架中,特定類型的功能被分組到各層中,相鄰層次的組件之間通過接口交互。\     FLRA的分層框架包括4層,以及一個跨越各層的跨層功能集合,如圖11所示:\ 在這裏插入圖片描述

6.1.2 服務層

服務層實現聯邦學習服務提供者提供的服務, 包含和控制實現服務所需的軟件組件。\     服務層使用算法層的組件,根據業務需求實現具體邏輯,為聯邦學習用户提供服務。 服務層包括但不限於:\ a) 將聯邦學習服務能力通過一種或多種訪問機制展現出來。在聯邦學習上下文中,典型的服務能力例子包括進行分類、聚類、迴歸等基本服務,以及語音識別、生物特徵識別、計算機視覺、NLP等各類具體應用服務;\ b) 為聯邦學習服務能力的訪問提供合適的安全功能。服務層負責通過用户證書、用户的身份信息來驗證用户請求,驗證用户是否被授權使用特定的能力。服務層還負責在需要時進行加密處理,檢查請求的完整性;\ c) 對來自用户( 如服務請求)和流向用户層的( 如服務的輸出)流量採取各種可行策略,以保障服務的高效與可用;\ d) 基於核心層提供的各類算法進行各類任務的訓練,最終形成上層服務層所需的聯合模型;\ e) 提供數據發佈與發現服務,能夠將本地數據發佈到聯邦學習網絡,或從聯邦學習網絡中發現數據,供本地建模/預測使用。

6.1.3 算法層

算法層實現聯邦學習的基本算法。算法層的實現應是通用的,不與具體業務耦合。\     算法層使用算子層的組件,實現聯邦學習算法的邏輯,為服務層提供支持。\ 算法層的功能包括但不限於:\ a) 樣本對齊;\ b) 特徵對齊;\ c) 聯合特徵工程;\ d) 領域自適應;\ e) 通用聯邦學習算法的實現;\ f) 算法評估;\ g) 加密建模與預測。

6.1.4 算子層

算子層包含實現聯邦學習算法邏輯所需的高抽象通用組件。算子層提供的組件應是通用的,可被不同的聯邦學習算法複用,不與具體聯邦學習算法耦合。\     算子層使用基礎架構層提供的功能,向算法層提供高抽象的組件,使算法開發者可以基於這些算子,快速實現聯邦學習算法。\ 算子層至少包含以下組件:\ a) 多方安全計算算子;\ b) 聚合算子;\ c) 激活函數;\ d) 正則化處理器;\ e) 代價函數;\ f) 優化方法;\ g) 梯度處理器。

6.1.5 基礎架構層

基礎架構層為聯邦學習服務提供運行時的基礎架構。\ 基礎架構層可視作聯邦學習服務的基礎支撐,向上提供通用的計算、存儲、通信的能力。\ 基礎架構層職責包括:\ a) 提供編程接口,使得上層服務可以使用基礎架構;\ b) 提供計算力,運行建模或預測任務;\ c) 提供存儲機制,對產出模型與必要的數據進行存儲,以及提供數據導入/導出的實用工具;\ d) 提供資源調度與管理機制,跟蹤與記錄資源的狀態;\ e) 提供通信基礎設施,在各參與方之間安全地傳遞信息。

6.1.6 跨層功能

跨層功能包括一系列功能組件。這些功能組件與上述四層的組件進行交互以提供支撐能力。\ 跨層能力包括但不限於:\ a) 訓練能力;\ b) 運營能力;\ c) 數據安全能力;\ d) 監督和評估能力。

6.2 功能組件

6.2.1 概述

本節從聯邦學習服務功能組件通用集的角度描述了聯邦學習參考架構。 功能組件是 FLRA 的功能元素,用來執行活動或活動的一部分。該功能組件在具體的參考架構實現中有相應的實現構件, 如軟件組件、子系統或應用等。

6.2.2 服務層組件

常見的服務層功能組件應包括:\ a) 用户服務組件;\ b) 參與方協調服務組件;\ c) 通用算法服務組件;\ d) 場景服務組件;\ e) 數據服務組件;\ f) 任務管理組件。

6.2.2.1 用户服務組件

用户服務組件支持聯邦學習服務用户訪問和使用聯邦學習服務(使用聯邦學習服務活動)。 聯邦學\ 習服務提供方可根據情況,提供合適的用户功能組件給客户使用。\ 典型用户服務組件的功能應包括:\ a) 用户界面:聯邦學習服務客户與聯邦學習服務進行交互的功能,可以是命令行界面或圖形用户接口以及 API 等形式;\ b) 任務提交:將聯邦學習服務客户的特定任務需求(建模、在線預測、離線預測等)提交到聯邦學習網絡;\ c) 數據與模型的導入與導出工具:將數據、模型等導入到聯邦學習服務,或從聯邦學習服務中導出數據與模型;\ d) 數據發佈與發現:聯邦學習的參與方可以將本方的數據發佈,供其他參與方使用;聯邦學習參與方也可以在網絡中發現其他參與方已發佈的數據,供本方使用。

6.2.2.2 參與方協調服務組件

參與方協調服務組件支持:聯邦學習服務管理者的聯邦學習活動,包括參與方身份和配置文件管理、對服務活動和服務使用的監控、事件處理和問題報告、安全管理服務。聯邦學習協調能力只供聯邦學習網絡協調者使用,只能通過使用聯邦學習服務來獲取。\ 典型的參與方協調服務組件功能應包括:\ a) 成員管理服務:為聯邦學習服務客户提供身份管理、權限管理、數據保密以及可審計的服務;\ b) 監控管理:為聯邦學習服務客户提供故障監測和聯邦學習網絡運行狀態的監控服務;\ c) 事件管理:為聯邦學習服務客户提供預定義或自定義事件的服務;\ d) 問題管理:為聯邦學習服務客户提供聯邦學習網絡問題跟蹤、報告的服務;\ e) 安全管理:確保聯邦學習服務客户賬號安全性的服務。

6.2.2.3 通用算法服務組件

通用算法服務組件提供通用的算法功能,使得算法可以應用到數據中。通用算法組件提供的能力與具體場景與業務耦合性不強。\ 常見的通用服務組件包括:\ a) 分類:分類是一種監督式學習,即每個訓練樣本的數據對象已經有類標識,通過學習可以形成表達數據對象與類標識間對應的知識,目標就是根據樣本數據形成的類知識並對源數據進行分類,進而也可以預測未來數據的歸類;\ b) 聚類:聚類是一種無監督學習任務,該算法基於數據的內部結構尋找觀察樣本的自然族羣(即集羣),聚類的結果將產生一組集合,集合中的對象與同集合中的對象彼此相似,與其他集合中的對象相異;\ c) 迴歸:迴歸是一種對數值型連續隨機變量進行預測和建模的監督學習算法。迴歸任務的特點是標註的數據集具有數值型的目標變量。也就是説,每一個觀察樣本都有一個數值型的標註真值以監督算法,預測產生的結果也一般是數值型的。

6.2.2.4 場景服務組件

場景服務組件提供與業務耦合性較強的功能組件。這層組件隨着業務或聯邦學習用户的需要而變更。\ 典型的應用場景包括:\ a) 語音識別:機器通過識別和理解過程把語音信號轉變為相應的文本或命令。語音識別涉及的技術主要包括語音特徵提取技術、模式匹配準則及模型訓練技術三個方面;\ b) 生物特徵識別:機器利用人體所固有的生理特徵(指紋、虹膜、面相、 DNA等)或行為特徵(步態、擊鍵習慣等)來進行個人身份鑑定;\ c) 計算機視覺:使用機器代替人眼對目標進行識別、跟蹤和測量等,並進一步做圖形處理,使目標成為更適合人眼觀察或傳送給儀器檢測的圖像;\ d) 自然語言處理NLP:機器通能理解自然語言文本的含義、意圖,也能以自然語言文本來表達給定的意圖、思想等。

6.2.2.5 數據服務組件

數據服務組件包括:\ a) 數據發佈, 指參與方將本方擁有數據的元信息,通過安全方式告知協調方,以供其他聯邦學習參與方進行聯邦學習活動;\ b) 數據發現,指參與方在協調方中尋找與發現其他聯邦學習參與方已發佈的數據元信息,供本方進行聯邦學習活動。\ 數據發佈與發現服務的功能包括:\ a) 所有聯邦學習參與方都應支持數據發佈功能;\ b) 需要建模/預測活動的參與方應支持數據發現功能;\ c) 應具備明確的數據元信息管理方案,確保聯邦學習活動正常進行。

6.2.2.6 任務管理組件

任務管理組件用於管理聯邦學習活動中的建模與預測活動。\ 任務管理組件的功能包括但不限於:\ a) 支持新建(即提交)聯邦學習任務;\ b) 支持查詢聯邦學習任務的狀態與日誌,包括正在運行的任務,以及已完成的任務;\ c) 支持結束正在運行的聯邦學習任務;\ d) 宜提供機制,在可能的情況下讓用户恢復部分失敗的任務;\ e) 宜提供API,提供聯邦學習任務管理能力。

6.2.3 算法層組件

常見的算法層組件應包括:\ a) 樣本對齊組件;\ b) 特徵對齊組件;\ c) 聯合特徵工程組件;\ d) 領域自適應組件;\ e) 通用聯邦學習算法組件;\ f) 算法評估組件。

6.2.3.1 樣本對齊組件

樣本對齊組件通常用於縱向聯邦學習。樣本對齊組件應保證以下兩點:\ a) 各方在不公開各自數據的前提下確認數據源的重疊樣本;\ b) 不暴露非重疊樣本。

6.2.3.2 特徵對齊組件

特徵對齊組件通常用於恆向聯邦學習, 應包括:\ a) 各方在不公開各自數據的前提下確認數據源的重疊特徵屬性;\ b) 不暴露非重疊特徵屬性。

6.2.3.3 聯合特徵工程組件

聯合特徵工程的功能應包括:\ a) 聯合特徵使用方案;\ b) 聯合特徵獲取方案;\ c) 聯合特徵處理;\ d) 聯合特徵監控。

6.2.3.4 領域自適應組件

領域自適應組件的目標是把分佈不同的源域和目標域的數據,映射到一個特徵空間中,使其在該空間中的距離儘可能近。\ 注: 由於聯邦遷移學習的核心是找到源領域與目標領域間的相似性,故此組件功能應圍繞具體的需求定製。

6.2.3.5 通用聯邦學習算法組件

通用聯邦學習算法組件包含聯邦學習針對不同的應用場景,不同的訓練任務所需的各大類基礎算法。常見算法包括:\ a) 聯邦學習的邏輯迴歸。典型算法包括縱向邏輯迴歸與橫向邏輯迴歸;\ b) 聯邦學習的決策樹。典型算法包括GBDT;\ c) 聯邦遷移學習;\ d) 聯邦深度學習。

6.2.3.6 算法評估組件

算法評估組件包含對聯邦學習算法效果的評估, 包括:\ a) 正確性評估;\ b) 無損性評估;\ c) 有效性評估;\ d) 性能評估;\ e) 安全性評估;\ f) 參與方貢獻評估。

6.2.4 算子層組件

常見的算子層組件包括:\ a) 多方安全計算算子;\ b) 聯邦學習聚合算子;\ c) 聯邦學習激活函數;\ d) 聯邦學習正則化處理器;\ e) 聯邦學習代價函數;\ f) 聯邦學習優化方法;\ g) 聯邦學習梯度處理器。

6.2.4.1 多方安全計算算子

多方安全計算是聯邦學習底層安全機制的核心。在聯邦學習參與方在進行活動時,此組件對數據進行加密或脱敏,使得原數據不被泄漏。在典型場景中,聯邦學習參與方在發送數據到另一參與方前,加密/脱敏組件即對本方數據進行處理。 包括:\ a) 基本原則包括:

  1. 參與方的加密/脱敏組件使用其他參與方、協調方知道且支持的加密/脱敏算法,對數據進\ 行處理,移除與原數據直接有關的信息;
  2. 對數據的加密, 協調方中的加密組件使用密鑰,對密文進行加密。\ b) 實現方式包括:
  3. 同態加密( Homomorphic Encryption);
  4. 祕密共享( Secret Sharing);
  5. 遺忘傳輸( Oblivious Transfer);
  6. 混淆電路( Garbled Circuit);
  7. RSA 加密算法,且密鑰為 1024bit 或以上;
  8. 可信執行環境( Trusted Execution Environment, TEE)。\ c) 常見算子包括:
  9. 四則運算算子;
  10. 大小比較算子;
  11. 邏輯與/或/非算子;
  12. 向量計算算子。

6.2.4.2 聯邦學習聚合算子

聯邦學習聚合算子是聯邦學習特有的算子, 應根據聚合的策略、加密方式進行定製。常見的聯邦學習聚合算子是基於隨機數與多方安全協議進行變化。

6.2.4.3 聯邦學習激活函數

聯邦學習激活函數應包括但不限於:\ a) 傳統機器學習的激活函數,如sigmoid、 softmax、 tanh、 softsign;\ b) 聯邦學習的聯合激活函數,如基於半同態加密的泰勒展開sigmoid、基於祕密共享的ReLU。

6.2.4.4 聯邦學習正則化處理器

聯邦學習正則化處理器應包括但不限於:\ a) 傳統機器學習的正則化處理器,如L1、 L2;\ b) 聯邦學習的聯合正則化處理器,如基於半同態加密的泰勒展開L1、基於半同態加密的泰勒展開L2。

6.2.4.5 聯邦學習代價函數

聯邦學習代價函數應包括但不限於:\ a) 傳統機器學習的代價函數,如交叉熵( Cross Entropy)、均方誤差( Mean Squared Error)、平均絕對誤差( Mean Absolute Error);\ b) 聯邦學習的聯合代價函數,如基於半同態加密的二分類交叉熵。

6.2.4.6 聯邦學習優化方法

聯邦學習優化方法應包括但不限於:\ a) 傳統機器學習的優化方法,如隨機梯度下降( SGD)、 RMSProp、 AdaGrad、 Adam;\ b) 聯邦學習的聯合優化方法。

6.2.4.7 聯邦學習梯度處理器

聯邦學習梯度處理器應包括但不限於:\ a) 傳統機器學習的梯度處理器;\ b) 聯邦學習的聯合梯度處理器。

6.2.5 基礎架構層組件

常見的基礎架構層組件應包括:\ a) 計算組件;\ b) 存儲組件;\ c) 通信組件;\ d) 資源調度與管理組件。\ 6.2.5.1 計算組件\ 計算框架包括但不限於:\ a) 支持任務在單機上執行,宜支持分佈式任務執行;\ b) 應具備明確的任務元信息管理方案,確保聯邦學習活動正常運行,任務信息在一定時間內可追溯;\ c) 宜具備一定的容錯性,如任務的失敗與恢復功能;\ d) 應提供API,以提供聯邦學習算法開發能力。

6.2.5.2 存儲組件

存儲組件功能應包括但不限於:\ a) 支持KV存儲;\ b) 支持其他存儲系統到存儲組件的數據導入與導出;\ c) 支持數據存儲的外部存儲持久化;\ d) 宜支持內存數據存儲,以提升任務執行性能;\ e) 宜支持數據的分佈式存儲,以提升數據讀寫性能;\ f) 具備明確的數據元信息管理方案,確保聯邦學習活動正常運行;\ g) 提供API,提供存儲組件訪問能力;\ h) 宜具備明確的數據可用性、可靠性策略與方案,以及存儲丟失時的恢復方案。

6.2.5.3 通信組件

通信組件功能應包括但不限於:\ a) 支持雙向通信;\ b) 支持跨集羣及跨數據中心的通信;\ c) 支持國際主流的安全通信方案,如HTTPS、 TLS/SSL;\ d) 在參與方對外通信時,應使用安全通信方案,對通信進行加密;\ e) 宜對發送(包括主動發送與被動應答)到其他聯邦學習參與方或聯邦學習協調方的內容保留審\ 計功能,以確保原始數據沒有離開本方;\ f) 提供API,以提供聯邦學習算法開發能力。

6.2.5.4 資源調度與管理組件

資源調度與管理組件功能包括但不限於:\ a) 對計算、存儲、通信請求作出合理的資源分配;\ b) 對硬件資源的變動進行記錄與管理,並反饋到資源分配的策略上;\ c) 宜提供機制,以便開發者對調度規則進行定製;\ d) 提供API,以提供資源的實時使用情況。

6.2.6 跨層功能組件

跨層功能組件應包括:\ a) 運營功能組件;\ b) 數據安全功能組件;\ c) 監管與審計功能組件。

6.2.6.1 運營功能組件

運營功能組件包括一組與操作有關的管理功能,這些功能用於管理和控制提供給用户使用的聯邦學習服務。運營功能組件包括:\ a) 服務目錄。服務目錄功能提供聯邦學習系統的所有服務列表。服務列表包括進行聯邦學習活動的各類服務,比如針對不同需求和場景的各類訓練和預測服務以及其他支撐性服務;\ b) 策略管理。策略管理功能提供聯邦學習服務的定義、更新和訪問策略及針對這些策略的管理。\ 這些策略包括用於聯邦學習本身及其使用的業務、技術、安全、隱私和認證等策略;\ c) 異常和問題管理。異常問題管理功能提供事故和問題報告的捕獲能力,並通過分析來管理這些報告。事故和問題可由聯邦學習服務提供方系統或聯邦學習服務用户,即聯邦學習各參與方檢測和報告;\ d) 服務交付管理。服務交付管理功能提供聯邦學習服務交付的管理功能,比如交付的功能接口、SLA 等。同時,該功能提供必需的工作流,以確保這些服務元素以正確的順序提供。

6.2.6.2 安全功能組件

安全功能組件主要為聯邦學習各功能組件層、層間交互以及各參與方交互的所有數據提供保密性、\ 完整性、可用性和隱私保護等安全屬性的保障。\ 數據安全功能組件功能應包括但不限於:\ a) 賬號管理。確保所有相關方都擁有賬號;\ b) 身份認證及管理。確保所有相關方在進行操作前是通過身份認證的;\ c) 授權和安全策略管理。確保相關方只能對被授權的內容進行操作;\ d) 數據完整性管理。通過完整性檢測和各種規範要求,防止由於誤操作,惡意破壞,格式不符合要求等造成的數據完整性喪失;\ e) 數據銷燬。提供各參與方在各類數據使用後的數據銷燬功能,負責將數據徹底刪除,並無法復原,以免造成信息泄露;\ f) 隱私泄露防護。主要是保護聯邦學習用户身份和事務處理等敏感信息不被泄露或非法獲取,這些信息只有通過充分授權才能被訪問。隱私泄露防護功能組件功能宜包括:

  1. 支持將數據的傳輸限制在特定授權節點間;
  2. 支持用加解密方法對用户數據的訪問採用權限控制;
  3. 支持對聯邦學習活動(任務)發起方/接收方的信息及事務信息本身進行信息隱藏;
  4. 支持採用例如零知識證明、同態加密等隱私保護算法,規避隱私暴露。

6.2.6.3 監管與審計功能組件

監管與審計功能組件根據聯邦學習參與方的治理要求,使聯邦學習服務符合可監管與可審計的特性,避免聯邦學習違反相關法律法規的要求,沒有實現真正意義的數據安全,泄露數據隱私;並作為權威方評估聯邦學習訓練預測過程以及最終模型的各方面指標是否滿足要求。\ 監管與審計功能組件功能包括但不限於:\ a) 應具備完善健全的監管治理體系.通過事前准入控制、事中權限控制、事後追溯等技術手段實現監管目標,保證記錄不可篡改、可追溯與可稽核;\ b) 宜實現監管機構作為聯邦成員即時監管,可對數據完整性、有效性和流程合規性進行即時的審計與監督;監管幹預活動相關的數據和證據應進行完整記錄和保存;\ c) 設置明確的監管治理規則。應同時支持由人蔘與監督管理的、無法用技術自動實現的規則,由組織機構或管理人員依據法律、行政法規、部門規章等進行監管治理的規則;\ d) 保存與服務、資源、性能相關的審計信息。這些審計信息至少應包括協議所有相關方的活動和運營環境條件的記錄和日誌,並需要以安全的方式收集和維護。

7 用户視圖與功能視圖之間關係

7.1 概述

在第6章介紹聯邦學習角色與活動的用户視圖,第7章介紹包含功能組件的功能視圖的基礎上,本章描述角色和活動與功能組件之間的邏輯映射關係。

7.2 關係

標準中的映射關係可應用於:\ a) 明確信息流或其它類型互操作的程度;\ b) 確保指定的質量(例如安全或服務水平)。\ 本架構中定義的邏輯關係是確定FLRA及其行為的重要組成部分。該邏輯關係描述內容包括FLRA組件間交互所需的信息流。\ 圖12展示了FLRA主要元素的常用配置,包括角色、聯邦學習活動和組件。\ 在這裏插入圖片描述