當前位置: 華文世界 > 科技

為什麽AI PC需要NPU?

2024-08-27科技

NPU為何成為AI PC的關鍵?

©作者 | chuiyuw

來源 | 神州問學

引言

在日常生活中,我們已經離不開科技的陪伴,從智能電話到智能家居,人工智能(AI)正逐步滲透到我們的每一個角落。特別是在計算器材上,傳統的個人電腦(PC)正面臨著功能升級的挑戰。為了更好地滿足使用者對智能計算的需求,AI PC作為一種新興產品,正在改變傳統的PC使用方式。AI PC,顧名思義,是整合了AI的PC。它不僅在硬件上整合了混合AI算力單元,還能本地執行「個人大模型」、建立個人化的本地知識庫,實作自然語言互動。AI PC的功能將由工具升級為助理,成為個人的「第二大腦」,是與使用者如同雙胞胎般的個人AI助理。

而NPU(Neural Processing Unit,神經網絡處理單元)作為AI PC的核心技術之一,發揮著至關重要的作用。它專為深度神經網絡計算而設計,透過模仿人腦神經元結構和工作原理,采用平行計算架構來實作高效的數據處理。相較於傳統的CPU和GPU,NPU在執行復雜神經網絡任務時具有更高的效率和更低的功耗。

因此,NPU與AI PC的結合,將帶來全新的智能計算體驗,推動PC行業邁向智能化新時代。那麽,NPU究竟是什麽,它又有什麽作用呢?

一、NPU的定義與作用

什麽是NPU?

NPU(Neural Processing Unit,神經網絡處理單元)是一種專為深度神經網絡計算而設計的專用處理器。它透過模仿人腦神經元結構和工作原理,采用平行計算架構來實作高效的數據處理。相較於傳統的CPU和GPU,NPU在執行復雜神經網絡任務時具有更高的效率和更低的功耗。

具體而言,NPU采用「數據驅動平行計算」的獨特結構,能夠同時處理大量數據流,從而顯著提高處理速度。其內部包含多種模組,如乘加模組、啟用函數模組以及二維數據運算模組等,這些模組共同協作以支持神經網絡的前向計算、啟用函數等重要流程。

在智能計算中,NPU的作用主要體現在以下幾個方面:

1. 加速AI推理: NPU能夠以低功耗的方式加速AI任務的執行,特別是在需要快速響應的套用場景中表現尤為突出。例如,在影片會議中的摳像、影像智能降噪等場景中,有了NPU加持可以大幅提升效能和降低功耗。

2. 最佳化資源使用: 由於NPU的設計初衷是針對深度學習演算法所需的復雜計算進行最佳化,因此它能更有效地利用計算資源,減少不必要的指令和數據傳輸,從而提高整體系統的能效比。NPU芯片在設計時考慮到了這一點,因此將儲存模組和計算單元進行了重新整合,避免了每次計算都需要重新與緩存(cache)進行的較低效的數據交換。

3. 支持多種AI套用: NPU不僅適用於自然語言處理、機器學習等領域,還廣泛套用於影片和影像處理等多模態任務。這種靈活性使得NPU成為現代智能器材不可或缺的一部份。

4. 提升計算效能: 相比傳統CPU和GPU,NPU在處理神經網絡模型時表現出更高的計算效能和效率。例如,在同等功耗下,NPU的效能可達到GPU的118倍。

總之,NPU作為一種創新的計算硬件,透過其獨特的架構和高效的平行計算能力,極大地推動了人工智能技術的發展,並在各種智能計算任務中發揮了重要作用

二、 NPU的核心技術與架構

1. NPU的架構


NPU 架構設計的核心特點在於整合了大量的計算單元陣列,如 Intel NPU 的神經計算引擎和 AMD XDNA 的 AI 引擎塊,這些單元內建向量和純量處理器,並利用片上記憶體和客製數據流,避免了數據頻繁利用總線在CPU、GPU以及記憶體中交換,實作高效、低功耗的 AI 計算。同時,這些 NPU 架構還具備可延伸性和軟件編程能力,能夠適應不同規模的 AI 任務,並最佳化計算密度和能效。

