轉(zhuǎn)載請注明來源
該文章翻譯自:
Federated Learning: Collaborative Machine Learning without Centralized Training Data
概要
標(biāo)準(zhǔn)的機(jī)器學(xué)習(xí)一般是在單機(jī)或者集群上集中處理數(shù)據(jù)膏斤、訓(xùn)練模型。谷歌為了給機(jī)器學(xué)習(xí)提供更好的云服務(wù)邪驮,已經(jīng)建立了世界上最安全和魯棒性最好的云基礎(chǔ)平臺(tái)設(shè)置莫辨。如今,在移動(dòng)設(shè)備上的基于用戶交互的模型訓(xùn)練,我們推出了額外的方法:聯(lián)合學(xué)習(xí)衔掸。
聯(lián)合學(xué)習(xí)使得在移動(dòng)設(shè)備上的模型共享成為可能烫幕,在移動(dòng)端存儲(chǔ)所有的訓(xùn)練數(shù)據(jù)俺抽,將機(jī)器學(xué)習(xí)的模型訓(xùn)練和云端存儲(chǔ)解耦敞映。這使得移動(dòng)端進(jìn)行模型訓(xùn)練和進(jìn)化成為可能,解決了以前模型只能云端下發(fā)訓(xùn)練好的模型磷斧,而無法在本地訓(xùn)練的問題振愿。類似的例子有Mobile Vision API和On-Device Smart Reply。
聯(lián)合學(xué)習(xí)的工作原理如下:手機(jī)等設(shè)備下載云端最新的共享模型弛饭,根據(jù)手機(jī)上用戶的歷史數(shù)據(jù)來改進(jìn)和訓(xùn)練這個(gè)模型冕末,然后將用戶個(gè)性化的模型抽取為一個(gè)小的更新文件。僅將模型的差異部分上傳到云端侣颂,同時(shí)使用加密算法保證其安全性档桃,并在云端和其它用戶上傳的模型差異做平均化的更新,以改善共享模型憔晒。這樣做的好處是藻肄,所有的訓(xùn)練數(shù)據(jù)都在用戶的手機(jī)上,并不發(fā)送隱私信息到云端拒担,僅僅發(fā)送的是模型的變更部分嘹屯。
關(guān)鍵詞
Federated Learning,Deep Learning从撼,Mobile州弟,Android,Gboard低零,Decentralized
聯(lián)合學(xué)習(xí)婆翔,深度學(xué)習(xí),移動(dòng)端掏婶,安卓啃奴,谷歌輸入法,去中心化
技術(shù)架構(gòu)
基于每個(gè)用戶的手機(jī):
- A.個(gè)性化的模型气堕,聚合大量用戶的模型改進(jìn)
- B.融合為共享模型
- C.不斷重復(fù)纺腊,完善共享模型
聯(lián)合學(xué)習(xí)能產(chǎn)生更聰明的模型,更低的延時(shí)和更少的功耗茎芭,同時(shí)確保用戶的隱私揖膜。還有一個(gè)額外的好處是:除了能不斷改進(jìn)云上的共享模型之外,還能夠立刻使用手機(jī)端的個(gè)性化模型梅桩,這個(gè)模型完全是根據(jù)用戶的歷史行為數(shù)據(jù)訓(xùn)練壹粟,針對性更強(qiáng),可以說是一個(gè)越來越懂你的模型。
我們目前正在Android系統(tǒng)自帶的Gboard(Google Keyboard)上進(jìn)行聯(lián)合學(xué)習(xí)的效果測試趁仙。當(dāng)Gboard顯示一個(gè)搜索結(jié)果時(shí)洪添,會(huì)記錄搜索上下文以及你是否點(diǎn)擊了該搜索結(jié)果∪阜眩基于用戶的歷史搜索數(shù)據(jù)干奢,聯(lián)合學(xué)習(xí)可以為用戶的下一次的搜索結(jié)果提供迭代和持續(xù)改進(jìn)。
為了使聯(lián)合學(xué)習(xí)成為可能盏袄,我們必須解決很多算法和技術(shù)上的難點(diǎn)忿峻。在經(jīng)典的機(jī)器學(xué)習(xí)問題中,一般是在云端分布均勻的大型數(shù)據(jù)集上運(yùn)行諸如隨機(jī)梯度下降(SGD)的優(yōu)化算法進(jìn)行訓(xùn)練辕羽。這種高迭代的算法對訓(xùn)練數(shù)據(jù)集的要求是:低延遲逛尚、高吞吐。但是在“聯(lián)合學(xué)習(xí)”環(huán)境中刁愿,數(shù)據(jù)以嚴(yán)重不均衡的方式分布在數(shù)百萬臺(tái)移動(dòng)設(shè)備上绰寞。同時(shí),這些設(shè)備還具有高延遲铣口、低吞吐的特性滤钱,并且只能間歇性地進(jìn)行訓(xùn)練。
受限于當(dāng)前移動(dòng)設(shè)備的網(wǎng)絡(luò)帶寬枷踏,谷歌研發(fā)出“Federated Averaging”算法菩暗,和原生的SGD版本相比可以減少10-100倍的通信消耗。核心思想就是使用現(xiàn)代移動(dòng)設(shè)備中的強(qiáng)大處理器芯片來計(jì)算高質(zhì)量的模型更新旭蠕,而非簡單的梯度迭代停团。取而代之的是更好的模型更新以及更少的迭代次數(shù),同時(shí)還可以減少和服務(wù)端的通信頻率掏熬。由于網(wǎng)絡(luò)的上傳速度通常比下載速度慢很多佑稠,谷歌還開發(fā)出一種新穎的算法:“random rotations and quantization”,將上傳更新的通信速度提升為原來的100倍旗芬。這些算法都聚焦在深度學(xué)習(xí)的訓(xùn)練上舌胶,谷歌還不滿足于此,還針對點(diǎn)擊率預(yù)測的問題設(shè)計(jì)出了“high-dimensional sparse convex"模型疮丛。
將這項(xiàng)技術(shù)部署到數(shù)百萬個(gè)不同的手機(jī)中幔嫂,是一個(gè)非常復(fù)雜的過程。在移動(dòng)設(shè)備上的訓(xùn)練也需要一個(gè)精簡版的TensorFlow誊薄。同時(shí)為了保證手機(jī)的流暢性履恩,對模型的訓(xùn)練僅僅發(fā)生在手機(jī)空閑時(shí),比如充電并連接Wifi時(shí)呢蔫,該場景下幾乎對手機(jī)的性能沒有影響切心。
聯(lián)合學(xué)習(xí)需要以安全、高效绽昏、可擴(kuò)展协屡、容錯(cuò)的方式進(jìn)行模型的更新和聚合。
聯(lián)合學(xué)習(xí)并不需要將用戶的隱私數(shù)據(jù)上傳到云端全谤,但是谷歌更進(jìn)一步肤晓,開發(fā)了一個(gè)名為“Secure Aggregation”的協(xié)議,該協(xié)議只有當(dāng)100或1000個(gè)用戶都發(fā)起了模型更新時(shí)啼县,才會(huì)嘗試解密這部分更新材原,在此之前無需單獨(dú)的檢查某個(gè)手機(jī)的更新沸久,更進(jìn)一步保護(hù)了用戶的隱私季眷。服務(wù)器只用關(guān)心多個(gè)用戶的平均更新,這樣也更安全卷胯。這個(gè)協(xié)議還可以用在其它的問題子刮,目前我們正在試圖把這個(gè)協(xié)議用在線上的項(xiàng)目中,并預(yù)期在不就得將來能部署到聯(lián)合學(xué)習(xí)的應(yīng)用程序中窑睁。
當(dāng)然挺峡,聯(lián)合學(xué)習(xí)并不能解決所有的機(jī)器學(xué)習(xí)問題(例如,通過大量的人工表述數(shù)據(jù)識(shí)別不同的狗)担钮,以及很多模型所需要的數(shù)據(jù)已經(jīng)存儲(chǔ)在云端(例如橱赠,Gmail的垃圾郵件過濾器)。Google會(huì)持續(xù)推進(jìn)基于云服務(wù)的深度學(xué)習(xí)技術(shù)箫津,同時(shí)我們也會(huì)繼續(xù)擴(kuò)展聯(lián)合學(xué)習(xí)領(lǐng)域的研究狭姨,以擴(kuò)大我們解決問題的范圍。比如Gboard希望學(xué)習(xí)到用戶真實(shí)的輸入意圖苏遥,基于用戶的輸入習(xí)慣提升本地語言模型的能力饼拍。同時(shí),Google也希望通過聯(lián)合學(xué)習(xí)獲得用戶在手機(jī)上經(jīng)程锾浚看哪些照片师抄、分享、刪除哪些照片教硫。
聯(lián)合學(xué)習(xí)要求機(jī)器學(xué)習(xí)從業(yè)者采用新的工具和新的思維方式:從模型設(shè)計(jì)叨吮、訓(xùn)練再到評估,都可以不直接訪問原始數(shù)據(jù)瞬矩,而是考慮一定的限制性開銷茶鉴。我們相信聯(lián)合學(xué)習(xí)能給用戶帶來價(jià)值,也希望在機(jī)器學(xué)習(xí)的社區(qū)中看到大家對這類話題更廣泛的交流丧鸯。
致謝
本文包含了Google很多同事的研究成果蛤铜,包括Blaise Agüera y Arcas, Galen Andrew, Dave Bacon, Keith Bonawitz, Chris Brumme, Arlie Davis, Jac de Haan, Hubert Eichner, Wolfgang Grieskamp, Wei Huang, Vladimir Ivanov, Chloé Kiddon, Jakub Kone?ny, Nicholas Kong, Ben Kreuter, Alison Lentz, Stefano Mazzocchi, Sarvar Patel, Martin Pelikan, Aaron Segal, Karn Seth, Ananda Theertha Suresh, Iulia Turc, Felix Yu, Antonio Marcedone和Gboard團(tuán)隊(duì)的合作伙伴。
個(gè)人總結(jié)
通過這篇文章可以看出,Google在移動(dòng)設(shè)備AI化做了相當(dāng)大的努力围肥,也在自家的產(chǎn)品:Gboard剿干、Photo、Gmail穆刻、Youtube上做了各種工程嘗試置尔,包括2017年IO大會(huì)推出TensorFlow Lite版,野心也窺見一斑氢伟。作為移動(dòng)開發(fā)者榜轿,必須跟上Google的步伐,盡早了解深度學(xué)習(xí)相關(guān)的基礎(chǔ)知識(shí)朵锣,快速將自己的產(chǎn)品AI化谬盐。