999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

FPGA 加速深度學習綜述

2021-11-17 08:24:32劉騰達朱君文張一聞
計算機與生活 2021年11期
關鍵詞:深度優化模型

劉騰達,朱君文,張一聞

1.武警工程大學 研究生大隊,西安710086

2.武警工程大學 信息工程學院,西安710086

近年來,隨著大數據時代的來臨,人們在短短幾年中創造的數據呈爆發式增長[1-3],得益于數據量的上漲、運算力的提升和深度學習的出現,人工智能開始迅猛發展。作為實現人工智能的重要技術和研究方向,深度學習已經廣泛應用于計算機視覺[4-6]、語音識別[7-9]和自然語言處理[10-12]等諸多領域。為了提高計算性能以適應神經網絡模型的增大及其參數的增多,研究者在尋找各種軟、硬件解決方案上花費了大量努力,目前廣泛應用的方法有CPU、GPU、FPGA 和ASIC 等加速技術,其中GPU 加速技術由于其強大的計算能力已經成為深度學習加速方式的首選。現場可編程邏輯門陣列(field programmable gate array,FPGA)由邏輯單元陣列構成,內部包括可配置的邏輯模塊、輸入輸出模塊和內部互聯網連線[13]。與其他加速方式相比,FPGA 具有可重構、高能效比、高性能、便攜、延遲低等優勢?;谶@些優勢,FPGA 近年來迅速發展,逐漸成為GPU 在算法加速領域的有力競爭者。目前基于FPGA 的神經網絡加速器種類較多,其設計理念和加速方案各不相同,根據設計理念和滿足需求的不同,可以分為:針對神經網絡模型的加速器、針對具體問題定制的加速器、針對優化策略的加速器和針對硬件模板的加速器框架[14]。本文在深度學習的典型模型的基礎上,歸納列舉了各種FPGA 加速器并對比了典型加速器的性能特點,理清了FPGA 加速深度學習的研究現狀,為進一步深入研究深度學習的FPGA 加速技術奠定了基礎。

1 深度學習典型模型簡介

2006 年,加拿大多倫多大學教授、機器學習領域的泰斗Hinton 和他的學生在Science上發表了一篇文章,正式提出深度學習[15]的概念并開啟了深度學習在學術界和工業界的浪潮。深度學習的概念源于人工神經網絡的研究,是機器學習研究中的一個新的領域,可以簡單理解為神經網絡的發展,其動機在于建立模擬人腦進行分析學習的神經網絡,模仿人腦的機制來解釋數據。深度學習的實質,是通過構建具有很多隱層的機器學習模型和海量的訓練數據,來學習更有用的特征,從而最終提升分類或預測的準確性。目前,廣泛使用的深度學習模型有深度神經網絡(deep neural network,DNN)、卷積神經網絡(convolutional neural networks,CNN)和循環神經網絡(recurrent neural network,RNN)[16]等。

1.1 深度神經網絡

深度神經網絡是在單層感知機的基礎上通過增加隱含層的數量及相應的節點數而形成的,它的出現克服了單層感知機性能低下的缺陷[17],結構如圖1所示。

Fig.1 Illustration of deep neural network圖1 深度神經網絡結構示例

深度神經網絡的相鄰層之間全連接,其隱含層的數量和節點的數目更多,因而要訓練的參數規模非常大。DNN 主要用于圖像識別和語音識別領域,在圖像識別時可以忽略圖像的空間幾何關系,將其變為一維數據進行處理,因此相比于單層感知機有著更優秀的性能表現。

隨著神經網絡層數的不斷加深,參數數量的膨脹導致過擬合的現象愈發嚴重,并且優化函數越來越容易陷入局部最優解。為了克服這一問題,卷積神經網絡應運而生。

1.2 卷積神經網絡

對卷積神經網絡的研究始于20 世紀80 年代,卷積神經網絡模仿生物視覺系統結構,其隱含層包括卷積層、池化層和全連接層三類常見構筑[18-19],網絡結構如圖2 所示。

