作為全球首個聯邦學習工業級技術框架,FATE支持聯邦學習架構體系與各種機器學習算法的安全計算,實現了基於同態加密和多方計算(MPC)的安全計算協議,能夠幫助多個組織機構在符合數據安全和政府法規前提下,有效和協作地進行數據使用和聯合建模。
8月18日,FATE 1.0版本正式發布,重點推出了聯邦建模可視化工具FATABoard,以及聯邦學習建模pipeline調度和生命周期管理工具FATEFlow,並對FederatedML進行了重大升級。該項目已發布在github:https://github.com/webankfintech/fate。
FATEBoard:簡單高效,聯邦學習建模過程可視化
FATEBoard是聯邦學習建模的可視化工具,為終端用戶可視化和度量模型訓練的全過程,幫助用戶更簡單而高效地進行模型探索和模型理解。
FATEBoard由任務儀錶盤、任務可視化、任務管理與日誌管理等模塊組成,支持模型訓練過程全流程的跟蹤、統計和監控等,並為模型運行狀態、模型輸出、日誌追蹤等提供了豐富的可視化呈現。FATEBoard可大大增強聯邦建模的操作體驗,讓聯邦建模更易於理解與實施,有利於建模人員持續對模型探索與優化。
圖1 FATEBoard功能架構總覽
圖2 FATEBoard界面示意圖
FATEFlow:高性能聯邦學習pipeline生產服務
FATEFlow是聯邦學習建模Pipeline 調度和生命周期管理工具,為用戶構建端到端的聯邦學習pipeline生產服務。FATEFlow實現了pipeline的狀態管理及運行的協同調度,同時自動追蹤任務中產生的數據、模型、指標、日誌等便於建模人員分析。另外,FATEFlow還提供了聯邦機制下的模型一致性管理以及生產發布功能。
在FATE 0.3版本以前,啟動任務的模塊是由Workflow完成。在Workflow中,各算法組件的順序被完全固定,用戶只能選擇是否開啟某個模塊,無法按照需求調整組件順序,甚至多次調用同一個組件。每多開發一個組件,都要修改整體的Workflow,以適應新組件的添加。這種設計,使開發者在添加新組件時,修改部分過多,限制了整體系統的可擴展性。
而FATE 1.0新推出的FATEFlow良好解決了workflow中由於需要提前規定算法組建順序而造成的流程排版複雜問題,在調用模塊時不再存在大一統組件,每一次建模任務都能自定義算法流程。在FATE v1.0版本中,開發者自定義流程只要一個普通的json文件就可以實現,這使得開發者在添加新組件時,不用修改過多部分,極大程度地提升了整體系統的可擴展性。
FATEFlow提供了極為豐富的功能,主要包括:
DAG定義聯邦學習Pipeline
多方非對稱Pipeline DAG、通用json格式DAG DSL、DSL-Parser
聯邦任務協同調度
多方任務隊列管理、協同分發任務、任務一致性保證、多方狀態同步等
聯邦任務生命周期管理
多方啟停、狀態檢測等
聯邦模型管理
聯邦模型存取、聯邦模型一致性、版本管理、發布管理等
聯邦任務輸入輸出實時追蹤
數據、模型、自定義指標、日誌等實時記錄存儲
此外,FateFlow還提供了多種接口,方便用戶完整把握整個建模任務。包括:
上傳和下載數據功能,使得用戶可以方便地切換數據源;
狀態查詢功能,獲得每個組件的實時狀態;
下載功能,獲取每個組件的配置文件和中間結果,最大程度方便用戶調試。
在FATE 1.0版本中,用戶自定義流程得以進一步簡化,過程非常簡單,只需通過一個普通的json文件即可將算法全流程實現。
而配置運行DSL,也只需要三步:
module: 模型組件,FATE當前支持11個模型組件
Input:
•data: 數據輸入
•model: 模型輸入
•isometric_model: 異構模型,當前只用於Feature Selection
Output
•data: 數據輸出
•model: 模型輸出
通過以上配置,dsl-parser能自動對用戶設定的json文件,解析出完成的算法DAG圖,並將其通過FATEBoard展示出來,使得用戶可以清晰地看到整個算法流程的架構。
DAG圖示意
FederatedML:重大升級所有算法模塊運行機制
FederatedML支持FATEFlow以組件模塊化的方式構建任意模型,支持FATEBoard回調中間統計結果以可視化展示。另外,還增加和升級了多項重要功能:
優化算法模塊增加對Nesterov Momentum SGD 優化算法的支持,極大提升了聯邦學習算法的收斂速度;
多方安全協議增加對Affine Transform的加法同態加密算法的支持;
聯邦特徵分箱增加對稀疏輸入格式的支持;
升級評估指標以覆蓋大部分分類評估與回歸評估;
重構和升級算法參數類,實現算法參數定義和校驗一體化。
FATEServing:聯邦推理功能升級
在線聯邦推理中,FATE 1.0新增了在線聯邦建模pipeline的DSL解析器,允許用戶生成聯邦推理pipeline並進行聯邦推理。
總之,FATE 1.0版本為聯邦學習建模帶來更豐富更強大的功能,極大提升了聯邦建模體驗。微眾銀行AI團隊歡迎對聯邦學習有興趣的同仁一起貢獻代碼,提交 Issues 或者 Pull Requests。詳情可查閱 FATE項目貢獻指南:https://github.com/WeBankFinTech/FATE/blob/master/CONTRIBUTING.md
轉載請註明出處。