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