91吃瓜网

針對 AI SoC嵌入式處理器 IP進行標準檢測的7個竅門

本文原文由张贴

英文原文:

從智慧音箱、數位相機,到邊緣伺服器與超大規模資料中心,這類仰賴深度學習神經網路,以提供可操作性感知能力的應用不勝枚舉。賦予這些系統生命是系統中強固的 AI SoC,也就是利用強大的嵌入式處理器執行運算密集型演算法的 SoC。

晶片设计工程師在為 AI 應用设计晶片組時,顯然會想將最好的 AI 處理器與神經網路加速器整合進系統裡。但是,該如何確定什麼才是真正最適合所開發中的應用程序的獨特要求呢?處理器標準檢測(processor benchmarking)就是種經過檢驗而可靠的方法,能幫助工程師找出一些答案。但即使如此,想要在處理器上執行的 AI 演算法類型仍會對其效能產生顯著影響。那麼,又該如何準確比較可用的處理器呢?

這篇部落格文章,會分享一些神經網路加速器效能標準檢測的考量因素,以及為AI SoC 選擇理想嵌入式處理器 IP 的重要訣竅,並深入解析為何可程式化(programmable)處理器能讓比較過程變得更簡單。

选择神经网路来进行精确的标準检测

AI 演算法日益複雜,也越來越針對手持式产物的應用發展。此外,有很多的變數會影響處理器針對特定應用的執行效能,多到難以進行公平合理的比較。用來執行簡單演算法的處理器,可能不足以執行較複雜的演算法,而所得到的功率與效能標準資料也無法在晶片上提供精確的結果。

對 AI 處理器進行標準檢測以執行卷積神經網路(CNN),會涉及許多考量因素。簡單來說,如果有個常見的神經網路和相同的資料與係數,就可以在架構中執行這個神經網路以產生效能結果,而這通常是精確的量測結果。然而,對於即時的嵌入式系統,則需要將功率、區域、延遲、頻寬等參數納入標準檢測,才能得知更真實的全貌。要理解 SoC 整體的效能,也需要考量晶片製程節點(process node)、時脈速度(clock speed)及(如壓縮和量化) 等方面的問題。由於標準檢測的目的是比較兩個以上的架構,以验证某個特定架構是否能符合應用需求,所以清楚瞭解自己的系統與其限制是非常重要的。

有很多的变数会影响处理器针对特定应用的效能,多到难以进行公平合理的比较

目前沒有所謂的業界標準神經網路可針對 AI 硬體進行標準檢測,但已經非常接近這個標準。MLPerf 標準是由開放式工程聯盟 ML Commons 所開發,可算是實質上的業界標準指標,可量測機器學習效能,現在也包含資料集和最佳實行範例。在推論方面,此聯盟的神經網路還包含数据中心、邊緣運算、行動運算與微型資料中心等相關應用。

在 MLPerf 標準檢測套件中,最常用的神經網路之"一是 ResNet-50,一種 50 層深的 CNN,可用以進行物件分類。此神經網路可做為構件(building block)來創造更進階的標準檢測神經網路。MLPerf 所提供的神經網路,可視為評估特定處理器架構效率的起始點。當然,每家處理器廠商都有其誘因,要將其神經網路加速器在 MLPerf上盡可能最佳化。這表示,如果單看 MLPerf 結果,可能無法衡量他們工具的好壞。這點極其重要,因為這些工具必須要能準確執行神經網絡映射,才能讓特定的處理器最佳化。如果以 MLPerf 作為標準檢測的起點,那麼也可選用一些非標準神經網路,讓供應廠商在短時間內進行優化,使其更了解他們的處理器效能。

為嵌入式 AI 處理器定義標準檢測參數

既然我們已經討論過標準檢測過程中的一些考量因素,接下來分享七個為SoC 選擇嵌入式 AI 處理器 IP 的訣竅:

  1. 混合使用標準與自訂神經網路來進行 AI 硬體的標準檢測。對現成神經網路進行標準檢測,可以衡量廠商自行最佳化的能力。測試非標準和自訂神經網路,則能衡量廠商的工具映射演算法(map algorithms)的能力。
  2. 量測效能時,單位請使用週期/幀或在某特定赫數(Hz)的每秒幀數(fps)。若使用 fps,則應提及頻率 (請謹慎使用 fMAX/峰值,業界對於「峰值」並沒有標準的定義)。此外,請注意每秒一兆次操作 (TOPS) 基本上是一種行銷數字,不該用於標準檢測。 呈現出AI 晶片在特定時間內可進行多少次運算操作,但不會說明晶片可進行的操作類型或品質,也不考慮功耗。
  3. 將壓縮(可改善 fps)和準確度配對。壓縮過多會對準確度造成負面影響,因此必須取得兩者的量測值。
  4. 明確說明頻寬限制。隨著神經網路加速器的規模成長,记忆体頻寬成為 AI 系統日益嚴重的瓶頸。因此,「無限頻寬」的假設會導致標準檢測過於樂觀。
  5. 對功率模拟資料抱持懷疑。廠商的功率估計值可能會有很大差異。可能的話,請選擇 AI 工作負載(workload)仿真模拟結果,而非模拟或靜態分析。
  6. 依據標準調整面積。請確保所提供的面積與標準檢測時的設定(记忆体大小、設定選項等等)相同。
  7. 由於漏电状况因使用案例不同而有明显差异,请依据工作温度调整面积/功率。

