聯邦學習介紹
宣告:本文首發於華為NAIE《網路人工智慧園地》微信公眾號,如有轉載,請註明出處。微信公眾號二維碼為:
聯邦學習(Federated Learning)是一種使用分散式最佳化方法來保護多方合作時資料隱私的技術,核心點在於:
分散式
和
資料隱私
。
不同於傳統的分散式最佳化(Distributed Optimization)技術,聯邦學習考慮到了資料的隱私、資料的非獨立同分布性質、資料傳輸的瓶頸等問題,而分散式最佳化僅僅是為了協同多臺機器共同完成大規模資料最佳化訓練。
不同於傳統的密碼學加密技術,聯邦學習訓練的模型包含大量的複雜操作,模型本身包含的資訊和資料有多少程度的關係,傳輸模型是否等價於傳輸資料等問題,需要進一步探討。
總而言之,聯邦學習不侷限於傳統的分散式最佳化問題,也不僅僅是透過傳統密碼學的同態加密等技術就輕易解決的任務,也並不是分散式最佳化和密碼學的結合。聯邦學習應用廣泛,涉及技術領域眾多,引起了世界範圍內學者的廣泛關注。
舉例而言,2019年Google在Arxiv上掛載了一篇工作《Advances and Open Problems in Federated Learning》,翻譯過來即是《聯邦學習進展和開放問題》,這篇工作是一個專門關於聯邦學習的會議的總結,邀請了來自全球20+個機構的50+名聯邦學習領域知名學者對聯邦學習領域的發展和問題進行了總結,包含了400+多篇工作,文章連結和首頁截圖如下:
Advances and Open Problems in Federated Learning
其中第一作者Peter Kairouz來自於Google,是Google關於聯邦學習研討會的主持者之一,也是這篇文章主要的編輯,他主要從事聯邦學習和差分隱私(Differential Privacy)相關研究,看其發表的工作更是側重於隱私保護,提出了Context-Aware Local Differential Privacy等概念;二作H。 Brendan McMahan則是聯邦學習演算法開山之作FedAvg的作者,FedAvg來自於AISTATS 2017的文章《Communication-Efficient Learning of Deep Networks from Decentralized Data》。除此之外,Mehryar Mohri和Qiang Yang等知名學者也參與其中,具體可以參見本文關於聯邦學習知名研究機構 & 研究學者介紹。
本文根據將根據以下幾個方面對聯邦學習展開介紹:
聯邦學習定義、難點、應用、分類
聯邦學習相關研究、區別聯絡
聯邦學習經典演算法FedAvg
聯邦學習核心難點之一:NonIID資料
聯邦學習開源平臺、研究機構 & 學者
在此說明,筆者閱讀了約40+篇聯邦學習論文、通讀了《Advances and Open Problems in Federated Learning》,關於聯邦學習從事了將近1年的科研研究,只是對聯邦學習稍有心得,記錄在此文。文章定有很多不足之處,希望讀者多多指正。本文約50%+內容參考自Advances and Open Problems in Federated Learning》,後文簡稱“聯邦學習大綜述”。
聯邦學習定義、難點、應用、分類
首先,關於聯邦學習的定義就分為很多種,也有很多不同場景下的聯邦學習。首先,引用一下大綜述摘要裡面對聯邦學習的介紹:
Federated learning (FL) is a machine learning setting where many clients (e。g。 mobile devices or whole organizations) collaboratively train a model under the orchestration of a central server (e。g。 service provider), while keeping the training data decentralized。
翻譯過來為:
聯邦學習是一種機器學習正規化,可以在一箇中心伺服器的協調下讓多個客戶端互相合作,即便在資料分散在客戶端的情況下也可以得到一個完整的機器學習模型。
這裡的客戶端有不同層級的指代,在不同的任務中可以指代不同的事物。比如,在手機輸入法預測下一個詞語的任務中,一般需要使用自然語言處理中的N-Gram模型(Natural Language Models)來預測下一個詞語,這個任務中客戶端就是很多部使用者的手機;在醫療領域,使用影象識別分割等機器學習技術對病例進行診斷需要大量的資料支援,而這些資料正往往是涉及大量使用者隱私的,因此在這種情況下需要一種安全的方法來協同多個醫療機構的資料進行訓練,在這個情況下,客戶端就是一家家的醫療機構。
如何做到隱私保護呢?聯邦學習給出了答案。首先解釋一下為何叫“聯邦”學習,聯邦這個詞原本指的是多個
成員單位
(州、邦、國等)組成的統一國家,
總體上遵循共同
的法律約束,但又保留了每個成員
相對獨立
的立法、司法和行政機關,設有
中央政府
,並約定各成員
忠誠
。在聯邦學習裡面,各個
客戶端
透過
中心伺服器
進行協調,在各個客戶端和中心伺服器彼此
信任
的情況下(
無惡意猜測和攻擊
)可以達到很理想的隱私保護要求,中心伺服器只負責
協調、聚合
等功能,模型還是根據客戶端本地的資料進行訓練,允許
一定程度上
的個性化訓練方式。
總結來說,“聯邦”一詞在實際政治和機器學習領域所涉及的主體、事物、功能,對應如下:
中央政府 <——> 中心伺服器
成員單位 <——> 客戶端
總體上遵循共同的法律約束 <——> 中心伺服器協調、聚合
相對獨立的立法司法行政 <——> 一定程度上的個性化訓練
成員單位忠誠 <——> 客戶端和中心伺服器彼此無惡意猜測、攻擊
故而,McMahan採用了聯邦學習這個詞。目前為止,已經引出了聯邦學習涉及的兩大核心主體:中心伺服器、客戶端。並且其功能大致為:中心伺服器負責宏觀上協調各個客戶端,客戶端負責在本地訓練機器學習模型。那麼中心伺服器如何協調呢?大概的流程又如何呢?
先給出一張聯邦學習常見框架圖,具體演算法細節詳見後面的介紹FedAvg。圖中描繪出了三個客戶端和一箇中心伺服器,客戶端和伺服器之間有
通訊
。
一般而言,聯邦學習有以下四個步驟(以基於梯度訓練深度神經網路為例):
所有客戶端分別獨立地在本地資料上進行訓練;
客戶端對模型引數或者模型引數的梯度進行加密,上傳到伺服器;
伺服器對蒐集到的客戶端的模型引數或者梯度進行聚合,並且是安全聚合(Secure Aggregation);
伺服器將模型下發到各個客戶端;
這個過程用Qiang Yang老師在《Federated Machine Learning: Concept and Applications》中的一張示意圖展示更為清晰:
此中,涉及到了許多問題,比如:
Non-IID問題
:由於資料來自各個客戶端,資料分佈不再滿足傳統機器學習假設的資料獨立同分布(IID)性質,反而是非獨立同分布(Non-IID)的,這種情況下如何保證各個客戶端訓練的模型依舊可以被有效地全域性聚合(Global Aggregation)?此外,即便能聚合出好的模型,如何將其部署下發到資料分佈有所差異的客戶端,即模型個性化問題(Personalization)?
資料傳輸問題
:聯邦學習嚴重依賴於資料傳輸,如何降低資料傳輸的開銷以及如何確保通訊不穩定的情況下系統依舊可以正常工作?
隱私保護措施
:什麼是安全聚合,怎麼樣才能做到安全多方計算(Secure Multi-Party Computing, Secure MPC)? 現有的解決方法有差分隱私(Differential Privacy)、同態加密(Homomorphic Encryption)等等。
至於如何去解決這些問題,本文不去詳細介紹,後面會著重介紹一下Non-IID問題,其餘兩個留待後續文章解讀。
下面迴歸到聯邦學習的應用。剛剛大概指出了聯邦學習在手機輸入法預測和醫療診斷中的應用,這裡細緻地梳理一下:
(1)輸入法:Google的Gboard、Apple的QuickType
Gboard是Google 推出一款針對 iOS 裝置和Android裝置的虛擬鍵盤,QuickType是Apple在iOS 8中開始採用的全新預測文字功能,都屬於智慧輸入法的範疇,可以結合使用者的喜好和常識性短語進行自動預判使用者下一步的輸入,方便使用者聊天打字等。
一方面,手機、便攜電腦隨處可見,有大量使用者的地方最容易誕生人工智慧,因此智慧輸入的作用和潛在價值無須多提;另一方面,使用者輸入的東西既包含使用者自身隱私相關的內容,比如年齡、住址、家庭狀況等,又同時包含普遍用語、網路流行用語等,因此既要保護資料隱私、又要綜合考慮大部分使用者想看到的下一步輸入。因此,需要聯邦學習。
(2)醫療:doc。ai, bringing healthcare into the digital age
doc。ai致力於將人工智慧應用到智慧健康領域,加速醫療數字化程序,運用聯邦學習解鎖了醫療資料具有很大價值和醫療資料涉及隱私的矛盾,原文為:Unlock the value of health data with privacy-preserving solutions。具體參考doc。ai主頁:
doc。ai - Get the full picture of your health
(3)金融:微眾銀行和阿里支付寶
微眾銀行基於資料安全聯合建模,可以更好地支撐信貸行業的價值創造,並提升信貸行業的風險控制能力,發展了透過聯邦學習的智慧風控等業務。FDN(Federated Data Network)致力於建立企業級保護資料安全的大資料合作網路。
Home
此外,阿里支付寶也將聯邦學習應用到了各種金融工具的資料分析和機器學習建模過程當中。
微眾銀行AI專案組發起組建了聯邦學習生態圈,稱為FedAI,並開源了聯邦學習系統FATE,旨在開發和推廣資料安全和使用者隱私保護下的AI技術及其應用。詳情可以參考連結:
https://www。
fedai。org/
FedAI聯邦學習 - 知乎
這裡值得一提的是FedAI聯邦學習的宗旨:
安全互聯打破資料孤島,合作聯盟建立資料生態
。
接下來介紹一下聯邦學習的分類,即不同的場景。在大綜述裡面,聯邦學習被分為了Cross-silo和Cross-device兩種,silo的意思是“倉庫;地窖;豎井”,這裡可以理解為倉庫或者企業,device就是裝置。直觀上看,Cross-silo FL面對的客戶端是企業級別、機構單位級別的,而Cross-device FL針對的則是行動式電子裝置、穿戴式電子裝置等,統稱為物聯裝置(Internet of Things, IoT devices)。下面將兩者的區別列成表格如下:
總的來說,Cross-silo FL由於參與的客戶端數目少且具有穩定的計算傳輸裝置,所以可以假設不存在通訊不穩定、計算資源不足等物理上的挑戰,而只需要關注客戶端之間資料分佈差異的難點;而Cross-device FL面向的主要是物聯網裝置,經常使用WIFI訊號進行通訊,傳輸受到限制,並且IoT裝置計算資源有限,受到的限制更多,挑戰更大,任務更困難。
這裡詳細說一下上表中最後一行“資料劃分依據”,這裡引出了另外一種聯邦學習的劃分方法,即橫向聯邦學習(Horizontal FL)和縱向聯邦學習(Vertical FL)。先介紹兩個場景,使用者畫像建模和輸入法預測。
在使用者畫像建模任務中,目標是以使用者為單位,將其基本資訊、興趣愛好、購物喜好、飲食喜好等等建模並關聯起來,這就需要聯合多個APP上的使用者資料進行建模,比如淘寶、美團、網易雲音樂等等,至於這些單位是否真的合作,這裡不妄加判斷。在這個場景中,使用者的資料分散在各個客戶端(各家企業資料),相當於是將使用者的資料進行了縱向切分,是典型的縱向聯邦學習應用場景。
與之不同的是,輸入法預測目的在於預測下一個詞是什麼,資料分散在各個客戶的手機上,主要是按照資料樣本進行劃分的,是典型的橫向聯邦學習應用。
這裡縱向、橫向的理解,可以將資料想像成一個矩陣
,其中
代表樣本個數,
代表樣本維度。在使用者畫像建模中,一個使用者即是一個樣本,使用者的特徵被分為
維度分散在各個企業的資料倉庫中,是縱向切分;在輸入法預測任務中,一條輸入記錄是一個樣本,使用者
有
條輸入記錄,即資料被橫向分為了
份分散到各個客戶端,是橫向切分。縱向和橫向切分的示意圖如下:
總而言之,客戶端之間如何是樣本(Samples)不同,特徵(Features)相同,則是Vertical FL;反之,如果是樣本重合很多,但是特徵不同,則可歸為Horizontal FL。
聯邦學習相關研究、區別和聯絡
和聯邦學習相關的研究方向主要包括:
分散式最佳化
(Distributed Optimization)和
多工學習
(Multi-Task Learning)。
分散式最佳化致力於解決
海量資料或者計算資源匱乏情況
下的模型訓練問題。隨著資料海量增長,工業界急需大資料處理技術,特別是如何在資料分佈在不同裝置上時的機器學習訓練。
為了解決
單一機器難以訓練大量資料
或者為了
使用平行計算利用多臺機器加速模型訓練
等目的,DistBelief等分散式訓練框架被提出(NeurIPS 2012):
上面展示的框架中主要包括幾個概念:1)Data Shards:資料碎片,也可以翻譯為資料塊;2)Model Replicas:模型副本;3)Parameter Server:引數伺服器。一般來說,模型副本儲存了模型的
部分模組
,使用資料塊更新這部分引數之後將引數梯度上傳至引數伺服器,引數伺服器更新模型之後再將模型下發下去。引數伺服器儲存完整的模型,模型副本只包含部分模型引數,不同模型副本之間更新過程是非同步的。
可以看出,傳統的分散式訓練基於引數伺服器架構(Parameter Server),引數伺服器扮演了重要的角色。後來李沐、Smola等大神又針對引數伺服器進行改進,於2014年提出了第三代引數伺服器:
李沐、陳天奇等將基於第三代引數伺服器的分散式訓練架構融入了著名的深度學習開源框架MxNet,因此享譽一時,其貢獻不言而喻。
傳統的分散式模型訓練還包括DistributedSGD等演算法,同時還對Batch和Mini-Batch,同步和非同步的情況進行了研究,這裡不再仔細介紹,留待以後的文章補充。
另外一個和聯邦學習密切相關的領域是多工學習(Multi-Task Learning)。
如果說聯邦學習延續了分散式最佳化中的架構,那麼聯邦學習處理資料異構的方法則大多數來源於多工學習
。多工學習研究如何協調多個任務共同訓練,得到適合於每個任務的模型,具體可包括同構任務、異構任務等。如果將聯邦學習中每個客戶端看成一個單獨的任務,那麼聯合所有客戶端一起訓練則是典型的多工學習。
除了這些,聯邦學習還和點對點(Peer-to-peer)訓練有一定關係。聯邦學習和分散式最佳化中有一箇中央控制,即引數伺服器。而Peer-to-peer強調的是沒有中心控制的情況下,各個客戶端如何自行尋找合適的節點一起訓練,也稱為Fully-decentralized Training。
用下面的表格總結一下就是:
聯邦學習經典演算法FedAvg
下面介紹聯邦學習經典演算法FedAvg,來自於McMahan的《Communication-Efficient Learning of Deep Networks from Decentralized Data》,發表在AISTATS 2017。
這篇文章第一次提出了聯邦學習這個概念,提出了FedAvg演算法。首先展示一下FedAvg演算法虛擬碼:
首先是場景設定:有
個客戶端,每個客戶端上有一批資料,如何在資料不外傳的情況下得到一個所有資料訓練出來的模型?
傳統做法:設立一個引數伺服器,各個客戶端上取樣一個Batch的資料,計算一步梯度,將梯度傳送到引數伺服器,引數伺服器收到來自
個客戶端的梯度之後平均,更新全域性模型,然後將全域性模型下發到各個客戶端。這個方法被稱為Distributed SGD,在這個文章裡面被稱為FedSGD。其公式主要是:
,
。其中
是第
時刻全域性伺服器下發到各個客戶端的引數,
是第
個客戶端的損失函式,
是一步梯度,
是全域性伺服器收到各個客戶端的梯度之後聚合,在
上更新的結果。
FedAvg做法:
FedAvg首先將梯度聚合變為模型聚合,即每個客戶端上進行一步梯度下降:
,
,然後客戶端將更新後的模型引數
上傳到伺服器,伺服器對引數進行平均:
。容易證明,到目前為止FedAvg和FedSGD等價,因為客戶端只做了一步梯度下降,區別只在於一個傳輸梯度,一個傳輸更新後的模型,這不是FedAvg和傳統方法的核心區別。
關鍵在於FedAvg提出了
在本地客戶端更新很多步梯度
,比如在本地資料集上訓練
輪(當然也可以是若干個Batch),然後將更新之後的模型(也可以是模型更新量)上傳到伺服器,
伺服器仍然採取簡單的模型平均聚合來自各個客戶端的模型,結果作者發現最終模型效能依舊很好
!!!!!!這是和傳統方法的主要區別,FedAvg為減小傳輸開銷(因為之前方法每一步梯度都要上傳)提供了一種簡單有效的解決方案。
對比演算法虛擬碼,FedAvg包含
本地模型更新
和
全域性模型聚合
兩個重要的過程:
本地模型更新(Local Model Update):客戶端從伺服器下載模型,在本地資料上進行模型更新,比如使用梯度下降更新
輪;
全域性模型聚合(Global Model Aggregation):中心伺服器接收來自客戶端的各個模型(模型更新),使用簡單的加權平均更新模型。
此外,文章指出,聯邦學習和傳統的分散式最佳化主要區別於下面幾點:
Non-IID
:不同客戶端資料分佈非獨立同分布,比如資料分佈差異大等等;
Unbalanced
:不同客戶端資料量差異很大;
Massively distributed
:客戶端數量極其多(比如IPhone手機使用者);
Limited communication
:通訊情況不同且通訊質量難以保證。
FedAvg為減小傳輸開銷提供了可行的解決方案,並且實驗發現,即便在資料Non-IID的情況下,效能依舊可以做的很好。
FedAvg包括幾個比較重要的超引數設定:全域性迭代次數、本地更新輪數、Batch大小和學習率。Batch大小指的是區域性客戶端更新每步取樣的資料數目,本地更新輪數決定了本地承載了多少計算量,全域性迭代次數指的是全域性聚合和本地更新共重複了多少次。
實驗場景構造:1)Cifar10:影象識別任務中,將cifar10的資料按照數量隨機劃分到
個客戶端,是IID的設定;將資料按照類別劃分到不同的客戶端,比如每個客戶端只有某幾個類別的資料,最極致的Non-IID設定是每個客戶端只有來自一個類別的樣本資料;2)Shakespeare:將莎士比亞的詩集按照篇章進行劃分,每個篇章上的所有N-gram組成了這個客戶端上的訓練資料,具體任務就是N-gram預測下一個字元的任務。最終測試是在單獨劃分出來的一個包含所有類別的測試集上進行測試,測試目標是最後一輪聚合的全域性模型。
實驗結果展示:
後續有更多研究針對Non-IID資料進行處理,一般來說:
越Non-IID的資料,客戶端之間分佈差異大,本地模型更新輪數
應該設定的小一些;對於IID的資料,則相反,
可以設定的大一些以減小傳輸開銷
。
聯邦學習核心難點之一:Non-IID資料
下面就具體介紹一下Non-IID的含義和種類,拿分類任務為例,資料包括影象和類別標籤,分別用
和
表示。針對客戶端之間的分佈差異,具體可以分為下面五種情況:
Feature Distribution Skew (Covariate Shift)
:特徵分佈偏移,具體指的是
不一致,但是
一致。比如:不同人的字跡差異很大,但小明寫的“聯邦學習”和小紅寫的“聯邦學習”都應該被識別為“聯邦學習”。
Label Distribution Skew (Prior Probability Shift)
:標籤分佈偏移,具體指的是
不一致,但是
一致。比如:不同人認識的字的集合不一樣,雖然字都是列印的楷體,但是小明認識“聯邦學習”,小紅只認識“學習”。
Same Label, Different Features (Concept Shift 1)
:一樣的標籤,但卻有了不同的表現,具體指的是
不一致,但是
一致。這個需要和第一種FDS區分開來,第一種強調特徵變化,但是即便特徵不同,依舊可以被識別為相同的類別。而這裡指的是,類別集合一致,但是認知的表現形式卻不一致。比如:人皆有愛美之心,假設現在有一個影象鑑別顏值的任務,標籤都是“美”、“一般”兩類,客戶端A來自唐朝影象,客戶端B來自楚國影象,客戶端A會任務“美”指的是“豐腴”的影象,但是客戶端B會認為“美”指的是“細腰”的影象。
Same Feature, Different Labels (Concept Shift 2)
:一樣的影象,但卻有了不同的標籤,具體指的是
不一致,但是
一致。依舊拿上面的例子為例:客戶端A會把“豐腴”的影象分類為“美”,但是客戶端B會把“豐腴”的影象分類為“一般”,雖然兩個客戶端上面“豐腴”的影象分佈很接近。
Quantity Skew
:客戶端上樣本數目差異巨大。
以上五種分佈差異並不是嚴格割裂開來的,在實際場景中往往包含多種分佈不一致情形。另外,不同的分佈不一致情形具有不同的處理方法,因此可以在實際任務中判斷場景資料和哪一種情況比較接近,然後再進行尋求相應的方法處理。
將上述各種情形總結如下:
至於聯邦學習裡面如何去解決Non-IID帶來的一些困擾,具體可以包括以下幾種辦法:
共享資料
:由於客戶端資料分佈不一致,在本地訓練的模型往往分歧比較大,因此可以在引數伺服器上保留一些公共資料,這些公共資料包含了客戶端上所有分佈下的資料,可以用來矯正聚合的模型;由於資料涉及隱私,往往可以透過GAN訓練一些偽造資料等等;
正則化項
:Non-IID帶來的問題主要是在於各個客戶端上的梯度差異過大,因此聚合時可能會不收斂或者難收斂,因此需要加入正則化項限制客戶端上模型訓練和公有模型的差異;
基於其它學習正規化
:上文也提到了聯邦學習和多工學習的相關性,因此可以利用多工學習技術來解決Non-IID問題,此外還可以藉助元學習(Meta Learning)、增量學習(Incremental Learning)等正規化。
具體關於解決Non-IID的演算法留待以後的文章詳細介紹。
聯邦學習開源平臺、研究機構 & 學者
下面介紹一下聯邦學習領域目前已有的開源工具包、知名研究機構和學者,以供大家快速入門使用和進一步參考學習。
開源工具包主要包括:
谷歌TensorFlow Federated:
https://
tensorflow。google。cn/fe
derated?hl=zh-cn
微眾銀行FATE:
https://
fate。fedai。org/
&
https://
github。com/FederatedAI/
FATE
百度PaddleFL:
https://
github。com/PaddlePaddle
/PaddleFL
CMU LEAF:
https://
leaf。cmu。edu/
聯邦學習領域知名研究企業包括谷歌、蘋果、微眾銀行、阿里支付寶、百度等等;其餘知名研究機構包括卡耐基梅隆大學、康奈爾大學、洛桑聯邦理工學院(EPFL)、埃默裡大學、佐治亞理工學院、香港科技大學等。
聯邦學習領域知名學者:
H。 Brendan McMahan:CMU博士、谷歌科學家、代表作FedAvg
Martin Jaggi:EPFL副教授
Martín Abadi:UCSC教授,代表作Deep Learning with Differential Privacy
Peter Kairouz:伊利諾伊大學厄巴納-香檳分校UIUC博士、Google工程師,大綜述一作
Qiang Yang:香港科技大學教授,研究方向遷移學習和聯邦學習
其餘知名學者不再詳細介紹,或者筆者見識淺薄,有許多大牛沒有加入進來,歡迎補充。
總結
文章對聯邦學習的基本概況進行了介紹,包括:聯邦學習是什麼?聯邦學習做什麼?聯邦學習的基本架構?聯邦學習和其餘相關技術的關係?聯邦學習的具體應用?聯邦學習有哪些難點?聯邦學習中的Non-IID問題是什麼?聯邦學習開源的工具包有哪些?聯邦學習有哪些知名研究機構和學者?。。。
後續文章會針對具體聯邦學習演算法進行介紹,文章不足也歡迎讀者批評指正。
參考文獻
Peter Kairouz, H。 Brendan McMahan, et al: Advances and Open Problems in Federated Learning。 CoRR abs/1912。04977 (2019)
Brendan McMahan, Eider Moore, Daniel Ramage, Seth Hampson, Blaise Agüera y Arcas: Communication-Efficient Learning of Deep Networks from Decentralized Data。 AISTATS 2017: 1273-1282
Qiang Yang, Yang Liu, Tianjian Chen, Yongxin Tong: Federated Machine Learning: Concept and Applications。 ACM Trans。 Intell。 Syst。 Technol。 10(2): 12:1-12:19 (2019)
Jeffrey Dean, Greg Corrado, Rajat Monga, Kai Chen, Matthieu Devin, Quoc V。 Le, Mark Z。 Mao, Marc‘Aurelio Ranzato, Andrew W。 Senior, Paul A。 Tucker, Ke Yang, Andrew Y。 Ng: Large Scale Distributed Deep Networks。 NIPS 2012: 1232-1240
Mu Li, David G。 Andersen, Jun Woo Park, Alexander J。 Smola, Amr Ahmed, Vanja Josifovski, James Long, Eugene J。 Shekita, Bor-Yiing Su: Scaling Distributed Machine Learning with the Parameter Server。 OSDI 2014: 583-598