?Eyeriss 架構中的訪存行為解析(騰訊元寶)

?Eyeriss 架構中的訪存行為解析?

Eyeriss 是 MIT 提出的面向卷積神經網絡(CNN)的能效型 NPU(神經網絡處理器)架構,其核心創新在于通過硬件結構優化訪存行為,以解決傳統 GPU 在處理 CNN 時因數據搬運導致的能效瓶頸。以下從訪存行為的關鍵問題、Eyeriss 的解決方案及技術細節展開說明。


?一、CNN 的訪存挑戰:數據復用與帶寬壓力?

CNN 的計算以卷積為核心,其特點是局部性(locality)強但數據復用模式復雜?:

  • ?空間局部性?:卷積核在輸入特征圖上滑動,相鄰輸出單元的計算共享大量輸入數據(如 3x3 卷積核覆蓋的 9 個輸入像素)。
  • ?通道局部性?:同一輸入通道的數據會被多個卷積核重復使用(如 16 個卷積核共享同一輸入通道)。
  • ?批處理局部性?:同一批次(batch)的輸入數據在不同輸出通道間復用。

傳統 GPU 的全局內存(DRAM)→共享內存(Shared Memory)→寄存器三級存儲層次,雖能緩解帶寬壓力,但仍存在:

  1. ?數據搬運量大?:CNN 的參數(權重)和激活值(中間結果)需頻繁在 DRAM 和計算單元間傳輸。
  2. ?訪存帶寬成為瓶頸?:計算單元常因等待數據而閑置(計算密度低),能效比差。

?二、Eyeriss 的訪存優化設計?

Eyeriss 通過數據流(Dataflow)架構片上存儲層次的協同設計,最大化數據復用,減少 DRAM 訪問次數。其核心思想是:??“讓數據盡可能靠近計算單元”?

?1. 數據流架構:控制數據流動路徑?

Eyeriss 定義了四種經典數據流模式(后擴展為更靈活的 ?NoC-aware 數據流),每種模式針對不同的數據復用場景:

  • ?Weight Stationary (WS)??:權重固定在一個 PE(Processing Element)中,輸入激活值和部分和(Partial Sum)流動。
    → ?優勢?:適合權重復用高的場景(如小卷積核),減少權重從片上存儲到 PE 的重復加載。
  • ?Output Stationary (OS)??:輸出激活值固定在 PE 中,權重和輸入激活值流動。
    → ?優勢?:適合輸出通道復用高的場景(如多卷積核并行),減少部分和的頻繁更新。
  • ?Input Stationary (IS)??:輸入激活值固定在 PE 中,權重和部分和流動。
    → ?優勢?:適合輸入通道復用高的場景(如深層網絡),減少輸入數據的重復搬運。
  • ?No Local Reuse (NLR)??:無數據復用,直接按計算順序搬運數據(類似傳統矩陣乘法)。

?Eyeriss 的靈活性?:通過動態配置數據流模式,適配不同層的計算特征(如淺層用 WS,深層用 OS)。

?2. 片上存儲層次:多級緩存與數據分布?

Eyeriss 的存儲層次分為四級,逐級減少對 DRAM 的訪問:

  1. ?片外 DRAM?:存儲權重和激活值,帶寬有限(如 12GB/s)。
  2. ?片上全局緩沖區(Global Buffer)??:暫存從 DRAM 加載的數據,按需分發給處理單元(PE Array)。
  3. ?PE Array 內的局部存儲?:
    • ?PE 級寄存器?:每個 PE 包含少量寄存器,存儲當前計算的輸入、權重和部分和。
    • ?行緩沖區(Row Buffer)??:每個 PE 行共享的緩沖區,用于暫存輸入激活值(支持空間局部性復用)。
  4. ?數據廣播與共享機制?:
    • ?權重廣播?:同一權重可被多個 PE 共享(通過行緩沖區或全局緩沖區)。
    • ?輸入激活值共享?:同一輸入數據可通過行緩沖區廣播給多個 PE(支持通道局部性復用)。

?3. 稀疏性與零值跳過?

CNN 中存在大量冗余計算(如 ReLU 激活后的零值),Eyeriss 通過稀疏數據流跳過零值計算:

  • ?標記零值?:在數據加載時標記零激活值,PE 直接跳過相關計算。
  • ?動態調整數據流?:零值跳過后,剩余數據重新分配到 PE,避免無效搬運。

?三、Eyeriss 的訪存行為示例(以卷積層為例)??

