架構師小組交流會:每期選擇一個時下最熱門的技術話題進行實踐經驗分享。算法
邀請到了 Polarr 聯合創始人宮恩浩、搜狗大數據總監高君、七牛雲 AI 實驗室負責人彭垚,對深度學習框架選型、將來趨勢展開了交流。後端
自由交流服務器
Polarr 宮恩浩微信
我是宮恩浩,如今在斯坦福在讀,主要作深度學習研究,特別是醫學影像相關的研究。同時也在一家創業公司,國內叫潑辣修圖,在美國是 Polarr,作圖片的大數據,有云端的,也有手機端的,PC 端的。咱們的 App 收集數據,創建優化的算法,咱們在雲端提供圖片整理、圖片選擇、圖片信息的識別,把識別的模型經過壓縮手段,把整個深度學習放在手機的 App,實現圖片裁定、識別、選擇、渲染,國內可能叫霹靂相冊吧。我主要負責全部的 AI 的部分。網絡
搜狗高君架構
我是高君, 目前在搜狗負責精準廣告的算法研究和大數據相關的技術研發工做。搜狗從用戶端的產品來說,有兩個產品與深度學習有較強關係,一個是語音識別,應用在輸入法,用於語音輸入轉文本,另外一個是圖像搜索。在個人團隊中,深度學習主要是用在廣告領域中,如 CTR 預估、廣告檢索,廣告相關性的評估上。將來,咱們但願在 NLU 上面作一些有價值的工做,也但願在網絡壓縮方向取得一些成績。框架
七牛彭垚機器學習
我是七牛雲 AI 實驗室的負責人彭垚,七牛是一個以雲存儲起家的公司,在咱們雲平臺上面有普遍的圖像、視頻、音頻的數據,富媒體客戶很是多,因此咱們 AI 實驗室的主要職責是對大量的富媒體數據去作分析,並作一些內容審覈,識別等相關領域的應用,以服務咱們平臺上面的客戶。函數
話題交流
主持人:關於網絡壓縮方面的分享一下?工具
Polarr 宮恩浩:網絡壓縮有幾部分。
一部分首先找一個最適合的架構,這部分我我的以爲還得根據具體的應用、性能要求來定。
第二個部分是網絡壓縮,在不改變模型效果前提下儘可能減小模型參數。我一個同窗在作這方面工做叫 Deep Compression,而後我也和這個同窗一塊兒參與一些新的深度學習算法研究,基於在 Deep Compression 來進一步優化模型。最近一些研究發現一個深度模型能夠壓縮甚至壓縮到幾十倍幾百倍,那說明整個有很大的冗餘性,基於這個咱們能不能選擇一些適當的模型 trade off,在保持模型體積基礎上性能比原來顯著提高,好比它自己網絡是 Dense Network,壓縮到 Sparse Network,而後再長成 Dense Network 能夠一步步進行優化。能夠想像這個 Network 一會胖,一會瘦,最終達到一個體積和性能更好的狀態,我我的主要在作的是這個方法的統計分析。
第三個部分是模型編碼。咱們公司有在作想把圖像識別的 Network 放在手機上,那麼首先基於模型壓縮。具體實現的方法是:每步迭代的時候,一部分把小的部分變成零,而後不斷迭代優化,最終模型還有一些優化,會小不少。而後同時還能夠在手機上 Network 優化編碼,我實驗的時候權重也能夠從原來的 32 位 float,變成 16 位,就是少了一半,或者是變成 8 位的話作了 encoding 就會小不少,基於這些(優化模型結構,閾值讓模型稀疏,編碼來減小存儲)就能夠不斷進行壓縮。可是主要仍是看需求,好比在雲端的話可能就不必定非要壓特別深,但咱們遷往移動端就須要壓得比較大,要不可能 App 就太大,同時你壓縮完了,還得作解壓的工做,須要花費必定的時間。
搜狗高君:今年看到有 paper 在說 teach student 這種網絡,而後我有這麼一個假設,由於廣告領域涉及到的特徵空間很是大,用 teach student 的這種思路,可否把一個千萬量級以上的網絡,想辦法讓它降到百萬量級,同時讓它的 performance 仍是能維持在不錯的性能。
Polarr 宮恩浩:我說一下,首先我以爲並非模型越小它就越快,這可能跟架構有關。我以爲能夠拿一些簡單的例子試一下。能夠先看一下別人已經被驗證過更小更快的模型。看一下基於那個作會不會合理,是否能達到你的需求。而後不行的話,犧牲一些精度,還得看你的具體精度各方面性能大概多少能夠用。
主持人:宮博士大家如今是作模型壓縮,主要是應用在手機上吧。那壓縮了之後,在必定的精準度狀況下,你的運算能耗能降低嗎?
Polarr 宮恩浩:運算能耗的話,若是你直接用它的 Framework 的話,實際上是同樣的。可是你能夠再 hack 一些東西他就能提升。好比能夠用低精度的乘法。
我以爲 iOS 的 Metal 很好。好比 AlexNet 大概能手機上,能 30 到 42 fps,而後 inception 模型,大概是 10 fps。同時他們出一些剛剛優化,因此我以爲將來移動端的深度學習,會有不少的公司用移動端解決問題,頗有前景。
主持人:大家是用的是哪一個 framework?
Polarr 宮恩浩:其實用挺多的,iOS 上確定用它的 Metal Framework。而後其餘的就是後端,不少都會去用,Caffe,Tensorflow 都有過一些接觸。
主持人:搜狗的廣告推薦是以推薦結構化數據爲主,仍是以推薦非結構化數據爲主?
搜狗高君:兩種都有,有搜索類的廣告問題,還有展現類的廣告問題,對於搜索廣告來說,它是有一個明確的查詢詞,你能夠理解爲是一個結構化。假設把文本理解爲結構化,那麼對於展現類的廣告就很複雜了,爲了提升線上的 CTR,你須要明確用戶的興趣,那麼處理用戶興趣的過程當中,它的數據差別很是大,你確定會用到搜索,可是你也會用到它站內的一些瀏覽的行爲,比方說咱們拿到客戶站內全部的數據,它整個數據的來源很複雜。因此對於展現類廣告來說,能夠認爲全部的處理的數據基本都是異構的,能夠理解爲是個非結構化的問題。
主持人:廣告領域,深度學習的應用是什麼樣的呢?
搜狗高君:其實這個領域裏邊的工做跟圖像差別蠻大的,很大的緣由在於學術界是不關注廣告的。其中還一個很重要的緣由是廣告數據也沒有那麼多,那麼很難看到有一些 paper,會專門關注於廣告領域裏邊的深度學習的應用,因此業內的作法都在摸着石頭過河。我這邊的狀況來說,深度學習,至少在排序問題,會比咱們現有的策略基礎至少高 10 個點。深度學習,在廣告領域,百度用的相對早一點。如今阿里發展很快,在商品推薦領域有很多應用。因此從應用的角度來說,我感受是有收益,可是投入跟收益目前不成正比。
在廣告領域裏邊,咱們看到的就是 GPU 機器在加速比沒有呈現過優點,多是因爲咱們在廣告領域,不像圖像領域會有大量的 CNN。在廣告領域,我小範圍的比過一些加速比的問題,GPU 的機器沒有優點,因此我一直內心邊有一個問題,到底爲何在圖像和語音,你們都會考慮用 GPU 的機器,難道是因爲卷積網絡的緣由嗎?就徹底不考慮 CPU 的任何的問題。
主持人:最核心的是裏面的這些函數,這些解方程,大量的矩陣計算,因此說矩陣計算 CPU 確定是沒有優點的,GPU 由於能夠同時多個核算一個數據,因此它的優點很明顯。因此在圖像語音,包括 NLP 處理,GPU 優點是很明顯的,基本上 CPU 的計算貢獻很是小,而後像廣告不少不是矩陣計算,因此致使加速比不高是很正常的事情,可能尚未 CPU 運算的快。
七牛彭垚:其實我這邊也有用過 CPU 跑過一些測試的。以前在有客戶也用過咱們的鑑黃系統,一開始他們說採購不了 GPU 機器,我就用 CPU 給他們測了一輪,他那個效率就很低,大概單個 GPU 和 CPU 比的話,就 20 倍了。
搜狗高君:我還有一個小問題,不知道你們在多機並行作深度學習會處理到多大的集羣問題。至少咱們在作一些多機並行的時候,是從 Tensor 遷到了 MXNet 上,而後咱們發現 Tensor 的效率彷佛有點問題,我不知道業內在多機多卡這件事上,有沒有更好的,能有效地提高加速的問題。宮博士,在美國那邊,在並行問題上,你瞭解到有沒有一些新的進展?
Polarr 宮恩浩:我以前有看到一個基於 Spark 的在 CPU 集羣上的深度學習 caffe franework 變種,但後來沒太關注,我以爲有多是可行的,Spark 在數據處理上用的比較多一點。可是我我的暫時沒有涉及到多機多卡。但我以爲既然 Amazon 那麼推 mxnet,他們確定會推出來更好的多機多卡的東西。
七牛彭垚:以前有去調研過多機多卡,包括 Tensorflow、Caffe。Tensorflow 它自己並無提供好的 paramter server 設計。框架提供你根據應用狀況更好的去設計參數服務器。卻是以爲 Caffe poseidon 提供了一好 Paramter server 的設計,包括它矩陣同步的時候,怎麼去傳輸,把矩陣就是作變換變小,可以更高效的去作同步。
有沒有以爲用 Tensorflow 訓練的時候,比 MXNet 和 Caffe 慢不少,有沒有碰到過這樣的問題?
搜狗高君:遇到過,並且在多機上面差距很是大,因此咱們還把傳統裏邊一部分,涉及到多級並行策略的作了一小部分修改,改的地方很少,可是在 CPU 的基礎上,咱們當時看了一下,效果還不錯。
七牛彭垚:有沒有人用過 Torch,由於我聽一些朋友說 Torch 在跑一樣的數據集和網絡狀況下,和 Caffe 比,收斂率和準確率都要好一點,多是他在底層算法上有一些 tricky 的地方。
Polarr 宮恩浩:我以前作 DSD 研究,就用了 Torch,是基於 resnet 的 Torch。對 Torch 的感受,首先是太麻煩了,由於用的人太少了,有什麼問題也不太好問。可是他有一些好處,好比說我想改一些 regularization 和迭代過程當中修改 weights,在 Torch上改,它就相對方便不少,由於它不少底層的操做更 expose 一些,比在 Caffe 改更方便一些。好比咱們想每一步作一個調整,和得到最新的調整,咱們就能夠經過 Torch。相對來講和 Python 相似,是比較好實現的,這是一個感覺。
主持人:你們怎麼看深度學習在應用領域的發展?
七牛彭垚:內容的審覈,就比方說鑑黃,就是鑑別黃色視頻這種,大量簡化了鑑黃師的工做。有一些內容標籤,特別是對社交網站,咱們會給社交網站,直播,短視頻,打一些標籤,幫助客戶理解圖像視頻的內容。
搜狗高君:我問個小問題,您剛纔有提到有爲社交網站去作一些工做,是作一些視頻理解的方向的一些東西嗎?
七牛彭垚:舉個例子,根據客戶的需求,咱們作了一我的臉檢測,審覈上傳的照片到底有沒有頭像。若是他上傳的照片裏一個頭像都沒有,那這個用戶實際上是一個 bad user。在好比,咱們把某個社交網站的圖片收集起來,實際上這些圖片是雜亂無章的,那麼咱們作一個應用,幫全部的圖片打上標籤,還包括作了人臉的聚類、場景的識別,社交客戶就能夠根據咱們的標籤應用作相冊歸類,這樣就能夠作一些數據分析,分析網站上每一個用戶的自拍的數量等。就是從圖像方面作一些人羣分析。
搜狗高君:我今年聽過的一個比較有意思的深度學習應用,就是應用在視頻推薦,傳統的視頻推薦使用文本去處理的。快手裏是不多文字信息的,徹底是用戶上傳視頻,因此他們今年用了深度學習,去理解視頻的內容,而後再作推薦,也作的蠻有意思的。
七牛彭垚:我以爲這塊就至關因而幫客戶的一些非結構化的一些數據,打上標籤。而後打上標籤之後,其實能作的事情就很是多,就能夠作分類、搜索、推薦,能作的事情就不少,我甚至能夠對每個切片,比方說每 10 秒鐘的一個視頻的切片打標,而後你就能作不少事情了。比方說新聞片的剪輯,就是對新聞片的每一個地方,它會去打一些標籤。比方說我這一段新聞,我有個人主持人出現,而後他會去檢測下面的主題的那個文字,把文字在 OCR 出來,他就會把那些新聞一段一段的打上標籤,這樣可以方便作剪輯、後期處理等。
搜狗高君:七牛的 AI 是主要是作 to B 服務,就是幫助一些企業去解決他們內部的需求,用機器學習處理問題嗎?
七牛彭垚:咱們最開始是作鑑黃的內容審覈系統,後面纔去作各類標籤系統,和定製化識別應用等。
搜狗高君:七牛 AI 的這種模式下邊,大家會把這種商業模式,當作一個長期的商業模式去運做嗎,由於我在北京接觸過一些公司,甚至是大公司,好比說招行這個量級的公司,我目前尚未看到很強的付費能力,他們內部很難提出這種須要用機器學習的方法去解決問題,他們也很難造成一個估值,就是估價。我一直對這件事挺好奇,這種模式真的是能夠作出一個真正的盈利的模式嗎?
七牛彭垚:要看客戶的羣體的,像鑑黃是幫客戶節省了不少成本,原來他們須要不少基礎的人力,人力成本很是高的,因此它實際上是很樂意作這個事情,並且鑑黃師這個事情特別難作,他都要熟練工,而後那種人他又幹個半年一年他就不幹了,其實用工成本就很高。還有其餘應用,咱們都致力於大量節省人力成本的應用。
主持人:七牛是否有一些 AI 方面的戰略?
七牛彭垚:咱們後期主要會在視頻方向作一些文章,包括像視頻分析之類的,包括一些視頻通用檢測的一些事情,咱們會致力於解決咱們平臺上客戶的實際問題來投入這方面的研究,主要是視頻分析領域,由於咱們存儲上面視頻很是多,視頻的細粒度檢測也是其中的一個重點方向。
主持人:你們對深度學習有何展望?
搜狗高君:我問一個小的開放性的問題,因爲深度學習出來之後,亞馬遜作了 echo 的那件事情。會不會在五年之後,真的會出現一個像鋼鐵俠裏的家庭祕書同樣,就像原來蘋果手機把手機全搞了一遍,會不會五年之後也出現這樣一件事情?你們是怎麼看這件事兒。
亞馬遜的 echo 如今提供了很是充分的 API,將家庭的一些設備等等,或者說你一些App 上的功能作對接。那麼我本身就是在想,若是將來真是有這樣一種趨勢的話,那頗有可能就會變成家庭必備的設備了。那若是這種場景下,它能夠衍生出不少服務,好比說它能夠對接攝像頭,它自己也有語音,它能夠變成無所不能的事。就是咱們如今可能作的全部的這個事,都能被它給幹掉。由於它能徹底改變生活,因此我一直在想這件事會不會發生。
主持人:我以爲這個事情,若是隻是一個智能家居,我以爲應該能夠。若是你是特別極客,在家裏放一些燈,或者機器人在家裏,我以爲沒有問題。可是不少人可能對隱私保護比較在乎,他不必定會樂意放機器人在家裏面。這個問題,我以爲小範圍推應該沒有問題,大範圍我以爲仍是會有問題。
Polarr 宮恩浩:我以爲 echo 最近比較火,可是我以爲之後每一個人手機均可以有這種服務吧,其實就是更直接一些,而如今好像有不少 startup 搞我的助理,他們主打的想法是變成 AI 的助理,好比說幫我叫個車,就不用麻煩再本身打車了,手機助理能夠和互聯網服務經過 AI 鏈接。我以爲這都是不久未來能夠實現。
搜狗高君:在美國那邊作這個方向創業的公司多嗎?
Polarr 宮恩浩:最近就看見過一些,包括國內,我以前有同窗回國作我的助理,最終確定是想作,就是語音識別的,就是人工智能,如今可能就一開始都是人手人工實現服務,我以爲仍是一個剛開始的方向吧,都想往 AI 上作。
搜狗高君:記得國內也有相似的團隊,跟亞馬遜 echo 很像。甚至有作車載的後視鏡的,好像也在往這個方向打。
我是日常用微軟的小冰,有時候會用它來調一些程序,作一點小東西。
主持人:我的習慣吧,從普通大衆來講,有多少人會用這些東西,我以爲可能用的也很少。
Polarr 宮恩浩:我以爲主要是有幾點問題,這就是識別準確率,另外是說他就和其餘的,好比在微信裏給發啥,他沒法實現這個功能,好比說着目前是很計費一個東西。
主持人:我以爲聊天機器人你們能夠探討一下,如今以爲尚未一個特別好的應用,算法上可能尚未特別成熟。
搜狗高君:以前有朋友跟我說過聊天機器人,他跟我提到語料是一個很是麻煩的事兒,我不知道大家那邊怎麼處理的。
主持人:最核心的就是知識圖譜的構建。在聊天機器人上,技術上不是問題,其實就是生產資料的問題,就是你怎樣去構建專業領域的聊天知識圖譜,這是目前聊天機器人作的好很差的差別化。怎麼樣去跟行業深度應用,這是一個將來的趨勢。技術是沒有門檻的,隨便幾我的,能夠建立一家機器人聊天公司。
搜狗高君:若是作一個垂直領域的自動問答,有一個領域級的知識庫,可能對這些問題的解決幫助會很大。那好比說作小冰這種很寬泛的,我一直很好奇有個問題,好比說像電影和電視劇裏邊有大量的對白,那麼在這個場景裏邊真的用這種對白有沒有價值能幫助這個聊天機器人的算法會變得更好?若是隻是從這種 QA 的角度來說,要蒐集這種配對關係,這個耗費的人力很是大的。但有的時候聊天機器人可能只是想讓你們感受到它像一我的。因此這樣爲何不能從電視劇和電影裏邊去拿到大量的對白。
七牛彭垚:我以爲其實客服機器人是相對好作的,反而把它作得像人,我以爲是比較難。我以前就接觸到一個例子,是讓機器人去學習你們平時的聊天內容。比方說「我生病了,我今天不舒服」,而後去作人工去打標,比方說 5 個回答,它這裏面就有一個回答就是「怎麼了」。結果它搞了好幾組人打標,選「怎麼了」的人最多,其實「怎麼了」這種說法你在任何場景都是通用的,這個機器人它什麼都給你回怎麼了。實際上,它仍是沒有到融匯上下文,可以理解全部東西的地步。
主持人:你們能夠探索一些新的領域。
Polarr 宮恩浩:除了公司這邊,我我的科研主要作醫學影像,算比較新的一些應用,好比說用深度學習來幫助醫生作一些診斷,或者看到一些人看不到的診斷,就是其提供圖片的質量,其實就是跟凸顯相關,同時我以爲 NLP 也能夠用在這種就是醫學診斷方面,最近好像有些人來用就用各類這種非結構化的數據來預測,這就是說我我的比較感興趣,可能在作一些比較小的嘗試。
搜狗高君:我讀博期間的實驗室是一個 cv 的實驗室,我不少的師兄師弟在作一些圖像相關的創業。剛纔宮博士提到的醫學影像是我目前在關注的一件事情,確實很感興趣,由於國內目前也有幾個小的創業公司,好比說 deep care,而後他們也貌似在作相似的工做,好像好多人在學的 IBM 那個 Watson,好像是那個方法,國內有這樣一批的公司正在作,還有另一批公司確實有在用 NLP 的方法在作病症判斷和分診的問題,醫學上這兩個方向。我感受如今創業公司比較多,可是目前在製藥這件事上我沒有聽到,因此我日常在廣告這件事完了之後,關注的最多的就是醫學影像,我會找這行的師兄師弟們聊聊天,聽聽他們的一些想法,由於我以爲這件事彷佛商業價值蠻大的。
七牛彭垚:這種項目通常都很是大,對於這種,實際上是解決一些很是通用性的問題,你只要解決一個科室的一些,比方說醫學影像,那其實就解決了這個很是通用的問題。
搜狗高君:不過我目前不看好國內作這件事情,由於個人一個基本判斷是,你想讓醫院把正兒八經有用的數據拎出來就不太靠譜,由於他們跟我說過這麼一件事兒,他們拿到過幾萬份的病例,而後就是相關的數據,刪完了之後,大概能用的數據是千條,我當時的感覺,就是這個行業別說用深度學習了,你拿個邏輯迴歸都搞不起來,數據量過小。國內其實很難有這麼大的時間,能讓你搞這個,因此可能在美國不多作,但我以爲國內應該長期會有一個機會。
Polarr 宮恩浩:國內其實這種病例仍是多,主要是醫院和學校也能夠合做,好比清華就有不少這方面資源,未來若是再想作這事的話,就是從每個病人開始作起,就如今國內基本上一週多的病人,就跟美國一個月一年的病人的數目差很少那種感受。
七牛彭垚:對,像清華浙大交大這種醫學院研究院,有不少附屬醫院,數據仍是很是多。剛纔宮博士也說,是給到某些大學,而大學裏面這些影像中心能夠流出去,因此這一塊其實有不少機會的。問題卻是以哪些病爲突破口,這個卻是能夠再探索。
Polarr 宮恩浩:最近基於 CNN 的 segmentation 發展有必定進展,就能夠作一些不少醫療方面的應用。
搜狗高君:可是有一點像醫學影像,即便就目前來看,就算能拿到很好的數據,它也不太可能變成一個主要的手段吧?我是這麼想,畢竟它是有錯誤率的,若是讓一個機器去作主要建議的話,一旦出了事故會比較麻煩,我是這樣感受的。因此我以爲這種工具在將來,也僅僅是給醫生作一個參考的做用。我不知道你們會對這件事有更大的期待嗎?
Polarr 宮恩浩:這些醫學倫理和管理方面問題,主要是你無論作的再好,目前你不可能一個機器來給你作這作那,都是最後簽字是有人來負責,可是對於醫生來講,好比他須要看不少層的圖片,不少個不一樣的層的片,那若是能告訴他,你就看這一層,就是主要的一層,這種減小他的工做量,從實質上來講,很是很是好。前幾天我跟一個醫學院的老師聊這事,他以爲就須要這方面的東西。