Fig.2 Illustration of convolutional neural network圖2 卷積神經網絡結構示例

卷積層和池化層通過運算提取出數據的特征圖,在全連接層將特征圖映射成特征向量,從而把數據中的特征保存下來以達到識別分類的目的[20]。對于CNN 來說,并不是所有上下層神經元都能直接相連,而是通過“卷積核”作為中介,利用權重共享極大地減少了網絡的參數量,使得訓練大規模網絡變得可行。相比于其他網絡,卷積神經網絡的適應性更強,正逐漸成為圖像識別和自然語言處理等領域的主流網絡。

由于每層信號只能單向傳播并且樣本處理在各個時刻相互獨立,DNN 和CNN 無法對時間序列上的變化進行建模。但是在自然語言處理、語音識別、手寫體識別等領域,樣本出現的時間順序十分關鍵,循環神經網絡就是為了適應這種需求而誕生的。

1.3 循環神經網絡

循環神經網絡是一類以序列數據為輸入,在序列的演進方向進行遞歸且所有節點按鏈式連接的遞歸神經網絡[21]。如圖3 所示,循環神經網絡具有記憶性、參數共享并且圖靈完備,因此更擅長學習序列的非線性特征[22],常被用于自然語言處理和時間序列預報等領域。

Fig.3 Illustration of recurrent neural network圖3 循環神經網絡結構示例

隨著人工智能的迅猛發展,神經網絡模型層數和節點數量日趨增多,模型的復雜程度越來越高,深度學習和神經網絡對硬件的計算能力提出了更嚴格的要求。相比于CPU 和GPU,FPGA 加速技術因其可重構和低功耗等優勢受到了人們的極大關注。根據設計理念和滿足需求不同,基于FPGA 的深度學習加速器大體可分為針對神經網絡模型的加速器、針對具體問題定制的加速器、針對優化策略的加速器和針對硬件模板的加速器框架等,下面作以歸納比較。

2 針對神經網絡模型的加速器

針對某種神經網絡模型加速思路最直接,設計目的也最明確,這種加速器在用于特定場合時,通常只需要對程序或參數作以微調便可使用,十分方便。圖4 展示了基于FPGA 的神經網絡加速器的發展演進歷史以及在IEEE 上發表有關論文的數量趨勢,從中可以看出,近年來FPGA 加速神經網絡的研究愈發受到人們的重視。

Fig.4 Development history of neural network accelerator based on FPGA圖4 基于FPGA 的神經網絡加速器發展趨勢

2.1 卷積神經網絡的FPGA 加速器

FPGA 加速卷積神經網絡的關鍵在于提高計算能力和數據傳輸速度[23-26],通常采用提高卷積神經網絡中并行計算能力的方法來提升計算效率以及利用減少數據量、減少訪存次數等方式來解決數據傳輸開銷大的問題。

為了解決卷積神經網絡中制約計算能力的計算吞吐和內存帶寬不匹配的問題進而提高計算能力,文獻[27]設計了如圖5 所示的硬件結構。

Fig.5 Block diagram of proposed accelerator圖5 基礎硬件結構圖

這種結構在輸入和輸出部分分別采用兩個緩沖區并使用“乒乓”的數據傳輸機制,得以使用計算時間來掩蓋數據傳輸時間,并且計算引擎內部是底層乘法器聯合多層加法器的“樹形”結構,多個計算引擎并行進行不同卷積核的卷積操作,由此減少了程序執行時間,進而很好地改善了計算吞吐和內存帶寬不匹配的問題。這種結構在Virtex7 VX485T 平臺上達到了61.62 GFLOPS 的峰值性能,遠超CPU(Xeon E5-2430)的12.87 GFLOPS[27]。雖然這種結構設計取得了優異的性能,但是從整體來看,該結構并未考慮全連接層的模型參數優化,因此處理更為大量的數據所產生的傳輸開銷可能會限制實際的性能表現;并且這種“樹形”結構的計算引擎只能處理規則的卷積操作,不適應于經過稀疏性處理的卷積神經網絡。由此可見,隨著不規則卷積計算越來越多的應用,該結構的使用場景可能會受限。

