微眾銀行開發的全球首個工業級聯邦學習開源框架 FATE 升級 v1.1!特別支援雲上部署

AIBigbull2050發表於2019-11-21

作為聯邦學習全球首個工業級開源框架,FATE 在近日釋出的 v1.1 版本中,不僅上線了橫向聯邦學習通用演算法框架,增加了DNN、迴歸等多個聯邦演算法,並開始支援多方縱向聯邦建模,支援spark引擎,支援FATEServing服務治理,支援secureboost線上預測等。

此外,FATE 還聯合 VMware 中國研發開放創新中心雲原生實驗室的團隊一起搞了個「大事」——支援在公有云和私有云中部署及使用,全容器化雲原生部署方案。

微眾銀行開發的全球首個工業級聯邦學習開源框架 FATE 升級 v1.1!特別支援雲上部署

FATE 作為聯邦學習全球首個工業級開源框架,支援聯邦學習架構體系,為機器學習、深度學習、遷移學習提供了高效能聯邦學習機制,FATE 本身還支援多種多方安全計算協議,如同態加密、秘密共享、雜湊雜湊等,具有友好的跨域互動資訊管理方案。

在 10 月 31 日正式釋出的 FATE v1.1 版本中,FATE 聯合 VMware 中國研發開放創新中心雲原生實驗室的團隊一起搞了個「大事」——釋出了 KubeFATE 專案,透過把 FATE 的所有元件用容器的形式封裝,實現了使用 Docker Compose 或 Kubernetes(Helm Charts)來部署。

現代應用以 DevOps 方式開發,基於容器部署應用的優勢相當明顯,應用不僅可以無差別地執行在支援容器的平臺上,還可以按需靈活地實現多例項水平擴充套件。目前主流的雲平臺,如國外的 AWS,Azure,國內的阿里雲、騰訊雲等,都有基於容器和 Kubernetes 的雲原生服務,使得容器應用的部署和執行已經標準化和商品化。

換句話說,透過 KubeFATE 專案,開發者可以輕鬆地在公有云或私有云中部署和使用 FATE 專案。

該專案現已釋出在GitHub:  

微眾銀行開發的全球首個工業級聯邦學習開源框架 FATE 升級 v1.1!特別支援雲上部署

另外,本次FATE v1.1版本在演算法和功能基礎了進行重大升級和提升:

不僅上線了橫向聯邦學習通用演算法框架,增加了DNN、迴歸等多個聯邦演算法,並開始支援多方縱向聯邦建模,支援spark引擎,支援FATEServing服務治理,支援secureboost線上預測等。

具體更新詳情如下文所示。

FederatedML:提供易擴充套件的橫向演算法框架支援橫向演算法開發

在新版本中,FATE使開發更加輕鬆,開發者可以更關注於演算法具體本身,而將更多通用的通訊傳輸內容交給框架。FATE v1.1提供易擴充套件的橫向聯邦學習通用演算法框架,支援Secure Aggregation,透過封裝橫向聯邦學習的主要流程,開發者能夠簡單地實現橫向聯邦學習演算法。

微眾銀行開發的全球首個工業級聯邦學習開源框架 FATE 升級 v1.1!特別支援雲上部署

在演算法方面,FATE新增了對橫向DNN、縱向線性迴歸、縱向泊松迴歸等聯邦演算法的支援,以及更多演算法支援多方聯邦建模,豐富了更多的建模場景,提升了FATE的實用性。

值得一提的是,線性迴歸在預測連續標籤等應用場景上非常有力,而泊松迴歸則能更好的協助開發者預測次數與頻率,如在購買保險和評估意外發生風險等場景裡,泊松迴歸都能對頻率進行預測。

 此外,從這一版本開始,FATE也正式開始支援多方縱向聯邦建模,可以實現縱向場景下的多個資料提供方共同訓練聯邦模型。

最後,FATE也對連線Spark進行了嘗試,FATE v1.1支援已有Spark叢集的開發者直接複用現有資源,可以選擇Spark作為計算引擎,根據實際情況靈活配置。

