NPU前路不通,GPGPU才是解藥?

NPU前路不通,GPGPU才是解藥?

文章圖片



NPU(Neural network Processing Unit , 神經網絡處理器)是專為人工智能計算設計的專用芯片 , 核心優勢在于高效執行神經網絡相關運算(如矩陣乘法、卷積操作、激活函數計算等) 。 相較于傳統 CPU 與 GPU , NPU 在能效比和運算速度上表現更優 , 尤其適配移動設備、邊緣計算及嵌入式 AI 等場景 。
近年來 , NPU 也被嘗試應用于 AI 大模型的訓練與推理領域 , 市面上不少產品采用 NPU 架構為 AI 網絡推理提供硬件支持 。 企業對 NPU 的青睞 , 核心原因在于其芯片設計具備可控性與可靠性 。 然而 , 隨著 AI 技術的演進 , NPU 的局限性逐漸顯現 , 而 GPGPU(General-Purpose computing on Graphics Processing Units , 通用圖形處理器)卻被認為是更適配未來需求的解決方案 。 近期甚至有消息稱 , 國內某廠商正重構其AI芯片 , 將由NPU轉向GPGPU 。
01NPU和GPGPU的區別
GPU 最初為加速圖形渲染而生 , 專注于處理計算機圖形學中的并行任務 —— 如頂點變換、光照計算、紋理映射等 。 隨著技術演進 , 其強大的并行計算能力推動其向通用計算領域延伸 , 形成了GPGPU , 廣泛應用于科學計算、深度學習訓練、視頻編解碼等場景 。
NPU 則是為人工智能(AI)與機器學習(ML)任務量身設計的專用芯片 , 尤其針對深度學習中的神經網絡推理與訓練 。 其架構深度優化了矩陣運算、卷積操作及激活函數(如 ReLU、Softmax、Pooling)等核心任務 , 通過大規模乘加器(MAC)陣列高效執行矩陣乘法與卷積運算;同時優化數據流傳輸 , 減少存儲器與計算單元間的數據交互開銷 , 大幅提升能效比 。 不過 , NPU 的指令集與硬件設計高度專用化 , 僅適配特定神經網絡模型 , 對其他任務支持有限;且其生態系統較新 , 需依賴芯片廠商提供的專用 SDK 與工具鏈(如華為達芬奇架構、谷歌 Edge TPU 工具鏈) , 開發者需針對特定架構優化 , 靈活性較低但部署效率高 。

