「聯邦學習」—FedML 開源庫介紹

2020-12-23 lokinko

文章來源:https://arxiv.org/pdf/2007.13518.pdf

《FedML: A Research Library and Benchmark for Federated Machine Learning》推薦給大家了解聯邦學習。

摘要

現有的庫無法滿足研究所需的各種算法開發(例如各種信息交換),並且由於實驗使用的數據集不一致,導致難以進行公平的對比。本文介紹了 FedML —— 能夠支持分布式訓練、行動裝置訓練和單機仿真訓練的開放庫。

介紹

聯邦學習是一種分布式學習,提出該概念的初衷是為了解決數據孤島問題,從分散、孤立的數據中訓練機器學習模型。

聯邦學習與傳統基於數據中心的分布式學習主要有三方面的不同:

統計異構 Statistical heterogeneous(例如數據的非獨立同分布、部分數據無標籤)。系統約束 System constraints(例如通信和計算能力的差異)。可信度 Trustworthiness(例如數據安全、隱私問題、公平性問題)。

過去幾年對這些問題已經進行了多方面的研究:

對於統計異構:提出了分布式優化方法(例如FedMA、FedProx、Adaptive Federated Optimization和FedNAS)。對於系統約束:利用壓縮、分散或量化技術來減少訓練過程中的通信開銷和計算成本。對於可信性問題:通過對抗性攻擊和防禦技術來增強聯邦學習的魯棒性、通過差分隱私和安全多方計算等方法來保護隱私。

目前對聯邦學習研究存在以下的局限性:

聯邦學習種類的多樣性導致現有 FL 庫不能完全支持。

在網絡結構中,目前已經提出了基於數據中心的FL、去中心化FL、分層FL、縱向FL、split-FL 以及 meta-FL;在信息交換中,除了交換梯度和模型以外,最新的FL算法還建議交換信息,例如半監督FL中的偽標籤和基於神經體系結構搜索FL中的體系結構參數;在訓練過程中, FL-GAN 和 聯邦遷移學習等訓練過程與 FedAvg 算法明顯不同。

2. 缺乏對多種 FL 計算範例的支持。

PyTorch、TensorFlow、MXNet 中 TensorFlow-Federated(TFF)2,PySyft 和 LEAF 僅支持具有中心結構的算法,如 FedAvg 或 FedProx 算法,不適用於需要交換複雜輔助信息和自定義訓練程序的算法。行業發布了面向生產的庫,例如FATE 和PaddleFL,但業界主導的產品通常具有繁瑣的系統設計,不靈活的API和複雜的環境設置,這對於在分布式系統開發中沒有足夠專業知識的算法研究人員來說是一個沉重的學習負擔。

3. 缺乏標準的 FL 算法實現。

由於沒有統一的標準框架,且聯邦學習中具有數據非獨立同分布的特性,導致實驗結果很難復現。因此難以公平地評價不同算法的性能。

4. 缺乏標準的 FL-Benchmark。

本文總結了過去兩年的頂會中使用的數據集合模型,這些已發表文章的實驗設置非常不一致,包括數據集的非I.I.D.設置、用於訓練的模型以及每一輪訓練涉及的 device 數量。這些設置的任何差異都可能影響實驗結果。

為了解決上述問題並促進 FL 研究的創新,本文介紹了 FedML.

(i) FedML 引入了 worker-oriented 的編程接口,用於靈活的拓撲配置和工作程序之間的任意信息交換。用戶可以在 FL 設置中為工作人員附加任何行為(例如,訓練,聚合,攻擊和防禦等),自定義其他交換信息,並控制 worker 之間的信息流,從而使 FedML 更加靈活和通用,可用於更高級的算法開發。

(ii) FedML支持三種計算範例:分布式計算,單機模擬和行動裝置訓練。

(iii)標準化的 FL 算法實現。 FedML 提供了許多現有的 FL 算法的標準化實現。這些實現不僅可以幫助用戶熟悉 API,還可以用作與新開發的 FL 算法進行比較的基準。

(iv) FedML 為非獨立同分布數據集提供了標準化基準設置。為了促進公平和可靠的比較,FedML在合理的設置下提供了有意義的指標和基線結果,確保所有算法都在具有合理調整的超參數的非獨立同分布的數據集上進行評估。

