聯(lián)邦學習開源框架FATE新版本發(fā)布!配套引擎EggRoll煥新登場

引文:

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

正文:

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

主要更新點介紹:

1. 橫向聯(lián)邦新增對Secureboost樹算法的支持,開發(fā)者可以在用戶數(shù)據(jù)特征相同的橫向場景下構(gòu)建GBDT模型,自此,F(xiàn)ATE框架中樹算法得以進一步完善,現(xiàn)在FATE的樹算法已可支持所有的聯(lián)邦場景;

2. 縱向聯(lián)邦廣義線性模型系列,現(xiàn)已全面支持基于AIC及BIC進行逐步回歸模型選擇,在平衡線性模型參數(shù)量與效果的場景中,將會自動選取特征組合,減少選取模型過程中人工操作次數(shù),提升開發(fā)者的使用體驗;

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

4. AI生態(tài)互操作:橫向聯(lián)邦NN支持pytorch backend,F(xiàn)ATE新增了pytorch backend,即支持使用pytorch引擎搭建nn網(wǎng)絡,換而言之,使用pytorch編寫的橫向nn模型,可相關(guān)使用配置文件將其通過pytorch backend進行轉(zhuǎn)化,加入多方橫向聯(lián)邦學習,作為重要的深度學習庫,支持pytorch的呼聲一直很高,橫向nn在支持使用tensorflow和keras的基礎上,增加了pytorch backend,進一步豐富了FATE的功能性。

FederatedML:新增橫向secureboost算法,廣義線性模型的逐步回歸模型選擇以及最優(yōu)分箱功能支持

在上一個版本中,F(xiàn)ATE對訓練稀疏數(shù)據(jù)效率進行了提升,內(nèi)存消耗也再度優(yōu)化。而在1.4版本中,F(xiàn)ederatedML的更新也延續(xù)了這一想法,主要集中提高了FATE的可用性。首當其沖的,便是完善了更多的常見功能。比如1.4中新增的橫向secureboost算法,廣義線性模型的逐步回歸模型選擇以及最優(yōu)分箱功能支持等,都是在建模過程中用戶迫切希望得以實現(xiàn)的功能。除此以外,F(xiàn)ATE 1.4也在努力提升原有算法的體驗和應用范圍。比如本次更新進一步完善了橫向nn的功能,新增pytorch框架支持,提升建模效率的同時,增強了易用性,開發(fā)者不必同時掌握多種深度學習庫,即可滿足聯(lián)邦場景中的建模需求。最后,新版本還通過優(yōu)化部分算法的實現(xiàn),大大提升了建模過程中的穩(wěn)定性和效率,使得開發(fā)者能更順暢地使用FATE來實現(xiàn)自己的業(yè)務目標。

FATEBoard:新增Pearson相關(guān)性可視化矩陣圖,支持GLM的stepwise方法、橫向Secureboost等可視化輸出

FATEBoard是聯(lián)邦學習建模的可視化工具,為終端用戶可視化和度量模型訓練的全過程,能夠幫助開發(fā)更簡單、高效地進行模型探索和模型理解。FATEBoard由任務儀表盤、任務可視化、任務管理與日志管理等模塊組成,支持模型訓練過程全流程的跟蹤、統(tǒng)計和監(jiān)控等,并為模型運行狀態(tài)、模型輸出、日志追蹤等提供了豐富的可視化呈現(xiàn)。

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

最后,新版本對FATEBoard的視覺和交互體驗上也做了重大提升,支持大數(shù)據(jù)量下圖表的可視化,優(yōu)化頁面視覺效果及交互細節(jié)。通過嘗試,建模人員可以明顯感受到FATEBoard的可用性與易用性在這一版本中所呈現(xiàn)的全方位提升,必將幫助建模人員更好地理解與分析模型。

支持EggRoll 2.0:穩(wěn)定性、性能以及用戶體驗顯著提升

作為FATE 1.4版本的一個重點,EggRoll也迎來了巨大提升,在穩(wěn)定性方面,F(xiàn)ATE采用了全新的資源管理組件及session機制。從這一版本起,即使session出錯,也只需要一個簡單函數(shù)調(diào)用,臨時拉起的計算進程即可被清理。此外,此版本也移除了storage service,無需C++/native庫的編譯,開發(fā)者從下載代碼到運行起來的步驟進一步減少,編譯與環(huán)境依賴也更加簡化,基本上已可實現(xiàn)開箱即用。最后,面對在任意網(wǎng)絡下傳輸都會產(chǎn)生的丟包現(xiàn)象,新版本也做了適配,聯(lián)邦學習算法在28%的丟包率之下依然可以實現(xiàn)正常運行。

在性能方面,在實踐中相信開發(fā)者能夠感受到,運行于Eggroll 2的聯(lián)邦學習算法性能顯著提升,部分算法甚至可以達到超過10倍的性能提升,此外,Join接口在聯(lián)邦學習場景下,也實現(xiàn)了比pyspark快16倍的速度,開發(fā)者的計算/建模將更為高效。

而在用戶體驗方面,新版本已可快速部署,只需Maven編譯、pip安裝依賴、修改配置,即可運行。此外,這一版本也變得更加易于調(diào)試,新版本中不僅提供了必要的運行上下文信息,還將調(diào)試的關(guān)鍵系統(tǒng)狀態(tài)保存在日志文件及數(shù)據(jù)庫中,當開發(fā)者遇到報錯信息時,排查將變得更加快捷。最后,常駐進程在這一版本中也進行了大幅度削減,現(xiàn)在的常駐進程僅三個:

ClusterManager (CM):管理集群的物理資源,管理session信息

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

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

其中,CM和NM都是無狀態(tài)的,非常輕量級,易于管理。開發(fā)者在使用過程中,可以直觀感受到這些提升帶來的更優(yōu)質(zhì)體驗。

總而言之,F(xiàn)ATE 1.4版本是一次回望,對過往開發(fā)者們提到的一些問題進行了整合與思考,然后加入了迭代中。無論是FederatedML對常用功能、及原有算法的體驗和應用范圍的提升,還是FATEBoard對適用場景的豐富、及視覺和交互體驗上的大力優(yōu)化,又或者是FATEFlow針對實際生產(chǎn)應用,從模型、數(shù)據(jù)、日志三個方面增強系統(tǒng)易管理、易擴展、易審計的能力,都能看到FATE對開發(fā)者使用體驗的思索與重視。FATE官方歡迎對聯(lián)邦學習有興趣的同仁一起貢獻代碼,提交 Issues 或者 Pull Requests。詳情可查閱FATE官網(wǎng)項目貢獻者指南。

另,F(xiàn)ATE官方也在開展針對1.4版本的圓桌討論會,詳情可添加FATE助手:FATEZS001,進一步交流及了解。

(免責聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關(guān)資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負任何法律責任。
任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實,溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )

贊助商
2020-06-05
聯(lián)邦學習開源框架FATE新版本發(fā)布!配套引擎EggRoll煥新登場
引文:如何在保證本地訓練數(shù)據(jù)不公開的前提下,實現(xiàn)多個數(shù)據(jù)擁有者協(xié)同訓練一個共享的機器學習模型?傳統(tǒng)的機器學習方法需要將所有的數(shù)據(jù)集中到一個地方(例如數(shù)據(jù)中心),然后進行機器學習模型的訓練。

長按掃碼 閱讀全文