谷歌基于TensorFlow構(gòu)建了全球首個(gè)產(chǎn)品級(jí)可擴(kuò)展的大規(guī)模移動(dòng)端聯(lián)合學(xué)習(xí)系統(tǒng),目前已在數(shù)千萬(wàn)臺(tái)手機(jī)上運(yùn)行。這些手機(jī)能協(xié)同學(xué)習(xí)一個(gè)共享模型,所有的訓(xùn)練數(shù)據(jù)都留在設(shè)備端,確保了個(gè)人數(shù)據(jù)安全,手機(jī)端智能應(yīng)用也能更快更低能耗更新。研究人員表示,該系統(tǒng)有望在幾十億部手機(jī)上運(yùn)行。
新年大手筆的不止是騰訊,谷歌近日宣布,他們實(shí)現(xiàn)了全球首個(gè)產(chǎn)品級(jí)的超大規(guī)模移動(dòng)端分布式機(jī)器學(xué)習(xí)系統(tǒng),目前已經(jīng)能夠在數(shù)千萬(wàn)部手機(jī)上運(yùn)行。
DeepMind研究科學(xué)家Andrew Trask (他并未參與這項(xiàng)工作) 激動(dòng)地在Twitter上說(shuō),這是2019年“年度最激動(dòng)人心的論文之一”。
“谷歌公布了他們?nèi)绾卧跀?shù)千萬(wàn)臺(tái)手機(jī)上實(shí)現(xiàn)可擴(kuò)展的聯(lián)合學(xué)習(xí),數(shù)據(jù)安全隱私終于成真,而谷歌是這方面的領(lǐng)跑者!”
Andrew Trask說(shuō)的,是谷歌日前在arxiv貼出的論文,“Towards Federated Learning at Scale:System Design”,論文描述了前面所說(shuō)的全球首個(gè)產(chǎn)品級(jí)可擴(kuò)展的聯(lián)合學(xué)習(xí)系統(tǒng),以及該系統(tǒng)的高級(jí)設(shè)計(jì)和一些挑戰(zhàn)及其解決方案。
聯(lián)合學(xué)習(xí)(FL)是一種分布式機(jī)器學(xué)習(xí)方法,可以對(duì)保存在移動(dòng)電話等設(shè)備上的大量分散數(shù)據(jù)進(jìn)行訓(xùn)練,是“將代碼引入數(shù)據(jù),而不是將數(shù)據(jù)引入代碼”的更加通用化的一個(gè)實(shí)現(xiàn),并解決了關(guān)于隱私、所有權(quán)和數(shù)據(jù)位置等基本問(wèn)題。
作者在論文中寫道,“據(jù)我們所知,我們描述的系統(tǒng)是第一個(gè)產(chǎn)品級(jí)(production-level)的聯(lián)合學(xué)習(xí)實(shí)現(xiàn),主要側(cè)重于在移動(dòng)電話上運(yùn)行的聯(lián)合平均算法(Federated Averaging algorithm)。
“我們的目標(biāo)是將我們的系統(tǒng)從聯(lián)合學(xué)習(xí)推廣到聯(lián)合計(jì)算,聯(lián)合計(jì)算將遵循本文所述的相同基本原則,但不限于使用TensorFlow進(jìn)行機(jī)器學(xué)習(xí)計(jì)算,而是通用的類似MapReduce的工作負(fù)載。
“我們看到的一個(gè)應(yīng)用領(lǐng)域是聯(lián)合分析(Federated Analytics),它能讓我們監(jiān)控大規(guī)模集群設(shè)備的統(tǒng)計(jì)數(shù)據(jù),而無(wú)需將原始設(shè)備數(shù)據(jù)記錄到云中?!?/p>
谷歌不愧是谷歌,先不說(shuō)這一技術(shù)本身的難度和實(shí)現(xiàn)難度,由此帶來(lái)的對(duì)智能云計(jì)算產(chǎn)業(yè)的沖擊,也可想而知!
谷歌提出“聯(lián)合學(xué)習(xí)”,實(shí)現(xiàn)可擴(kuò)展的移動(dòng)端分布式機(jī)器學(xué)習(xí)
2017年1月,統(tǒng)計(jì)機(jī)器學(xué)習(xí)先驅(qū) Michael I. Jordan 在清華演講時(shí)指出,我們需要更好更大的分布式機(jī)器學(xué)習(xí)系統(tǒng)。
Jordan教授表示,在計(jì)算機(jī)科學(xué)中,數(shù)據(jù)點(diǎn)數(shù)量的增長(zhǎng)是“復(fù)雜性”的來(lái)源,必須通過(guò)算法或者硬件來(lái)訓(xùn)練,而在統(tǒng)計(jì)學(xué)中,數(shù)據(jù)點(diǎn)數(shù)量的增長(zhǎng)是“簡(jiǎn)單性”的來(lái)源,它能讓推理在總體上變得更強(qiáng)大,引出漸進(jìn)式的結(jié)果。
“在形式層上,核心的統(tǒng)計(jì)學(xué)理論中缺乏計(jì)算機(jī)理論中的概念,比如‘runtime’的作用,而在核心的計(jì)算理論中又缺乏統(tǒng)計(jì)學(xué)概念,比如‘risk’的作用。二者之間的差異(Gap) 顯而易見?!盝ordan教授說(shuō)。
2017年4月,谷歌在官方博客中發(fā)文,介紹了他們提出的聯(lián)合學(xué)習(xí)(federated learning)。聯(lián)合學(xué)習(xí)也是一種機(jī)器學(xué)習(xí),能夠讓用戶通過(guò)移動(dòng)設(shè)備交互來(lái)訓(xùn)練模型。
聯(lián)合學(xué)習(xí)能產(chǎn)生更智能的模型,更低的延時(shí)和更少的功耗,同時(shí)確保用戶的隱私。過(guò)程示意:(A)手機(jī)在本地根據(jù)你使用手機(jī)的方式將模型個(gè)性化,(B)許多用戶的更新會(huì)集中起來(lái),(C)在云端形成針對(duì)一個(gè)共享模型的協(xié)同更新,然后不斷重復(fù)這個(gè)過(guò)程。來(lái)源:Google Blog
根據(jù)谷歌官博介紹,用戶的設(shè)備會(huì)下載一個(gè)當(dāng)前模型,這個(gè)模型會(huì)從手機(jī)數(shù)據(jù)中學(xué)習(xí)不斷得到改善,然后將變化總結(jié)為一個(gè)小的關(guān)鍵更新。只有這個(gè)關(guān)鍵更新會(huì)以加密的方式被傳到云端,之后這一更新會(huì)在云端迅速被其他用戶對(duì)共享模型提交的更新平均化(averaged)。
簡(jiǎn)單說(shuō),所有的訓(xùn)練數(shù)據(jù)都留在用戶的設(shè)備上,而且上傳到云端的個(gè)別更新也不會(huì)存儲(chǔ)到云端。谷歌研究人員表示,新方法將機(jī)器學(xué)習(xí)與云端存儲(chǔ)數(shù)據(jù)的需求脫鉤,讓模型更聰明、延遲更低、更節(jié)能,而且保護(hù)用戶隱私不受威脅。
這一方法還有一個(gè)間接好處:除了實(shí)現(xiàn)共享模型的更新,用戶還能立刻使用改善后的模型,根據(jù)個(gè)人使用手機(jī)方式的不同,得到的體驗(yàn)也會(huì)不同。
聯(lián)合學(xué)習(xí)僅當(dāng)用戶設(shè)備處于閑置或充電狀態(tài),并且使用無(wú)線網(wǎng)路的時(shí)候才發(fā)生,對(duì)用戶在移動(dòng)端的使用體驗(yàn)不會(huì)造成負(fù)面影響。來(lái)源:Google Blog
谷歌的研究人員開發(fā)了一個(gè)成熟的技術(shù)堆棧,確保聯(lián)合學(xué)習(xí)訓(xùn)練僅當(dāng)用戶設(shè)備處于閑置或充電狀態(tài),并且使用無(wú)線網(wǎng)路的時(shí)候才發(fā)生。因此,具體的訓(xùn)練對(duì)手機(jī)用戶體驗(yàn)基本沒有什么影響。
當(dāng)時(shí),谷歌研究人員表示,他們正在安卓的谷歌鍵盤Gboard上測(cè)試聯(lián)合學(xué)習(xí)。例如,當(dāng)鍵盤給出一個(gè)建議問(wèn)詢時(shí),手機(jī)就會(huì)在本地存儲(chǔ)相關(guān)信息,比如當(dāng)前的文本,以及你是否點(diǎn)擊了相關(guān)建議。
聯(lián)合學(xué)習(xí)會(huì)在設(shè)備上處理這一過(guò)程,并對(duì)鍵盤問(wèn)詢建議的迭代提出改善建議。來(lái)源:Google Blog
采用同步訓(xùn)練算法,在數(shù)千萬(wàn)臺(tái)手機(jī)上實(shí)現(xiàn)模型訓(xùn)練和更新
現(xiàn)在,兩年過(guò)去,谷歌已經(jīng)實(shí)現(xiàn)了首個(gè)產(chǎn)品級(jí)的聯(lián)合學(xué)習(xí)系統(tǒng),并發(fā)布論文描述了這一系統(tǒng)的高級(jí)設(shè)計(jì)理念和現(xiàn)存挑戰(zhàn)。
像剛剛提到的安卓手機(jī)谷歌鍵盤查詢建議,也已經(jīng)實(shí)現(xiàn)了大規(guī)模應(yīng)用。
圖1:聯(lián)合學(xué)習(xí)流程
谷歌研究人員在論文中寫道,聯(lián)合學(xué)習(xí)基礎(chǔ)架構(gòu)的基本設(shè)計(jì)決策的關(guān)鍵問(wèn)題,是重點(diǎn)關(guān)注異步還是同步訓(xùn)練算法。雖然之前很多關(guān)于深度學(xué)習(xí)的成果都采用了異步訓(xùn)練方式,但最近出現(xiàn)了采用大批量同步訓(xùn)練的趨勢(shì)。
再考慮到能夠增強(qiáng)聯(lián)合學(xué)習(xí)中保護(hù)隱私的方法,包括差異化隱私策略(McMahan等,2018)和安全聚合(Bonawitz等,2017),這些方法基本上需要一些固定設(shè)備上的同步后的概念,讓學(xué)習(xí)算法的服務(wù)器端可以僅消耗來(lái)自眾多用戶的更新信息的簡(jiǎn)單聚合。
因此,谷歌研究人員選擇采用同步訓(xùn)練方式。“我們的系統(tǒng)可以運(yùn)行大批量SGD式算法和聯(lián)合平均算法,這是我們?cè)谏a(chǎn)中運(yùn)行的主要算法”,算法的偽代碼如下:
論文描述的系統(tǒng)使用TensorFlow訓(xùn)練深度神經(jīng)網(wǎng)絡(luò),對(duì)存儲(chǔ)在手機(jī)上的數(shù)據(jù)進(jìn)行訓(xùn)練。用聯(lián)合平均算法對(duì)訓(xùn)練數(shù)據(jù)權(quán)重在云中相結(jié)合,構(gòu)建一個(gè)全局模型,推送回手機(jī)上運(yùn)行推理過(guò)程。安全聚合的實(shí)現(xiàn)能夠確保在全球范圍內(nèi),來(lái)自電話的個(gè)人更新是無(wú)法被窺視的。該系統(tǒng)已推向大規(guī)模應(yīng)用,比如手機(jī)鍵盤上。
圖2:設(shè)備架構(gòu)
解決多個(gè)實(shí)際問(wèn)題,預(yù)計(jì)未來(lái)設(shè)備應(yīng)用數(shù)量達(dá)數(shù)十億規(guī)模
谷歌研究人員表示,他們的方法解決了許多實(shí)際問(wèn)題:即以復(fù)雜方式(如時(shí)區(qū)依賴性)解決了與本地?cái)?shù)據(jù)分布相關(guān)的設(shè)備的可用性問(wèn)題,應(yīng)對(duì)不可靠的設(shè)備連接和執(zhí)行中斷問(wèn)題,在可用性存在差異的設(shè)備上對(duì)lock-step執(zhí)行的編排問(wèn)題,以及設(shè)備存儲(chǔ)空間和計(jì)算資源受限等問(wèn)題。
這些問(wèn)題在通信協(xié)議、設(shè)備和服務(wù)器級(jí)別都能得到解決。
“我們的研究已經(jīng)足夠成熟,可以將系統(tǒng)部署到生產(chǎn)環(huán)境中,并解決數(shù)千萬(wàn)個(gè)真實(shí)設(shè)備的應(yīng)用學(xué)習(xí)問(wèn)題;我們預(yù)計(jì)未來(lái)的設(shè)備應(yīng)用數(shù)量將達(dá)到數(shù)十億的規(guī)模。”
圖3:聯(lián)合學(xué)習(xí)服務(wù)器架構(gòu)中的構(gòu)成要素
聯(lián)合學(xué)習(xí)方法在設(shè)備上的數(shù)據(jù)比服務(wù)器上存在的數(shù)據(jù)(比如設(shè)備首先生成數(shù)據(jù))相關(guān)性更高、對(duì)隱私更敏感,或者不希望或不可能將數(shù)據(jù)傳輸?shù)椒?wù)器的情況下是最佳的應(yīng)用場(chǎng)景。聯(lián)合學(xué)習(xí)的目前多用于監(jiān)督學(xué)習(xí)任務(wù),通常利用的是從用戶活動(dòng)中推斷出的標(biāo)簽(比如點(diǎn)擊操作或鍵入的單詞等)。
設(shè)備上項(xiàng)目排名
移動(dòng)應(yīng)用程序中機(jī)器學(xué)習(xí)的一個(gè)常見用途,是從設(shè)備上的庫(kù)存中選擇和排序項(xiàng)目。例如,應(yīng)用程序可以公開用于信息檢索或應(yīng)用內(nèi)導(dǎo)航的搜索機(jī)制,例如在Google Pixel設(shè)備上的搜索設(shè)置(ai.google,2018)。在設(shè)備上對(duì)搜索結(jié)果進(jìn)行排序,可以免去對(duì)服務(wù)器的成本高昂的呼叫(原因可能是延遲、帶寬限制或高功耗),而且,關(guān)于搜索查詢和用戶選擇的任何潛在的隱私信息仍然保留在設(shè)備上。每個(gè)用戶與排名特征的交互可以作為標(biāo)記數(shù)據(jù)點(diǎn),可以在完整排序的項(xiàng)目列表中觀察用戶與其優(yōu)先選項(xiàng)的交互信息。
移動(dòng)設(shè)備鍵盤輸入內(nèi)容建議
可以通過(guò)為用戶輸入的相關(guān)內(nèi)容提供建議(比如與輸入文本相關(guān)的搜索查詢)來(lái)提升對(duì)用戶的價(jià)值。聯(lián)合學(xué)習(xí)可用于訓(xùn)練機(jī)器學(xué)習(xí)模型來(lái)觸發(fā)建議功能,并對(duì)可在當(dāng)前上下文中建議的項(xiàng)目進(jìn)行排名。谷歌的Gboard移動(dòng)鍵盤團(tuán)隊(duì)就在使用我們的聯(lián)合學(xué)習(xí)系統(tǒng),并采用了這種方法。
下一詞預(yù)測(cè)
Gboard還使用我們的聯(lián)合學(xué)習(xí)平臺(tái)訓(xùn)練遞歸神經(jīng)網(wǎng)絡(luò)(RNN)用于下一詞預(yù)測(cè)。該模型具有約140萬(wàn)個(gè)參數(shù),在經(jīng)過(guò)5天的訓(xùn)練后,處理了來(lái)自150萬(wàn)用戶的6億個(gè)句子后,在3000輪聯(lián)合學(xué)習(xí)后實(shí)現(xiàn)收斂(每輪大約需要2-3分鐘)。該模型將基線n-gram模型最高召回率從13.0%提高到16.4%,并且其性能與經(jīng)過(guò)1.2億步服務(wù)器訓(xùn)練的RNN的性能相當(dāng)。在實(shí)時(shí)對(duì)比實(shí)驗(yàn)中,聯(lián)合學(xué)習(xí)模型的性能優(yōu)于n-gram和服務(wù)器訓(xùn)練的RNN模型。
結(jié)語(yǔ)
在論文中,谷歌研究人員詳細(xì)展示了在安卓手機(jī)上對(duì)此類算法的系統(tǒng)設(shè)計(jì)。
圖4:建模工程師的工作流程
同時(shí),他們也指出,“這項(xiàng)研究目前仍處于早期階段,我們沒有解決所有問(wèn)題,也無(wú)法全面討論所有必需的組件。
“我們?cè)诒疚闹幸龅氖牵枋鱿到y(tǒng)的主要組成部分以及面臨的挑戰(zhàn),確定哪些問(wèn)題沒有解決,希望這些工作能夠?qū)ΩM(jìn)一步的系統(tǒng)研究有所啟發(fā)?!?/p>
-
谷歌
+關(guān)注
關(guān)注
27文章
6161瀏覽量
105300 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8406瀏覽量
132561 -
tensorflow
+關(guān)注
關(guān)注
13文章
329瀏覽量
60527
原文標(biāo)題:谷歌發(fā)布全球首個(gè)產(chǎn)品級(jí)移動(dòng)端分布式機(jī)器學(xué)習(xí)系統(tǒng),數(shù)千萬(wàn)手機(jī)同步訓(xùn)練
文章出處:【微信號(hào):AI_era,微信公眾號(hào):新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論