引文:
如何在保證本地訓(xùn)練數(shù)據(jù)不公開(kāi)的前提下,實(shí)現(xiàn)多個(gè)數(shù)據(jù)擁有者協(xié)同訓(xùn)練一個(gè)共享的機(jī)器學(xué)習(xí)模型?傳統(tǒng)的機(jī)器學(xué)習(xí)方法需要將所有的數(shù)據(jù)集中到一個(gè)地方(例如數(shù)據(jù)中心),然后進(jìn)行機(jī)器學(xué)習(xí)模型的訓(xùn)練。但這種基于集中數(shù)據(jù)的做法無(wú)疑會(huì)嚴(yán)重侵害用戶隱私和數(shù)據(jù)安全。如今,世界上越來(lái)越多的人開(kāi)始強(qiáng)烈要求科技公司必須根據(jù)用戶隱私法律法規(guī)妥善地處理用戶的數(shù)據(jù),歐盟的《通用數(shù)據(jù)保護(hù)條例》是一個(gè)很好的例子。而聯(lián)邦學(xué)習(xí)這門技術(shù),則可以將分布式機(jī)器學(xué)習(xí)、密碼學(xué)、基于金融規(guī)則的激勵(lì)機(jī)制和博弈論結(jié)合起來(lái),從而解決分散數(shù)據(jù)的使用問(wèn)題。FATE(Federated AI Technology Enabler)作為全球首個(gè)聯(lián)邦學(xué)習(xí)的工業(yè)級(jí)開(kāi)源框架,實(shí)現(xiàn)了同態(tài)加密和多方計(jì)算(MPC)的安全計(jì)算協(xié)議,其支持聯(lián)邦學(xué)習(xí)架構(gòu),內(nèi)置了多種機(jī)器學(xué)習(xí)算法的聯(lián)邦學(xué)習(xí)實(shí)現(xiàn),F(xiàn)ATE的每一次更新迭代,都在一定程度上代表著聯(lián)邦學(xué)習(xí)的前進(jìn)方向。
正文:
近日,全球首個(gè)聯(lián)邦學(xué)習(xí)工業(yè)級(jí)開(kāi)源框架FATE(Federated AI Technology Enabler)正式迎來(lái)了1.4新版本發(fā)布。在這一版本中,F(xiàn)ATE著重提升了用戶在真實(shí)建模中的體驗(yàn),橫向聯(lián)邦增加了對(duì)Secureboost樹(shù)算法的支持,縱向聯(lián)邦廣義線性模型系列則增加了對(duì)基于AIC及BIC進(jìn)行逐步回歸模型選擇的全面支持,縱向聯(lián)邦分箱也新增了最優(yōu)分箱方法,支持iv\gini\chi-square\ks,同時(shí),作為FATE計(jì)算/存儲(chǔ)/通信引擎的EggRoll也迎來(lái)了全新的2.0,穩(wěn)定性、性能以及用戶體驗(yàn)顯著提升。作為側(cè)重點(diǎn)在完善FATE可用性的這一版本,相信能為開(kāi)發(fā)者帶來(lái)更為流暢的使用體驗(yàn)。
主要更新點(diǎn)介紹:
1. 橫向聯(lián)邦新增對(duì)Secureboost樹(shù)算法的支持,開(kāi)發(fā)者可以在用戶數(shù)據(jù)特征相同的橫向場(chǎng)景下構(gòu)建GBDT模型,自此,F(xiàn)ATE框架中樹(shù)算法得以進(jìn)一步完善,現(xiàn)在FATE的樹(shù)算法已可支持所有的聯(lián)邦場(chǎng)景;
2. 縱向聯(lián)邦廣義線性模型系列,現(xiàn)已全面支持基于AIC及BIC進(jìn)行逐步回歸模型選擇,在平衡線性模型參數(shù)量與效果的場(chǎng)景中,將會(huì)自動(dòng)選取特征組合,減少選取模型過(guò)程中人工操作次數(shù),提升開(kāi)發(fā)者的使用體驗(yàn);
3. 縱向聯(lián)邦分箱支持最優(yōu)分箱方法,支持iv\gini\chi-square\ks,開(kāi)發(fā)者從這一版本起,就可以在縱向聯(lián)邦分箱中使用最優(yōu)分箱方法了,特征工程的分箱方法進(jìn)一步豐富化,相信能讓開(kāi)發(fā)者更直觀感受到FATE建模過(guò)程中的實(shí)用性;
4. AI生態(tài)互操作:橫向聯(lián)邦NN支持pytorch backend,F(xiàn)ATE新增了pytorch backend,即支持使用pytorch引擎搭建nn網(wǎng)絡(luò),換而言之,使用pytorch編寫的橫向nn模型,可相關(guān)使用配置文件將其通過(guò)pytorch backend進(jìn)行轉(zhuǎn)化,加入多方橫向聯(lián)邦學(xué)習(xí),作為重要的深度學(xué)習(xí)庫(kù),支持pytorch的呼聲一直很高,橫向nn在支持使用tensorflow和keras的基礎(chǔ)上,增加了pytorch backend,進(jìn)一步豐富了FATE的功能性。
FederatedML:新增橫向secureboost算法,廣義線性模型的逐步回歸模型選擇以及最優(yōu)分箱功能支持
在上一個(gè)版本中,F(xiàn)ATE對(duì)訓(xùn)練稀疏數(shù)據(jù)效率進(jìn)行了提升,內(nèi)存消耗也再度優(yōu)化。而在1.4版本中,F(xiàn)ederatedML的更新也延續(xù)了這一想法,主要集中提高了FATE的可用性。首當(dāng)其沖的,便是完善了更多的常見(jiàn)功能。比如1.4中新增的橫向secureboost算法,廣義線性模型的逐步回歸模型選擇以及最優(yōu)分箱功能支持等,都是在建模過(guò)程中用戶迫切希望得以實(shí)現(xiàn)的功能。除此以外,F(xiàn)ATE 1.4也在努力提升原有算法的體驗(yàn)和應(yīng)用范圍。比如本次更新進(jìn)一步完善了橫向nn的功能,新增pytorch框架支持,提升建模效率的同時(shí),增強(qiáng)了易用性,開(kāi)發(fā)者不必同時(shí)掌握多種深度學(xué)習(xí)庫(kù),即可滿足聯(lián)邦場(chǎng)景中的建模需求。最后,新版本還通過(guò)優(yōu)化部分算法的實(shí)現(xiàn),大大提升了建模過(guò)程中的穩(wěn)定性和效率,使得開(kāi)發(fā)者能更順暢地使用FATE來(lái)實(shí)現(xiàn)自己的業(yè)務(wù)目標(biāo)。
FATEBoard:新增Pearson相關(guān)性可視化矩陣圖,支持GLM的stepwise方法、橫向Secureboost等可視化輸出
FATEBoard是聯(lián)邦學(xué)習(xí)建模的可視化工具,為終端用戶可視化和度量模型訓(xùn)練的全過(guò)程,能夠幫助開(kāi)發(fā)更簡(jiǎn)單、高效地進(jìn)行模型探索和模型理解。FATEBoard由任務(wù)儀表盤、任務(wù)可視化、任務(wù)管理與日志管理等模塊組成,支持模型訓(xùn)練過(guò)程全流程的跟蹤、統(tǒng)計(jì)和監(jiān)控等,并為模型運(yùn)行狀態(tài)、模型輸出、日志追蹤等提供了豐富的可視化呈現(xiàn)。
在FATE 1.4版本中,F(xiàn)ATEBoard新增了Pearson相關(guān)性的可視化矩陣圖,可幫助開(kāi)發(fā)者查看guest特征之間,以及guest與host特征之間的相關(guān)性大小。而對(duì)GLM(縱向LR、縱向線性回歸、縱向poisson回歸)的stepwise方法的結(jié)果可視化輸出的支持,則能夠幫助開(kāi)發(fā)者準(zhǔn)確地觀察每一步的模型擬合統(tǒng)計(jì)、特征分析、最大似然分析、待進(jìn)入特征分析等情況。對(duì)橫向Secureboost的可視化樹(shù)模型輸出,LR、localbaseline在one_vs_rest下的可視化輸出的支持,也進(jìn)一步豐富了FATEBoard在更多場(chǎng)景下的適用性。
最后,新版本對(duì)FATEBoard的視覺(jué)和交互體驗(yàn)上也做了重大提升,支持大數(shù)據(jù)量下圖表的可視化,優(yōu)化頁(yè)面視覺(jué)效果及交互細(xì)節(jié)。通過(guò)嘗試,建模人員可以明顯感受到FATEBoard的可用性與易用性在這一版本中所呈現(xiàn)的全方位提升,必將幫助建模人員更好地理解與分析模型。
支持EggRoll 2.0:穩(wěn)定性、性能以及用戶體驗(yàn)顯著提升
作為FATE 1.4版本的一個(gè)重點(diǎn),EggRoll也迎來(lái)了巨大提升,在穩(wěn)定性方面,F(xiàn)ATE采用了全新的資源管理組件及session機(jī)制。從這一版本起,即使session出錯(cuò),也只需要一個(gè)簡(jiǎn)單函數(shù)調(diào)用,臨時(shí)拉起的計(jì)算進(jìn)程即可被清理。此外,此版本也移除了storage service,無(wú)需C++/native庫(kù)的編譯,開(kāi)發(fā)者從下載代碼到運(yùn)行起來(lái)的步驟進(jìn)一步減少,編譯與環(huán)境依賴也更加簡(jiǎn)化,基本上已可實(shí)現(xiàn)開(kāi)箱即用。最后,面對(duì)在任意網(wǎng)絡(luò)下傳輸都會(huì)產(chǎn)生的丟包現(xiàn)象,新版本也做了適配,聯(lián)邦學(xué)習(xí)算法在28%的丟包率之下依然可以實(shí)現(xiàn)正常運(yùn)行。
在性能方面,在實(shí)踐中相信開(kāi)發(fā)者能夠感受到,運(yùn)行于Eggroll 2的聯(lián)邦學(xué)習(xí)算法性能顯著提升,部分算法甚至可以達(dá)到超過(guò)10倍的性能提升,此外,Join接口在聯(lián)邦學(xué)習(xí)場(chǎng)景下,也實(shí)現(xiàn)了比pyspark快16倍的速度,開(kāi)發(fā)者的計(jì)算/建模將更為高效。
而在用戶體驗(yàn)方面,新版本已可快速部署,只需Maven編譯、pip安裝依賴、修改配置,即可運(yùn)行。此外,這一版本也變得更加易于調(diào)試,新版本中不僅提供了必要的運(yùn)行上下文信息,還將調(diào)試的關(guān)鍵系統(tǒng)狀態(tài)保存在日志文件及數(shù)據(jù)庫(kù)中,當(dāng)開(kāi)發(fā)者遇到報(bào)錯(cuò)信息時(shí),排查將變得更加快捷。最后,常駐進(jìn)程在這一版本中也進(jìn)行了大幅度削減,現(xiàn)在的常駐進(jìn)程僅三個(gè):
ClusterManager (CM):管理集群的物理資源,管理session信息
NodeManager (NM):管理一個(gè)機(jī)器節(jié)點(diǎn)上的物理資源
RollSite:管理跨站點(diǎn)通信,等同以前的proxy + federation
其中,CM和NM都是無(wú)狀態(tài)的,非常輕量級(jí),易于管理。開(kāi)發(fā)者在使用過(guò)程中,可以直觀感受到這些提升帶來(lái)的更優(yōu)質(zhì)體驗(yàn)。
總而言之,F(xiàn)ATE 1.4版本是一次回望,對(duì)過(guò)往開(kāi)發(fā)者們提到的一些問(wèn)題進(jìn)行了整合與思考,然后加入了迭代中。無(wú)論是FederatedML對(duì)常用功能、及原有算法的體驗(yàn)和應(yīng)用范圍的提升,還是FATEBoard對(duì)適用場(chǎng)景的豐富、及視覺(jué)和交互體驗(yàn)上的大力優(yōu)化,又或者是FATEFlow針對(duì)實(shí)際生產(chǎn)應(yīng)用,從模型、數(shù)據(jù)、日志三個(gè)方面增強(qiáng)系統(tǒng)易管理、易擴(kuò)展、易審計(jì)的能力,都能看到FATE對(duì)開(kāi)發(fā)者使用體驗(yàn)的思索與重視。FATE官方歡迎對(duì)聯(lián)邦學(xué)習(xí)有興趣的同仁一起貢獻(xiàn)代碼,提交 Issues 或者 Pull Requests。詳情可查閱FATE官網(wǎng)項(xiàng)目貢獻(xiàn)者指南。
另,F(xiàn)ATE官方也在開(kāi)展針對(duì)1.4版本的圓桌討論會(huì),詳情可添加FATE助手:FATEZS001,進(jìn)一步交流及了解。
(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。 )