更多可前往GitHub瞭解:

FATEFlow:高效能聯邦學習Pipeline生產服務

FATEFlow是聯邦學習建模Pipeline 排程和生命週期管理工具,為使用者構建端到端的聯邦學習Pipeline生產服務。v1.1版本中,FATEFlow主要在穩定性及易用性上進行了提升,例如:

  • 上傳下載檔案支援檢視作業狀態,對於大檔案和對接其他系統有較大幫助;

  • 支援取消等待中的作業;

  • 支援對作業設定超時時間;

  • 最佳化作業日誌,統一存放於以作業ID命名的日誌資料夾,提高排查問題效率;

FATEBoard:簡單高效,聯邦學習建模過程視覺化

FATEBoard是聯邦學習建模的視覺化工具,為終端使用者視覺化和度量模型訓練的全過程,幫助使用者更簡單而高效地進行模型探索和模型理解。新版本中,job工作流展示進一步最佳化,並支援元件資料與模型的輸入輸出埠分離,提供更直觀的資料傳輸與模型傳輸展示;

另外,現已支援模型訓練過程中的評估結果視覺化,便於實時關注與跟蹤中間訓練過程和結果;更提供secureboost樹模型的視覺化展示,不僅可以清晰地觀測模型中每顆決策樹,還能檢視不同標籤下的樹模型。

FATEServing:服務治理,重啟自動恢復模型

在新版本中,模型載入成功後會在本地檔案中儲存,在重啟之後會從本地檔案中恢復之前載入的模型。

此外,v1.1版本引入zookeeper作為註冊中心,提供了有限的服務治理功能,能夠動態的註冊grpc介面,在某些機器當機的情況下,能夠自動的切換流量 。

KubeFATE:FATE部署能力升級

FATE v1.1版本提供打包好的Docker容器映象,大大降低FATE的使用門檻,避免開發者“倒在起跑線上”。如果是企業開發者,還可以發現離線部署FATE的能力也得到了提升,藉助 Harbor 開源容器映象倉庫,可以自動同步網上的映象,為運維減壓。

KubeFATE主要提供了Docker compose和Kubernetes(Helm Chart)兩種部署方式。

  • Docker-Compose可以將FATE的所有元件部署在單個節點中,並且支援多個合作方的部署。開發者無需編譯程式碼,可使用Docker compose迅速搭建測試環境。當前Docker compose可將FATE部署在一個或多個節點中,有利於開發者對FATE功能的熟悉和了解。

  • Docker-Compose的單節點部署方式定位於測試。在生產環境中,往往需要多節點部署,此時採用Kubernetes的方式更佳。KubeFATE提供了Helm Charts來把FATE部署到Kubernetes方法,可在支援Kubernetes的雲上直接部署FATE,並且可以按照需求定製部署的細節,例如把計算模組部署在有GPU的節點上等等。

Harbor是開源映象倉庫,提供映象的訪問控制、遠端同步、安全漏洞掃描等強大能力,國內的使用者絕大部分使用Harbor管理映象。KubeFATE專案將Harbor整合到其中,可提供本地映象管理能力,無需依賴Docker Hub等雲服務,大大提高了效率和安全性。此外,Harbor還能複製遠端的映象,可把映象在公有云或資料中心之間雙向複製,遇到故障可自動恢復,從而簡化運維複雜度。 

總的來說,FATE v1.1版本增加了多個聯邦演算法的支援,為聯邦學習建模帶來更豐富更強大的功能,同時聯合VMware推出KubeFATE,簡化FATE使用門檻,對初接觸開發者更為友好。團隊也歡迎對聯邦學習有興趣的同仁一起貢獻程式碼,提交 Issues 或者 Pull Requests。

詳情可查閱 FATE官網專案貢獻者指南:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946223/viewspace-2665111/,如需轉載,請註明出處,否則將追究法律責任。

相關文章