首頁>Club>
5
回覆列表
  • 1 # 千機問問

    AI晶片就是處理器中的一個單獨處理一些任務的特殊元器件,主要特徵就是載入了AI任務專項處理單元。比如華為的麒麟980晶片,就內建了神經網路引擎,來實現AI計算在終端執行。而普通晶片的AI要讓cpu來計算在處理這類任務,是遠沒有AI晶片來的專業一些。

    另外,AI晶片資料處理速度更快。傳統的對複雜資料的計算要上傳到雲端下載到終端,而AI晶片的強大算力使得這些複雜計算在手機終端就能執行。這也說明了AI晶片的資料更安全安全,因為在手機終端就能進行計算,無需上傳到雲端,就避免了資料洩露的風險。

  • 2 # IT鯨英派

    所謂的AI晶片,一般是指標對AI演算法的ASIC(專用晶片)。傳統的CPU、GPU都可以拿來執行AI演算法,但是速度慢,效能低,無法實際商用。

    比如,自動駕駛需要識別道路行人紅綠燈等狀況,但是如果是當前的CPU去算,那麼估計車翻到河裡了還沒發現前方是河,這是速度慢,時間就是生命。如果用GPU,的確速度要快得多,但是,功耗大,汽車的電池估計無法長時間支撐正常使用,而且,老黃家的GPU巨貴,經常單塊上萬,普通消費者也用不起,還經常缺貨。另外,GPU因為不是專門針對AI演算法開發的ASIC,所以,說到底,速度還沒到極限,還有提升空間。而類似智慧駕駛這樣的領域,必須快!在手機終端,可以自行人臉識別、語音識別等AI應用,這個必須功耗低,所以GPU OUT!

    所以,開發ASIC就成了必然。

    說說,為什麼需要AI晶片。

    AI演算法,在影象識別等領域,常用的是CNN卷積網路,語音識別、自然語言處理等領域,主要是RNN,這是兩類有區別的演算法。但是,他們本質上,都是矩陣或vector的乘法、加法,然後配合一些除法、指數等演算法。

    一個成熟的AI演算法,比如YOLO-V3,就是大量的卷積、殘差網路、全連線等型別的計算,本質是乘法和加法。對於YOLO-V3來說,如果確定了具體的輸入圖形尺寸,那麼總的乘法加法計算次數是確定的。比如一萬億次。(真實的情況比這個大得多的多)

    那麼要快速執行一次YOLO-V3,就必須執行完一萬億次的加法乘法次數。

    這個時候就來看了,比如IBM的POWER8,最先進的伺服器用超標量CPU之一,4GHz,SIMD,128bit,假設是處理16bit的資料,那就是8個數,那麼一個週期,最多執行8個乘加計算。一次最多執行16個操作。這還是理論上,其實是不大可能的。

    那麼CPU一秒鐘的巔峰計算次數=16X4Gops=64Gops。

    這樣,可以算算CPU計算一次的時間了。

    同樣的,換成GPU算算,也能知道執行時間。因為對GPU內部結構不熟,所以不做具體分析。

    再來說說AI晶片。比如大名鼎鼎的谷歌的TPU1.

    TPU1,大約700M Hz,有256X256尺寸的脈動陣列,如下圖所示。一共256X256=64K個乘加單元,每個單元一次可執行一個乘法和一個加法。那就是128K個操作。(乘法算一個,加法再算一個)

    另外,除了脈動陣列,還有其他模組,比如啟用等,這些裡面也有乘法、加法等。

    所以,看看TPU1一秒鐘的巔峰計算次數至少是=128K X 700MHz=89600Gops=大約90Tops。

    對比一下CPU與TPU1,會發現計算能力有幾個數量級的差距,這就是為啥說CPU慢。

    當然,以上的資料都是完全最理想的理論值,實際情況,能夠達到5%吧。因為,晶片上的儲存不夠大,所以資料會儲存在DRAM中,從DRAM取資料很慢的,所以,乘法邏輯往往要等待。另外,AI演算法有許多層網路組成,必須一層一層的算,所以,在切換層的時候,乘法邏輯又是休息的,所以,諸多因素造成了實際的晶片並不能達到利潤的計算峰值,而且差距還極大。

    可能有人要說,搞研究慢一點也能將就用。

    目前來看,神經網路的尺寸是越來越大,引數越來越多,遇到大型NN模型,訓練需要花幾周甚至一兩個月的時候,你會耐心等待麼?突然斷電,一切重來?(曾經動手訓練一個寫小說的AI,然後,一次訓練(50輪)需要大約一天一夜還多,記得如果第一天早上開始訓練,需要到第二天下午才可能完成,這還是模型比較簡單,資料只有幾萬條的小模型呀。)

    修改了模型,需要幾個星期才能知道對錯,確定等得起?

    突然有了TPU,然後你發現,吃個午飯回來就好了,引數最佳化一下,繼續跑,多麼爽!

    計算速度快,才能迅速反覆迭代,研發出更強的AI模型。速度就是金錢。

    GPU的核心結構不清楚,所以就不比較了。肯定的是,GPU還是比較快的,至少比CPU快得多,所以目前大多數都用GPU,這玩意隨便一個都能價格輕鬆上萬,太貴,而且,功耗高,經常缺貨。不適合資料中心大量使用。

    總的來說,CPU與GPU並不是AI專用晶片,為了實現其他功能,內部有大量其他邏輯,而這些邏輯對於目前的AI演算法來說是完全用不上的,所以,自然造成CPU與GPU並不能達到最優的價效比。

    谷歌花錢研發TPU,而且目前已經出了TPU3,用得還挺歡,都開始支援谷歌雲計算服務了,貌似6點幾美元每小時吧,不記得單位了,懶得查。

    可見,谷歌覺得很有必要自己研發TPU。

    目前在影象識別、語音識別、自然語言處理等領域,精度最高的演算法就是基於深度學習的,傳統的機器學習的計算精度已經被超越,目前應用最廣的演算法,估計非深度學習莫屬,而且,傳統機器學習的計算量與 深度學習比起來少很多,所以,我討論AI晶片時就針對計算量特別大的深度學習而言。畢竟,計算量小的演算法,說實話,CPU已經很快了。而且,CPU適合執行排程複雜的演算法,這一點是GPU與AI晶片都做不到的,所以他們三者只是針對不同的應用場景而已,都有各自的主場。

    至於為何用了CPU做對比?

    而沒有具體說GPU。是因為,我說了,我目前沒有系統檢視過GPU的論文,不瞭解GPU的情況,故不做分析。因為積累的緣故,比較熟悉超標量CPU,所以就用熟悉的CPU做詳細比較。而且,小型的網路,完全可以用CPU去訓練,沒啥大問題,最多慢一點。只要不是太大的網路模型。

    那些AI演算法公司,比如曠世、商湯等,他們的模型很大,自然也不是一塊GPU就能搞定的。GPU的算力也是很有限的。

    至於說CPU是序列,GPU是並行

    沒錯,但是不全面。只說說CPU序列。這位網友估計對CPU沒有非常深入的理解。我的回答中舉的CPU是IBM的POWER8,百度一下就知道,這是超標量的伺服器用CPU,目前來看,效能已經是非常頂級的了,主頻4GHZ。不知是否注意到我說了這是SIMD?這個SIMD,就代表他可以同時執行多條同樣的指令,這就是並行,而不是序列。單個數據是128bit的,如果是16bit的精度,那麼一週期理論上最多可以計算八組資料的乘法或加法,或者乘加。這還不叫並行?只是並行的程度沒有GPU那麼厲害而已,但是,這也是並行。

    不知道為啥就不能用CPU來比較算力?

    拜託,GPU本來是從CPU中分離出來專門處理影象計算的,也就是說,GPU是專門處理影象計算的。包括各種特效的顯示。這也是GPU的天生的缺陷,GPU更加針對影象的渲染等計算演算法。但是,這些演算法,與深度學習的演算法還是有比較大的區別,而我的回答裡提到的AI晶片,比如TPU,這個是專門針對CNN等典型深度學習演算法而開發的。另外,寒武紀的NPU,也是專門針對神經網路的,與TPU類似。

    谷歌的TPU,寒武紀的DianNao,這些AI晶片剛出道的時候,就是用CPU/GPU來對比的。

    看看,谷歌TPU論文的摘要直接對比了TPU1與CPU/GPU的效能比較結果,見紅色框:

    這就是摘要中介紹的TPU1與CPU/GPU的效能對比。

    再來看看寒武紀DianNao的paper,摘要中直接就是DianNao與CPU的效能的比較,見紅色框:

    回顧一下歷史

    上個世紀出現神經網路的時候,那一定是用CPU計算的。

    比特幣剛出來,那也是用CPU在挖。目前已經進化成ASIC礦機了。位元大陸瞭解一下。

    從2006年開始開啟的深度學習熱潮,CPU與GPU都能計算,發現GPU速度更快,但是貴啊,更多用的是CPU,而且,那時候GPU的CUDA可還不怎麼樣,後來,隨著NN模型越來越大,GPU的優勢越來越明顯,CUDA也越來越6,目前就成了GPU的專場。

    寒武紀2014年的DianNao(NPU)比CPU快,而且更加節能。ASIC的優勢很明顯啊。這也是為啥要開發ASIC的理由。

    至於說很多公司的方案是可程式設計的,也就是大多數與FPGA配合。你說的是商湯、深鑑麼?的確,他們發表的論文,就是基於FPGA的。

    這些創業公司,他們更多研究的是演算法,至於晶片,還不是重點,另外,他們暫時還沒有那個精力與實力。FPGA非常靈活,成本不高,可以很快實現架構設計原型,所以他們自然會選擇基於FPGA的方案。不過,最近他們都大力融資,官網也在招聘晶片設計崗位,所以,應該也在涉足ASIC研發了。

    如果以FPGA為代表的可程式設計方案真的有巨大的商業價值,那他們何必砸錢去做ASIC?

    說了這麼多,我也是半路出家的,因為工作需要而學習的。按照我目前的理解,看TPU1的專利及論文,一步一步推匯出內部的設計方法,理解了TPU1,大概就知道了所謂的AI處理器的大部分。然後研究研究寒武紀的一系列論文,有好幾種不同的架構用於不同的情況,有興趣可以研究一下。然後就是另外幾個獨角獸,比如商湯、深鑑科技等,他們每年都會有論文發表,沒事去看看。這些論文,大概就代表了當前最先進的AI晶片的架構設計了。當然,最先進,別人肯定不會公開,比如谷歌就不曾公開關於TPU2和TPU3的相關專利,反正我沒查到。不過,沒事,目前的文獻已經代表了最近幾年最先進的進展了。

  • 中秋節和大豐收的關聯?
  • 學會一萬個單詞是個什麼概念?能夠毫不費力的與外華人交流嗎?