英特爾(Intel)的NPU架構圖

英特爾 NPU 是整合在 Intel Core Ultra 處理器中的 AI 加速器,具有獨特的架構,能夠進行計算加速和數據傳輸。其計算加速依賴於神經計算引擎,包括專門用於 AI 操作的硬件加速模組(如矩陣乘法和摺積)和流式混合架構向量引擎(SHAVE)。

硬件設計包括:

● 可延伸的多塊設計: NPU的核心架構是可延伸的神經計算引擎。

● 硬件加速模組: 專門處理高計算量 AI 操作的模組,如矩陣乘法和摺積。

● 流式混合架構: 內建 SHAVE 引擎,實作高效的平行計算。

● DMA 引擎: 負責在 DRAM (動態RAM) 和緩存之間高效地流動數據。

● 記憶體管理: 內建 MMU(記憶體管理單元) 和 IOMMU(輸入輸出記憶體管理單元),支持多個並列執行的硬件上下文,確保安全隔離,符合微軟計算驅動模型(MCDM)標準。

盡管硬件先進,但英特爾 NPU 的真正實力透過 MLIR 編譯器得以發揮,最佳化並協調 AI 任務的執行。其軟件設計包括:

● 並列工作負載執行: 編譯器透過並列執行 AI 任務,並以塊式圖案引導計算和數據流,確保高效運作。

● 最大化計算利用率: 編譯器透過減少 SRAM 和 DRAM 之間的數據傳輸,優先使用片上 SRAM,最佳化效能,提高單位能耗下的計算效率。

AMD XDNA™ NPU架構

AMD XDNA 是一種空間數據流NPU架構,由多個 AI 引擎塊組成。每個塊內含向量處理器、純量處理器,以及本地記憶體,透過片上記憶體和客製數據流實作高效、低功耗的 AI 和訊號處理計算。每個塊的處理器專為機器學習和高級訊號處理最佳化,執行頻率可達 1.3GHz,支持高效、低延遲任務。其設計優勢在於:

● 軟件可編程: AMD NPU 可編程,編譯速度快,簡化了開發者的工作流程。

● 確定性: 配備專用記憶體和 DMA 引擎,實作有計劃的數據移動。

● 高效 :相比傳統架構,提供更高計算密度和出色的功耗效率。

● 可延伸性: 采用二維陣列設計,支持多個 AI 引擎塊的擴充套件,滿足多種套用需求。

2. NPU與GPU的區別

目前為止,深度學習、大語言模型領域的絕大多數模型的訓練、微調和推理任務都由GPU來完成,而NPU也是完成人工智能 (AI) 和機器學習 (ML) 任務的處理器,這兩者的區別又是什麽呢?

● 功能: GPU(圖形處理單元)最初用於加速圖形處理和渲染任務,如影像或影片編輯,以及遊戲。後來在機器學習技術普及之後,由於其高吞吐量,GPU現在也用於訓練大型神經網絡。而NPU是一種專門用於加速神經網絡操作的處理器,主要用於人工智能 (AI) 和機器學習 (ML) 任務。它具有並列處理能力和硬件最佳化,可以高效且低能耗地執行AI和ML任務,如人臉辨識、模型訓練等。

● 硬件最佳化: NPU具有特定的硬件最佳化,能夠高效且低能耗地執行AI和ML任務,如推理和訓練。GPU也支持並列處理,能夠每秒執行數萬億次操作,適用於圖形處理和其他計算任務,但其能耗較高。NVIDIA最近公布的RTX 5090顯卡的功耗標註了超過500W,這相當於一個小房間的空調開制冷的功率了。

