自適應(yīng)計算如何化解 AI 產(chǎn)品化難題
自適應(yīng)計算如何化解 AI 產(chǎn)品化難題
作者:Nick Ni,賽靈思軟件及AI市場發(fā)展總監(jiān)
( Nick Ni 擁有多倫多大學(xué)計算機(jī)工程碩士學(xué)位,擁有 10 多項專利和出版物)
人工智能發(fā)展迅速,創(chuàng)新步伐不斷加快。然而,雖然軟件行業(yè)已經(jīng)成功在生產(chǎn)中部署了 AI,但包括汽車、工業(yè)和智能零售等在內(nèi)的硬件行業(yè),在 AI 產(chǎn)品化方面仍處于初級階段。阻礙 AI 算法概念驗證 (PoC) 成為真正硬件部署的主要差距仍然存在。這些不足之處在很大程度上是由于“小數(shù)據(jù)”、數(shù)據(jù)輸入“不完美”以及更 “先進(jìn)模型”的不斷演進(jìn)所造成的。對于軟件開發(fā)者和 AI 科學(xué)家們來說,該如何應(yīng)對這些挑戰(zhàn)呢?我堅信, 應(yīng)對之道便是自適應(yīng)硬件。
小數(shù)據(jù)
谷歌 ( Goolge ) 和臉書 ( Facegbook) 等互聯(lián)網(wǎng)巨頭每天都會定期收集和分析海量數(shù)據(jù)。然后,他們使用這些數(shù)據(jù)來創(chuàng)建擁有可接受性能的 AI 模型。在這種情況下,用于訓(xùn)練模型的硬件與用于運行模型的硬件有很大不同。
另一方面,在硬件行業(yè),大數(shù)據(jù)的可用性受到更多的限制,導(dǎo)致 AI 模型不夠成熟。因此,收集更多數(shù)據(jù)和運行“在線模型”(為不斷提高精度在相同的已部署硬件上執(zhí)行訓(xùn)練和推斷)成為一種主要推動力。
為了解決這一問題,自適應(yīng)計算(如:現(xiàn)場可編程門陣列 FPGA 和經(jīng)過邊緣驗證的自適應(yīng)片上系統(tǒng) SoC 器件)可以同時運行推斷和訓(xùn)練,從而不斷進(jìn)行自我更新以適應(yīng)新捕獲的數(shù)據(jù)。而傳統(tǒng)的 AI 訓(xùn)練則需要借助云或大型本地數(shù)據(jù)中心,并花費數(shù)天和數(shù)周的時間才能完成。另一方面,真正的數(shù)據(jù)主要是在邊緣生成的,在同一個邊緣設(shè)備中運行 AI 推斷和訓(xùn)練不僅可以降低總擁有成本 (TCO),而且還可以減少時延和安全漏洞。
數(shù)據(jù)輸入“不完美”
雖然發(fā)布 AI 模型 PoC 來展示使用 X 射線圖像檢測新冠病毒的精度變得越來越容易,但這些 PoC 幾乎總是基于精心整理的干凈的輸入圖片。在現(xiàn)實生活中,來自醫(yī)療設(shè)備、機(jī)器人和移動汽車的攝像頭和傳感器輸入,會出現(xiàn)隨機(jī)失真現(xiàn)象,例如暗淡的圖像和各種角度的物體。這些輸入首先需要經(jīng)過復(fù)雜的預(yù)處理以進(jìn)行清理和重新格式化,然后才能輸入到 AI 模型中。對于理解 AI 模型的輸出并做出正確的決策而言,后處理是非常重要的。
的確,有些芯片可能非常擅長 AI 推斷加速,但它們幾乎總是只加速完整應(yīng)用的一部分。以智能零售為例,預(yù)處理包括多流視頻解碼,然后是傳統(tǒng)的計算機(jī)視覺算法 ,用于調(diào)整視頻的大小、重塑視頻的形狀和轉(zhuǎn)換視頻的格式。此外,后處理還包括對象跟蹤和數(shù)據(jù)庫查找。最終客戶不太關(guān)心 AI 推斷的運行速度,而是關(guān)心它們是否能滿足整個應(yīng)用管道的視頻流性能和/或?qū)崟r響應(yīng)能力。FPGA 和自適應(yīng) SoC 在使用特定領(lǐng)域架構(gòu) (DSA) 加速這些預(yù)處理和后處理算法方面有著良好的記錄。此外,添加 AI 推斷 DSA 將可以支持對整個系統(tǒng)進(jìn)行優(yōu)化,以滿足端到端的產(chǎn)品需求。
圖1:DSA 需要加速 AI 和非 AI
圖片來源:Ben Dickson
更“先進(jìn)模型”的不斷演進(jìn)
AI 研究界可以說是當(dāng)今技術(shù)領(lǐng)域最活躍的領(lǐng)域之一,世界各地的頂級研究人員每天都在發(fā)明新的 AI 模型。這些模型提高了精度,降低了計算要求,并滿足了新型 AI 應(yīng)用的需求。然而,這種快速的創(chuàng)新,無疑也持續(xù)給現(xiàn)有的半導(dǎo)體硬件器件帶來了壓力,需要更新的架構(gòu)來有效地支持現(xiàn)代算法。MLPerf 等標(biāo)準(zhǔn)基準(zhǔn)測試證明:在運行實際 AI 工作負(fù)載時,最先進(jìn)的 CPU、GPU 和 AI ASIC 芯片,遠(yuǎn)遠(yuǎn)低于這些技術(shù)提供商們所宣傳的 30% 的性能。這種差距不斷推動著業(yè)界對新型 DSA 的需求,以期跟上創(chuàng)新的步伐。
驅(qū)動新型 DSA 需求的主要動力,包括以下這些最新趨勢。深度卷積是一個新興的層,需要高存儲器帶寬和專用內(nèi)部存儲器緩存才能高效運行。AI 芯片和 GPU 通常采用固定的 L1/L2/L3 緩存架構(gòu)和有限的內(nèi)部存儲器帶寬,導(dǎo)致效率十分低下。
研究人員不斷發(fā)明新的定制層,而當(dāng)前的芯片,本身并不提供本地支持。出于這個原因,它們需要在無加速的情況下在主機(jī) CPU 上運行,這往往形成了性能瓶頸。
稀疏神經(jīng)網(wǎng)絡(luò)是另一種富有前景的優(yōu)化技術(shù)。在這種網(wǎng)絡(luò)中,通過修剪網(wǎng)絡(luò)邊緣、刪除卷積中的精細(xì)顆粒矩陣值等措施,網(wǎng)絡(luò)被高度修剪,簡化程度有時能高達(dá) 99%。然而,要在硬件中高效運行這一優(yōu)化,則需要專門的稀疏架構(gòu),并為這些運算提供編碼器和解碼器,大多數(shù)芯片都不具備這些功能。
二進(jìn)制/三進(jìn)制屬于極端優(yōu)化,讓所有數(shù)學(xué)運算都按單個數(shù)位操作。大多數(shù) AI 芯片和 GPU 僅有 8 位、16 位或浮點計算單元,因此采用極低精度并不能獲得任何性能或功耗效率。FPGA 和自適應(yīng) SoC 是完美的,因為開發(fā)者可以開發(fā)完美的 DSA,并根據(jù)產(chǎn)品的工作負(fù)載對現(xiàn)有器件進(jìn)行重新編程。作為證明,最新的 MLPerf 包括賽靈思與Mipsology合作提交的一份文件,該文件使用 ResNet-50 標(biāo)準(zhǔn)基準(zhǔn)測試實現(xiàn)了 100% 的硬件數(shù)據(jù)表性能。
圖2:針對 FPGA 的 MLPerf 基準(zhǔn)測試
圖片來源:Ben Dickson
沒有硬件專業(yè)知識?毫無問題!
一直以來,F(xiàn)PGA 和自適應(yīng) SoC 面臨的最大挑戰(zhàn),就是需要硬件專業(yè)知識來實施和部署 DSA。好消息是:現(xiàn)在有了支持 C++、Python 和流行 AI 框架(如 TensorFlow 和 PyTorch)的工具,如:Vitis 統(tǒng)一軟件平臺,軟件和 AI 開發(fā)者之間的差距被大大縮小了。
除了軟件抽象工具方面的更多開發(fā)以外,開源庫(如 Vitis 硬件加速庫)在開發(fā)者社區(qū)中的采用度也顯著提高。在賽靈思最近舉辦的設(shè)計競賽中,吸引了 1000 多名開發(fā)者,并發(fā)布了眾多創(chuàng)新項目,從用手勢控制的無人機(jī),到使用二進(jìn)制神經(jīng)網(wǎng)絡(luò)的強(qiáng)化學(xué)習(xí),不一而足。重要的是,大多數(shù)提交的項目都是由不具備 FPGA 使用經(jīng)驗的軟件和 AI 開發(fā)者完成的。這證明 FPGA 行業(yè)正在采取正確的措施,使軟件和 AI 開發(fā)者能夠化解現(xiàn)實生活中的 AI 產(chǎn)品化難題。
圖3:靈活應(yīng)變?nèi)f物智能
圖片來源:Ben Dickson
直到最近,普通軟件開發(fā)者和 AI 科學(xué)家在想要利用硬件的自適應(yīng)特性時仍會望而卻步, 因為這在以前都需要特定的硬件專業(yè)知識。而現(xiàn)如今,通過借助新的開源工具,軟件開發(fā)者一樣能夠運用自適應(yīng)硬件。編程難度的下降,使得數(shù)十萬名軟件開發(fā)者和 AI 科學(xué)家們,能更充分地受益于 FPGA 和自適應(yīng) SoC 的優(yōu)勢,讓硬件解決方案成為下一代應(yīng)用的選擇。事實上,DSA 將代表 AI 推斷的未來,軟件開發(fā)者和 AI 科學(xué)家將借助s硬件的自適應(yīng)特性來開發(fā)他們的下一代應(yīng)用。