現(xiàn)場(chǎng)可編程門陣列 (FPGA) 以加速人工智能/機(jī)器學(xué)習(xí)應(yīng)用而聞名,但它是如何在 FPGA 中實(shí)現(xiàn)的,有哪些不同的方法?讓我們探索工程師的設(shè)計(jì)空間。
人工智能 (AI) 是云和邊緣應(yīng)用程序中的熱門話題。在許多情況下,人工智能可以實(shí)現(xiàn)更安全、更高效和安全的系統(tǒng)。人工智能已經(jīng)存在很長時(shí)間了,它于 1956 年由約翰·麥卡錫 (John McCarthy) 在第一次人工智能會(huì)議召開時(shí)首次使用。雖然幾十年來進(jìn)行了大量研究,但僅在最近 5 到 10 年,人工智能系統(tǒng)才從實(shí)驗(yàn)室和研究轉(zhuǎn)移到產(chǎn)品路線圖和產(chǎn)品中。
在云和邊緣環(huán)境中,部署最廣泛的 AI 形式之一是機(jī)器學(xué)習(xí) (ML)。機(jī)器學(xué)習(xí)是對(duì)計(jì)算機(jī)算法的研究,它允許計(jì)算機(jī)程序通過經(jīng)驗(yàn)自動(dòng)改進(jìn)。這方面的一個(gè)例子是為 ML 網(wǎng)絡(luò)提供帶有標(biāo)簽的圖像數(shù)據(jù)集。機(jī)器學(xué)習(xí)算法識(shí)別圖像的特征和元素,以便在輸入新的未標(biāo)記的、以前未見過的圖像時(shí),ML 算法確定圖像包含任何已學(xué)習(xí)特征和元素的可能性。可以訓(xùn)練此類 ML 算法來檢測(cè)圖像中的對(duì)象、處理語音中的關(guān)鍵字以及分析傳感器數(shù)據(jù)的異常情況。典型應(yīng)用包括視覺引導(dǎo)機(jī)器人、車輛自主操作以及工業(yè)和安全關(guān)鍵系統(tǒng)的預(yù)測(cè)。
因此,ML 學(xué)習(xí)算法分為兩個(gè)要素,第一個(gè)是針對(duì)訓(xùn)練數(shù)據(jù)集對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。第二個(gè)是訓(xùn)練網(wǎng)絡(luò)領(lǐng)域的部署,這些元素分別稱為訓(xùn)練和推理。訓(xùn)練準(zhǔn)確的模型需要一個(gè)帶標(biāo)簽的大型數(shù)據(jù)集,并且通常在基于云的 GPU 上執(zhí)行以加速訓(xùn)練過程。設(shè)計(jì)工程師可以跨從 MCU 到 GPU 和 FPGA 的一系列技術(shù)部署訓(xùn)練有素的網(wǎng)絡(luò)。
在 FPGA 中嵌入 AI
幾個(gè)非常流行的框架——Caffe、TensorFlow。和 Pytorch——幫助訓(xùn)練和部署 AI/ML 系統(tǒng)。這些框架用于網(wǎng)絡(luò)定義、訓(xùn)練和推理。
許多基于邊緣的人工智能系統(tǒng)的關(guān)鍵要素之一是能夠在確定的時(shí)間范圍內(nèi)執(zhí)行推理。例如,自動(dòng)駕駛汽車必須快速檢測(cè)車輛、障礙物和行人以防止碰撞。這需要一個(gè)既響應(yīng)又確定的解決方案,響應(yīng)是因?yàn)閭鞲衅鲾?shù)據(jù)必須以最小延遲快速處理,確定是因?yàn)槊總€(gè)輸入的響應(yīng)時(shí)間必須相同并且不依賴于系統(tǒng)操作條件或資源使用,例如,使用共享 DDR 內(nèi)存會(huì)減慢響應(yīng)時(shí)間。
由于響應(yīng)性和確定性的要求,基于邊緣的解決方案的開發(fā)人員通常以 FPGA 或基于異構(gòu) SoC 的解決方案為目標(biāo)。這些為開發(fā)人員提供了可編程邏輯,是實(shí)現(xiàn)機(jī)器學(xué)習(xí)網(wǎng)絡(luò)的理想選擇,因?yàn)樗牟⑿刑匦灾С猪憫?yīng)式應(yīng)用程序和非常確定的解決方案。
在可編程邏輯中實(shí)現(xiàn) ML 推理時(shí),可以采用兩種方法。在使用浮點(diǎn)數(shù)學(xué)開發(fā)和訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí),無論采用哪種方法,F(xiàn)PGA 或異構(gòu) SoC 中的實(shí)現(xiàn)通常都使用定點(diǎn)實(shí)現(xiàn)。從浮點(diǎn)數(shù)到定點(diǎn)數(shù)的轉(zhuǎn)換過程稱為量化,推理精度會(huì)略有下降;然而,對(duì)于大多數(shù)應(yīng)用程序,可以使用量化的權(quán)重和激活來執(zhí)行額外的訓(xùn)練以恢復(fù)準(zhǔn)確性。
第一種方法直接在可編程邏輯中實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)。為推理訓(xùn)練的權(quán)重被加載到網(wǎng)絡(luò)中。這可以在運(yùn)行時(shí)或在設(shè)計(jì)的編譯/綜合期間實(shí)現(xiàn)。
這些神經(jīng)網(wǎng)絡(luò)的一個(gè)例子是 AMD-Xilinx FINN 網(wǎng)絡(luò),它可用于在 FPGA 中實(shí)現(xiàn)量化神經(jīng)網(wǎng)絡(luò)。這些量化神經(jīng)網(wǎng)絡(luò)被實(shí)現(xiàn)為具有二進(jìn)制權(quán)重和兩位激活的量化神經(jīng)網(wǎng)絡(luò)。
有了量化神經(jīng)網(wǎng)絡(luò),神經(jīng)網(wǎng)絡(luò)可以在 FPGA 中實(shí)現(xiàn),資源更少,因?yàn)椴恍枰獠?DDR 或 SoC 支持。使該方法成為空間、組件和成本非常寶貴的受限開發(fā)的理想選擇。雖然它需要更多的專業(yè)知識(shí)才能集成到整體解決方案中,但它可能非常有效。可能使用此類方法的典型示例可能是工業(yè)機(jī)械的預(yù)測(cè),例如軸承磨損或振動(dòng)等。
在 FPGA 邏輯中使用神經(jīng)網(wǎng)絡(luò)直接實(shí)現(xiàn)的替代方法是使用高度專業(yè)化的神經(jīng)網(wǎng)絡(luò)加速器。神經(jīng)網(wǎng)絡(luò)加速器在可編程邏輯中實(shí)現(xiàn),并與具有高帶寬鏈路的 DDR 存儲(chǔ)器以及異構(gòu) SoC 中的專用處理器緊密耦合。
在使用神經(jīng)網(wǎng)絡(luò)加速器的應(yīng)用程序中,它們由軟件應(yīng)用程序提供網(wǎng)絡(luò)和權(quán)重/激活和偏差。因此,這使得 ML 推理更容易集成到整個(gè)應(yīng)用程序中。神經(jīng)網(wǎng)絡(luò)加速器的一個(gè)例子是 AMD-Xilinx 深度學(xué)習(xí)單元,它可以與 Pytorch、Caffe 和 TensorFlow 中定義的網(wǎng)絡(luò)一起工作,并為應(yīng)用程序執(zhí)行所有量化、再訓(xùn)練和程序生成。這樣可以更輕松地集成到正在開發(fā)的應(yīng)用程序中。這種方法的典型應(yīng)用是基于視覺的高性能應(yīng)用,例如視覺引導(dǎo)機(jī)器人、智能城市解決方案,當(dāng)然還有提高汽車 SAE 自主水平。
最高的準(zhǔn)確性和性能來自于使用專門的神經(jīng)網(wǎng)絡(luò)加速器,并且易于集成通常提供更好的整體解決方案。因此,這種方法被多家供應(yīng)商用于他們的 AI 解決方案。這種方法更容易與更高級(jí)別的軟件框架和抽象堆棧集成,這是利用整體性能的關(guān)鍵,因?yàn)?AI 通常只是整體解決方案的一小部分(但很重要)。
最后的想法
很多時(shí)候,選擇哪種解決方案取決于最終應(yīng)用,即使 AI 可能是主要的營銷元素。在現(xiàn)實(shí)世界中,人工智能通常只是整個(gè)解決方案的一小部分,因?yàn)閭鞲衅?a target="_blank">接口、預(yù)處理、執(zhí)行器驅(qū)動(dòng)和構(gòu)成解決方案的其他元素也會(huì)有自己的限制和要求。
可編程邏輯使開發(fā)人員能夠構(gòu)建具有響應(yīng)性和確定性的 AI/ML 解決方案。通過將這些解決方案與行業(yè)標(biāo)準(zhǔn)框架相結(jié)合,開發(fā)人員可以使云和邊緣 AI/ML 應(yīng)用程序更安全、更高效、更安全。
審核編輯黃昊宇
-
FPGA
+關(guān)注
關(guān)注
1629文章
21736瀏覽量
603387
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
新思科技Foundation IP:AI芯片低功耗設(shè)計(jì)必選項(xiàng)
![新思科技Foundation IP:<b class='flag-5'>AI</b>芯片低功耗設(shè)計(jì)必<b class='flag-5'>選項(xiàng)</b>](https://file1.elecfans.com/web3/M00/00/6D/wKgZPGdJOfmADnclAAAobi7BtXg196.png)
芯科科技前沿的MCU+AI/ML開發(fā)工具解決方案
使用PYNQ訓(xùn)練和實(shí)現(xiàn)BNN
![使用PYNQ訓(xùn)練和實(shí)現(xiàn)BNN](https://file1.elecfans.com/web2/M00/00/A2/wKgZomawmKSAd8IbAAR-CZvq3s8990.png)
在多FPGA集群上實(shí)現(xiàn)高級(jí)并行編程
使用 Renesas RA8M1 MCU 快速地部署強(qiáng)大高效的 AI 和 ML 功能
![使用 Renesas RA8M1 MCU 快速地部署強(qiáng)大高效的 <b class='flag-5'>AI</b> 和 <b class='flag-5'>ML</b> 功能](https://file1.elecfans.com/web2/M00/D3/29/wKgZomYkcuaAUN-rAACmGhc0x70118.jpg)
基于 Renesas 的 RA8M1 實(shí)現(xiàn) AI 和 ML 部署
![基于 Renesas 的 RA8M1 實(shí)現(xiàn) <b class='flag-5'>AI</b> 和 <b class='flag-5'>ML</b> 部署](https://file1.elecfans.com/web2/M00/D7/39/wKgaomYnXN2ATxESAAFgdj92nY4333.png)
新型的FPGA器件將支持多樣化AI/ML創(chuàng)新進(jìn)程
![新型的<b class='flag-5'>FPGA</b>器件將支持多樣化<b class='flag-5'>AI</b>/<b class='flag-5'>ML</b>創(chuàng)新進(jìn)程](https://file1.elecfans.com//web2/M00/C7/93/wKgaomYLsuuAQtmXAACXryWEzHM364.jpg)
為何高端FPGA都非常重視軟件
是德科技推出AI數(shù)據(jù)中心測(cè)試平臺(tái)旨在加速AI/ML網(wǎng)絡(luò)驗(yàn)證和優(yōu)化的創(chuàng)新
![是德科技推出<b class='flag-5'>AI</b>數(shù)據(jù)中心測(cè)試平臺(tái)旨在加速<b class='flag-5'>AI</b>/<b class='flag-5'>ML</b>網(wǎng)絡(luò)驗(yàn)證和優(yōu)化的創(chuàng)新](https://file1.elecfans.com/web2/M00/C2/F4/wKgaomXf3yaAY4sKAAAyVJVw69E819.png)
在FPGA上為FPGA設(shè)計(jì)PCB的步驟詳解
![<b class='flag-5'>在</b><b class='flag-5'>FPGA</b><b class='flag-5'>上</b>為<b class='flag-5'>FPGA</b>設(shè)計(jì)PCB的步驟詳解](https://file1.elecfans.com/web2/M00/C1/DD/wKgaomXb5BiAMx_hAAA1KoqZlSo148.png)
國際最新AI算力評(píng)測(cè)標(biāo)準(zhǔn)SPEC ML即將發(fā)布,浪潮信息連任SPEC ML主席
![國際最新<b class='flag-5'>AI</b>算力評(píng)測(cè)標(biāo)準(zhǔn)SPEC <b class='flag-5'>ML</b>即將發(fā)布,浪潮信息連任SPEC <b class='flag-5'>ML</b>主席](https://file1.elecfans.com//web2/M00/C1/C0/wKgaomXZQqeADG-OAABIDkrW46k170.jpg)
評(píng)論