建立FPGA深度學習加速生態圈,為人工智慧賦能

2021-07-25 20:53:56 字數 2857 閱讀 1728

原文:

毫無疑問,如果評選2023年度科技界十大最耀眼熱詞,人工智慧&深度學習必定會華麗麗地上榜。從年初阿爾法狗戰勝世界圍棋冠軍李世石,到年末世界網際網路大會上bat大佬們的集體ai秀,每乙個訊號都在不斷提示著我們,人工智慧時代來了,未來已來,且就在我們身邊。

2023年,約翰·麥卡錫等人出席的達特茅斯會議正式標誌著人工智慧的誕生。經過60年的發展,人工智慧歷經了三次浪潮,發展可謂起起落落。

第一次,達特茅斯會議確立了人工智慧這一術語,第一款感知神經網路軟體和聊天軟體誕生,數學定理被證明,人類第一次進入了人工智慧的狂歡時期。然而,人們很快發現,這些理論和模型只能解決一些非常簡單的問題,他們把問題想得過於簡單,人工智慧隨即進入低谷。

第二次,八十年代hopfield神經網路和bt訓練演算法的提出,使得人工智慧再次興起,出現了語音識別、語音翻譯模型也為第二次人工智慧的熱潮點燃了希望之火。但這些設想遲遲未能進入人們的生活之中,第二次浪潮也隨之破滅。

第三次,隨著2023年hinton提出的深度學習技術,以及2023年imagenet競賽在影象識別領域帶來的突破,人工智慧再次迎來了烈火烹油式的爆發。特別是到了2023年,大資料技術的日臻成熟以及高效能計算和演算法的跨越式進步,為人工智慧的發展帶來了真正的動力。

高效能計算加速深度學習落地,gpu與fpga各有所長

而這一次人工智慧熱潮的興起,與前兩次有著截然不同的本質區別,其中高效能計算應用加速能力的大幅提公升功不可沒。在恆揚資料應用加速部門產品經理張軍看來,深度學習模型是構建在海量的資料和強有力超算能力基礎之上的,傳統計算架構已經無法支撐深度學習大規模平行計算需求,因此,通過底層應用加速計算過程結合深度學習演算法上的優化,是推動人工智慧整個產業鏈發展的重要環節。

目前針對深度學習的分布式加速主要有三種方式:gpu、fpga和npu。gpu是最先被引入深度學習領域的,我們熟知的阿爾法狗就是由1920個cpu+280個gpu搭建的超算平台,作為最早看好深度學習應用加速的公司,英偉達是該領域當仁不讓的領導者,通過打造cuda平台,gpu在simd單指令多資料流架構中的優勢被全面激發,結合高平行計算和高計算吞吐的特點,gpu可以大規模適用於具備計算密集、高並行、simd應用等特點的深度學習訓練模型領域。目前,gpu已經在深度學習訓練模型領域開創性地建立了包含cnn、dnn、rnn、lstm以及強化學習網路等演算法在內的應用加速平台和完整的生態系統。

gpu雖火,但從技術上講,也有一定的侷限性。

首先,執行能效比不佳。相比較而言,執行深度學習演算法實現同樣的效能,gpu所需功耗遠大於fpga,通常情況下,gpu只能達到fpga能效比的一半或更低。

其次,應用過程中無法充分發揮平行計算優勢。深度學習包含兩個計算環節,即訓練(off-line)和推理(on-line)環節。gpu在深度學習演算法模型訓練上非常高效,但在推理時一次性只能對於乙個輸入項進行處理,平行計算的優勢不能發揮出來。

第三,硬體結構固定不具備可程式設計性。目前來看,深度學習演算法還未完全成熟,演算法還在迭代衍化過程中,若深度學習演算法發生大的變化,gpu無法像fpga一樣可以靈活的配置硬體結構,快速切入市場。 而以上這些不足,恰恰可以通過fpga加速的方式來彌補。

可以說,gpu和fpga在加速深度學習演算法方面各有所長。 據張軍介紹,單純從效能角度來看,目前看fpga的效能要弱於gpu,但fpga在效能功耗比方面的表現卻非常驚豔,以恆揚nsa系列深度學習加速卡來看,效能功耗比可以做到70gflops/w,是英偉達m4的2倍多,是intel眾核晶元的5倍,優勢還是相當明顯的。這一點,對大型資料中心而言至關重要,可以節省大量伺服器部署及機房建設、用電成本。