從架構核心差異來看 , GPGPU 采用 SIMT((Single Instruction Multiple Threads , 單指令多線程)前端(本質是封裝了 SIMT 前端的 SIMD) , 通過通用調度機制與友好的編程接口 , 實現了 “開箱即用” 的高性能;而 NPU/TPU 仍沿用傳統 SIMD(單指令多數據)架構 , 需手動編排流水線 , 時延隱藏效率遠不及 SIMT , 導致編寫高性能內核難度大、效率低 , 既難以實現易用性 , 生態完善程度也遠落后于 GPGPU 。 (SIMT是GPU架構中的核心并行計算模型 , 通過單一指令流驅動多線程并行執行 , 每個線程處理獨立數據集 。 其核心機制是將線程按32線程組成線程束 , 通過鎖步執行與動態掩碼控制實現分支邏輯處理)
因此近年來 , 一些NPU芯片開始引入SIMT前端(整體仍偏向異構流水線) 。 此外 , GPGPU 雖控制單元很孱弱 , 但這些控制單元仍具備針對并行計算的優化設計——如硬件線程切換、訪存控制、延遲隱藏等;而NPU幾乎無控制單元 , 若按傳統硬件分類 , 稱其為“處理器(PU)”稍顯牽強 , 更適合定義為“計算器/協處理器” 。
若按傳統“處理器-協處理器”體系結構框架分析 , 兩者的定位可總結為:NPU的典型架構是“CPU+NPU”;而GPGPU則為“CPU+GPU+DSA(領域專用架構)” , 以NVIDIA的實現為例 , 即“CPU+CUDA Core+Tensor Core” 。 需注意的是 , 這里的GPU與DSA并非平行的協處理器 , 而是形成“CPU控制GPU , GPU再控制DSA”的層級關系 。
02為什么需要GPGPU?
那么 , 為何需要GPU 來控制領域專用架構(DSA)?或者更根本地說 , GPU 為何需要控制單元?
實際上早期的顯卡 , 和今天的NPU除了任務不同之外 , 結構都差不多 。 但與浮點協處理器逐步集成到 CPU、最終成為 CPU 一部分的路徑不同 , 顯卡從誕生起便是獨立存在的 。 總線物理距離的限制 , 使得 CPU 對顯卡的控制難以實現實時性;而隨著任務復雜度的提升 , 將部分實時控制邏輯集成到顯卡內部 , 便成了必然選擇 —— 這正是硬件設計中經典的 “控制轉移” 策略 。 英偉達不僅內置了這類控制單元 , 更創新性地抽象出 SIMT編程模型 , 這一突破堪稱并行計算領域的里程碑 。
而從近年來的 AI 芯片領域的實踐經驗來看 , 隨著任務日趨復雜多變 , 控制單元的“膨脹”已成客觀趨勢——唯有強大的控制單元 , 才能適配不斷變化的應用場景 。 盡管SIMT已非AI芯片的最優編程模型 , 但AI計算本質上仍屬于并行計算范疇 , 必然會面臨并行計算的共性問題 。 此時人們才發現 , 英偉達GPU的設計看似只是在原有架構上“打了個張量計算核心的補丁” , 缺乏顛覆性創新 , 但其實際應用效果卻遠超預期 , 暗藏諸多可取之處 。
GPGPU的重要性 , 根源在于研究人員無法預判未來 5-10 年 AI 技術的演進路徑 。 若選擇 NPU , 則需將適配壓力完全轉移到軟件層面 —— 盡管這類硬件設計可能是特定階段的最優解 , 但副作用不容忽視 。 也正因如此 , 從訓練場景的需求出發 , 下一代 NPU 引入 SIMT 前端 , 其實是順理成章的選擇 。
客觀而言 , NPU 在推理場景中表現尚可 , 是個不錯的選項;但在訓練場景中 , 其路徑卻異常艱難 —— 難度至少比推理高一個數量級 。 即便 NPU 在性能功耗比上更具優勢 , 也未能在實際表現中形成對 GPU 的碾壓性突破;更何況云端場景對功耗的敏感度本就有限 。
而在NPU實際落地中 , 還存在以下問題:
其一 , 易用性落后于 GPU 。 正如 PyTorch 憑借易用性與開發體驗擊敗靜態圖特性更利于性能優化的 TensorFlow , 實際上開發者對工具鏈的友好度感知尤為敏銳 , 更在乎易用性和體驗 。 具體來看 , NPU 受限于簡單的地址控制模塊 , 僅能處理不同指令對相同地址的訪問阻塞 , 缺乏 SIMT 架構中針對線程的延遲隱藏機制;若要讓算子在 NPU 上充分釋放性能 , 開發者必須深入理解其多級內存機制 , 設計針對性的切分方案 —— 但 L1 級內存塊受限于容量與存儲體沖突問題 , 切分粒度極難把控 , 進一步加劇了使用門檻 。 再者NPU這樣的DSA還未經殘酷的收斂環節 。 目前做NPU芯片每家的架構隔代改動都很大 , 更別說不同公司提供的NPU架構則差異更大 。
其二 , 生態壁壘高 。 國產 GPU 如果直接兼容 CUDA 生態 , 算子與推理引擎框架無需重寫 , 僅需重新編譯即可復用 , 大幅降低了遷移成本;而若投入 NPU , 軟件側則需付出巨大代價 —— 開發者往往需要持續高強度加班以適配算子、優化性能、搭建深度學習引擎框架 。 除字節等少數具備雄厚實力的企業(甚至需要芯片廠商駐場支持) , 多數企業難以承擔這樣的成本 。 對客戶而言 , 若沒有 “完全買不到 GPU” 的壓力 , 顯然不會選擇在 NPU 上投入遠超 GPU 的時間與精力 。
其三 , 開發難度大且封閉性強 , 制約下游開發者的成長 。 在 GPU 生態中 , 開發者可自主開發算子、進行性能優化 , 且門檻相對較低;但在 NPU 體系下 , 除少數大廠外 , 多數開發者只能依賴廠商提供的 SDK 與解決方案 , 難以自主開展深度優化 。
03國內NPU企業或將引入SIMT前端 , 轉向GPGPU路線
GPGPU 的 SIMT模型 , 其設計初衷是為高效處理大規模并行且數據密集型任務而生 , 在圖形渲染與科學計算領域尤為適用 。 該模型允許一組線程(即一個 warp)同步執行相同指令 , 同時每個線程可獨立操作不同數據 —— 這種特性使其在處理包含大量同質化操作的數據集時效率顯著 。 對于復雜任務 , 尤其是那些可高度并行化、數據關聯性低且分支行為趨同的場景 , SIMT 模型的優勢更為突出 。
從硬件特性來看 , NPU確實具備諸多可取之處 。 這也解釋了為何近年來 GPGPU 上的張量計算核心數量持續增加 , 甚至成為衡量性能的核心指標 。 可以說 , NPU 是為 AI誕生的架構 , 但相比 GPU 誕生時的環境 , 以 NPU 為代表的領域專用架構(DSA)的成長之路更為坎坷:一方面要面對自身架構尚未成熟的陣痛 , 另一方面還要承受 GPU 對其技術特性的吸收與市場圍剿 , 發展難度不言而喻 。
針對大語言模型(LLM)這類場景 —— 既包含大量矩陣乘法(GEMM)計算 , 又需持續響應新需求 —— 若想降低軟件開發門檻 , 要么采用 SIMT 模型 , 要么依賴亂序執行與數據預取機制 。 NPU 的架構設計受限于當時的技術視野 , 難以預判未來趨勢 , 因此很難簡單判定早期選擇 NPU 路線是戰略失誤 。 而 SIMT + 張量計算核心的技術路線 , 因能保持與 CUDA 的 API 及源代碼兼容 , 成為當前英偉達競爭對手的主流選擇 , 其優勢不言而喻 。
國內眾多企業的 NPU 發展始于端側場景 , 早期更側重功耗優化 , 且當時 AI 算法種類有限;同時 , NPU 架構對帶寬的敏感度較低 , 理論上可緩解 HBM(高帶寬存儲器)相關的關鍵問題 。 但關鍵在于 , 這些 AI 芯片企業在早期并未完全預見 AI 大模型的爆發式增長 —— 諸多因素疊加 , 導致早期架構設計方向與后期激增的 AI 算力需求出現了適配偏差 。 國內 AI 芯片領域存在一個核心問題:決策層對可編程性與通用性的重視不足 。 過多資源投入到特定場景的優化中 , 雖能在宣傳數據上呈現亮眼表現 , 但一旦拓展至更廣泛的應用場景 , 其平均性能便顯得平庸 。
回歸本質 , GPGPU 與 SIMT 編程模型的核心邏輯 , 在于在保證芯片圖靈完備性的基礎上 , 滿足大規模并行計算需求 。 而DSA的問題恰恰在于對易用性的忽視 , 如今不得不回頭補課 。 值得關注的是 , 隨著 GPU 引入張量核心與 DMA(直接內存訪問)機制 , 其原生 SIMT 模型已有所突破;而 NPU 也在逐步強化控制能力 —— 兩者在技術演進中呈現出 “雙向奔赴” 的融合趨勢 。
不過 , 如今又消息稱 , 后續國內企業也將在NPU中加入SIMT前端 , 逐漸補齊通用調度和編程易用方面的短板 。
【NPU前路不通,GPGPU才是解藥?】想要獲取半導體產業的前沿洞見、技術速遞、趨勢解析 , 關注我們!

    推薦閱讀