FPGA技術協助嵌入式系統競逐於機器學習之路

  • 魏淑芳

DIGITIMES企劃

機器學習技術是人工智慧的一個重要科學發展,透過在經驗學習中改善具體演算法的效能,而且用來訓練的資料越多,所學習出來的結果越好,為了處理分析大量圖像或是語音等辨識的機器學習演算法資料,需要採用GPU晶片所打造的高速平行運算處理的類神經網路超級電腦,利用諸如Tensorflow、Caffe等深度學習框架(Framework)等工具,來發展有效的演算法。

 點擊圖片放大觀看
賽靈思亞太區工業及醫療市場的高級經理羅霖(Andy Luo)。

一旦得到演算法之後,對嵌入式系統的設計而言,迅速將演算法應用到雲端資料中心,或是直接到終端的邊緣運算(Edge Computing)裝置上,就是目前人工智慧應用成果發揮的展示場。由於嵌入式系統本身的運算效能與低功率消耗的功能不斷提升,所構建的智慧功能、軟硬體解決方案,非常有助於開創前所未有的人工智慧的應用。

機器學習的技術已廣泛應用於資料探勘、電腦視覺、自然語言處理、生物特徵識別、搜尋引擎、醫學診斷、檢測信用卡欺詐、證券市場分析、語音和手寫識別、戰略遊戲與機器人等應用領域。

可程式設計閘陣列(FPGA)的解決方案,利用其可程式設計性的優勢,已經廣為業界所認知,賽靈思(Xilinx)做為FPGA解決方案的主要供應商而言,密切關注機器學習所帶領的產業趨勢,以及重要的應用範例。賽靈思亞太區工業及醫療市場的高級經理羅霖(Andy Luo)先生接受專訪時,針對Xilinx產品進入機器學習的領域,提綱契領直指兩個主要的應用領域。

首先,在雲端機房與資料中心的應用領域,透過跨國性大型搜索引擎與社群媒體巨擘的緊密合作,以大陸市場為例,Xilinx與百度(Baidu)的搜索引擎加速器合作,具有重要的指標性,由於機器學習在高效能運算(HPC)平台上,使用的類神經網路模型與多層次架構(Training Framework)來訓練演算法,一旦將結果應用於資料中心的加速卡設計時,往往需要進行細部的調整與開發,所以彈性變更邏輯線路的設計要求下,FPGA的可程式化(Programmable)的能力就益行重要。

Xilinx的解決方案之所以迅速攫取多數大廠用戶的目光,端賴兩項重要的誘因,也就是低功率消耗與高度靈活的硬體平台,提供資料中心專用加速器性能上的優勢,並支援資料中心業者,打造更快速的創新應用與技術。

Xilinx推出可重組加速堆疊(Reconfigurable Acceleration Stack)技術,針對機器學習、大數據分析和視頻串流直播(Video Streaming)等三大新興計算密集型應用,借助所提供各種應用程式庫、開發工具和參考設計,有效的降低設計工程師開發FPGA通用的程式設計門檻,迅速解決資料中心中工作負載快速增長的挑戰,並加速雲端服務產品上市進程。

第二個重要的應用領域,就是在邊緣運算裝置的部署,因為大量的視訊鏡頭的使用,使得嵌入式視覺(Embedded Vision)技術可以因為採用機器學習的演算法,而帶來更多智慧型的應用。

但是嵌入式系統考量功率消耗需求,無法企求使用32或64位元的高效能處理器,因此開發出一種技術,讓多半使用32-bit或16-bit的浮點運算(Floating Point)所設計的演算法,可以放在8位元整數運算處理器的智慧終端裝置上,Xilinx的解決方案在這類的應用上,保持演算法在嵌入式系統上有效的準確度,所以使用機器學習所訓練而獲得的演算法,當部署到低耗電與低運算密度的系統時,仍能完成人工智慧的應用。

智慧終端運算應用隨著空拍機與自動駕駛汽車的發展,尤其是先進駕駛輔助系統(ADAS)中的自動識別、路線規劃,以及無人機上自動避開空中障礙,或是視訊監控與辨識分析等新興功能,帶領令人高度期待的應用,也推增FPGA的市場佔有率。

另一個重點就是工業4.0的應用,這利用感測器融合(Sensor Fusion)的裝置,將工業場域所收集的控制資料,做線性規劃與數據分類,以掌握工業設備目前的狀態。選擇Xilinx的FPGA元件能在單一晶片上提供廣泛的高速界面,能以低成本獲得更高效能,並因為各種開發環境整合到同一平台上而節省開發資源,讓客戶得以專注於開發差異化功能的產品,取得市場先機。

低功率消耗與快速反應速度  FPGA獨擅勝場

和GPU為主的解決方案相比,羅霖分析FPGA的主要優勢,首推低功耗的設計,通常3瓦的功耗的設計足以支撐整個加速卡的效能,第二個重要的優勢,是反應速度快速,以微秒等級的反應速度,特別適合在空拍機或是自駕車應用的領域,因為反應速度決定人身安全的重要訴求。

但是FPGA也有弱點,羅霖持平而論,也就是工程師的開發FPGA的時間較長,因為需要熟悉使用邏輯線路分析、布局佈線等EDA工具才能設計FPGA線路,雖然FPGA現在也可以利用OpenCL和C 語言以類似軟體的流程來程式設計,但是不可諱言的,其工程設計門檻還是比GPU的使用設計要高,羅霖強調Xilinx對於FPGA在機器學習方面組成開發者社群,並開發豐富的工具和程式庫的,已經可以大大提升設計效率。

羅霖指出Xilinx的FPGA解決方案,在全球主要通信系統機房中,一直是用來做為主要通訊系統的設計,利用密集型計算應用,做為處理通信標準中信號處理與應用,幾乎佔了Xilinx的50%的主要收入來源,但是配合機器學習所帶領的資料中心加速卡與邊緣運算終端的應用,涵蓋更多的無人空拍機、智慧型視訊影像監控系統、自駕車的應用,目前已經貢獻Xilinx另外的40%的營業收入來源,前景非常具有爆發式成長動能。

展望2017的目標,第一,Xilinx設定工業物聯網(IIoT)的應用,從工業設備常用的PLC應用,以及透過IEEE TSN、OPC-UA的工業通訊協定的整合,以掌握即時性的資訊,開發工業應用,第二,面對機器學習的演算法與相關的FPGA設計工具的加強,加快協助客戶做到人工智慧功能的快速部署,以達到更卓越的效能需求,並能同時降低開發成本。