另外一些研究在努力提高卷積神經網絡的計算能力的同時,通過使用大量寄存器代替BRAM 的方法來降低結構對外部接口的帶寬需求[28],其最終速度在FPGA(Virtex7)平臺上比CPU(i7 4790K)快16.42倍[28]。還有學者使用基于移位寄存器的串矩轉換結構和基于脈動陣列的卷積層和池化層運算單元[29],這種架構可以搭建任意規模的CNN 模型,并且提高了頻率和計算吞吐量,減小了輸入、輸出帶寬需求。另外,還可以將FPGA 的片上資源劃分成多個小處理器來提高計算能力[30],使用多個FPGA 加速卷積神經網絡來提高整體的計算吞吐等[31-32]。為了有效解決片上存儲器帶寬對性能的限制,學者提出一種新的內核設計[33],在計算、片上和片外存儲器訪問之間提供最佳的平衡。

此外,可以使用二值神經網絡來降低數據精度提高數據傳輸速度,進而提高卷積神經網絡的計算效率[34-35]。文獻[34]使用如圖6 所示結構的處理單元和乘法單元。在處理單元中,使用一個本地RAM 來保持網絡權重并且將權重打包成bit 值來提高處理效率;在乘法單元中,使用同或門替代乘法器來降低計算難度并提高計算效率。這種降低FPGA 片上資源的使用、減小計算難度來實現加速的優化思路十分值得借鑒,在后續其他相關研究中也有很多應用。在150 MHz的頻率條件下的VGG8 模型中,此方法獲得的能效比是GPU(GTX Titan X)的10 倍[34]。由于該設計重點關注的是計算結構,而忽略了數據交互相關的優化,其加速性能還有提升的空間。

Fig.6 Proposed accelerator for binarized neural networks圖6 二值神經網絡硬件結構

同時,還有學者提出了一種動態精度數據量化的方法[36],這種方法可以使神經網絡不同層對應的定點數的整數和小數位數不同,進而實現了在找到更短的定點數位數的同時保持需要的準確率。

2.2 遞歸神經網絡的FPGA 加速器

基于FPGA 的遞歸神經網絡加速器是新興的研究領域,其設計思想在本質上與卷積神經網絡加速器是一致的,都是從提高FPGA 的計算性能和資源利用的角度出發進行加速設計。目前這方面的文獻主要集中在LSTM(long short-term memory)和GRU(gated recurrent unit)兩種模型。

文獻[37]在文獻[28]設計模型的基礎之上增加了LSTM 緩沖區,實現了基于FPGA 的LSTM-RNNs 加速器,這樣做的好處是緩沖區可以保存狀態參數而下一級計算就無需重新加載,從而降低了對帶寬的要求。后面的研究利用深度壓縮的算法對LSTM 進行壓縮并設計了專用的編譯器和處理器架構與之匹配,進一步提高了性能[38]。

對于GRU模型來說,加速的技術難點在于如何減少矩陣向量乘法操作所占用的大量時間。Nurvitadhi等通過將矩陣拆分成多個列塊進而進行并行計算,最終用減少2/3 內存空間的代價換取了矩陣向量乘法減少一半的效果[39],證明了此研究方向的可行性。

3 針對具體問題的加速器

在實際工作中,人們往往會為了解決特定的問題專門定制具有所需功能的FPGA 加速器,這種定制的加速器設計難度相對較小并且能很好地解決相應的問題,因而是目前FPGA 加速器最廣泛的應用形式,尤其在語音識別、圖像識別和自然語言處理等特定領域,FPGA 的表現十分優異。

3.1 針對語音識別的FPGA 加速器

