「神經網絡(neural network)前途無量,但因為我們尚沒有足夠的計算能力使其一鳴驚人,神經網絡一度銷聲匿跡。」Google資深系統專家Jeff Dean說。而Google最新開源的TensorFlow深度學習系統也證明了深度學習對硬體的依賴。
那麼,今天深度學習的流行,將如何推動硬體的發展呢?在近日的2015年全國高性能計算學術年會(HPCChina 2015上,CSDN記者採訪了科大訊飛內核研發中心研發總監于振華、科大訊飛深度學習平臺研發主管張致江,傾聽行業用戶構建深度學習硬體平臺的實踐心得,以及對深度學習硬體變革的渴望。
以下為採訪實錄:
記者:科大訊飛有一個訊飛超腦的規劃,當前市面上提供的技術,能否跟上訊飛超腦的需求?難點在哪裡?
科大訊飛內核研發中心研發總監于振華:
訊飛超腦是一個比較大的概念,大家會覺得比較虛,實際上我們公司內部把它分解成一步一步的非常具體的目標,比如說我們的類人答題,自動閱卷等,可能先去讓它去考小學,最終考大學,最終要超過80%的人,這個可能是讓一般公眾比較容易理解的方式。背後的概念就是在特定領域上,做一些類似於強人工智慧的模式,但是我們究竟基於神經網絡做出來的東西,最終是不是強人工智慧,現在業界還不好說。
目標非常遠,難度相應就會大,所以不可能做到真正像人一樣,說超腦就跟人腦一樣,實際上我們會約束它在一個特定領域上,在一個很窄的領域上,可能在某個特定領域上能達到一般人的智能,甚至超過人的水平,這是我們目標的設定,當然中間有一步步的步驟分解去做。
關於目前硬體發展的一些契合問題,現在神經網絡連結數也就10的8次方,其實跟真正的人腦差了將近6個數量級,人腦的複雜度比我們現在做的最複雜的神經網絡,還要複雜六個數量級。從目前來講,短期內,三五年之內能把這個硬體問題解決掉,那是不可能的。那我們只能從技術上來講,我不一定需要做到跟人腦一樣複雜,那麼大規模去做這個事情,我可能是針對深度學習技術,去做一些局部的突破和發展,針對特定領域的相對簡單的問題,把它做透。
這一塊我們對硬體需求,一個是希望它能更快一些,第二個,希望它能更便宜一些。一個是運算速度快,帶寬更大,我剛才說的6個數量級填滿之前,對速度和帶寬的要求是永遠不會停下的,當然除了這個速度和帶寬之外,作為超算來講,它的體系架構也非常重要,就是說我們可能針對深度學習這塊,特別是神經網絡這塊,也是希望有新的專門針對於神經網絡的這種計算架構的改進,來輔助這個神經網絡。
記者:在訊飛搭建的深度學習的平臺,使用GPU來加速,CPU和GPU使用的比率是什麼樣的?
科大訊飛深度學習平臺研發主管張致江:
現在比例是有兩種機器,一種機器是2:4的關係,一種機器是1:2的關係,或者2:4,或者2:8,準確來講,就是2:4和2:8,之所以基於這個關係,是因為機器是這樣設計的,現在根本就沒有一個機器是針對深度學習的方式去設計的,2:8這種機器實際上是針對以後的密碼破譯這樣的方面去設計出來的,我們去用,發現它也有一些不太好的地方,後來我們就換成了2:4的這種搭配方式去做的。
現在目前來說看著還行,實際上我們認為更好的機器,是1:4會更好,因為CPU是不使用的,最後全是GPU。
科大訊飛內核研發中心研發總監于振華:
我補充一下,因為我們現在做深度學習的訓練,跑的大部分是矩陣運算,包括CNN,包括GNN,大部分都是矩陣運算或者卷積運算,實際上我們所有運算幾乎都是放在加速卡GPU上的。CPU基本上屬於一個很瘦的狀態,不需要太強的級別,但因為目前這種構架,所有的通信,所有的數據傳輸要經過CPU,這一塊相當於一個硬體構架的限制,其實我們是希望有新的設計,解決這個傳輸帶寬的問題,其實CPU不要求非常強。
記者:NVIDIA的K40、K20,科大訊飛都用了,能否介紹你們的使用感受。
科大訊飛深度學習平臺研發主管張致江:
K80我們沒用過,但是用GPU已經用了很多年了。最初Fermi架構時,我們就在用了,後來我們用到了GTX系列的,就是GeForce,當時書卷不大,跑一天就結束了,後來書卷大了以後,GeForce穩定性會有一點問題,我們就換Tesla系列,等於說這是一個探索的過程,我們認為Tesla的GPU是最穩定的,當然現在GeForce也非常好了,因為後來我們也用了,之前不知道。這是第一個問題。
第二,我們認為Tesla系列是更加穩定的,我們選卡的標準是怎麼選呢,哪個最快我們就選哪個,選的是最快的,剛開始我們不僅選了K20M系列,我們還選了K20XM系列,就是類似這樣的選卡。然後K40出來了之後,K40比K20又上了一個臺階,我們就選了K40這樣一個系列。但是為什麼不選K80,是因為K80是兩片GPU在一個卡裡面,而深度學習的算法有一個特點,需要單晶片的性能越強越好,這是我個人做工程方面去理解的。
我們測過,單晶片K40是最強的,K80比K20高一點點,跟K20XM差不多,後來我們就沒有選K80,並不是說K80不好,可能跟我們的有點不太匹配。類似這樣的情況。現在也發布了M40,我們測試穩定的話,不排除下一次買GPU會買M系列的,因為我們認為單晶片性能是越強越好。
記者:科大訊飛有多少在開發構建這個深度學習平臺?目前的工作重點在哪幾塊?
科大訊飛內核研發中心研發總監于振華:
我們針對深度學習,公司光是致江這個團隊就有將近20號人,他們主要負責技術平臺的構建和硬體平臺的維護,以及訓練算法的基本平臺的構建。至於在深度學習相關的一些人工智慧算法研究方面,可以說整個研究院幾乎超過一半的人,現在都在從事一些跟深度學習相關的工作,我們知道目前深度學習對實現人工智慧,成為一個至關重要的工作,所以我們好多人的工作實際上都多多少少跟深度學習有關聯的,這樣算的人就非常多了。
下一步的工作重點主要有兩塊,一個是我們還會持續優化訓練平臺,我們這個訓練平臺一直相當於自己攢機攢過來的,因為一開始業界沒有比較成熟的方案,所以開始的時候我們也沒有進HPC這個圈子,我們一開始有深度學習的需求,就用了GPU去優化,後來我們發現HPC相關的一些東西我們都需要,慢慢地就踏入了這個圈子,我們其實屬於非正規部隊,現在來參加這個會議,也是希望去學習一些比較正規的經驗,讓我們這個平臺後續包括穩定性,可用性以及使用效率等再提升起來。第二塊工作還是針對深度學習,包括目前CNN,DNN,每年有一些新的東西出來,比如像今年提出來的LSTM技術等,目前來講這些技術我們跟得算是比較緊的,針對一些研究性的工作也在持續的跟進,這一塊是重要的工作,是我們的立身之本,平臺這一塊是解決我們的效率和控制問題。
記者:現在科大訊飛深度學習平臺的GPU規模有多大?
科大訊飛深度學習平臺研發主管張致江:
大概GPU Tesla可用的GPU在400多塊,實際上延伸的一些我們不說了,我這裡還有將近100塊的GTX也不算過期的,整個科大實驗室也在用,給學生用,只是性能差一點。
記者:能否分享搭建這個平臺的一些經驗?
科大訊飛深度學習平臺研發主管張致江:
真正想把平臺搭好,或者想把一個效率做好,首先你需要對算法需要了解,算法上我們需要進行精心的設計,怎麼樣去並行,然後哪些可以並行,哪些不可以並行,然後並行需要一些什麼樣的計算特點,帶寬是多大類似這樣的東西。就是設計出來之後,這個系統是比如一個節點上面,能夠容忍多大的計算量,同時這個節點上的計算量,大概是一種拓撲,然後存儲怎麼去弄,一些各種各樣的細節東西都是需要考慮的,而不僅僅是買一臺機器。
通常我們是很少去關注,或者說我們採購的時候很少去關注於最低價,我們往往考慮的是一個整體的解決方案,和整體的性能,或者是合作夥伴能提供出一個什麼樣的方案,有什麼樣的一些利處,什麼樣的知識,考慮到很多這樣的細節。
科大訊飛深度學習平臺研發主管張致江:
這個平臺一開始搭建的時候,就有很多的考慮,非常難去做。首先要懂算法,同時要懂硬體,除了懂硬體,還有很多的一些東西,比如一個平臺做出來,你要考慮幾個層次,一個最簡單的我去買一個硬體,硬體搭起來了以後,我上面跑什麼樣的軟體系統,這是第二塊,軟體系統跑上來了以後,實際上還有一個很重要的方面,就是一個資源調度和管理,這又是一個層面,我們再看一個層面,這個算法怎麼樣在這個平臺上得更好,像我們公司幾百號的研究人員,根本不懂GPU,也不懂網絡,甚至C語言都不會,怎麼樣讓它去跑好呢?實際上我們就要提供一些簡易的並聯接口,或者是針對特定的任務進行優化,這個時候你就需要考慮幾個問題,第一個你需要有系統搭建人員,運維人員,這是一個層次的。
第二你需要有軟體,或者一些系統經驗的,或者調度類似應用層面的開發。第三,你需要從算法上的一個開發。所以說我們當時一開始做的時候,這個就是很多部門共建的,研究院是出人的,專門做算法的這一塊研究,然後我們還有一部分叫瓶頸事業部,就是我現在這個所在的部門,需要出工程人員,就是怎麼樣在CPU和GPU上去做得更好。
實際上我們公司作為一個基建的部門,企業信息化辦公室,幫我更好去做IT的管理,我們搭建起來的時候,把它放到普通的辦公室管不了,這個東西挺複雜的,首先這個網絡就比較麻煩的,還有存儲連接也挺麻煩的。所以我們這個團隊是很多部門共同去建設的。
記者:需要對算法了解到什麼樣的程度?針對大量數據的多機多卡並行的計算,在我們業務裡面它的難點是在哪個地方?
科大訊飛深度學習平臺研發主管張致江:
深度學習如果你想簡單的去用它,或者Demo跑一個例子,幾乎拿過來就可以用。深度學習需要了解的地方,在於你需要調各種各樣的參數,而這些參數需要各種各樣的實驗,這些東西需要一個研究的能力去做它。整體來講,算法或者是編寫的難度都不是很大,所以我們認為可能需要一些研究員的思維去做它。
實際上我們認為多機多卡的難點,在於要很好地解決好計算一些傳輸的比例,數據比例的問題,這個地方如果你真的把它多機加得很大的時候,這個帶寬也很難去平衡。我們認為我們現在在這一方面做得還可以,在現有的情況下,做到不錯的一個平衡。
記者:無監督和弱監督有沒有為我們帶來一定可能,就是降低我們所需要的數據樣本和數量,通過這種方式來減少我們對計算量的需求?
科大訊飛內核研發中心研發總監于振華:
無監督不是降低了計算量,實際上計算量大大增加了,我們知道後臺有個語音,包括BAT收數據,實際上大家真是不缺數據,無論是語音,還是圖像,還是像人臉這種數據,大家不缺數據,缺的是標註過的數據,實際上這種標註數據,如果是僱人一張一張去標註的話,或者一段一段語音去聽的話,那個成本是非常大的,所以才有這種弱監督,或者無監督的做法,無監督的做法其實就是我不管,相當於把進來的數據拿過來,先去訓練一個模型,當然這裡面有一些理論,怎麼樣去用這個數據去優化這個結果。
我們一般有監督的話,比如像收集了1萬小時的數據,我是有標註的,實際上我可能真正訓練,我會拿四萬小時,甚至十萬小時訓練,那九萬小時實際上都沒有標註的。相對於有監督運算,實際上運算量大了十倍,但是實際上我是會取得一些微弱的性能收益,因為隨著計算能力的提升,特別到最後一個大模型生產的時候,大家可以比較奢侈去進行運算,最後挖掘那一點點的性能。這個無監督,主要是提升最後一點點的性能。
記者:我們有沒有做一些對模型方面的努力,來降低我們對數據量和計算量的需求呢?
科大訊飛內核研發中心研發總監于振華:
這個牽扯到我們以前胡院長講的一句話,做研究要做兩個事情,做減法,做加法。就是說我可以通過原理在不改變效果的情況下,我去降低一些東西,降低一些複雜度,降低一些數據需求量,然後反過來我再去把數據弄大.減法跟加法實際上我們都在做,包括一些模型改進,比如說像去年穀歌發表的,就相當於在同等訓練數據量上,甚至更少數據量上,能達到訓練效果的一些方法,這些實際上我們公司也有自己的一些算法,包括一些正在研究的算法,大家在這一塊一直在做。
因為現在像有NVIDIA提供GPU這麼強的運算能力,特別像我們公司又搭了非常大的運算平臺,我們說我們為了降低它的運算量,不是說我們運算能力不夠,去降低它的運算,我們更多是做完減法之後,我們想做做加法,我如果能把這個降低了,我還用原來那麼多數據,我效果更好,或者我再加更大的數據,我還能訓練。
記者:科大訊飛非常關注速度,那麼是不是更快的NVLink網際網路技術有可能會取代PCIE?或者以後這幾個發展方向,可能適用的場景不同,每個都有各自的領域?
科大訊飛深度學習平臺研發主管張致江:
的確是適用在不同的領域,NVLink作為一個協議,NVIDIA需要維護自己的生態,這個生態到底以後能維護得怎麼樣,咱們現在也未知。PCIE目前來說,這個生態維護得還行,如果開放得不夠好,可能也會限制NVIDIA計算卡性能的發揮,對於我們這樣一個企業來講,我們肯定想讓這個卡的性能越來越高,所以說在這種深度學習的環境下,如果PCIE對它有限制的話,我們可能會選擇NVLink這樣的機器,或者用NVLink的技術去做這樣一個東西。
在其他的產品下,比如說大數據的產品下,裡面一些交互可能PCIE也就夠了,肯定是在不同的產品去用。
NVIDIA中國區政府銷售總監Tomas He:
這個做一個補充,CPU和GPU之間,無論X86平臺還是用PCIE,對於深度學習來說,更多是GPU之間的通訊,所以我們的策略是以後會用NVLink直接把GPU直連,這種方式就不需要所有的東西要CPU,GPU去繞一圈,那我有幾張GPU卡,我的NVLink在那裡,大家可以把這些GPU都跟NVLink連接。
NVLink的帶寬,第一代是80G,是PCIE的五倍,第二代也會做到200G,這個高速就跟GPU的計算性能打通了。當然這個應用就像剛才您說的,因為是在深度學習這種行業,恰恰這種應用跟CPU之間的交互比較少,就是GPU之間的通訊,所以這種應用特別合適。
那麼在其他HPC的應用可能不一樣,那IBM跟我們有合作,有OpenPOWER,美國也有兩臺300P的超算機器,這個就會從CPU和GPU之間,GPU和GPU之間,全部是NVLink,NVIDIA相當於把NVLink已經拿出來了,跟IBM來合作做這個事情。那麼在這種生態中間,就不會存在這樣的一個問題了。
記者:科大訊飛也非常關注IBM的TrueNorth,你們如何看待TrueNorth的發展?
科大訊飛深度學習平臺研發主管張致江:
TrueNorth實際上真正利用類似於人腦的方式去做的一個晶片,我們新的計算性能就是模擬人的,所以我們認為這個東西是一個非常大的突破,但是它離商業化還非常遠。到具體落地的事情,現在我們目前是非常關注NVIDIA,而且我們對NVIDIA抱有很大的期望,NVIDIA不僅僅是真正去做這個晶片,也並不是說單口號喊了一下人工智慧的支持,他實際上做了很多生態的東西,比如說加速都做得挺好的。我們認為NVIDIA在這一次人工智慧的浪潮,有很多的促進作用,我們是非常關注他們的。
NVIDIA中國區政府銷售總監Tomas He:
NVIDIA本身也是借這個深度學習,完成向一個平臺化的公司轉型,所以在這一方面我們確實做了比較多的一些工作,比如像我們推出了類似在深度學習這個層面,我們有cuDNN,我們現在已經有一版,二版,三版,現在四版大家也在調試了,今年年底還是明年會有五版也在計劃中間。
cuDNN針對Caffee這些開源軟體架構做了很多優化,讓性能做得更好,這樣的話能方便地讓更多人去使用。NVIDIA雖然是一個做晶片的公司,但是實際上公司的軟體人員是很多的,因為我們是要培養整個生態,所以我們對於CUDA整個發展(CUDA現在也是7.5的版本了)投入很多精力。我們希望以後有更多的一些行業,在軟體層面、平臺層面多花一些功夫,多花一些時間。
其次,就是面向更多的做初期研發的公司,比如像我們有DIGITS的軟體,這樣很多做算法研究的人,不一定非要對這些使用下面的東西有太多的了解,他可以做初步這樣一些訓練工作,可視化的工作。
另外一點,因為企業級的這種客戶,特別像科大訊飛這樣的,他們總是走在科研和應用的前沿,他們會給我們提很多的問題,那我們也會從產品的層面,根據這樣一個發展,在下一代的產品中,無論是硬體差別還是軟體產品,把這些東西逐漸去解決。
最後一點,我們本身也會有一些開發的工程師,會跟他們做一些配合調試,讓客戶能夠使用得更好,我覺得這個是能夠更多滿足企業客戶的需求,我們在朝這些方面在做一些轉變。
編輯點評:訊飛超腦的實踐表明,深度學習方法是當前要實現真正的人工智慧的最優解,但深度學習系統的構建並不容易,基於大數據,複雜網絡的運算需要龐大的計算量,精度的提升需要更快的速度和更大的帶寬。對於專業的深度學習任務,僅有硬體是遠遠不夠的,適用於神經網絡並行計算的軟體優化極為重要,得益於NVIDIA在K40以及cuDNN的投入,科大訊飛構建了目前的深度學習平臺來進行語音處理的工作,但此時的神經網絡仍然遠遠達不到人腦那樣的高效,科大訊飛需要更強的平臺來支持超腦的研究。來自科大訊飛等行業用戶一線實踐的反饋,將推動NVIDIA這樣的硬體提供商不斷改進硬體架構和軟體工具,使得深度學習能夠獲得更廣闊的應用空間。
第九屆中國大數據技術大會將於2015年12月10-12日在北京隆重舉辦。在主會之外,會議還設立了16大分論壇,包含資料庫、深度學習、推薦系統、安全等6大技術論壇,金融、製造業、交通旅遊、網際網路、醫療健康、教育等7大應用論壇和3大熱點議題論壇,票價折扣中預購從速。
本文為CSDN原創文章,未經允許不得轉載,如需轉載請聯繫market#csdn.net(#換成@)