架構設計

FedML-Core 將通信和模型訓練分為兩個核心組件。

首先是通信協議組件 Distributed。它負責網絡中不同作品之間的底層通信。通信後端基於MPI(消息傳遞接口)。我們考慮根據需要添加更多的後端,例如RPC(遠程過程調用)。在通信協議組件內部,TopologyManager支持不同的分布式學習算法所需的靈活拓撲配置。第二個是設備上的深度學習組件(On-Device Machine Learning),它是基於流行的深度學習框架 PyTorch 或 TensorFlow 構建的。為了靈活性,這部分的框架沒有限制。用戶可以根據自己的需要創建 Worker 和 Coordinator, 此外,低級API支持安全性和與隱私相關的算法。

FedML-API 是基於 FedML-Core 構建的。

藉助FedML-core,可以通過採用 Worker-oriented 的編程接口輕鬆實現分布式版本的新算法。對於由於GPU內存和訓練時間限制而無法通過獨立仿真處理大型DNN訓練的情況,這種分布式計算範例至關重要。這種分布式計算設計不僅用於FL,而且還可以用於常規的集群內大規模分布式訓練(例如,訓練CNN或轉換器之類的現代神經體系結構)。 FedML-API 還建議將模型,數據集和算法的實現分開。這種做法可以實現代碼重用,並且還可以進行公平的比較,從而避免了由實現差異導致的算法之間的性能差異。FL 應用程式可以開發更多的模型並提交更現實的數據集,而無需了解不同的分布式優化算法的細節。

其他組件是基於FedML-API構建的。

FedML-Mobile 可以在 Android / iOS 智慧型手機上訓練神經網絡。在無線網絡環境中的測試平臺,研究人員可以評估實際的系統性能,例如培訓時間,通信和計算成本。在FedML-mobile的伺服器端,使用基於Python的框架構建雲服務,因此它可以重用FedML-API的核心實現。

實驗展示

為了演示FedML的功能,我們在真實的分布式計算環境中進行了實驗。我們使用標準的FedAvg算法訓練了大型CNN架構(ResNet和MobileNet)。下圖顯示了訓練期間的相應曲線。一個普遍的現象是對非I.I.D.數據性能低於I.I.D.數據。

FedML 提供 benchmark 的實驗結果作為新開發的算法和系統的參考。為了確保實時更新,使用 Weight 和 Bias 維護基準實驗結果,該在線平臺可幫助管理和可視化實驗結果。查看實驗結果的 Web 連結可在GitHub上找到。

總結

FedML 是面向研究的聯邦學習庫和基準。它為研究人員和工程師提供了端到端工具包,以開發和評估自己的 FL 算法,並與現有算法進行合理比較。在這項工作中,描述了系統設計,新的編程接口,應用示例,基準,數據集和一些實驗結果。它的參考實現,基準和數據集旨在促進 baseline 的再現以及對新開發算法的公平比較。我們接受用戶的反饋,並將不斷更新我們的庫以支持更高級的要求。

