Alex:大家好,我是Alex Ren, 是BoomingStar Ventures 的管理合夥人,也是Robin.ly 的創始人。今天是我們Robin.ly新的內容平臺的首發視訊。今天我們特意邀請了韓鬆博士,他專做AI Research,過去幾年裡,發明了像深度壓縮,最近在做的DGC(Deep Gradient Compression),並創立了深鑑科技 (現已被Xilinx收購)。 這些一系列的AI Research 和 創業過程,我相信有很多東西可以和大家分享。韓博士,你大概去MIT多久啦?
韓:我是今年暑假去的。
(視訊截圖 韓鬆為左,Alex為右)
Alex:你當時選擇AI和計算機架構的方向,你是怎麼考慮的?
韓:對,2012年的時候 正好是AlexNet,ImageNet得到了Breakthrough的準確率的提升。但是呢,它的計算量是非常大的。AlexNet當時是240MB的模型大小, 1.5B的計算量。1.5B 跟中國的人口是一個量級的。但是這樣的模型逐漸持續下去的話,資料逐漸在升,計算量逐漸在升,但是硬體模型逐漸在放緩,中間肯定會有個交叉,這就是我們的機會。這個交叉的地方將來會是一個bottleneck。這也是我們後來research的一個機會,緊隨這樣的痛點。
Alex: 所以你之後在2016年在ICLR上釋出了一篇關於深度壓縮的文章,那篇文章也獲得了最佳論文。當時你靈感的來源是什麼?當時怎麼會想到用這個方法去解決這個問題?
韓:嗯!這是個挺好的問題。我們之前試圖解決AI 效率的問題,先從硬體的角度去解決。我們試用了各種方式,能讓它充分的利用片上資源,減少片外的訪存。但是發現,這些方法,只在硬體角度上解決是不夠的。我們要找到源頭,問題出在哪?引數量太大了?演算法的冗餘度太高了?其實在16年那篇paper之前,我們在NIPS 2015先發了篇文章 “Learning both weights and connections for efficient NN”它是說,我能把原來很多引數量,把它減少。比如說AlexNet,60M parameter,我把它減到6-7M parameter。但是可以實現同樣的準確率。這樣的話,從源頭上就可以把這樣的問題做簡化。然後再做efficient hardware architecture。這樣從algorithm &hardware co-design,這樣的design 空間非常大,也可以徹底解決問題。
Alex:那後來2017年的時候,你在FPGA2017 也發表文章提出了ESE (Efficient Speech Recognition) 你曾說過,深度學習最大的瓶頸在於頻寬而不是計算。這是怎麼理解的?
韓:說到計算機系統,它有幾個組成部分,計算是一部分,快取是一部分,networking又是另一部分。它們都是非常重要的。就彷彿一個木桶,你要用這個木桶來裝水,它最短的bar決定了它能裝多少水。所以計算,快取,networking,哪個最差就決定了你的效率是多少。舉個例子。比如第一代的TPU,它的計算能力是非常高的,但是它的memory bandwidth不夠。所以即使你有很高的計算能力,你的記憶體頻寬不夠,所以限制了它的utilization。就好像LSTM,RNN,它的 利用率只有10%不到,但是後來TPU的下一代,就解決了這個問題。所以當你把記憶體頻寬提升之後,它的utilization得到了很大提高。另外從energy的角度,比如說在45奈米的工藝底下,算一個32bit的乘法可能5pJ 。但是去 off chip DDR 去拿這個數,要640pJ, 這是兩個數量級的差距。所以,computation is cheap, memory is expensive。
Alex:這也是為什麼你最近又提出了一些方法 比如 DGC (DeepGradient Compression)?能稍微給大家介紹一下這是什麼嗎?
韓:DGC (Deep Gradient Compression) 是我們最近提出的一個演算法,它是針對 Multinode Distributed Training, 也就是大規模的平行計算。我們核心解決的一個問題是,想減少我們的訓練時間。原來我訓一個網路可能一天,一個禮拜。一種方法呢,是增加GPU數量。這樣的話,好幾個GPU 一起訓練,可以減少計算的時間。但是這樣就帶來一個問題是,大家communication的時間變多了,overhead變多了。因為你很多GPU要coordinate,大家要exchange gradient。這怎麼解決呢?我們能不能少communicate一個東西?然後我們就提出了Deep Gradient Compression。Gradient是我們需要exchange的東西。我們發現,大概只有千分之一的gradient actually need exchange,其他都可以不exchange。這樣我們可以把communication bandwidth減少大概200-600倍。
Alex:那我相信很多training的公司應該是很感興趣這個東西啊!那你在史丹佛大學博士畢業之後,選擇了去MIT做助理教授。你看工業界,很多 Google,Facebook也是做深度學習,AI 這方面的研究。你怎麼看工業界做研究,和你們(學術界)做研究 有什麼區別?你是怎麼樣和他們合作的?
韓:嗯!這個問題非常好。工業界有很多資源。一是場景非常豐富,二是計算資源非常豐富,三是工程師資源非常豐富。學校裡,這些資源是和工業界沒法比的。但在學校裡一個好處是,能跟很多公司一起合作,比如說,現在sponsor我們實驗室的,大概有10家公司,我可以和這十家公司都合作。他們有不同的需求,看到了不同的問題。可以看到很多,從軟體到硬體,各個層次所面臨的,他們的痛點。然後幫他們解決痛點。解決痛點的本身,就是make breakthrough的過程,所以視野還是比較開闊的吧!
Alex:最近你好像也參加了一個會,Hot Chips 2018,前兩天。我記得你做了一個tutorial 對嗎?Topic 是 “Accelerating Inference at the Edge” ,因為正好是深鑑科技被Xilinx收購之後。你們有什麼新的東西可以給沒有參加的人做個分享嗎?
韓:我們當時首先回顧了神經網路處理器的幾個發展歷程吧!先是specialized computation,後來人意識到computation is cheap,memory is expansive;所以第二代是 specialized memory,如何減少DRAM access,充分複用之前的data。前兩部分都假設algorithm is algorithm,然後去提升硬體;第三代的是algorithm &hardware co-design,把模型先做的efficient,把它壓小。把大的模型壓小,減少memory footprint,再去加速這樣比較efficient的模型;第四代就是,我們從小模型開始,我們不用壓它,直接就設計比較小的模型。然後為這種小模型做specialized inference。
那麼這次 深鑑科技也是基於第四個idea去做了基於MobileNet depthwise convolution的知識架構。Depthwise Convolution,它的channel之間沒有reduction,它 data reuse沒有之前的convolution好。所以對應的提出了一個新的challenge。我們可以用新的架構去有一個單獨的pe(processing element)去處理depthwise convolution,比之前的效率要高很多。
深鑑科技團隊 韓鬆(左一)
Alex:在你目前的職業歷程裡面,有個短暫的break,在史丹佛讀博士階段的時候,你參與創立了深鑑科技,並賣給了Xilinx。這是特別有意思的一個經歷。那這段大概兩年多時間的經歷裡,你最大的takeaway是什麼?
韓:深鑑科技我覺得創業歷程上最重要的體會就是,人非常重要。有一群靠譜的真心做事的兄弟在一起,一起做一件事。俗話說留得青山在,不怕沒柴燒嘛。無論遇到什麼困難,只要我們團結一心,肯定都能克服。我們從成立到現在,兩年多吧,技術核心的同事們 沒有一個掉隊的,沒有一個離開公司的。
Alex:那這過程中,我相信你們應該也遇到一些挫折吧?你當時覺得最大的一個困難是什麼?你又是怎樣克服的呢?
韓:當時剛創業的時候,那是15年底,北京一個寒冷的冬天,我和姚頌,還有幾個同事,我們當時租了輛小麵包車。在中關村上地這一帶融資,當時就很困難。當時深度學習處理器這一概念還沒像現在那麼火,大家不覺得這是一個must-have的東西。那時候融資真的非常困難。整體大環境上,沒有像現在 大家認識的那麼明晰。不確定的因素很多。然後我們當時走訪了很多投資的投資人,但是都沒有拿到investment。後來我來到史丹佛,當時開學之後,在史丹佛周圍繼續pitch。包括當時後來也在史丹佛上了一門Public Speaking的課。
我發現,從你做research,能把這東西做出到,到你能把這東西講出來去講給不懂的人,或者不是內行人,這還是有一個gap的。當時那門課,一是教我們一些presentation 的技巧,二是教我們如何把一個東西給講懂。我覺得也是非常有意義的。我們在史丹佛校門口,University Avenue,金沙江(GSR Ventures),張予彤 還有 林仁俊 (Richard)他們後來投了我們。後來就比順利了,包括嶽斌嶽總(高榕資本),他們三月份單獨飛到灣區,我們還聊了一次。後來就比較順利了。
Alex:所以我覺得比較有意思的是,你是一個typical AI Researcher, 到entrepreneur,你對現在的一些AI Researcher,有心想去創業的,你對他們有什麼建議?
韓:我覺得Know your customer。所以說有時候我們覺得技術是高大上的,可能技術能解決一切,但實際不是這樣的。怎麼能讓技術能有一個生態?不是單獨一個點,你要把它展成一個面。比如說,如果我只拿Deep Compression 一個演算法來創業的話,這是不行的。一是它容易被複制,二是它的capacity沒有足夠大。使用者不會有粘性。 後來我們加了silicon,加了硬體,加了計算機結構這一塊,就使它從一個點到一個面,從上到customer,從底下到技術,整個堆疊就把它打通了。
Alex:嗯!好的!今天很榮幸,聽韓鬆博士分享關於他做AI research一路以來,以及創業的心路歷程。希望大家有興趣繼續跟韓博士交流,有興趣去讀他的博士,或者去實習。請繼續關注韓博士這邊研究的進展!謝謝大家!