語音識別是指能夠讓計算機自動地識別語音中所攜帶信息的技術,具有實時性強和集成度高的特點。近年來,深度神經網絡模型的發展給處在瓶頸階段的傳統GMM-HMM 語音識別技術帶來了巨大變革,將識別的準確率和實時性提升到了新的高度,微軟、百度、科大訊飛等多家公司將CNN、RNN 等各種網絡模型成功地應用到語音識別中并不斷改善系統的識別率??梢?,深度學習技術對語音識別的發展有著極為重要的影響。

在加速語音識別方面,針對LSTM 模型壓縮后出現的多核并行負載不均衡的問題,學者設計了專門用來加速LSTM 的剪枝算法和相應的ESE(efficient speech recognition engine)新架構[38],其硬件結構如圖7 所示。

Fig.7 Overall architecture of ESE system圖7 ESE 系統整體結構

該結構的核心在于FPGA 上的ESE 加速器,該加速器通過使用多個由處理單元和激活向量隊列單元組成的通道單元來解決多核并行負載不均衡的問題。處理單元均采用雙緩沖區結構和“乒乓”數據傳輸方式以提高執行效率;運行較快的處理單元可以從激活向量隊列單元中獲取數據繼續工作而無需等待其他處理單元,從而解決了不同處理單元工作負載不平衡所帶來的問題。

這種結構取得了十分優異的性能表現,在計算矩陣大小相同的前提下,與CPU(i7 5930k)和GPU(GTX Titan X)相比,Xilinx XCKU060 FPGA 平臺上ESE 結構的語音識別速度分別比CPU 和GPU 快43倍和3 倍,并且能效比分別提高了40 倍和11.5 倍[38]。ESE 系統的一個優化難點也是制約其性能的關鍵在于FPGA 硬件加速器、CPU 軟件程序以及外部存儲器三者之間的任務分配和調度協調問題,處理好此問題可以使該結構在語音識別領域獲得更為廣泛的應用與發展。

在實際應用過程中,近幾年韓國SK 公司推出的AIX(artificial intelligence axellerator)就是在ESE 結構的基礎上為語音識別提供的一個解決方案,其應用于微軟的開源語音識別框架Kaldi。AIX 使用了Xilinx 的FPGA 平臺,充分利用了FPGA 能提供的外存訪問帶寬和DSP 資源。在自動語音識別中,其能效比分別是CPU 的10.2 倍和GPU 的20.1 倍,充分體現了FPGA 平臺加速語音識別的強大性能。

3.2 針對圖像識別和處理的FPGA 加速器

圖像識別是指利用計算機對圖像進行處理、分析和理解以識別各種不同模式的目標和對象的技術,是深度學習最早嘗試應用的領域。2012 年,深度學習技術首次出現在ImageNet 競賽中,成功應用到圖像識別領域并以壓倒性的優勢超越了之前最優秀的支持向量機方案,使識別錯誤率大幅降低了40%,并且近年來在圖像分類、圖像檢測、人臉識別等領域最優秀的系統都是基于深度學習開發的。

在加速圖像識別方面,針對圖像識別的并行計算性能受硬件資源和帶寬影響的問題,屈偉根據roofline模型選取最合適的并行展開因子使得在FPGA 上具有最高的性能峰值[40]。其加速架構如圖8 所示。

Fig.8 Overall architecture of FPGA acceleration圖8 FPGA 算法加速架構

這種架構將圖像從DDR 輸入到FPGA 片上緩存,并且在片上本地緩存只緩存正在計算的權值,緩存的特征圖作為下一卷積層的輸入與卷積核再次卷積,直到得到最后輸出。該方法還使用流式架構分別優化卷積層和全連接層,并且將全連接層并行展開來充分利用FPGA 的片上資源。使用ZCU102 評估板,該方法的性能峰值可達81.2 GFLOPS,遠超CPU(i7 8750H)的11.7 GFLOPS,而功耗只有CPU 的25%,模型的識別精度也比GPU 高出3%[40]。此架構在實際應用過程中,由于很大程度受到計算和內存訪問不具有連續一致性的影響,導致實際性能并無明顯提升的同時反而增加了數據流控制的復雜性,因而從整體實用性來看,在圖像識別領域相比于GPU 并無絕對優勢。

