聯邦學習開源框架FATE新版本釋出!配套引擎EggRoll更新

新闻助手發表於2020-06-03

如何在保證本地訓練資料不公開的前提下,實現多個資料擁有者協同訓練一個共享的機器學習模型?傳統的機器學習方法需要將所有的資料集中到一個地方(例如資料中心),然後進行機器學習模型的訓練。但這種基於集中資料的做法無疑會嚴重侵害使用者隱私和資料安全。如今,世界上越來越多的人開始強烈要求科技公司必須根據使用者隱私法律法規妥善地處理使用者的資料,歐盟的《通用資料保護條例》是一個很好的例子。而聯邦學習這門技術,則可以將分散式機器學習、密碼學、基於金融規則的激勵機制和博弈論結合起來,從而解決分散資料的使用問題。FATE(Federated AI Technology Enabler)作為全球首個聯邦學習的工業級開源框架,實現了同態加密和多方計算(MPC)的安全計算協議,其支援聯邦學習架構,內建了多種機器學習演算法的聯邦學習實現,FATE的每一次更新迭代,都在一定程度上代表著聯邦學習的前進方向。

近日,全球首個聯邦學習工業級開源框架FATE(Federated AI Technology Enabler)正式迎來了1.4新版本釋出。在這一版本中,FATE著重提升了使用者在真實建模中的體驗,橫向聯邦增加了對Secureboost樹演算法的支援,縱向聯邦廣義線性模型系列則增加了對基於AIC及BIC進行逐步迴歸模型選擇的全面支援,縱向聯邦分箱也新增了最優分箱方法,支援iv\gini\chi-square\ks,同時,作為FATE計算/儲存/通訊引擎的EggRoll也迎來了全新的2.0,穩定性、效能以及使用者體驗顯著提升。作為側重點在完善FATE可用性的這一版本,相信能為開發者帶來更為流暢的使用體驗。

該專案GitHub地址:https://github.com/FederatedAI/FATE

主要更新點介紹:

1. 橫向聯邦新增對Secureboost樹演算法的支援,開發者可以在使用者資料特徵相同的橫向場景下構建GBDT模型,自此,FATE框架中樹演算法得以進一步完善,現在FATE的樹演算法已可支援所有的聯邦場景;

2. 縱向聯邦廣義線性模型系列,現已全面支援基於AIC及BIC進行逐步迴歸模型選擇,在平衡線性模型引數量與效果的場景中,將會自動選取特徵組合,減少選取模型過程中人工操作次數,提升開發者的使用體驗;

3.縱向聯邦分箱支援最優分箱方法,支援iv\gini\chi-square\ks,開發者從這一版本起,就可以在縱向聯邦分箱中使用最優分箱方法了,特徵工程的分箱方法進一步豐富化,相信能讓開發者更直觀感受到FATE建模過程中的實用性;

4. AI生態互操作:橫向聯邦NN支援pytorch backend,FATE新增了pytorch backend,即支援使用pytorch引擎搭建nn網路,換而言之,使用pytorch編寫的橫向nn模型,可相關使用配置檔案將其透過pytorch backend進行轉化,加入多方橫向聯邦學習,作為重要的深度學習庫,支援pytorch的呼聲一直很高,橫向nn在支援使用tensorflow和keras的基礎上,增加了pytorch backend,進一步豐富了FATE的功能性。

FederatedML:新增橫向secureboost演算法,廣義線性模型的逐步迴歸模型選擇以及最優分箱功能支援

在上一個版本中,FATE對訓練稀疏資料效率進行了提升,記憶體消耗也再度最佳化。而在1.4版本中,FederatedML的更新也延續了這一想法,主要集中提高了FATE的可用性。首當其衝的,便是完善了更多的常見功能。比如1.4中新增的橫向secureboost演算法,廣義線性模型的逐步迴歸模型選擇以及最優分箱功能支援等,都是在建模過程中使用者迫切希望得以實現的功能。除此以外,FATE 1.4也在努力提升原有演算法的體驗和應用範圍。比如本次更新進一步完善了橫向nn的功能,新增pytorch框架支援,提升建模效率的同時,增強了易用性,開發者不必同時掌握多種深度學習庫,即可滿足聯邦場景中的建模需求。最後,新版本還透過最佳化部分演算法的實現,大大提升了建模過程中的穩定性和效率,使得開發者能更順暢地使用FATE來實現自己的業務目標。