● 套用場景: NPU專門用於AI任務,而GPU作為「六邊形戰士」,除去它圖形處理的本職工作,還可兼職大規模數據處理和復雜計算,如加密貨幣挖礦和AI模型訓練。

● 效能: NPU和GPU的效能通常以每秒萬億次操作 (TOPS) 來衡量,但二者效能差距很大。例如,AMD宣稱即將推出的XDNA 2 NPU的效能可達50 TOPS,而NVIDIA的GeForce RTX 4090 GPU卻超過1300 TOPS。

三、NPU的實際套用場景

高通最新釋出的【透過NPU和異構計算開啟終端側生成式AI】白皮書中總結,生成式AI套用可分為三類:

1. 按需型: 由使用者觸發,需要立即響應。這包括照片/影片拍攝、影像生成/編輯、程式碼生成、錄音轉錄/摘要和文本創作/摘要。

2. 持續型: 執行時間較長。這包括語音辨識、遊戲和影片的超級分辨率、影片通話的音訊/影片處理以及即時轉譯。

3. 泛在型: 在後台持續執行。這包括始終開啟的預測性AI助手、基於情境感知的AI 個人化和高級文本自動填充。

憑借NPU的低能耗、高效AI計算的特點,NPU適合很多泛在型任務的處理。例如,在影片會議中,利用NPU可以實作智能摳像功能。傳統做法需要GPU來承擔復雜的影像分割和合成計算,但有了NPU加持,同樣的任務可以在本地高效完成,不僅響應更快,而且功耗也大幅降低。使用者在影片通話時就能享受到流暢、穩定的畫面效果。在系統管理方面,NPU也能大顯身手。它可以執行AI模型對系統狀態進行即時監測和分析,智能調整CPU頻率、風扇轉速等參數,實作更節能、更個人化的電源管理。這對於筆記電腦等流動通訊器材而言尤為重要。此外,NPU還能賦能於語音辨識、自然語言處理等領域,為使用者提供更自然、智能的互動體驗。不過對於一些復雜的大型AI模型,仍需要CPU和GPU的強大運算能力來支撐。

四、NPU對傳統PC架構的沖擊與最佳化

1. 傳統架構的局限性

傳統PC的「CPU-GPU」架構在處理AI任務時存在諸多瓶頸,包括算力不足、能耗、數據傳輸頻寬和延遲等問題。

● 算力不足: 對CPU來說,雖然多核CPU帶來了一些平行計算的能力,但PC的所有作業系統程式、網頁瀏覽器、檔編輯等程式都由CPU來執行,這些已經對CPU的算力進行了占用,留給其他任務的資源十分有限。對於GPU而言,盡管GPU具有較高的並列處理能力,但其核心功能並非神經網絡的計算,因此對於AI計算任務的管理控制能力較弱。此外,傳統的CPU和GPU設計並非專門針對AI任務最佳化。雖然它們可以透過靈活通用的指令集覆蓋基本運算操作,但在芯片架構、效能和能效等方面並不能完全滿足AI技術與套用的快速發展需求。

● 能耗和成本問題: AI任務往往需要長時間執行,盡管市面上已經有一些PC配備了專門用於計算的強力GPU,但體積大和低能效問題依然無法解決,GPU在進行模型推理的時候發熱問題嚴重,這也進一步提高了能源成本。此外,目前全球AI算力均十分緊缺,隨著大語言模型和多模態模型的橫空出世,中國對於訓練和推理的資源需求不斷上升,而美國芯片出口禁令日益嚴格,GPU的成本居高不下。因此高能耗和高成本限制了傳統PC在AI領域的套用。

● 數據傳輸頻寬不足: 目前大多數PC、智能電話等采用的CPU-GPU分離式架構,CPU和GPU各自有獨立的緩存和記憶體,它們透過PCI-e等總線通訊。這種結構的缺點在於 PCI-e 相對於兩者具有低頻寬和高延遲,例如PCIe 5.0的傳輸速率為32 GT/s或25 GT/s。這使得在處理大規模AI模型時,數據傳輸速度成為瓶頸,影響整體效能。

