這項技術是谷歌AI的NewSexy:利于隱私、節能環保
Reagan 發自 Yingke 量子位 報道 | 公眾號 QbitAI
沒錯,正是Federated Learning,聯邦學習。這種谷歌于2017年打造的機器學習新形式,在2019年成為全球AI第一大廠頻頻強調的潮流、方向和未來。聯邦學習究竟有何神奇之處?這么說吧,它的關鍵核心是AI訓練數據可以保存在終端設備,是日益嚴峻的隱私數據問題的解決方案之一。也是AI向前邁步的核心突破所在——用更少的數據做更好的模型,就像人類嬰孩認知世界的過程一樣,很小的學習量掌握大量的知識。在今年谷歌AI的東京座談會上,谷歌AI掌門人Jeff Dean也專門談到了對聯邦學習的重視和看好。最近谷歌AI杰出科學家Blaise來到亞太,同樣把聯邦學習掛在嘴邊。他在谷歌AI所率領的團隊,目標是研究端側AI,推進更多終端設備上的機器學習使用。但意料之外,Blaise說目前對于聯邦學習最大的挑戰,是如何以最佳方式對外闡釋好它。所以,不妨完整了解下Federated Learning究竟是什么,以及為何而生。
Blaise Agura y Arcas聯邦學習是什么?
先從聯邦學習的來龍去脈說起。Federated Learning,也被翻譯為“聯合學習”——其實更能從技術上代表它的特點。傳統機器學習方法,需要把訓練數據集中于某一臺機器或是單個數據中心里。所以云服務巨頭還建設了規模龐大的云計算基礎設施,來對數據進行處理。云端訓練好模型,再推向終端應用,成為業內通行常見方法。但這就帶來了終端隱私數據的保護問題,而且一旦環節有漏洞或保護不力,隱私安全問題就很容易發生。于是2017年,谷歌提出了完全基于移動設備數據來訓練機器學習模型的方法:Federated Learning。之所以“聯合學習”更直接,是因為原理上,它能使多臺智能手機以協作的形式,學習共享的預測模型。與此同時,所有的訓練數據保存在終端設備。工作原理可以分6步解釋:智能手機下載當前版本的模型;通過學習本地數據來改進模型;把對模型的改進,概括成一個比較小的專門更新;該更新被加密發送到云端;與其他用戶的更新即時整合,作為對共享模型的改進;所有的訓練數據仍然在每名終端用戶的設備中,個人更新不會在云端保存。而且目前聯邦學習的優點也非常明顯:更智能的模型;低延遲;低功耗;保障用戶隱私;另外,在向共享模型提供更新之外,本地的改進模型可以即時使用,這能向用戶提供個性化的使用體驗。舉個例子。目前谷歌可以拿來展示的是谷歌輸入法Gboard。應用聯邦學習后,當Gboard顯示推薦搜索項,不論用戶是否最終點擊了推薦項,智能手機會在本地存儲相關信息。聯邦學習會對設備歷史數據進行處理,然后對Gboard檢索推薦模型提出改進。整個過程與推薦算法很像,但模型更新先在本地發生,再到云端整合。
技術挑戰有哪些?
谷歌表示,實現Federated Learning有許多算法、技術上的挑戰,比方說:在典型的機器學習系統中,超大型數據集會被平均分割到云端的多個服務器上,像隨機梯度下降(SGD)這樣的優化算法便運行于其上。這類反復迭代的算法,與訓練數據之間需要低延遲、高吞吐量的連接。而在聯邦學習的情況下,數據以非常不平均的方式分布在數百萬的移動設備上。相比之下,智能手機的延遲更高、網絡吞吐量更低,并且僅可在保證用戶日常使用的前提下,斷斷續續地進行訓練。為解決這些帶寬、延遲問題,谷歌開發出一套名為Federated Averaging的算法。相比原生的聯邦學習版本隨機梯度下降,該算法對訓練深度神經網絡的通訊要求,要低10到100倍。谷歌的核心思路,是利用智能移動設備的強大處理器來計算出更高質量的更新,而不僅僅是優化。做一個好模型,高質量的更新會意味著迭代次數的減少。因此,模型訓練能夠減少通訊需求。由于上行速度一般比下行速度慢很多,谷歌還開發了一種比較新奇的方式,將上行通訊需求再次減少的 100 倍之多:使用隨機rotation和quantization來壓縮更新。雖然這些解決方案聚焦于訓練深度網絡,谷歌還設計了一個針對高維稀疏convex模型的算法,特別擅長點擊率預測等問題。在數百萬不同的智能手機上部署聯邦學習,需要非常復雜的技術整合。設備本地的模型訓練,使用的是迷你版的 TensorFlow。非常細致的 scheduling 系統,保證只有用戶手機閑置、插著電、有 Wi-Fi 時才訓練模型。所以在智能手機的日常使用中,聯邦學習并不會影響性能。谷歌強調,聯邦學習不會在用戶體驗上做任何妥協。保證了此前提,用戶手機才會加入聯邦學習。然后,該系統需要以安全、高效、可擴展、可容錯的方式對模型更新進行整合。聯邦學習不需要在云端存儲用戶數據。但為避免用戶隱私泄露,谷歌更進一步,開發了一個名為Secure Aggregation、使用加密技術的協議。由于此草案,系統服務器只能夠解碼至少100或1000名用戶參與的平均更新。在整合以前,用戶的個體更新不能被查看。這是世界上第一個此類協議,對于深度網絡層級的問題以及現實通訊瓶頸具有使用價值。谷歌表示,設計 Federated Averaging,是為了讓服務器只需要整合后的更新,讓 Secure Aggregation 能夠派上用場。另外,該草案具有通用潛力,能夠應用于其他問題。谷歌正在加緊研發該協議產品級的應用執行。谷歌表示,聯邦學習的潛力十分巨大,現在只不過探索了它的皮毛。但它無法用來處理所有的機器學習問題。
對于許多其他模型,必需的訓練數據已經存在云端 (比如訓練 Gmail 的垃圾郵件過濾器)。因此,谷歌表示會繼續探索基于云計算的機器學習,但同時“下定決心”不斷拓展聯邦學習的功能。目前,在谷歌輸入法的搜索推薦之外,谷歌希望根據手機輸入習慣改進語言模型;以及根據圖片瀏覽數據改進圖片排列。對聯邦學習進行應用,需要機器學習開發者采用新的開發工具以及全新思路——從模型開發、訓練一直到模型評估。最大挑戰是認知最后,谷歌AI杰出科學家Blaise也強調,聯邦學習目前的最大挑戰,其實更多在于認知:如何把這個技術向大眾解釋清楚,并且讓更多人參與其中。而且5G等基礎設施普及,會加快帶寬和數據傳輸速度,但對聯邦學習并不“有利”。因為這容易讓人們忽略數據留在終端的重要意義。我個人的想法信念,就是我們應該盡量地在數據所在,產生和存儲的這個地方來進行做人工智能,而不是把大量的數據傳出去。Blaise說,這不光是隱私的問題,還有生態環保的問題。因為數據的傳輸消耗大量的能源,如果規模數量龐大的設備都能完成體系內的數據存儲和訓練,對于降低能耗也助益良多。總之,這位谷歌AI杰出科學家鼓勵AI從業者多用、多關注,并找到更好布道的方式方法。至于怎么用起來?↓↓↓傳送門今年3月,谷歌也推出了TensorFlow Federated (TFF)開源框架,用于對分散式數據進行機器學習和其他計算。開發者可以利用借助 TFF 對其模型和數據模擬所包含的聯合學習算法,以及實驗新算法。TFF提供的構建塊也可用于實現非學習計算,例如對分散式數據進行聚合分析。借助TFF,開發者能夠以聲明方式表達聯合計算,從而將它們部署到不同的運行時環境中。TFF包含一個用于實驗的單機模擬運行時。
- 免責聲明
- 本文所包含的觀點僅代表作者個人看法,不代表新火種的觀點。在新火種上獲取的所有信息均不應被視為投資建議。新火種對本文可能提及或鏈接的任何項目不表示認可。 交易和投資涉及高風險,讀者在采取與本文內容相關的任何行動之前,請務必進行充分的盡職調查。最終的決策應該基于您自己的獨立判斷。新火種不對因依賴本文觀點而產生的任何金錢損失負任何責任。