騰訊 AI Lab 劉霽談機器學習,異步計算和去中心化是兩大殺器

雷鋒網 AI 科技評論按:并行計算是提高計算機系統計算速度和處理能力的一種有效手段。它的基本思想是用多個處理器來協同求解同一問題,即將被求解的問題分解成若干個部分,各部分均由一個獨立的處理機來并行計算。在訓練 AI 系統的時候,并行是提高計算效率的主要途徑。

作為機器學習方面的專家,騰訊 AI Lab 專家研究員、美國羅徹斯特大學助理教授劉霽博士認為,目前并行計算的主要難點在於如何提高并行效率。

因「提出一系列異步并行算法,解決了傳統同步并行算法瓶頸問題,設計機器學習中去中心化的并行計算框架,可以極大地減少通訊代價」,劉霽博士在上個月作為「發明家」入選 MIT TR 35 China(詳情參見 MIT TR35 中國區榜單公布,清華朱軍、中科院陳雲霽等十位 AI 相關學者獲此殊榮)。

他們團隊最具開創性的工作有兩個:一是用異步的方式并行所有機器,二是提出去中心化的并行框架。

圖:騰訊 AI Lab 專家研究員,美國羅徹斯特大學助理教授劉霽

從一開始選擇偏冷門的機器學習,到見證這一學科的逐年火熱,劉霽博士不僅成為了機器學習飛速發展的親歷者,也一步一個腳印在該方向深耕。

作為騰訊 AI Lab 的一員,劉霽博士對雷鋒網 AI 科技評論表示,他們的研究集中在遊戲 AI,比如王者榮耀,星際爭霸。「遊戲 AI 是人工智能與博弈論的一個交叉領域,是理解通用人工智能的重要渠道。」

既投身學界,也涉足業界,劉霽博士說道,學術界和工業界各有各的優勢和缺陷:學術界經常關心的問題未必是工業界真正的痛點,但是可以鍛煉思維和解決問題的能力;工業界存在極具應用價值的問題,但很多時候缺乏追求技術上的創新。「二者如果能有機結合,我想一定能碰撞出不一樣的火花。」

立足當下,放眼未來,他對研究并行優化、機器學習的同學提出建議:

「深度學習的熱潮終將褪去……把基本功打紮實,少一些功利態度,多看看比較難的文章,這樣才能以不變應萬變迎接深度學習后的下一個熱潮。」

以下為雷鋒網 AI 科技評論對劉霽博士的採訪原文,作了不改變原意的編輯整理,以最大還原劉霽博士對技術的深度思考。

1、恭喜您入選 MIT TR35 China 發明家榜單,這是對您研究工作的肯定,您有何感想可以分享一下?

非常感謝我的學生和所有的團隊成員,我想這個榮譽屬於大家。同時也非常感謝張潼老師以及所有推薦人的支持。感覺外界對我們的期望更高了。

2、您認為這次的成功上榜主要取決於哪些要素?

  • 首先得益於這個大環境對 AI 的追捧。AI 正處於歷史的風口浪尖,社會和人類對 AI 有着無限甚至不太理智的憧憬和期待。

  • 同時也得益於自己在這個方向不懈的堅持,還記得我剛開始從事研究的時候,有兩個研究方向可以選擇:圖形學或者機器學習。圖形學更容易找工作,但是我選了機器學習。機器學習在那時候算偏冷門的研究方向,而且很難就業(彼時很難想像現在的火爆)。當時做出這種選擇的主要原因是我對研究通用性的方法更感興趣,個人感覺這更有挑戰,不是所有人都能做的(尤其讀了幾篇張潼老師的文章以後)。

  • 還有一個重要的原因是在正確的時候總能遇到合適的前輩和師長給我指引,比如:機器學習的啟蒙老師葉傑平老師(密歇根大學計算機系終身教授)在我初入行就幫我找到合適的問題,後續再通過努力,總能取得一些階段性的成果,訂立一些宏大的目標。我從 Benjamin Recht(加州大學伯克利計算機系終身教授)那裡學到了如何尋找有價值的科研問題;從博士導師 Stephen Wright(威斯康星大學計算機系 George B. Dantzig professor and Amar and Balinder Sohi professor)那裡看到了最純粹的科研本質和最嚴謹的科研態度;從 Ming Yuan(哥倫比亞統計系教授)那裡學到了從一般到特殊再從特殊到一般的科研方法論;從 Jerry Zhu(威斯康星大學計算機系 Sheldon & Marianne Lubar Professor)那裡學到了如何開拓一個全新的研究領域。

3、您當選的理由是「提出一系列異步并行算法,解決了傳統同步并行算法瓶頸問題,設計機器學習中去中心化的并行計算框架,可以極大地減少通訊代價。」能具體談談您這一系列相關的研究工作嗎?這些工作給目前的人工智能社群帶來了哪些意義?