傳統CPU-GPU分離式架構

2. NPU對架構設計的影響

「算力是AI PC各項功能得以實作的前提,終端異構混合(CPU+NPU+GPU)算力是AI規模化落地的必然要求。」【AI PC產業(中國)白皮書】指出,異構混合計算 是透過整合不同類別的指令集和架構的計算單元,如 CPU、NPU、GPU 等,組成一個強大的本地計算系統。這種方式可以充分利用各硬件的優勢,實作更高的平行計算能力。例如,針對三種生成式AI類別——按需型、持續型 和 泛在型,按需型套用的關鍵在於時延,因為使用者不想等待。當使用小模型時,CPU通常是最佳選擇;而在模型變大(如數十億參數)時,GPU 和 NPU 更加合適。對於持續型和泛在型套用來說,電池續航和能效至關重要,因此 NPU 是最優選擇。

NPU的設計包括動態內部記憶體埠分配和高效的架構設計,以支持混合精度算術運算,從而最大化芯片上的記憶體頻寬利用率。這種設計使得NPU在執行大模型任務時,具有更低的功耗和更高的效率。新型計算架構如PIM(近記憶體計算),透過將計算靠近儲存來降低數據搬移能耗並提升記憶體頻寬。這種架構不僅提高了資源效率,還減少了對快取的需求,從而最佳化了記憶體架構,使得CPU-NPU-GPU的異構混合計算的數據傳輸效率更高。

3. 生態系的變革


對於AI PC來說,處理器內部依賴多個處理單元的協同配合,才能充分釋放AI引擎的效能,但這還遠遠不夠,因為無論是AI PC、AI手機,還是物聯網器材,只有軟硬件結合,才能提供最佳體驗。

高通在 MWC 2024 期間釋出的一款全面的模型最佳化庫 AI Hub,為開發者提供了超過75個經過最佳化的主流模型,如 Stable Diffusion、ControlNet 和 Baichuan-7B 等。這些模型能夠充分利用高通AI引擎的所有核心硬件加速能力,實作推理速度提升4倍。對開發者來說,借助這些最佳化模型,可以快速將大模型無縫整合到套用中,縮短產品上市時間。此外,這些模型也已同步上線到 GitHub 和 Hugging Face,開發者可以在搭載高通和驍龍平台的雲托管終端上自由執行。

高通AI軟件棧

更重要的是,高通還在硬件AI能力的基礎上,打造了高通AI軟件棧,支持所有主流AI框架(如 TensorFlow、PyTorch、ONNX 和 Keras),以及主流的AI執行時(如 DirectML、TFLite、ONNX Runtime、ExecuTorch),並支持各種編譯器、數學庫等AI工具。開發者可以透過 高通 AI 引擎 Direct 軟件開發包 (SDK) 進行直接耦合,加快開發行程。此外,高通AI軟件棧還整合了用於推理的高通神經網絡處理SDK,提供適用於 Android、Linux 和 Windows 的不同版本。

英特爾WebNN的組成

英特爾今年也將釋出第四代神經網絡處理單元(NPU),其AI效能高達48 TOPS,是上一代產品的四倍。在不斷叠代NPU技術的同時,英特爾也在積極構建工具和生態系支持,以幫助開發者更好地利用NPU進行AI套用開發。其中包括對WebNN的支持,透過統一的神經網絡抽象層,使得AI硬件加速能夠更方便地接入到作業系統中。英特爾還專註於提供更高的綜合AI算力,並帶來了供電和電源管理方面的大幅改進,SoC耗電量減少40%,更適合流動通訊器材。