從計算優勢來講,目前大家看到在深度學習模型訓練領域基本使用的是simd架構,即只需一條指令可以平行處理大量資料,這一點正好可以發揮gpu平行計算優勢,但是容易讓人忽略的是,在完成訓練模型後,深度學習還需要進行推理計算環節,即misd單一資料需要用多條指令平行處理,而這部分計算,正是fpga最為擅長的。

根據賽靈思全球戰略與市場營銷高階副總裁steve glasev介紹,他認為fpga未來在超級資料中心將成主流應用,尤其是在深度學習方面,在這方面gpu強在訓練,而fpga強在推斷。一旦需要大規模部署訓練模型,就必須大幅度提高效率,這需要新的推斷引擎來提公升效率,比如3到4倍,同時還要最小限度損失精確性,這正是fpga的強項。他**,未來至少95%的機器學習計算都是用於推斷,只有不到5%是用於模型訓練,這是兩者的區別。

另外,不同架構的fpga由於底層dsp有所不同,因此在不同領域的利用率和計算效率也有所不同。

從靈活性來說,gpu一旦設計完成就無法根據應用去調整硬體資源,但fpga可以根據特定的應用給硬體程式設計,能針對任何新型應用和演算法進行硬體優化。正是這種特有的可重配置和可重程式設計特性,fpga能在一秒之內快速切換成不同的設計方案,面對下乙個工作負載進行硬體優化,成為超大規模資料中心應用提供高度靈活、複雜多變的和高能效的最佳計算方案。

打造深度學習生態閉環,為人工智慧賦能

目前,恆揚非常看好類似的應用,正在與國內的幾大資料中心展開聯手合作,我們致力於與賽靈思聯手,與超大資料中心進行深度合作,挖掘fpga在深度學習中的潛能。

在完善演算法的同時,將技術與行業緊密結合,打通商業閉環也是恆揚重點布局的方向。fpga的特性決定了它在某些特定行業應用上具有得天獨厚的優勢,例如在醫療領域,醫學影像比普通影象紋理更多,解析度更高,相關性更大,儲存空間要求更大,必須嚴格確保臨床應用的可靠性,其壓縮、分割等影象預處理、影象分析及影象理解等要求更高。這些特點恰恰可以充分發揮fpga的優勢,通過fpga加速影象壓縮程序,刪除冗餘,提高壓縮比、並確保影象診斷的可靠性。類似的醫療領域應用還有基因測序加速。

除了在雲端構建恆揚深度學習生態圈外,對於特定的不適合放在雲端的終端應用,如無人機、自動駕駛、機械人,恆揚也開始逐步探索,我們相信,在智慧型時代,fpga會扮演越來越重要的角色,成為變革全球經濟的重要技術手段,更多地改變我們的學習、工作和娛樂方式。

如何給深度學習加速 模型壓縮 推理加速

深度學習模型往往受到端計算力的限制,無法很好的部署在移動端或無法降低端的計算成本。例如自動駕駛的模型就過於巨大,而且往往是很多模型並行,所以一般會用一些加速的方法來降低推算的計算力要求。加速方法有多種不同角度 網路結構,模型推理加速,模型剪枝,引數量化等。table of contents 網路結構...

深度學習 縮減 召回加速網路訓練

本次介紹的是怎樣通過對訓練資料進行縮減以及召回而加快網路訓練速度,accelerating deep learning with shrinkage and recall 這篇文章給人的感受就是 想法很簡單,實現的也很粗糙。但是,問題的角度比較新穎,而且感覺有很大空間可以繼續挖掘。深度神經網路訓練比...

深度學習基礎 卷積 加速的卷積運算

convolution在gpu上如何實現,文中介紹了三種方法 缺點 這種實現呢需要處理許多的corner case。文中介紹cuda convnet2是實現了該種方法,該種方法在不同取值的卷積引數空間效率不一,比如batch size 128,效率很高,但是如果batch size 64,效率比較低...