相關焦點

  • FedML.ai: 美國名校博士聯合眾高校與企業發布聯邦學習開源框架
    重磅乾貨,第一時間送達本文系CVerFederated Learning 聯邦學習是機器學習領域中快速發展的研究領域。而FedML就能非常好的解決上述問題,它一個開放的研究庫和基準,可促進新的聯合學習算法的開發和公平的性能比較。 FedML支持三種計算範例:分布式訓練,行動裝置訓練和獨立仿真,以便用戶在不同的系統環境中進行實驗。FedML還通過靈活且通用的API設計和參考基準實現促進了各種算法研究。針對非I.I.D設置的精選且全面的基準數據集旨在進行公平的比較。
  • 中國聯邦學習「五大流派」
    在過往發表的多篇論文中,微眾AI團隊介紹了聯邦學習思路下針對有安全需求的有監督學習、強化學習、決策樹的具體方法,包括安全的聯邦遷移學習、聯邦強化學習以及 SecureBoost 安全樹模型。2018年10月,微眾銀行AI團隊向IEEE標準協會提交了關於建立聯邦學習標準的提案——「Guide forArchitectural Framework and Application of Federated Machine Learning」(聯邦學習基礎架構與應用標準),並於2018年12月獲批。
  • 破解數據孤島壁壘,三篇論文詳細解讀聯邦學習
    楊強教授對於數據運用的問題有較多研究,比如他經常在公眾場合談及的「遷移學習」(Transfer Learning),其作用就是幫助只有小數據的任務運用來自其他相關任務的大數據,從而獲得更好的表現,應用例子比如貸款風控策略在不同用戶類別間的遷移、推薦系統的策略遷移、輿情分析中的遷移學習等。
  • 想了解風頭正勁的聯邦學習?這篇400多個參考文獻綜述論文滿足你
    聯邦學習這一術語由 McMahan 等人在 2016 年首次提出:「我們將該方法命名為聯邦學習,因為該學習任務是由多個參與設備(即客戶端)的鬆散聯邦在中央伺服器的協調下解決的。」在大量通信帶寬有限的不可靠設備上對不平衡和非獨立同分布(non-IID)數據執行分割,這被認為是聯邦學習面臨的核心挑戰。
  • 聯邦學習、AutoML、認知智能,市北·GMIS 2019帶你一覽AI前沿技術
    自 1956 年達特矛斯會議提出「人工智慧」的名稱和概念以後,AI 技術已經發展了 60 餘年,經歷過「寒冬」也經歷過「復甦」。2011 年之後,得益於大數據、算力、算法的快速發展,以深度神經網絡為代表的人工智慧技術蓬勃發展,在圖像分類、語音識別、NLP 等任務上實現了極大突破,也代表著這波人工智慧浪潮的興起。
  • 「築夢說」走進澳大利亞聯邦銀行活動總結
    | 澳大利亞聯邦銀行 Head of International Premier and Retail Banking活動開始,作為本次活動的場地提供方的領導,澳大利亞聯邦銀行的 Jenny 做了開場講話。今年已經是 Jenny 在聯邦銀行工作的第二十五個年頭。作為銀行的資深總監,Jenny 簡單回顧了她的職業生涯以及她和華人社群的緊密聯繫。
  • 模型攻擊:魯棒性聯邦學習研究的最新進展
    如果沒有安全聚合,聚合參與者模型的中央伺服器可能會試圖過濾掉 「異常」 貢獻。由於攻擊者創建的模型權重被顯著地放大,這樣的模型很容易被檢測和過濾掉。然而,聯邦學習的主要動機是利用參與者的多樣性,即使用分布在各個客戶端中的非獨立同分布(Non-IID)的訓練數據,包括不正常或低質量的本地數據,如智慧型手機照片或簡訊歷史記錄等。
  • 楊強領銜 6 位專家「拆解」聯邦學習,完整議程公布!
    在 2020年8月7日-9日由中國計算機學會(CCF)主辦,香港中文大學(深圳)、雷鋒網聯合承辦的第五屆CCF-GAIR全球人工智慧與機器人峰會上,「聯邦學習與大數據隱私」專場將能對這些問題一一做出解答。那本次專場邀請的嘉賓陣容如何?他們將帶來怎樣的分享?
  • 日語專業使用的「新編日語」介紹&學習經驗談
    今天想介紹一下日語專業學生使用的日語教材「新編日語」。這裡只是按我個人以前的專業學習來談。相信現在國內的日語專業使用的除了「新編日語」,還有其他教材。那我們開始吧!《新編日語》版本介紹「新編日語」系列教材一共4冊,由上海外語教育出版社出版,這套書在過去作為國內高等院校日語專業基礎階段教材。
  • 楊強申省梅等AI大咖共談「跨域學習」,搞定小數據才是王道 | CNCC 2020
    即便如此,「隱私」、「法律」和「專業性」等種種約束,註定了這種方法跟不上AI落地的行進速度。此局又該如何破解?10月24日,由澎思科技組織的CNCC 2020分論壇《AI 落地的跨域學習技術和進展》在京成功舉辦。
  • 從歐洲徵服者到「聯邦肥宅」,當代德國軍隊真是不堪一擊嗎?
    近年來德國軍隊被曝出 「大量士兵缺乏訓練,體脂率嚴重超標」等問題,導致現在的德國聯邦國防軍被部分網友安上了「聯邦肥宅」嘲諷性頭銜。但是,德國軍隊是否真的已經落魄得「不堪一擊」?這個問題並不是三言兩語能說清楚的。
  • 課程報名 | 微眾銀行首席AI官楊強:為什麼需要聯邦學習?
    誰能兼顧數據挖掘和隱私保護?聯邦學習。聯邦學習作為新興技術範式,得到了產學兩界的極大青睞。2020年4月8日,《聯邦學習白皮書V2.0》正式面世,由微眾銀行人工智慧部、電子商務與電子支付國家工程實驗室(中國銀聯)、鵬城實驗室、平安科技、騰訊研究院、中國信通院雲大所、招商金融科技等多家企業和機構聯手發布。
  • 數據不出本地,還能享受大數據訓練模型,聯邦學習提供一種應用廣闊...
    不過不同於國內主要關注企業之間針對「數據孤島」的聯邦學習,Blaise 等人(或許也在某種程度上代表谷歌)關注更多的則是設備上的聯邦學習,這也是聯邦學習概念被提出之初的應用場景。1. 提出聯邦學習的初始動力Blaise五年前加入谷歌后不久,便開始了聯邦學習的研究。
  • 劇場版「機動戰士高達Narrative」介紹
    「拉普拉斯之盒」被打開的一年後。即使公開了提及Newtype的存在和權利的「宇宙世紀憲章」,世界依然並未發生重大改變。後稱「拉普拉斯之亂」的紛爭,在新吉恩殘黨軍「戴袖的」瓦解後看似終結。與殘黨軍的最終決戰中,展示了超越人類認知的力量的純白一角獸與漆黑的獅子,人們懼怕並視之為威脅,遭到了封印。
  • 如何解決聯邦學習中的通信開銷問題?
    通信帶寬是聯邦學習的主要瓶頸,因為大量的設備都將其本地更新發送到中央伺服器中。因此,對於一個通信效率高的聯邦學習算法來說,這種更新必須以壓縮和不頻繁的方式發送。在實際場景中,特別是在所需的全局模型規模較大的情況下,網絡帶寬限制和工作節點數量可能會加劇聯邦學習的通信瓶頸,從而造成客戶端設備掉隊 / 退出的問題。
  • 不懂「聯邦學習」的金融人,做什麼人工智慧
    在這兩座無法逾越的大山下,聯邦學習是目前產學兩界公認的最佳解決方法:既能解決數據孤島問題,又能保護數據隱私。近兩年,在楊強教授等世界級專家的聯合推動下,國內外多數科技巨頭,均已開始搭建聯邦學習的研究與應用團隊。
  • 富數科技安全計算首席專家卞陽:隱私計算江湖與聯邦學習的「上帝...
    信通院也在制定聯邦學習的標準,當中也有不少關於安全的內容,於是變成了你中有我、我中有你的狀態。「聯邦學習裡的安全怎麼做?」這是必然要討論的問題。之前很多專家已分享聯邦學習的算法原理,安全方面相對講得不多,我們這次會側重隱私計算方面來談。
  • 基礎日語——助詞「が」用法介紹及與「は」的簡單區分
    與其他助詞相比,助詞「が」用法不多,最常見的就是表示主格和表示對象的用法。對於日語初學者來說,「が」表示主格的用法很容易就和助詞「は」發生混用,今天小編在介紹「が」用法的基礎上,對二者的用法的作一下簡單的區分,希望能幫助初學日語的小夥伴們消除一些疑惑。
  • 學好英語,從練好音標入手(「f」和「v」)
    學好英語,從練好音標入手(「s」和「z」)有趣的affair/ fe(r) / n. 事務careful/ kefl / a. 仔細的> 句子>>Do you find the football fans?
  • 字節跳動隱私保護論文入選 NeurIPS 2020 聯邦學習 Workshop
    在本屆會議上,字節跳動聯邦學習隱私保護最新研究論文被 NeurIPS 2020 的聯邦學習 Workshop 接收,並進行了線上分享。NeurIPS 作為機器學習和計算神經科學領域的國際頂級會議,由 NeurIPS 基金會主辦,每年固定在 12 月舉行。NeurIPS 旨在促進有關神經信息處理系統的研究交流,在同行會議上介紹和討論新穎的研究。