為了深入落實國家大數據戰略,推動大數據產業交流與合作,展示我國大數據產業最新發展成果,2019年6月4日至5日,由中國信息通信研究院、中國通信標準化協會主辦、大數據技術標準推進委員會承辦的2019大數據產業峰會在北京國際會議中心隆重舉辦。
會上,來自工業和信息化部的領導,我國眾多優秀大數據領域服務商、行業應用客戶、研究機構、地方大數據主管機構的領導和專家,將對大數據政策、產業、技術的現狀與趨勢等內容進行交流探討。
6月5日,在大數據前沿技術分論壇上,百度資深研發工程師陳凱為我們帶來了主題為《基于異構計算的數據科學加速方案》的演講。
大家好,我是陳凱,來自百度,是百度資深軟件工程師。今天演講的主題是《基于異構計算的數據科學加速方案》。
從數據科學現狀講起,以今年非常火的4月10日首次通過設定望遠鏡發現黑洞來說明。我們通過地球上的八臺大口徑射電望遠鏡發現黑洞,處女座星系離地球非常遠大概五千多萬光年,單靠肉眼無法看見它,當然黑洞是看不見的,肉眼是不可見的,與此同時它會吸收可見光,對一般的科學儀器也是不可見的。通過這樣一個數據最終看到黑洞就是一個典型的數據科學的過程。在這些數據科學的過程里面包括李總前面提到聯通有非常大量的數據,在這個地方也是海量的數據。基于海量的數據如何看到這樣一個黑洞,就引出下面的過程。
數據科學就是從剛才的比如通過射電望遠鏡的觀測數據最終發現黑洞的過程,數據科學的定義是利用數據學習知識,我們發現黑洞驗證愛因斯坦的廣義相對論在極端環境下依然是成立的。數據科學涵蓋了非常多的交叉學科——應用數學、統計、模式識別、機器學習、深度學習……還需要高性能計算的支持。與此同時,包括黑洞本質上來講是無法看到的,我們最終通過一種可視化的方法把射電望遠鏡處理的數據進行可視化,總體是這樣的過程。
它的核心技術體系,首先數據是第一要素。我們通過觀測到數據做數據分析,數據分析傳統在兩千多年前,最早用算盤加上珠算口訣表,今天這樣的算力是不夠用了,香港服務器租用,所以今天有一些專門的支持。在今天CPU是典型的計算硬件,作為通用的處理器可以做很多計算。在算法方面,通過比如包括數據預處理、數據分析、數據可視化來完成整個流程。
剛才所描述的是數據科學的背景,接下來描述數據科學的技術現狀,從兩部分進行講起。
1、數據科學目前算力的情況。除了通用/常用的CPU,通用處理器之外,在大家機器上通常有圖像顯示卡,今天已經超過圖像顯示卡的范疇,已經應用于高性能計算,我們講一下圖像顯示卡跟CPU技術的區別。
圖像顯示卡會簡化邏輯控制單元,比如匯編,每一套指令的執行首先來講需要取子、取操作數進行計算。一般結構分兩部分,第一是怎么樣在里面計算,第二是怎么從里面抽數據。比如CPU單指令流單數據流,在顯示卡里是多指令流多數據流這樣的邏輯控制單元。簡化了單元之后,第二部分簡化在cache級方法。CPU作為一種通用性的硬件需要考慮,怎么加速程序的執行,GPU里是不需要的,這兩個控制結構比較簡單,與此同時有足夠多的空間,比如做流處理器,像我們經常提到的超限的概念,有很多ALU這樣的計算單元。常用CPU里面只有10%不到的空間,但是GPU里面有將近40%的空間做計算單元。
按照這樣的體系,第一是怎么算的更快,應該由外部輸入這些數據。從數據來看主體數據是存在內存里的,在CPU和GPU內存來看,GPU把一大部分內存嵌入上去,使用的概率比CPU高,它的內存帶寬是CPU的一到兩個數量級,百度云上的數據大概是38倍的關系。所以GPU本質上來講非常適合做高性能計算,包括今天世界500強的排名比較考前的高性能計算的機器里面,主體是CPU和GPU耦合的模式。這里有組數據顯示,民用用的比較多的,像英偉達的LTX——民用顯卡性能超過了最頂級的鉑金版8系和9系的處理。因為GPU結構上相對簡單,功耗上相對小一些,不僅有性能優勢還有成本的優勢。
除了GPU,今天我們看到的不僅僅是GPU,還有其他高性能計算硬件。作為FPC的老大,谷歌06年開始在數據卡上支持數據科學,也開始推出TPU1.0,今天已經是3.0的模式了。如圖這些都是在服務器端經常能用到的。民用的主要是手機上,華為的mate20、P30這樣的手執設備也用了高性能計算硬件。這里描述了4個算法的支持,TPU為例,單位功耗性能比CPU高196倍,比GPU高68倍,這是各個算力的你追我趕,毫不示弱。