人工智能應(yīng)用的架構(gòu)探索很復(fù)雜,涉及多項研究。首先,我們可以針對單個問題,例如內(nèi)存訪問,也可以查看整個處理器或系統(tǒng)。
行業(yè)背景
人工智能 (AI) 應(yīng)用考慮了計算、存儲、內(nèi)存、管道、通信接口、軟件和控制。此外,人工智能應(yīng)用程序處理可以分布在處理器內(nèi)的多核、PCIe 主干上的多個處理器板、分布在以太網(wǎng)中的計算機、高性能計算機或數(shù)據(jù)中心的系統(tǒng)。此外,AI處理器還具有巨大的內(nèi)存大小要求,訪問時間限制,跨模擬和數(shù)字的分布以及硬件 - 軟件分區(qū)。
問題
人工智能應(yīng)用的架構(gòu)探索很復(fù)雜,涉及多項研究。首先,我們可以針對單個問題,例如內(nèi)存訪問,也可以查看整個處理器或系統(tǒng)。大多數(shù)設(shè)計都是從內(nèi)存訪問開始的。有很多選擇 - SRAM 與 DRAM、本地與分布式存儲、內(nèi)存計算以及緩存反向傳播系數(shù)與丟棄。
第二個評估扇區(qū)是總線或網(wǎng)絡(luò)拓?fù)洹L摂M原型可以具有用于處理器內(nèi)部的片上網(wǎng)絡(luò)、TileLink 或 AMBA AXI 總線、用于連接多處理器板和機箱的 PCIe 或以太網(wǎng),以及用于訪問數(shù)據(jù)中心的 Wifi/5G/Internet 路由器。
使用虛擬原型的第三個研究是計算。這可以建模為處理器內(nèi)核、多處理器、加速器、FPGA、多重累加和模擬處理。最后部分是傳感器、網(wǎng)絡(luò)、數(shù)學(xué)運算、DMA、自定義邏輯、仲裁器、調(diào)度程序和控制函數(shù)的接口。
此外,人工智能處理器和系統(tǒng)的架構(gòu)探索具有挑戰(zhàn)性,因為它在硬件的全部功能上應(yīng)用了數(shù)據(jù)密集型任務(wù)圖。
模型構(gòu)建
在Mirabilis,我們使用VisualSim進行AI應(yīng)用程序的架構(gòu)探索。VisualSim 的用戶在圖形離散事件仿真平臺中非常快速地組裝虛擬原型,該平臺具有大型 AI 硬件和軟件建模組件庫。該原型可用于進行時序、吞吐量、功耗和服務(wù)質(zhì)量權(quán)衡。提供超過20個AI處理器和嵌入式系統(tǒng)模板,以加速新AI應(yīng)用程序的開發(fā)。
為 AI 系統(tǒng)中的權(quán)衡生成的報告包括響應(yīng)時間、吞吐量、緩沖區(qū)占用、平均功耗、能耗和資源效率。
ADAS模型構(gòu)建
首先,讓我們考慮自動駕駛(ADAS)應(yīng)用程序,這是圖1中的一種AI部署形式。ADAS應(yīng)用程序與計算機或電子控制單元(ECU)和網(wǎng)絡(luò)上的許多應(yīng)用程序共存。ADAS任務(wù)還依賴于現(xiàn)有系統(tǒng)的傳感器和執(zhí)行器才能正常運行。
圖1.汽車設(shè)計中 AI 應(yīng)用的邏輯到物理架構(gòu)
早期架構(gòu)權(quán)衡可以測試和評估假設(shè),以快速識別瓶頸,并優(yōu)化規(guī)范以滿足時序、吞吐量、功耗和功能要求。在圖 1 中,您將看到架構(gòu)模型需要硬件、網(wǎng)絡(luò)、應(yīng)用任務(wù)、傳感器、衰減器和流量激勵來了解整個系統(tǒng)的運行情況。圖 2 顯示了映射到物理架構(gòu)的此 ADAS 邏輯架構(gòu)的實現(xiàn)。
架構(gòu)模型的一個很好的功能是能夠分離設(shè)計的所有部分,以便可以研究單個操作的性能。在圖 2 中,您會注意到單獨列出了現(xiàn)有任務(wù)、帶有 ECU 的網(wǎng)絡(luò)、傳感器生成和 ADAS 邏輯任務(wù)組織。ADAS任務(wù)圖中的每個功能都映射到ECU。
圖2.將ADAS映射到ECU網(wǎng)絡(luò)的汽車系統(tǒng)的系統(tǒng)模型
自動輔助系統(tǒng)分析
仿真圖2中的ADAS模型時,您可以獲得各種報告。圖3顯示了完成ADAS任務(wù)的延遲以及電池為此任務(wù)散發(fā)的相關(guān)熱量。其他感興趣的圖可以是測量的功率、網(wǎng)絡(luò)吞吐量、電池消耗、CPU 利用率和緩沖區(qū)占用。
圖3.來自 ADAS 架構(gòu)模型的分析報告
處理器模型構(gòu)建
AI 處理器和系統(tǒng)的設(shè)計人員對應(yīng)用程序類型、訓(xùn)練與推理、成本點、功耗和大小限制進行實驗。例如,設(shè)計人員可以將子網(wǎng)絡(luò)分配給流水線階段,權(quán)衡深度神經(jīng)網(wǎng)絡(luò) (DNN) 與傳統(tǒng)機器學(xué)習(xí)算法,測量 GPU、TPU、AI 處理器、FPGA 和傳統(tǒng)處理器上的算法性能,評估在芯片上融合計算和內(nèi)存的優(yōu)勢,計算類似于人腦功能的模擬技術(shù)的功耗影響,以及構(gòu)建具有針對單個應(yīng)用的部分功能集的 SoC。
從PowerPoint到新AI處理器的第一個原型的時間表非常短,第一個生產(chǎn)樣品不能有任何瓶頸或錯誤。因此,建模成為強制性的。
圖 4 顯示了 Google 張量處理器的內(nèi)部視圖??驁D已轉(zhuǎn)換為圖 5 中的架構(gòu)模型。處理器通過 PCIe 接口接收來自主機的請求。MM、TG2、TG3 和 TG4 是來自獨立主機的不同請求流。權(quán)重存儲在片外 DDR3 中,并調(diào)用到權(quán)重 FIFO 中。到達的請求在統(tǒng)一本地緩沖區(qū)中存儲和更新,并發(fā)送到矩陣動車單元進行處理。通過 AI 管道處理請求后,它將返回到統(tǒng)一緩沖區(qū)以響應(yīng)主機。
圖4.來自谷歌的 TPU-1
圖5.AI 硬件架構(gòu)的 VisualSim 模型的俯視圖
處理器模型分析
在圖 6 中,您可以查看片外 DDR3 中的延遲和反向傳播權(quán)重管理。延遲是從主機發(fā)送請求到接收響應(yīng)的時間。您將看到TG3和TG4能夠分別在200 us和350 us之前保持低延遲。MM和TG2在仿真早期開始緩沖。由于存在相當(dāng)大的緩沖,并且這組流量配置文件的延遲正在增加,因此當(dāng)前的 TPU 配置不足以處理負(fù)載和處理。TG3和TG4的優(yōu)先級較高,有助于維持更長的運營時間。
圖6.架構(gòu)探索權(quán)衡的統(tǒng)計信息
汽車設(shè)計施工
圖7.帶有CAN總線、傳感器和ECU的汽車網(wǎng)絡(luò)
當(dāng)今的汽車設(shè)計融合了許多安全和自動駕駛功能,需要大量的機器學(xué)習(xí)和推理。可用的時間表將決定處理是在ECU完成還是發(fā)送到數(shù)據(jù)中心。例如,可以在本地完成制動決策,同時可以發(fā)送更改空調(diào)溫度進行遠(yuǎn)程處理。兩者都需要基于輸入傳感器和攝像頭的一定數(shù)量的人工智能。
圖 7 是包含 ECU、CAN-FD、以太網(wǎng)和網(wǎng)關(guān)的網(wǎng)絡(luò)框圖。
圖8.自動駕駛和E/E架構(gòu)的可視化模擬模型
圖 8 捕獲了圖 7 的一部分,該部分將 CAN-FD 網(wǎng)絡(luò)與包含多個 ARM 內(nèi)核和一個 GPU 的高性能 Nvidia DrivePX 集成在一起。以太網(wǎng)/TSN/AVB 和網(wǎng)關(guān)已從模型中刪除,以簡化視圖。在此模型中,重點是了解 SoC 的內(nèi)部行為。該應(yīng)用程序是由車輛上的攝像頭傳感器觸發(fā)的 MPEG 視頻捕獲、處理和渲染。
汽車設(shè)計分析
圖 9 顯示了 AMBA 總線和 DDR3 內(nèi)存的統(tǒng)計信息。您可以查看工作負(fù)載在多個主節(jié)點之間的分布情況??梢栽u估應(yīng)用程序管道的瓶頸,確定最高周期時間任務(wù)、內(nèi)存使用情況配置文件以及每個任務(wù)的延遲。
圖9.總線和內(nèi)存活動報告
用例和流量模式應(yīng)用于組裝為硬件、RTOS 和網(wǎng)絡(luò)組合的架構(gòu)模型。定期交通狀況用于對雷達、激光雷達和攝像頭進行建模,而用例可以是自動駕駛、聊天機器人、搜索、學(xué)習(xí)、推理、大數(shù)據(jù)操作、圖像識別和疾病檢測。用例和流量可以根據(jù)輸入速率、數(shù)據(jù)大小、處理時間、優(yōu)先級、依賴性、先決條件、反向傳播循環(huán)、系數(shù)、任務(wù)圖和內(nèi)存訪問而變化。通過改變屬性在系統(tǒng)模型上模擬用例。這會導(dǎo)致生成各種統(tǒng)計信息和繪圖,包括緩存命中率、管道利用率、拒絕的請求數(shù)、每條指令或任務(wù)的瓦數(shù)、吞吐量、緩沖區(qū)占用和狀態(tài)圖。
圖 10.實時測量 AI 處理器的功耗
圖10顯示了系統(tǒng)和芯片的功耗。除了散熱、電池充電消耗率和電池生命周期變化外,該模型還可以捕獲動態(tài)功率變化。該模型繪制了每個器件的狀態(tài)活動、相關(guān)的瞬時尖峰和系統(tǒng)的平均功耗。獲得有關(guān)功耗的早期反饋有助于熱和機械團隊設(shè)計外殼和冷卻方法。大多數(shù)機箱對每個板都有最大功率限制。這種早期的功耗信息可用于執(zhí)行架構(gòu)與性能的權(quán)衡,從而尋找降低功耗的方法。
進一步的勘探方案
以下是一些其他示例,重點介紹了如何使用 AI 體系結(jié)構(gòu)模型和分析。
1. 自動駕駛系統(tǒng),配備360度激光掃描儀、立體攝像頭、魚眼攝像頭、毫米波雷達、聲納或激光雷達,通過網(wǎng)關(guān)連接的多個IEEE802.1Q網(wǎng)絡(luò)上的20個ECU連接。原型用于測試 OEM 硬件配置的功能包,以確定硬件和網(wǎng)絡(luò)要求。主動安全措施的響應(yīng)時間是主要標(biāo)準(zhǔn)。
2. 用于學(xué)習(xí)和推理任務(wù)的人工智能處理器使用片上網(wǎng)絡(luò)主干網(wǎng)定義,該骨干網(wǎng)由 32 個內(nèi)核、32 個加速器、4 個 HBM2.0、8 個 DDR5、多個 DMA 和全緩存一致性組成。該模型試驗了 RISC-V、ARM Z1 和專有內(nèi)核的變體。實現(xiàn)的目標(biāo)是在鏈路上實現(xiàn) 40Gbps,同時保持低路由器頻率并重新訓(xùn)練網(wǎng)絡(luò)路由。
3. 需要 32 層深度神經(jīng)網(wǎng)絡(luò)才能將內(nèi)存從 40GB 增加到 7GB 以下。數(shù)據(jù)吞吐量和響應(yīng)時間未更改。該模型是使用行為的功能流程圖設(shè)置的,其中包含處理和反向傳播的內(nèi)存訪問。對于不同的數(shù)據(jù)大小和任務(wù)圖,該模型確定了數(shù)據(jù)的丟棄量以及各種片外DRAM大小和SSD存儲選項。任務(wù)圖通過任意數(shù)量的圖和多個輸入和輸出而變化。
4. 通用SoC,使用ARM處理器和AXI總線進行低成本AI處理。目標(biāo)是獲得最低的每瓦功率,從而最大化內(nèi)存帶寬。乘法累加函數(shù)被卸載到矢量指令,加密到IP核,自定義算法卸載到加速器。構(gòu)建該模型的明確目的是評估不同的緩存內(nèi)存層次結(jié)構(gòu),以提高命中率和總線拓?fù)湟詼p少延遲。
5. 模數(shù)AI處理器需要對功耗進行徹底分析,并對所達到的吞吐量進行準(zhǔn)確分析。在該模型中,非線性控制在離散事件模擬器中建模為一系列線性函數(shù),以加快仿真時間。在本例中,對功能進行了測試,以檢查行為并衡量真正的節(jié)能效果。
審核編輯:郭婷
-
處理器
+關(guān)注
關(guān)注
68文章
19103瀏覽量
228825 -
FPGA
+關(guān)注
關(guān)注
1625文章
21627瀏覽量
601252 -
人工智能
+關(guān)注
關(guān)注
1790文章
46670瀏覽量
237111
發(fā)布評論請先 登錄
相關(guān)推薦
評論