華為的麒麟990 5G整合了全新的達芬奇架構NPU,支持超過300個AI算子數量,並能支持90%的開源模型。華為的昇騰NPU也得到了進一步的發展,例如PyTorch 2.1版本支持了昇騰NPU,華為也成為中國首個PyTorch基金會Premier會員,這表明華為在推動多樣性算力支持與改進方面取得了重要進展。軟件方面,華為HiAI平台已經讓3.4億終端使用者受益,並且每年有1.5億台出貨量。透過這樣的生態,華為希望快速地讓其使用者受益,並與夥伴建立起AI開發生態。

五、NPU的當下與未來

盡管 NPU 擁有全新的硬件架構、低能耗和高算力等優點,目前大多數AI PC中的 NPU 長期處於未使用的狀態,這主要歸因於幾個關鍵因素。首先,軟件生態尚未完全成熟,許多應用程式和作業系統尚未最佳化,無法充分利用NPU的計算能力,需要後續更新叠代繼續最佳化對NPU資源的呼叫。這導致NPU在實際使用中難以發揮其潛力,往往被閑置。其次,開發者的支持也不足。要充分利用NPU,開發者需要花費時間和資源來學習和適應NPU的編程模型和工具鏈。然而,目前許多開發者仍然依賴 CPU 和 GPU 進行AI計算,對NPU的利用較少。最後,市場需求也不夠明確。雖然NPU在特定任務上表現出色,但對許多使用者來說,他們的日常需求並不需要如此高效的AI計算能力,這進一步導致了NPU的低使用率。這些因素共同影響了NPU在當前AI PC中的套用,使得這一強大的計算單元未能充分發揮其應有的作用。


未來,NPU 將適應更多的套用場景和演算法模型,包括自動駕駛、機器人以及內容推薦等領域。它將與 CPU 和 GPU 更緊密地結合,實作更高效、低能耗的自主計算任務。這種協同工作將顯著提升計算能力,使器材在處理復雜任務時更加靈活高效。此外,開源的 NPU指令集架構(NPU ISA) 將成為推動產業創新的重要力量,降低開發成本,加速智能計算套用的普及和落地。

隨著 NPU 技術的不斷發展,它在多個領域展現出巨大的套用潛力。在智能器材和物聯網方面,NPU將使這些器材更加直觀和節能,從而提升使用者體驗。例如,可穿戴器材將能夠即時監控健康指標,而智能家居系統則可以根據使用者的生活習慣自動做出調整,提供更舒適和個人化的居住環境。在自動駕駛和機器人技術中,NPU的強大計算能力使其在處理大量傳感器數據和即時決策方面表現出色,成為推動這些技術進步的關鍵引擎。此外,在醫療保健領域,NPU能夠處理復雜的醫療數據,幫助實作更早、更精確的診斷,並支持個人化治療方案的制定,為患者提供更好的醫療服務。金融服務領域同樣受益於NPU,透過實時分析交易模式,它可以顯著提高金融系統的安全性和效率,有效防止欺詐行為的發生。

展望未來,NPU技術充滿潛力。隨著技術的進步和套用場景的擴充套件,NPU不僅將在 AI PC 器材中扮演越來越重要的角色,還將在各類嵌入式和移動端器材中發揮關鍵作用。這些進展將使NPU成為推動未來智能計算發展的核心力量,為各行各業帶來深遠的變革和創新

結語

NPU 作為 AI PC 的核心元件,正引領著個人電腦進入智能新時代。它以其高效的平行計算能力和低功耗特性,為 AI 套用提供了強大的算力支持,讓 PC 從傳統的生產力工具轉變為個人 AI 助理,助力使用者更高效地工作、學習和生活。

隨著技術的不斷發展和軟件生態的日益完善,NPU 將在未來發揮更大的作用。它將與 CPU 和 GPU 更緊密地協同工作,為使用者提供更加個人化、智能化的體驗。從智能摳像到系統管理,從語音辨識到自然語言處理,NPU 將在各個領域展現出其巨大的潛力,為人類創造更美好的智能生活。