假設一個 3x3 卷積層,輸入特征圖尺寸 32x32,輸出特征圖 30x30,輸入/輸出通道數各為 16:

  1. ?數據加載?:
    • 權重(3x3x16x16)從 DRAM 加載到全局緩沖區,按 WS 數據流分發給 PE。
    • 輸入激活值(32x32x16)分塊加載到全局緩沖區,通過行緩沖區廣播給 PE 行。
  2. ?PE 計算?:
    • 每個 PE 計算局部 3x3 區域的輸出(如 1x1 輸出單元),權重固定,輸入激活值從行緩沖區流動。
    • 部分和(Partial Sum)存儲在 PE 寄存器中,逐步累加。
  3. ?數據復用?:
    • ?空間復用?:同一輸入激活值的 3x3 區域被多個 PE 共享(通過行緩沖區)。
    • ?通道復用?:同一輸入通道被多個卷積核(16 個)重復使用(通過全局緩沖區)。
  4. ?結果寫回?:
    • 輸出激活值(30x30x16)暫存于全局緩沖區,按需寫回 DRAM(非實時寫入,減少帶寬壓力)。

?四、Eyeriss 的能效優勢?

通過上述設計,Eyeriss 實現了:

  1. ?數據復用率提升?:輸入激活值的空間復用率達 90%+,權重復用率達 80%+。
  2. ?DRAM 訪問減少?:相比 GPU,DRAM 訪問量降低 10-100 倍。
  3. ?計算密度優化?:PE 利用率(Utilization)從 GPU 的 10% 提升至 30%-50%。

?總結?

Eyeriss 的訪存行為優化核心是?“數據流驅動存儲層次”??:通過動態數據流模式匹配計算特征,結合多級片上存儲和數據復用機制,最大限度減少 DRAM 訪問,從而顯著提升能效。這一設計為后續 NPU(如 Google TPU、華為 Da Vinci)的訪存優化奠定了基礎。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/90312.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/90312.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/90312.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數字圖像處理(三:圖像如果當作矩陣,那加減乘除處理了矩陣,那圖像咋變):從LED冬奧會、奧運會及春晚等等大屏,到手機小屏,快來挖一挖里面都有什么