在產品實現方面,針對工業、物聯網和機器視覺等專業視覺應用領域,米爾科技推出的FPGA 圖像處理平臺展現出強大的圖像處理能力,在圖像識別、圖像去噪和圖像還原等方面均有優異的表現,具有4K級視覺處理能力的同時將延時控制在了亞毫秒級。

3.3 針對自然語言處理的FPGA 加速器

自然語言處理(natural language processing,NLP)也是深度學習的一個重要應用領域,目前基于統計的模型已成為NLP 的主流,同時人工神經網絡在NLP 領域也受到了理論界的足夠重視。在自然語言處理領域,基于FPGA 的處理器模型具有最先進的成果,推進了人類與嵌入式設備自然交互的應用。

在加速自然語言處理方面,針對自然語言模型數量巨大且更新較快的特點,Khan 等提出的基于FPGA的覆蓋式處理器NPE(FPGA-based overlay processor for NLP model inference at the edge)可以高效地執行各種自然語言處理模型,其架構如圖9所示[41]。該架構的設計思路是利用各種功能單元和對應的內存緩沖區以及FPGA 配置靈活性的特點搭建一個具有類似軟件可編程性的架構以適應自然語言處理極為廣泛多樣且復雜多變的應用環境。

這種結構的矩陣乘法單元(matrix multiply unit,MMU)包含大量的處理單元來高速執行矩陣乘法,并將結果寫入存儲器,非線性向量單元(nonlinear vector unit,NVU)從MMU 存儲器讀取,并將結果寫入MIB(MMU input buffer)[41]。其中NVU 是一個數據并行向量加載/存儲體系結構,它在每個時鐘周期中對多個元素執行算術和邏輯操作,可以在最小的資源開銷下處理高通量非線性函數計算,由此來達到預期的加速效果,并且為了滿足每個加速器不同的FPGA的設計,可以為未來的NLP 模型升級,而無需重新配置,因此NPE可以有效地執行各種NLP模型。

在Ultrascale+VCU118 FPGA 平臺上,NPE 在可以滿足實時對話式AI 延遲目標的同時,其功耗是CPU(i7 8700k)的1/4,是GPU(RTX 5000)的1/6[41]。除了優異的性能表現,NPE 高適應性的特點十分契合NLP 的未來發展形式,這展示出該架構以及FPGA在自然語言處理領域的廣闊應用前景。

4 針對優化策略和硬件模板的加速器

4.1 針對優化策略的加速器

Fig.9 Overall architecture of NPE圖9 NPE 整體架構

研究人員在設計FPGA 加速器時也要考慮優化策略,合理的優化可以明顯提高加速器的性能以及資源利用率,目前研究較多的優化策略主要包括計算優化和內存優化。

(1)計算優化。包括提高并行計算能力、循環流水技術、循環分塊和循環展開等。對于計算并行優化,Motamedi 等指出神經網絡中的并行方式主要有四種,即不同層之間的并行、不同輸出特征圖之間的并行、像素點之間的并行和像素點計算的并行[42]。由于相鄰的層與層之間存在數據依賴,實現不同層之間的并行優化最為復雜,其他三種并行方式的優化通常是研究人員考慮的重點。

對于循環展開和循環流水技術,學者通過使用循環展開形成有效的流水,流水線架構能夠縮短整體執行時間[43]。

循環展開在消耗一定硬件資源的前提下形成流水線型架構,從而提高了并行度,節省了計算所需時間。文獻[43]使用循環展開大幅降低了load 模塊和store 模塊的操作數,內核的執行時間也從未展開時的1 110.096 ms 降低為循環展開后的46.620 ms。但循環展開并不是萬能法則,在使用循環展開時必須要充分考慮循環中數據之間的關系、卷積核大小等問題并以此來確定對應的硬件設計,防止出現事倍功半的結果。

