2018年10月,美國海軍藍天使(Blue Angels)精準飛行隊在舊金山灣區上空表演,他們也是去年夏天在格洛斯特郡(Gloucestershire)英國皇家國際航空展(RIAT)演出的隊伍。當他們在金門大橋上空盤旋時,觀眾努力緊盯著飛機,然而當他們抬頭時,飛機已呼嘯而過。噴射機的聲音震耳欲聾,觀眾僅發出「噢!」、「哇!」的驚嘆聲。

這個情況與軟硬體開發人員努力跟上人工智慧(AI)技術發展的腳步所面臨的問題有許多相似的地方。新應用和新演算法不斷加速發展,但開發人員所使用的傳統工具缺乏夠低的功耗及夠高的靈活度來讓他們跟上技術發展的速度。開發人員能怎麼辦呢?

設計一款典型的ASIC需要近兩年的時間,但當ASIC能真正投入實際應用時,市場卻又已往前邁進。兩年前,當許多推論引擎仍使用32位元浮點資料時,誰能預料到使用8位元整數可以在降低30倍功耗的情況下達到同樣效果?而誰又能預料到CNN的AI演算法會從簡單的AlexNet發展到複雜的GoogLeNet,甚至是更複雜的DenseNet?因此,使用32位元浮點數學加速AlexNet的ASIC在上市前就已經過時了。

在美國舉辦的賽靈思開發者大會上,賽靈思推出了幾款採用FPGA的新產品,能協助客戶在比使用舊式工具鏈所需花費的更短時間內推出高效能的AI產品。

Alveo加速器卡是賽靈思推出的一站式(turnkey)產品。使用者不需設計客製化PCB,只需將卡插入PCIe背板,添加軟體後即可開始使用。在推論和視訊處理等重要的作業負載中,Alveo能提供比傳統CPU高90倍的效能,且比採用GPU的推論解決方案速度快4倍,延遲縮短3倍。

第二個新產品「Versal」是賽靈思全新自行調適運算加速平台(ACAP)中的第一款產品。Versal能提供超越硬佈線元件所需的運算能力,並擁有適應新軟體演算法的靈活度,而即使在已經完成部署後也依然保有這樣的靈活度。賽靈思已在這個代號為「Everest」的系列產品上投入超過4年的時間,其採用台積電7奈米FinFET製程技術,同時包含一系列的元件,專為雲端運算、網路、無線通訊、邊緣運算以及終端等市場提供具擴展性及AI推論功能的獨特設計。

各種版本的Versal搭載大量元件,包含Arm Cortex A72、具備ECC的晶載DRAM、DSP引擎、PCIe Gen 4、DDR4記憶體控制器以及乙太網路MAC,這些元件都能透過提供低延遲、每秒數兆位元頻寬的先進網路晶片(NoC)連接。

訓練與推論

大多數AI應用都分為兩個階段:訓練與推論。訓練任務需要建構一個模型,並輸入數千(或數百萬)個資料樣本以進行參數微調。訓練涉及運用大型資料集進行大量的反覆運算,可能需要幾天、幾周甚至幾個月,因此效能是關鍵指標。這一階段通常是離線執行,因此功耗和延遲並非最關鍵的要素。Nvidia與AMD的GPU已針對該任務進行部署,能在處理各種大型資料集時獲得更高的傳輸率。

訓練完成後,模型可被部署到進行推論的雲端或邊緣應用。推論是賽靈思FPGA和最新ACAP產品這類具備高度適應性元件的強項。推論會根據訓練階段所建構的模型來做出決定。若該模型是建構來識別成千上萬恐怖分子的臉孔,則推論任務就可用來識別人群中的臉孔,或在人們走過攝影機時進行臉部辨識。因此不同的解決方案就會有不同的技術需求。

在推論過程中有三個關鍵因素。首先是低延遲;想像一下您正在開車,或者更準確地說,車子正帶著您前進。它以極高的訊框率不斷掃描道路上可能發生的危險。AI推論的延遲可直接轉換為停車距離,當延遲越長,就越有可能遇到危險。其次是高傳輸率;佈署在「智慧城市」中的智慧攝影機可能每分鐘必須掃描數千個臉孔,而每個視訊串流每秒會產生數百萬位元組的資料,因此必須進行解壓縮、分析和再壓縮。第三是效能功耗比,特別是對於由電池供電並透過Wi-Fi或4G/ 5G網路進行通訊的「網路終端」設備。

接著探討這些因素如何在智慧城市安全的實際應用中發揮作用,以單個節點包含覆蓋不同視覺區域的4個攝影機為例。如果這些節點使用一個CPU和一個GPU,則該CPU可能會處理H.264視訊解碼和動態偵測。該CPU需要16毫秒(ms)來解碼每個訊框(frame),還需要16ms來使用OpenCV感測該訊框中的動作,然後再將影像移交給GPU透過CNN演算法辨識訊框中的物件。這個解碼和動態分析的過程需要32ms,而CNN運算大約需要50ms,因此整個過程約花費82ms。這意味著該節點每個攝影機每秒可處理12訊框,總共每秒可處理48訊框,而運行CPU和GPU的功耗大約為75瓦。

如果該節點配置了一個CPU和一個賽靈思FPGA,則可以提高效能並降低功耗。CPU仍需要16ms來解碼每個訊框,但FPGA進行動態分析所需的時間則少於1ms,而運行CNN演算法所需的時間略多於9ms,總共延遲為26.1ms,因此該節點能以每秒38訊框的速度處理4個串流,傳輸率是採用GPU解決方案的三倍以上。更不用說賽靈思解決方案的功耗僅為50瓦,比採用GPU解決方案少了三分之一。將該節點的省電量與整個城市中部署的數千個節點相乘後,就會得知什麼才是真正的省電。

此省電情況也適用於其它推論應用。2016年,韓國SK Telecom推出了雲端NUGU語音助理,可處理像Siri或Alexa這類的任務。其初始應用是依賴GPU技術來解碼、理解並回應語音指令。當該服務僅擁有數萬個使用者時能良好運作,但隨著普及度越來越高,SK Telecom發現其資料中心缺乏足夠的GPU電容量,以服務數百萬使用者所產生數千萬的對話。SK Telecom迅速重組了應用工具,在資料中心以FPGA替代GPU,改善效能功耗比達16倍。如今,該系統可容納超過300萬使用者所產生超過11億次的對話。

使用FPGA加速AI應用仍處於起步階段。賽靈思的技術可透過現有的UltraScale和UltraScale+技術,協助大量前瞻性應用達到成效,但我們還在許多應用的表面階段而已。Alveo才剛上架,而Versal則即將上市,正如Robert Browning在《Rabbi Ben Ezra》中所說:「好戲還在後頭。」

本文同步刊登於電子工程專輯2019年5月號