數字圖像處理(三)一、(準備工作:咋玩,用什么玩具)圖像以矩陣形式存儲,那矩陣一變、圖像立刻跟著變?1. Python Jupyter Notebook/Lab 庫 (NumPy, OpenCV, Matplotlib, scikit-image…

docker-desktop啟動失敗

報錯提示deploying WSL2 distributions ensuring main distro is deployed: checking if main distro is up to date: checking main distro bootstrap version: getting main distro bootstrap version: open \\wsl$\docker-desktop\etc\wsl_bootstrap_version: The network n…

基于FastMCP創建MCP服務器的小白級教程

以下是基于windows 11操作系統環境的開發步驟。 1、python環境搭建 訪問官網:https://www.python.org/。下載相應的版本(如:3.13.5),然后安裝。 安裝完成之后,使用命令行工具輸入python,顯示…

網絡協議與層次對應表

網絡協議與層次對應表(OSI & TCP/IP模型)OSI七層模型TCP/IP四層模型協議/技術核心功能與應用?應用層?應用層HTTP/HTTPS網頁傳輸協議(HTTP)及其加密版(HTTPS)FTP文件上傳/下載協議SMTP/POP3/IMAPSMTP發…

android studio(NewsApiDemo)100%kotlin

api接口地址:https://newsapi.org/docs/get-started 項目成品地址:https://github.com/RushHan824/NewsApiDemo 項目效果展示: MVVM數據流 UML圖 本系列文章將帶你從零實現一個新聞列表App,適合零基礎讀者。一步步來&#xff0c…

面試高頻題 力扣 417. 太平洋大西洋水流問題 洪水灌溉(FloodFill) 深度優先遍歷(dfs) 暴力搜索 C++解題思路 每日一題

目錄零、題目描述:用人話再講一遍一、為什么這道題值得咱們學習?二、思路探索常規思路:逐個檢查每個格子(會超時!??)三、正難則反:反向思維的巧妙應用 🔄(思考時間&…

博物館智慧導覽系統AR交互與自動感應技術:從虛實融合到智能講解的技術實踐

本文面向博物館信息化開發者、智慧場館系統技術建設師及AR 設計工程師,從AR 交互與自動感應技術的邏輯出發,拆解AR虛實融合技術與智能講解自動感應技術的原理,為相關開發者實踐提供可復用的技術路徑。如需獲取博物館智慧導覽系統解決方案請前往文章最下方獲取&#…

高效編程革命:DeepSeek V3多語言支持與性能優化實戰

文章目錄 如何利用DeepSeek V3編寫高效程序代碼:從原理到實踐 引言 一、DeepSeek V3核心能力解析 1.1 模型架構與優勢 1.2 與傳統編程輔助工具對比 二、高效代碼編寫實踐指南 2.1 精準提示工程(Prompt Engineering) 基礎提示模板 高級提示技巧 2.2 生產級代碼生成案例 示例:…

OkHttp 與 JSON 解析庫完美結合:Moshi/Jackson/Gson 實戰指南

前言在現代 Android 開發中,網絡請求與 JSON 數據處理是密不可分的。OkHttp 作為強大的 HTTP 客戶端,與 JSON 解析庫(Moshi/Jackson/Gson)的結合使用,可以極大簡化網絡請求與數據解析的流程。本文將詳細介紹如何將 OkH…

An error occurred at line: 1 in the generated java file問題處理及tomcat指定對應的jdk運行

一、背景 tomcat7啟動后,加載jsp頁面報錯,提示無法將jsp編譯為class文件,主要報錯信息如下: An error occurred at line: 1 in the generated java file 最后確認該錯誤原因為:tomcat7不支持jdk1.8版本 機器上已配…

深入剖析大模型在文本生成式 AI 產品架構中的核心地位

一、大模型的崛起與概念解析 在人工智能技術飛速迭代的當下,大模型已成為驅動行業發展的核心引擎。從技術定義來看,大模型(Large Model) 是指基于深度學習架構、具備海量參數規模(通常數十億至數萬億級別)&…

Vue Scoped樣式:當動態元素成為“無家可歸“的孤兒

引言:一場CSS的"身份危機"想象一下:你精心設計了一個Vue組件,為每個元素添加了漂亮的樣式。你滿意地添加了scoped屬性,確保樣式不會"越獄"影響其他組件。然后你動態添加了一些新元素,卻發現它們完…

vmware分配了ubuntu空間但是ubuntu沒有獲取

一開始我看vmware中的ubuntu磁盤空間只有200g不夠用,我在vmware給Ubuntu分了300G的磁盤空間,但是ubuntu還是只有之前的200g 如圖在ubuntu查看后來發現,在磁盤軟件里面需要自己分配磁盤空間大小拓展后就可以了

[MarkdownGithub] 使用塊引用高亮顯示“注意“和“警告“和其他注意方式的選項

參考來源: https://github.com/orgs/community/discussions/16925 Alerts are an extension of Markdown used to emphasize critical information. On GitHub, they are displayed with distinctive colors and icons to indicate the importance of the content. 提示框是 Ma…

mac測試ollama llamaindex

LlamaIndexs 將大語言模型和外部數據連接在一起的工具。大模型prompt有一個長度限制,當外部知識的內容超過這個長度,無法同時將有效信息傳遞給大模型,因此就誕生了 LlamaIndex。 具體操作就是通過多輪對話的方式不斷提純外部數據&#xff0c…

數據結構:字符串:大小寫轉換(changing case of a string)

目錄 第一性問題:什么是“大小寫”? 逐步構造代碼:全部轉為大寫 我們現在用 第一性原理 的方式,從字符串與字符的本質出發,一步步推導出如何在 C 語言中將字符串中的字母變成全部大寫或全部小寫。 第一性問題&…

閑庭信步使用圖像驗證平臺加速FPGA的開發:第三十二課——車牌識別的FPGA實現(4)車牌字符的分割定位

(本系列只需要modelsim即可完成數字圖像的處理,每個工程都搭建了全自動化的仿真環境,只需要雙擊top_tb.bat文件就可以完成整個的仿真,大大降低了初學者的門檻!!!!如需要該系列的工程…

03_java_運行機制

1. java執行流程2. 什么是編譯3. 什么是運行

鴻蒙卡片開發保姆級教程

卡片 1. 卡片概念 什么是卡片?卡片用來顯示或者提示一些基本信息或者進行一些基本操作。注意不能做重邏輯,所有重要邏輯全部交給應用如果是元服務如何喚醒?因為元服務不提供桌面應用圖標,我們可以通過用戶手動的方式在桌面上添加一…

反向傳播及優化器

反向傳播(Backpropagation)反向傳播是計算梯度的算法,核心作用是高效求解 “損失函數對模型所有參數的偏導數”(即梯度)。沒有反向傳播,深度學習的大規模訓練幾乎不可能實現。 整個過程像 “從終點回溯到起…