聯邦學習開源框架FATE新版本釋出!配套引擎EggRoll更新FATEBoard:新增Pearson相關性視覺化矩陣圖,支援GLMstepwise方法、橫向Secureboost等視覺化輸出

FATEBoard是聯邦學習建模的視覺化工具,為終端使用者視覺化和度量模型訓練的全過程,能夠幫助開發更簡單、高效地進行模型探索和模型理解。FATEBoard由任務儀表盤、任務視覺化、任務管理與日誌管理等模組組成,支援模型訓練過程全流程的跟蹤、統計和監控等,併為模型執行狀態、模型輸出、日誌追蹤等提供了豐富的視覺化呈現。

在FATE 1.4版本中,FATEBoard新增了Pearson相關性的視覺化矩陣圖,可幫助開發者檢視guest特徵之間,以及guest與host特徵之間的相關性大小。而對GLM(縱向LR、縱向線性迴歸、縱向poisson迴歸)的stepwise方法的結果視覺化輸出的支援,則能夠幫助開發者準確地觀察每一步的模型擬合統計、特徵分析、最大似然分析、待進入特徵分析等情況。對橫向Secureboost的視覺化樹模型輸出,LR、localbaseline在one_vs_rest下的視覺化輸出的支援,也進一步豐富了FATEBoard在更多場景下的適用性。

最後,新版本對FATEBoard的視覺和互動體驗上也做了重大提升,支援大資料量下圖表的視覺化,最佳化頁面視覺效果及互動細節。透過嘗試,建模人員可以明顯感受到FATEBoard的可用性與易用性在這一版本中所呈現的全方位提升,必將幫助建模人員更好地理解與分析模型。

支援EggRoll 2.0:穩定性、效能以及使用者體驗顯著提升

作為FATE 1.4版本的一個重點,EggRoll也迎來了巨大提升,在穩定性方面,FATE採用了全新的資源管理元件及session機制。從這一版本起,即使session出錯,也只需要一個簡單函式呼叫,臨時拉起的計算程序即可被清理。此外,此版本也移除了storage service,無需C++/native庫的編譯,開發者從下載程式碼到執行起來的步驟進一步減少,編譯與環境依賴也更加簡化,基本上已可實現開箱即用。最後,面對在任意網路下傳輸都會產生的丟包現象,新版本也做了適配,聯邦學習演算法在28%的丟包率之下依然可以實現正常執行。

在效能方面,在實踐中相信開發者能夠感受到,執行於Eggroll 2的聯邦學習演算法效能顯著提升,部分演算法甚至可以達到超過10倍的效能提升,此外,Join介面在聯邦學習場景下,也實現了比pyspark快16倍的速度,開發者的計算/建模將更為高效。

而在使用者體驗方面,新版本已可快速部署,只需Maven編譯、pip安裝依賴、修改配置,即可執行。此外,這一版本也變得更加易於除錯,新版本中不僅提供了必要的執行上下文資訊,還將除錯的關鍵系統狀態儲存在日誌檔案及資料庫中,當開發者遇到報錯資訊時,排查將變得更加快捷。最後,常駐程序在這一版本中也進行了大幅度削減,現在的常駐程序僅三個:

lClusterManager (CM):管理叢集的物理資源,管理session資訊

lNodeManager (NM):管理一個機器節點上的物理資源

lRollSite:管理跨站點通訊,等同以前的proxy + federation

其中,CM和NM都是無狀態的,非常輕量級,易於管理。開發者在使用過程中,可以直觀感受到這些提升帶來的更優質體驗。

總而言之,FATE 1.4版本是一次回望,對過往開發者們提到的一些問題進行了整合與思考,然後加入了迭代中。無論是FederatedML對常用功能、及原有演算法的體驗和應用範圍的提升,還是FATEBoard對適用場景的豐富、及視覺和互動體驗上的大力最佳化,又或者是FATEFlow針對實際生產應用,從模型、資料、日誌三個方面增強系統易管理、易擴充套件、易審計的能力,都能看到FATE對開發者使用體驗的思索與重視。FATE官方歡迎對聯邦學習有興趣的同仁一起貢獻程式碼,提交 Issues 或者 Pull Requests。詳情可查閱FATE官網專案貢獻者指南:https://fate.fedai.org/contribute/

另,FATE官方也在開展針對1.4版本的圓桌討論會,詳情可新增FATE助手:FATEZS001,進一步交流及瞭解。

相關文章