(2)內存優化。包括減小數據精度和層間數據復用等。對于計算的操作數,在不損失準確率或者準確率損失較小的情況下用定點數代替浮點數是可行的[44]。

神經網絡通常是流式結構,因此每層的計算都需要片下存儲的訪問,文獻[45]使用了層與層之間融合的方法,更好地解決層與層之間數據復用的問題。這種方法使用金字塔狀的多層滑動窗口對輸入數據進行處理,進而可以得到后面幾層的結果。四層單金字塔和多金字塔結構示例如圖10 所示。

在單金字塔結構中,所有層都融合成一個金字塔,這樣只能加載第一層的數據并且只有第四層的輸出存儲到動態隨機存儲器。相比之下,在多金字塔結構中,第三層輸出必須存儲到動態隨機存儲器并且需要讀回以組成第二個金字塔,這種結構使得輸入和輸出的結果更小,從而減少了所用模型的計算量。

Fig.10 Example of single pyramid and multi-pyramid applied over four layers圖10 四層單金字塔和多金字塔示例

實驗使用VGGNet-E 中的前五個卷積層融合的CNN 加速器與賽靈思Virtex-7 FPGA 加速器進行比較,結果證明這種多金字塔融合卷積層的方法減小了95%的片外存儲訪問[45],計算效率得以提高。

不論是面向計算還是內存的優化,其目的都在于降低FPGA 的計算復雜度,提高數據交換能力以及資源利用率。由于其思路簡潔、成效頗豐,這些針對優化策略的加速設計在未來將會獲得科研人員持久且廣泛的關注與重視。

4.2 針對硬件模板的加速器

研究人員使用現成的硬件模板來設計加速器是另一種可行方案,因為這些FPGA 硬件模板已經實現了某些編程模型,人們只需針對自己的具體問題再進行模塊完善和配置參數即可,但是目前對于這種通用硬件加速器框架的研究還很少。在深度神經網絡研究中,傳統的加速器設計流程可能使得FPGA 開發人員難以跟上深度神經網絡創新的快速步伐,針對這一問題,有學者提出了一種FP-DNN 的框架[46],如圖11 所示。

這種端到端的框架使用TensorFlow 描述的DNN作為輸入,并用RTL-HLS 混合模板作為硬件生成器在FPGA 上自動生成硬件實現:使用RTL 來設計高性能計算引擎并使用基于OpenCL 的HLS 框架來實現RTL 部分的控制邏輯,從基于軟件的模型描述到基于FPGA 的模型推理實現,此程序都是自動完成,無需任何人工干預。

Fig.11 FP-DNN framework圖11 FP-DNN 框架

實驗結果表明,在VGG-19 模型中,Stratix-V GSMD5 FPGA 平臺的16 位定點計算性能大概是CPU(Xeon E5-2650v2)平臺的2 到3 倍,能量利用率也達到了20 倍,并且相比于傳統開發設計流程,所用開發實現時間縮短了20%左右[46]。在實際使用過程中,由于計算內核需要與芯片外的DRAM 進行輸入輸出通信,帶寬問題可能會成為整體性能的瓶頸,因此必須選擇恰當的方案來優化不同層的DRAM 帶寬,例如在卷積層使用Row-major 的方式存儲輸入特性以避免數據重復,或者使用Channel-major 的方式來扁平輸入矩陣等。

5 性能比較

通過前面對各種FPGA 加速深度學習的模型和框架的分析,將其測試和仿真結果與相應的CPU 和GPU 平臺的結果相比較,客觀評價FPGA 加速深度學習的各種性能表現。

5.1 針對網絡模型和硬件模板的加速性能分析

在LSTM、VGG 和Res-Net 三種模型中,FP-DNN(Stratix-V GSMD5)、CPU(Xeon E5-2650v2)和GPU(GTX TITAN X)性能對比如表1[46]所示。