這一系列工作對 AI 有着非常重要的意義。將 AI 轉化成生產力主要取決於兩個方面:

第一,如何把實際問題轉化成計算問題;第二,如何將計算問題求解變得高效。我在這兩方面均有涉獵。

  • 第一個方面的工作包括強化學習,稀疏學習等。我們在強化學習方面的研究在人工智能頂級會議 UAI 上獲得 Facebook 最優學生論文獎。

  • 第二個方面的工作主要是在并行計算上,提高并行效率可以有效提高訓練 AI 的效率,讓 AI 的迭代和產業化更加迅速。

當未來算法模型比較固定以後,大公司之間的競爭更多是計算效率的競爭。比如訓練圍棋 AI 的時候,成百上千的機器需要跑好幾周的時間。如果有公司可以在一周內搞定,那麼就會有更多的時間和機會去迭代和試錯,有更大的可能訓練出比 AlphaGo 更厲害的 AI。

并行是提高計算效率的主要途徑,目前的主要難度在於如何如何提高并行效率。通俗一點講,比如用一台機器訓練圍棋 AI 需要 1000 天,現在給你 50 台機器,你需要多久才能完成?最理想的情況是 20 天(這是最高的并行效率)。這在實際上不能實現,因為機器之間需要通訊協調工作,而當機器非常多的時候,代價非常大。我們主要解決的問題是如何減少機器之間通訊的代價,進而提高并行的效率。

我們最具有開創性的兩個工作如下:

第一個先驅性的工作是用異步的方式并行所有的機器。異步是相對於同步而言,同步的方式比較好理解。

我們考慮求解一個機器學習的問題,這樣的問題通常都能分解為若干個大任務,一個處於中心的機器每次都將大任務分解,然後送給每個機器,等所有機器都執行完任務之後,將他們返回的結果匯總,然後進入下一個大任務。這是最直觀的并行方式,主要問題在於有的機器快有的機器慢,導致每次所有機器都在等待最慢的那個。在前面提到的那個例子里,可能需要 80 到 100 天。

異步并行可以解決這種快等慢的問題,簡單來說就是讓所有機器都不需要等待其他機器,每個機器只要完成了分給的任務,直接到中心的那個機器領取新任務,不用跟其他機器協同或者等待。這種方式完全打破了傳統的同步并行方式,極大節省了同步協同代價。但是這種方式完全改變了任務執行的順序,是否還能達到同步方式的解並不是顯而易見的。

我們做了很多理論和實踐上的工作,奠定了異步并行的技術基礎。在前面的那個例子裡面,通常只需要 30 到 40 天,相比同步的方法可以節省超過 50% 的時間。現在異步并行技術已經廣泛被機器學習軟件採用,比如 Google 的 TensorFlow,Amazon 的 MXNet,還有 Microsoft 的 CNTK。

我們的第二個開創性的工作是提出了去中心化的并行框架。

傳統的并行架構都是假設有一個中心化的節點,來收集結果和分配任務給其他機器,這樣做的主要問題在於中心節點會遭遇通訊擁堵,尤其是在網絡條件不佳的狀況下,以為所有機器都需要跟這個中心節點交互。為了緩解這種通訊擁堵,我們提出了一種去中心化的并行框架。簡單來說就是去掉了中心節點,機器跟幾個鄰居之間互聯通訊。

我們從理論和實踐上都證明了這種方式能夠保證求解的正確性,相比於傳統的中心化的方法,不會增加額外的計算量,可以有效緩解交通擁堵情況,從而提高并行效率。這種去中心化的技術目前還比較新,我們相關的工作入選機器學習頂級會議 NIPS 2017 的大會宣講論文(Oral 的入選概率大概 1%)。相信在未來,會對新一代的并行計算平台和軟件開發產生極其重要的影響。

4、目前對這種去中心化的數據的理論研究,還有哪些亟待突破的地方。而想要大規模應用於工業實踐,又有哪些難點?

主要有幾個方面:

  • 如何設計更高效的算法提高這種分佈式學習的效率。

  • 如何有效平衡通訊代價和計算代價。

  • 如果有的節點向它的相鄰節點傳遞錯誤信息,該如何設計算法保證正確性和穩定性。

我想最後一點是用於大規模工業實踐最難的地方。

5、除了并行計算,您的研究還涉及到優化算法、強化學習。此外,您還在羅切斯特大學建立了機器學習和優化研究組。目前你們小組在優化算法、機器學習方面取得了哪些進展?

優化算法和并行計算是密切聯繫的,前面已經有很多介紹。我主要介紹一下與強化學習相關的研究。

我第一次接觸強化學習是在2010年舉辦 NIPS 大會時,那時機器學習並不火,強化學習更是冷門中的冷門。我們做過的兩個比較有影響力的工作都是關於如何求解強化學習中的核心問題 Bellman 方程,Bellman 方程不同於一般的機器學習或者深度學習求解的最小化優化問題。