接下來,讓我們深入瞭解「功率」這項在運算密集型 AI 工作負載的功耗/效能取得平衡的關鍵要素。由於動態與靜態功耗皆受製程技術微縮的影響,因此需要不斷做出取捨,在功耗和性能需求之"間取得平衡。為能校準處理器選擇和應用功率,IP區塊的早期和準确功率预估是非常重要的。由於單一效能與功率指標不夠全面,我們也必須考量進行功率預估的條件。舉例來說,在評估 CNN 功耗時,最準確的指標是典型神經網路的能量(單位為每幀焦耳數)。不過,計算平均每幀功率是件深具挑戰性的事。許多设计人員會選擇測量神經網絡其中一個卷積層的能源效率,但即便是這個方法也一樣困難重重,因為單一「代表」層不一定具有代表性。

為了達到最高的功率測量準確度,需要一個能夠在完整佈局的網表(netlist)上執行數十億次 CNN 週期的解决方案。模拟會花太多時間。另一方面,仿真模拟則能幫助 IP 開發者與 SoC 设计人員,在幾分鐘或幾小時內準確計算嵌入式處理器數億個處理週期的功率,而不會花上數週甚至數個月的時間。

確保對 AI 處理器 IP 選擇的信心

就算完成了標準檢測並選擇了處理器,神經網絡的前景展望也不會原地踏步。隨著神經網路持續進化,AI 處理器必須跟上神經網路最新發展的腳步,而這是個不斷進行中的目標。你也需要一個硬體加速的解决方案,其功率與面積都已盡可能最佳化,同時還可程式化以提供彈性。有新功能可用時,可以修改可程式化處理器的程式碼以支援這些功能。實際上,透過軟體管理新興的神經網路功能,某種程度上可以防止它過時。

新思科技的技术专家利用可程式化的新思科技&苍产蝉辫;DesignWare ARC? EV 處理器,與客戶密切合作數百項標準和非標準神經網路標準檢測,以促進其嵌入式影像解决方案,並提供準確的 fps、功率、面積、頻寬與延遲等相關資料。我們的客戶可以利用新思科技詳盡的開發工具作出更好的取捨,比如,以更大的內部 SRAM 換取頻寬的提升,或為了更大的神經網路而增加面積。以較低的頻率執行以節省功耗也是一種取捨的選擇,而其他人則可能以性能為優先考量而非準確度。ARC EV 處理器包括可快速進行神經網路標準檢測的各項工具。

作為新思科技豐富的 AI 解决方案組合之"一, 新思科技提供專門化的處理器、记忆体性能和即時連接性 IP,可加快产物上市時程。除了ARC EV處理器之"外,新思科技 ASIP Designer 工具支援平行性的自訂處理與專用的資料路徑要素,可用於專用指令集處理器 (application-specific instruction-set processors; ASIPs)的设计與實作。新思科技 DesignWare 记忆体 IP 為頻寬、效能和快取一致性 (cache coherency)等不同的记忆体限制提供高效率架構。 此外,新思科技 IP 則為視覺、自然語言理解和情境感知等 AI 應用提供可靠且即時的連接性,可連接至 CMOS 影像感測器、麥克風和運動感測器。

总结

從辨識語音指令的智慧音箱,到模拟氣候變化模式的高效能運算應用,AI 在我們的生活中變得越來越無所不在。讓這些應用成真的 AI SoC,需要能夠滿足密集型運算工作負載需求的處理器 IP。隨著標準檢測神經網路持續進化,為了建立相關應用開發所需的高效能 AI SoC 架構,選用可預測功率、面積與性能的嵌入式處理器至關重要。

线上研讨会,提供最新ARC處理器 IP 和相關軟硬體技術整合的深入資訊。歡迎報名參加,以瞭解半導體市場發展趨勢以及針對廣泛嵌入式領域,包括物聯網、车用安全、嵌入式視覺、軟體安全等特定基於ARC的解决方案。