根據表1 可以得到,FPGA 加速VGG 模型的效果最好,其性能稍高于LSTM,明顯高于Res-Net,并且16 位定點數相比于32 位浮點數的表現更為出色[46]。不論何種網絡模型,采用16 位定點數的FP-DNN 的功耗和能效相對于CPU 和GPU 有較大優勢,其性能峰值是CPU 的1.9~3.06 倍。

雖然FP-DNN 在性能上無法與GPU 競爭,但是這種設計和使用通用加速器框架的思路仍然具有進一步的研究價值。同樣,由于人工智能的網絡結構越來越不局限于傳統的卷積形式,具有可重構性的FPGA 便脫穎而出,未來關于FPGA 加速神經網絡的研究成果會越來越多,其應用也會越來越廣泛。

Table 1 Performance comparison of different networks on different platforms表1 不同模型在不同平臺的性能對比

5.2 針對具體問題的加速性能分析

針對語音識別的加速器性能對比如表2[38]所示,所用硬件平臺為i7 5930k(CPU)、GTX Titan X(GPU)和XCKU060(FPGA),網絡模型為LSTM。

Table 2 Performance comparison of speech recognition on different platforms表2 語音識別在不同平臺的性能對比

針對圖像識別的加速器性能對比如表3[40]所示,所用硬件平臺為i7 8750H(CPU)、GTX 1070(GPU)和ZCU102(FPGA),網絡模型為VGG。

Table 3 Performance comparison of image recognition on different platforms表3 圖像識別在不同平臺的性能對比

針對自然語言處理的加速器性能對比如表4[41]所示,所用硬件平臺為i7 8700K(CPU)、RTX 5000(GPU)和Zynq-7100(FPGA),所用基準為FTRANS(Ultrascale+VCU118)加速器。

Table 4 Performance comparison of natural language processing on different platforms表4 自然語言處理在不同平臺的性能對比

觀察表2~表4 可以得出,在三個領域之中,FPGA在語音識別和自然語言處理領域獲得的加速效果更明顯,在功耗以及速度方面均擊敗了CPU 和GPU,但FPGA 在圖像識別領域的峰值速度不及GPU,在這種情況下,FPGA 的優勢在于其識別精度略高于后者。

綜合仿真結果以及FPGA 在這些領域的發展現狀,FPGA 在語音識別以及自然語言處理領域有著巨大的發展潛力和廣闊的應用前景,尤其在人工智能實時會話等實時性要求很高的領域,FPGA 憑借其低延時、高性能的優勢可以很好地滿足人們的需要。相比之下,FPGA 在圖像識別和處理領域也有其一席之地,特別是在可定制、可升級、需求量不大的軍工和醫療等領域,但是就總體的應用廣泛程度而言,FPGA 還遠不能撼動GPU 的地位。

5.3 關于FPGA 集群

FPGA 集群的性能對比如表5[32]所示,所用硬件平臺為Virtex7 XC7VX690T(FPGA)、GTX Titan X(GPU),網絡模型為VGG。

Table 5 Performance comparison of different cluster-levels表5 不同集群級的性能對比

從表5 結果可以得出,15*FPGA 集群相比于單FPGA 在性能和能效上有較大提升,并且性能峰值已經接近GPU,但是4*FPGA 集群性能和能效卻不及單FPGA,這說明了多FPGA 集成時需要注意的問題:各個FPGA 之間的權重分配、各種映射策略的平衡以及通信帶寬的限制,一旦沒有很好地解決這些問題,FPGA 集成取得的結果可能是事倍功半,這也在一定程度上限制了其發展。

6 總結與展望

隨著深度學習的不斷發展,加速深度學習的研究近年來備受關注,雖然FPGA 憑借其可重構、低能耗等優勢在加速深度學習方面取得了一定成績,但是也存在硬件編程困難以及重構過程時間成本較大等不可忽視的劣勢,因此FPGA 要達到更加為人們所熟知和更為廣泛應用的階段仍然有很長的路要走。根據目前的發展形勢可知,未來重點研究方向主要為以下幾點:

