0
雷鋒網(wǎng) AI 開發(fā)者按:作為聯(lián)邦學習全球首個工業(yè)級開源框架,F(xiàn)ATE 在近日發(fā)布的 v1.1 版本中,不僅上線了橫向聯(lián)邦學習通用算法框架,增加了DNN、回歸等多個聯(lián)邦算法,并開始支持多方縱向聯(lián)邦建模,支持spark引擎,支持FATEServing服務治理,支持secureboost在線預測等。
此外,F(xiàn)ATE 還聯(lián)合 VMware 中國研發(fā)開放創(chuàng)新中心云原生實驗室的團隊一起搞了個「大事」——支持在公有云和私有云中部署及使用,全容器化云原生部署方案。
FATE 作為聯(lián)邦學習全球首個工業(yè)級開源框架,支持聯(lián)邦學習架構體系,為機器學習、深度學習、遷移學習提供了高性能聯(lián)邦學習機制,F(xiàn)ATE 本身還支持多種多方安全計算協(xié)議,如同態(tài)加密、秘密共享、哈希散列等,具有友好的跨域交互信息管理方案。
在 10 月 31 日正式發(fā)布的 FATE v1.1 版本中,F(xiàn)ATE 聯(lián)合 VMware 中國研發(fā)開放創(chuàng)新中心云原生實驗室的團隊一起搞了個「大事」——發(fā)布了 KubeFATE 項目,通過把 FATE 的所有組件用容器的形式封裝,實現(xiàn)了使用 Docker Compose 或 Kubernetes(Helm Charts)來部署。
現(xiàn)代應用以 DevOps 方式開發(fā),基于容器部署應用的優(yōu)勢相當明顯,應用不僅可以無差別地運行在支持容器的平臺上,還可以按需靈活地實現(xiàn)多實例水平擴展。目前主流的云平臺,如國外的 AWS,Azure,國內(nèi)的阿里云、騰訊云等,都有基于容器和 Kubernetes 的云原生服務,使得容器應用的部署和運行已經(jīng)標準化和商品化。
換句話說,通過 KubeFATE 項目,開發(fā)者可以輕松地在公有云或私有云中部署和使用 FATE 項目。
該項目現(xiàn)已發(fā)布在GitHub:https://github.com/FederatedAI/KubeFATE
另外,本次FATE v1.1版本在算法和功能基礎了進行重大升級和提升:
不僅上線了橫向聯(lián)邦學習通用算法框架,增加了DNN、回歸等多個聯(lián)邦算法,并開始支持多方縱向聯(lián)邦建模,支持spark引擎,支持FATEServing服務治理,支持secureboost在線預測等。
具體更新詳情如下文所示。
FederatedML:提供易擴展的橫向算法框架支持橫向算法開發(fā)
在新版本中,F(xiàn)ATE使開發(fā)更加輕松,開發(fā)者可以更關注于算法具體本身,而將更多通用的通信傳輸內(nèi)容交給框架。FATE v1.1提供易擴展的橫向聯(lián)邦學習通用算法框架,支持Secure Aggregation,通過封裝橫向聯(lián)邦學習的主要流程,開發(fā)者能夠簡單地實現(xiàn)橫向聯(lián)邦學習算法。
在算法方面,F(xiàn)ATE新增了對橫向DNN、縱向線性回歸、縱向泊松回歸等聯(lián)邦算法的支持,以及更多算法支持多方聯(lián)邦建模,豐富了更多的建模場景,提升了FATE的實用性。
值得一提的是,線性回歸在預測連續(xù)標簽等應用場景上非常有力,而泊松回歸則能更好的協(xié)助開發(fā)者預測次數(shù)與頻率,如在購買保險和評估意外發(fā)生風險等場景里,泊松回歸都能對頻率進行預測。
此外,從這一版本開始,F(xiàn)ATE也正式開始支持多方縱向聯(lián)邦建模,可以實現(xiàn)縱向場景下的多個數(shù)據(jù)提供方共同訓練聯(lián)邦模型。
最后,F(xiàn)ATE也對連接Spark進行了嘗試,F(xiàn)ATE v1.1支持已有Spark集群的開發(fā)者直接復用現(xiàn)有資源,可以選擇Spark作為計算引擎,根據(jù)實際情況靈活配置。
更多可前往GitHub了解:https://github.com/FederatedAI/FATE/tree/master/federatedml
FATEFlow:高性能聯(lián)邦學習Pipeline生產(chǎn)服務
FATEFlow是聯(lián)邦學習建模Pipeline 調(diào)度和生命周期管理工具,為用戶構建端到端的聯(lián)邦學習Pipeline生產(chǎn)服務。v1.1版本中,F(xiàn)ATEFlow主要在穩(wěn)定性及易用性上進行了提升,例如:
上傳下載文件支持查看作業(yè)狀態(tài),對于大文件和對接其他系統(tǒng)有較大幫助;
支持取消等待中的作業(yè);
支持對作業(yè)設置超時時間;
優(yōu)化作業(yè)日志,統(tǒng)一存放于以作業(yè)ID命名的日志文件夾,提高排查問題效率;
FATEBoard:簡單高效,聯(lián)邦學習建模過程可視化
FATEBoard是聯(lián)邦學習建模的可視化工具,為終端用戶可視化和度量模型訓練的全過程,幫助用戶更簡單而高效地進行模型探索和模型理解。新版本中,job工作流展示進一步優(yōu)化,并支持組件數(shù)據(jù)與模型的輸入輸出端口分離,提供更直觀的數(shù)據(jù)傳輸與模型傳輸展示;
另外,現(xiàn)已支持模型訓練過程中的評估結果可視化,便于實時關注與跟蹤中間訓練過程和結果;更提供secureboost樹模型的可視化展示,不僅可以清晰地觀測模型中每顆決策樹,還能查看不同標簽下的樹模型。
FATEServing:服務治理,重啟自動恢復模型
在新版本中,模型加載成功后會在本地文件中保存,在重啟之后會從本地文件中恢復之前加載的模型。
此外,v1.1版本引入zookeeper作為注冊中心,提供了有限的服務治理功能,能夠動態(tài)的注冊grpc接口,在某些機器宕機的情況下,能夠自動的切換流量 。
KubeFATE:FATE部署能力升級
FATE v1.1版本提供打包好的Docker容器鏡像,大大降低FATE的使用門檻,避免開發(fā)者“倒在起跑線上”。如果是企業(yè)開發(fā)者,還可以發(fā)現(xiàn)離線部署FATE的能力也得到了提升,借助 Harbor 開源容器鏡像倉庫,可以自動同步網(wǎng)上的鏡像,為運維減壓。
KubeFATE主要提供了Docker compose和Kubernetes(Helm Chart)兩種部署方式。
Docker-Compose可以將FATE的所有組件部署在單個節(jié)點中,并且支持多個合作方的部署。開發(fā)者無需編譯代碼,可使用Docker compose迅速搭建測試環(huán)境。當前Docker compose可將FATE部署在一個或多個節(jié)點中,有利于開發(fā)者對FATE功能的熟悉和了解。
Docker-Compose的單節(jié)點部署方式定位于測試。在生產(chǎn)環(huán)境中,往往需要多節(jié)點部署,此時采用Kubernetes的方式更佳。KubeFATE提供了Helm Charts來把FATE部署到Kubernetes方法,可在支持Kubernetes的云上直接部署FATE,并且可以按照需求定制部署的細節(jié),例如把計算模塊部署在有GPU的節(jié)點上等等。
Harbor是開源鏡像倉庫,提供鏡像的訪問控制、遠程同步、安全漏洞掃描等強大能力,國內(nèi)的用戶絕大部分使用Harbor管理鏡像。KubeFATE項目將Harbor集成到其中,可提供本地鏡像管理能力,無需依賴Docker Hub等云服務,大大提高了效率和安全性。此外,Harbor還能復制遠程的鏡像,可把鏡像在公有云或數(shù)據(jù)中心之間雙向復制,遇到故障可自動恢復,從而簡化運維復雜度。
總的來說,F(xiàn)ATE v1.1版本增加了多個聯(lián)邦算法的支持,為聯(lián)邦學習建模帶來更豐富更強大的功能,同時聯(lián)合VMware推出KubeFATE,簡化FATE使用門檻,對初接觸開發(fā)者更為友好。團隊也歡迎對聯(lián)邦學習有興趣的同仁一起貢獻代碼,提交 Issues 或者 Pull Requests。
詳情可查閱 FATE官網(wǎng)項目貢獻者指南:https://fate.fedai.org/contribute/
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權禁止轉載。詳情見轉載須知。