傳統的方法為了求解,做了各種各樣的近似,導致不太容易擴展到求解大數據的問題,理論性質難以分析。我們找到了一種跟 Bellman 方程等價的最小化最大化優化問題,直接把原始問題和優化問題聯繫起來了,這樣一來,不僅可以應用很多優化的理論性質,而且也容易擴展到大數據計算。這個工作獲得了 2015 UAI 大會上的 Facebook 最優學生論文獎。

我們第二個重要的工作是直接求解 Bellman 方程(不做任何近似或者等價變換),我跟在普林斯頓的 Mengdi Wang 教授合作,研發了一套新的最優化的技術,稱為 composition 優化。相應的算法和理論框架都已經建立起來了,開啟了一種新的求解強化學習問題的思路。

6、目前機器學習的優化算法很大程度上仍然依賴研究者的經驗方法,缺乏理論支持及可解釋性。您認為可以從哪些角度來解決算法的黑箱問題?

我想你主要說的是深度學習這種 nonconvex 的優化問題吧(convex 的問題已經理解得相對比較清楚了)。我覺得要解決這個問題,技術層面是其次,更重要的是需要支持和鼓勵根本性研究的環境。

坦白來講,我個人覺得很多深度學習相關的優化算法文章和建模文章並不嚴謹,包括一些大牛的文章。文章大多缺乏嚴謹的推理和論證,過分相信經驗性的東西。比如我們現在常用的深度學習的工具包(比如 TensorFlow)里的很多優化技巧都缺乏嚴格的理論論證,例如 batch normalization,random dropout 等等。大家的邏輯是:一旦有文章說經驗上效果不錯,也有現成的工具包,咱們就用吧,不用管是否收斂。如果效果不好,咱們調調參數,要不再換一個方法,最後不行了就改網絡。從工程上講這個是完全沒有問題的,因為目的只是做好一個特定的應用或者數據集。但是如果從研究的角度會造成不良的後果,因為研究的目的是為了提供穩定性好適應性強最好還能有清晰的理論保證的解決一類問題和應用的算法和工具。

從功利的角度來講,發一篇深度學習理論的研究文章要比發一篇深度學習實驗研究的文章難很多。當一個領域的大多數人都完全相信純經驗的東西,從研究上講這是非常危險的。久而久之,大家就不會去質疑這些常用的方法是否正確,儘管它很有可能是不完全正確的。這種研究方式也會助長研究者不嚴謹的作風。

深度學習的一些經驗性研究的文章經常出現一些相互對立的結論,比如我曾聽說過兩個截然不同的結論,一個是說深度學習訓練時大 batch 好,另外一篇文章說小 batch 好。想想看,這些不能完全經得起推敲的東西,一旦固化到我們的硬件,應用到我們的健康醫療,將會是多麼令人不安的事情。

總的來說,我覺得需要有鼓勵研究者去探尋根本的環境,少一些投機式的研究。最後我想借用 Eric Xing 在深度學習是不是鍊金術之爭上的一句話:鍊金術師並不可恥,可恥的是並不努力從「鍊金術師」學成「化學家」。

7、同時投身於學界和業界,您如何看待這兩者之間的異同點?

就我個人來講,學術界的研究更加純粹和單一,目的是把一個個抽象的學術問題研究清楚,衡量的標準大多是論文的發表以及發明各種酷炫的方法。而工業界是真正接觸實際項目的地方,衡量標準是項目的成功與否,更像一個系統工程,需要有產品化的思維,最後能把東西做出來才是目的,中間任何先進或者酷炫的技術都不是目的。

學術界和工業界各有各的優勢和缺陷。學術界經常關心的問題未必是工業界真正的痛點,但是可以鍛煉思維和解決單個問題的能力,而工業界有極具實際應用價值的問題,但很多時候過度依賴於搭積木的方式完成項目,缺乏對技術上創新的追求。

如果二者能有機結合,我想一定能碰撞出不一樣的火花。騰訊在內容、遊戲、社交到醫療領域,有極為豐富的應用場景,而 AI Lab 也有優秀的研究與工程師團隊,這種研究與應用結合,非常有利於推進技術的快速迭代與發展。

8、對於研究并行計算、機器學習和優化算法的同學們,您有哪些學習和研究上的建議?

深度學習的熱潮終將褪去,將來它很有可能成為大家都會的一種應用工具,而且使用也會越來越方便,連自動調參都能實現,完全成為端到端的服務。

我的建議是與其現在猛追深度學習的熱潮,不如多學數學、優化、統計,把基本功打紮實,少一些功利態度,多看看比較難的文章,這樣才能以不變應萬變,迎接深度學習后的下一個熱潮。

(完)


想在手機閱讀更多中國內地資訊資訊?下載【香港矽谷】Android應用
分享到Facebook
技術平台: Nasthon Systems