(1)激活函數優化。目前在FPGA 計算優化中對矩陣運算的循環部分研究居多,而對激活函數優化改進的研究很少,因而這是一個有待挖掘的領域。

(2)數據優化。采用低位數據可以提高模型的加速性能,但是也帶來了精度較低等劣勢,未來可以加強動態精度數據量化的研究,使神經網絡不同層對應的定點數的整數和小數位數不同,進而實現在找到更短的定點數位數的同時保持需要的準確率。

(3)FPGA 集群。集成多個FPGA 芯片的性能表現十分優異,問題在于如何處理好各個芯片之間的處理調度和分配問題,下一步可以從各種細粒度的劃分以及各芯片之間的權重分配出發來研究提高片上存儲器利用率,降低存儲需求。

(4)通信效率的提升。帶寬始終限制著FPGA 加速深度學習的實際效果,在未來可以從減少深度學習模型的帶寬需求以及變更體系結構的角度出發優化通信機制,進而提高FPGA 與其他硬件之間的通信效率。

可以預見,深度學習作為機器學習的革命性實現方法在未來有廣闊的發展前景。同樣,基于FPGA的深度學習加速技術也會漸入佳境、日新月異,最終促進整個人工智能領域的變革和發展。

猜你喜歡
深度優化模型
一半模型
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
深度理解一元一次方程
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
深度觀察
深度觀察
主站蜘蛛池模板: 欧美成a人片在线观看| 国产免费黄| 亚洲swag精品自拍一区| 99视频在线免费观看| 亚洲一区网站| 天堂亚洲网| 国产视频久久久久| 亚洲色无码专线精品观看| 99久久精品无码专区免费| 精品欧美日韩国产日漫一区不卡| 小说区 亚洲 自拍 另类| 欧美日韩一区二区在线免费观看| 国产网站在线看| 国产精品久线在线观看| 永久在线精品免费视频观看| 五月婷婷伊人网| 国产91小视频| 国产经典在线观看一区| 成人在线观看不卡| 亚洲精品国偷自产在线91正片| 99在线视频免费| 在线欧美一区| 99热这里只有精品国产99| 91成人试看福利体验区| 成人午夜视频网站| 人妻无码中文字幕第一区| 日韩天堂视频| 永久免费av网站可以直接看的| 日韩高清中文字幕| 免费a级毛片视频| 在线观看亚洲成人| 99人体免费视频| 精品国产自在现线看久久| 成人毛片免费观看| 国产18在线| 性色在线视频精品| 成年人福利视频| 亚洲国产无码有码| 成人免费视频一区| 伊人久久久久久久| 一本一本大道香蕉久在线播放| 欧美精品xx| 久久精品日日躁夜夜躁欧美| 日日噜噜夜夜狠狠视频| 精品国产自在在线在线观看| 久久精品丝袜高跟鞋| 91亚洲精品国产自在现线| 国产剧情一区二区| 有专无码视频| 免费在线不卡视频| 亚洲欧美日韩成人高清在线一区| 婷婷午夜天| 在线精品视频成人网| 国产精品九九视频| 亚洲精品男人天堂| 国内精品九九久久久精品| 国产毛片片精品天天看视频| 亚洲有码在线播放| 国产极品粉嫩小泬免费看| 亚洲人成网站18禁动漫无码| 91无码网站| 日韩视频免费| 国产成人区在线观看视频| 国产视频一二三区| 国产亚卅精品无码| 激情综合激情| 在线播放国产99re| 国产精品 欧美激情 在线播放| 国产流白浆视频| 黄色一级视频欧美| 中日无码在线观看| 片在线无码观看| 动漫精品啪啪一区二区三区| 蜜芽一区二区国产精品| 毛片基地视频| 波多野结衣一区二区三视频 | 久久青草精品一区二区三区| 2021国产精品自产拍在线观看| 高清乱码精品福利在线视频| 最新国产你懂的在线网址| 亚洲AV人人澡人人双人| 伊人网址在线|