一覽處理器廠商「人工智慧推論加速單元」:COMPUTEX 2024 AI PC 群雄大亂鬥篇
距離微軟 5 月 20 日公布 Copilot+ PC 超過兩個月,在 COMPUTEX 時領銜起跑的高通(Qualcomm)與 x86 雙雄,也揭露 Copilot+ PC 筆電處理器,陸續公開技術概觀,AMD 更在 7 月 15 日美國洛杉磯 AMD Tech Day 2024,帶來更多 Zen 5 處理器微架構、RDNA 3.5 繪圖核心、XDNA 2 AI 運算架構、與代號 Strix Point Ryzen 的 AI 300 系統單晶片細節。
毫無疑問的,這些「AI PC 處理器」內建 NPU(神經處理單元)自然就是眾人注目且爭議不斷的焦點,尤其當微軟替 Copilot+ PC 設定 NPU 須具備 40TOPS(每秒執行兆次 INT8 乘積累加運算)或更高效能的標準,似乎刻意「偏袒」高通,讓某些長期將 Windows On Arm 處理器視為「異端」的 x86 基本教義派,怎麼看 Snapdragon X 的 Copilot+ PC 都看不順眼,但微軟這樣做畢竟有理由,英特爾和 AMD 也將共襄盛舉 Copilot+ PC,只是先前號稱搭載 NPU 卻未達標的 x86 處理器與「不符 Copilot+ 的 AI PC」就略顯尷尬了。
▲ 看在市場已一大堆 NPU 未達微軟 Copilot+ PC 的 40TOPS 標準,甚至整顆處理器的所有功能單元加起來都不合格的產品,滿好奇日後是否有其他「補救」方案,否則已購入這些「AI PC」的用戶處境就很尷尬了,空有 AI PC 之名,卻無 AI PC 之實。
為何 Copilot+ PC 非要 40TOPS NPU 不可?
NPU 是 AI 運算時,如即時視訊會議最佳化、即時語音翻譯等需要經常保持開啟的應用程式,可帶來電力效率遠優於 CPU 和 GPU 的特化運算處理器,以 AMD 為例,宣稱 NPU 是 CPU 的 35 倍。
▲ NPU 價值就在「省電」,對輕薄筆電更是確保實用性的關鍵要素,硬扯「GPU 算力比 NPU 更強」純粹只是搞不清楚狀況。
「談 AI PC 的人,如果沒有搞清楚 AI PC 的重點,是讓只有貧弱內顯的大多數企業電腦,具備基礎 AI 推論的能力,在那邊大扯 GPU 算力更勝 NPU,代表其實沒看懂這局到底是什麼。」如果將上述「電腦」改成「輕薄型筆電」,這句話就是筆者近期看到對網路輿論四處爆發、此起彼落的「AI PC 之亂」最佳註腳。
講更白話點,智慧手機碰到怎樣功耗挑戰,如何有效利用專屬功能的輔助處理器延長電池續航力,筆電最終亦無法免俗。
▲ 滿好奇當英特爾發表這頁簡報時,是否已得知微軟 40TOPS 的需求下限,但長遠看,Copilot+ Runtime 也不會只綁死 NPU。
20 年前英特爾藉看起來很像「烏魚子」的 Centrino 認證貼紙,推動筆電必備 Wi-Fi 成約定俗成的標準,今天微軟 Copilot+ PC 就如出一轍,讓缺乏獨顯或高階內顯的輕薄筆電,補上 NPU 而搖身一變成「等級最低的 AI PC」,說穿了就是先採取強制措施並搭配行銷補助,利潤較高的輕薄筆電市場替 AI PC「打底」,GPU 甚至 CPU 的 Copilot+ Runtime 則是「後面再看看」的下一步。
▲ 2003 年 3 月也剛好是 SARS 風暴高峰,英特爾發表 Centrino(迅馳)行動運算技術,並砸下超過 3 億美元行銷經費,視為 1993 年 Pentium 後十年來最重要產品品牌,堪稱英特爾推動產品平台化(Platformization)的重要象徵,針對筆電打造的省電 CPU、晶片組與剛蓬勃發展的 Wi-Fi,打包一起賣,採用筆電會多一張烏魚子貼紙,不僅讓消費者享受「身為行動工作者」的尊榮感,更可讓英特爾發大財。
廠商 NPU 技術是從哪來的?
正所謂萬丈高樓平地起,羅馬不是一天造成,時下「Copilot+ PC 御三家」高通、英特爾和 AMD,NPU 都有各自技術源流,英特爾 2016 年 9 月收購低功耗計算機視覺晶片公司 Movidius,AMD 於 2022 年 2 月併購 FPGA 龍頭賽靈思(Xilinx),高通更是淵源流長,Hexagon 數位訊號處理器的發展始於 2004 年,首款型號 2006 年推出,2015 年 V6 版(Snapdragon 820 的 Hexagon 680,代表性手機是三星 Galaxy S7)隨著新增 HVX 擴充指令踏入人工智慧領域。
▲ 自從 2023 年 Snapdragon 8 Gen 2(象徵手機:三星 Galaxy S23)開始支援 INT4 資料格式與微區塊切割推論,高通那歷史悠久的 Hexagon NPU 基礎架構就此幾乎定型,Snapdragon X 看似僅是規模放大版,但箇中奧妙也只有高通自己心知肚明,希望假以時日高通好好公開世代演進與發展脈絡,否則筆者自行考察資料真的頗累。高通 Hexagon 發展史(及聯發科 APU 與蘋果 ANE)可參考筆者〈一覽處理器廠商的「人工智慧推論加速單元」:智慧手機篇(上)〉一文。
同場加映「總是自己玩」的蘋果,初代 ANE(Apple Neural Engine)起於 A11(iPhone 8),歷經數個世代的演進至今日 M4,僅 38TOPS 理論效能也勢必引發一連串「你家 TOPS 不等於我家 TOPS」的口水戰,光「你這個效能數字到底採哪種資料精度」就吵不完了。
值得一提的是,盛傳與 Nvidia 攜手進軍 Windows On Arm 的聯發科(MediaTek),屆時 NPU 沿用手機體系 APU,還是直接仰賴 Nvidia 技術,或兩者皆有,將是有趣觀察重點。但唯一可確定的是,「山寨之王」的電擊參戰,對現有所有參賽者絕對是天大壞消息,或許這也是微軟最想看到的結果──更激烈的價格戰與更低的產品平均售價。
AMD/英特爾參考文:〈一覽處理器廠商「人工智慧推論加速單元」:x86 篇〉、〈一覽處理器廠商「人工智慧推論加速單元」:CES 2024 的 x86 雙雄篇〉
高通/蘋果參考文:〈一覽處理器廠商「人工智慧推論加速單元」:智慧手機篇(上)〉、〈一覽處理器廠商「人工智慧推論加速單元」:智慧手機篇(下)〉
x86 雙雄的新型 NPU 究竟有何過人之處?
藉著 Snapdragon X 在 Copilot+ PC 領跑的高通,45TOPS 編號不明 Hexagon NPU,號稱能效是蘋果 M3 的 2.6 倍、英特爾 Core Ultra 7 的 5.4 倍,據公布資料,除了純量運算單元是「回歸最早的六條硬體執行緒」(很可能早在 2021 年的 V7 就引進了),相較過去並無明顯的技術演變,僅擴大運算單元規模。
▲ Snapdragon X 的 Hexagon NPU 簡報的唯一「亮點」:純量運算單元的硬體執行緒數量,回歸 2006 年最初的「六條」。
所以筆者聚焦英特爾和 AMD 的新型 NPU,各位很快就會感受到不同廠商 NPU 的內部架構與隱藏的設計思路,乍看有多驚人的巨大差異,但最終手段依舊殊途同歸:巨大低精度乘積累加運算陣列,實現 CPU 和 GPU 做不到的優異能效比。
依照英特爾的定義,Lunar Lake 的 NPU 屬於第四世代 IP(Movidius 的 VPU)。但筆者必須再次強調,論「處理器附贈人工智慧專用推論處理器」,英特爾早在 2017 年底就將 GNA(Gaussian & Neural Accelerator,高斯和類神經加速器)導入「10 奈米製程黑歷史」Core i3-8121U(Cannon Lake),為專為語音處理和噪聲抑制等背景工作負載設計的超低功耗專用引擎,並為了維持應用程式相容性而未取消,持續發展至 Meteor Lake 和 Lunar Lake 的第 3.5 代。
▲ 論處理器內建人工智慧推論輔助處理器,英特爾 GNA 行之有年,從 2017 年底至今有近七年歷史,現今 Meteor Lake 和即將到來的 Lunar Lake 都依舊具第 3.5 代 GNA,但功能與應用範圍極度有限,才有後來整合 Movidius VPU 的產品,也就是現在英特爾 NPU。英特爾和 AMD 的 NPU 發展史(含已消失市場的威盛 Centaur)可參閱筆者〈一覽處理器廠商的「人工智慧推論加速單元」:x86 篇〉。
英特爾 Lunar Lake 的 NPU 4 大致有以下重點:
▲ 英特爾併購 Movidius 後就確立 NPU 技術基礎,Lunar Lake 第四代 NPU 帶來突飛猛進的效能。
- 運算單元規模是前代 Meteor Lake(英特爾名稱是 Movidius Myriad 的 NPU 3720)三倍,加上較高時脈,理論效能超過四倍(48TOPS vs. 11.5TOPS)。
▲ Lunar Lake 的 NPU 運算單元規格是 Meteor Lake 整整三倍,加上更高時脈與兩倍 DMA 頻寬,造就超過四倍的理論 TOPS 效能。
新版乘積累加(MAC)矩陣支援更先進資料轉換功能,允許動態資料類型轉換、融合操作和輸出資料布局,以最小延遲達成最佳化資料流。
如同 Meteor Lake 的 NPU 3,MAC 矩陣的 FP16 效能仍為 INT8 一半。
▲ FP16 效能剛好是 INT8 一半,換言之,若跑 FP16,48TOPS 理論效能就會腰斬成 24TOPS。
加倍 DMA(直接記憶體存取)引擎頻寬。
Movidius「傳家寶」SHAVE 數位資料處理器(128 位元 VLIW 向量)有前代 12 倍的向量運算效能,利於 Transformer 和大型語言模型等應用。
NPU 4 能效比是 NPU 3 兩倍。
▲ 就大型語言模型應用,激增 12 倍向量運算效能可能遠比四倍 TOPS 還重要。
AMD Ryzen AI 300(Strix Point)XDNA 2 架構,有別於「一般的多核心化 NPU」,特色在彈性化運算單元配置與記憶體階層結構,要點如下:
▲ AMD 併購賽靈思後,XDNA 體系 NPU 也發展到第三代,也顯現滿滿「FPGA」風格。
- 延續賽靈思「FGPA 風格」的 XDNA,由 AI 引擎模塊(AI Engine Tile)與記憶體模塊(Memory Tile)構成,透過可程式化的互連架構,與將相同資料快速複製到各運算節點的群播(Multicast),可針對資料流實際流向,最佳化拓樸與傳輸路徑,維持資料傳輸的最佳效率。
▲ 有別於「看似傳統」的高通和英特爾,AMD XDNA 架構具更大應用彈性、更靈活資料流與記憶體配置。
- 因應多個 AI 應用程式同時使用 NPU 的場域,XDNA 提供將 AI 引擎模塊分配給不同應用程式、讓每個程式都能獨占指定數量 AI 引擎模塊的「空間分割」(Spatial Partitioning,最多切成八塊)與讓多個 AI 應用程式共用全部 AI 引擎模塊,以使用時間切割占用資源的「時域分割」(Temporal Partitioning),前者偏向多核心的概念,後者則類似單核心的多工作業。
▲ XDNA 可進行空間分割,以上圖為例,AI 引擎模塊依照 8、8、16,分配給三個 AI 應用程式。
- XDNA 2 的 AI 引擎模塊,擁有前代兩倍的乘積累加運算單元與 1.6 倍容量的內部記憶體,再將 AI 引擎模塊的數量從 20 個增加至 32 個,讓效能從 10TOPS 激增至 50TOPS。
▲ Ryzen AI 300 處理器採用 XDNA 2 架構 NPU,但 50TOPS 的理論效能並不完全來自增加的硬體規模,更有 Block FP16 資料類型這個效能禁藥。
- 無獨有偶,AMD 也跟英特爾一樣,能效是之前「兩倍」。
但 AMD 的 XDNA 2 還有一樣祕密武器:能以接近 INT8 的效能與記憶體用量,提供逼近 FP16 精確度的 Block FP16 資料類型,這也突顯不同廠商的 TOPS 不見得代表「相同的東西」。
為何 AMD 引爆「你家 TOPS 不等於我家 TOPS」這顆地雷?
人工智慧的世界,基於提升運算效能與縮減記憶體用量,資料格式「偷吃步」已是業界常態。讀者只要記得一個基本原則:浮點數的指數 (Exponent)決定「精度」(Precision),尾數(Mantissa)則是「動態範圍」(Range)。
▲ 為了減少計算量和記憶體使用量,人工智慧應用催生各式各樣「偷吃步」浮點資料格式。
深度學習的領域,像 Google 制定的 BFloat16(犧牲 FP32 精度,維持 FP32 的 8 位元動態範圍不變)與 Nvidia 創造的 Tensor Float 32(兼具 FP32 的 8 位元動態範圍和 FP16 的 10 位元精度)就是非常知名的範例,更遑論推論應用常見 INT8 之類的短整數,但多數人工智慧應用還是需要 16 位元精度,像當前蘋果 ANE 的 TOPS 就統一以 FP16 為基準。
▲ 到頭來,同樣是 TOPS,搞不好蘋果的比其他人都要大。
也因此,不同於一般標準 FP16(1 位元正負號、5 位元指數、10 位元尾數),AMD XDNA 2 的 Block FP16(1 位元正負號、7位元尾數)讓多筆資料「共用相同的 8 位元浮點指數」,而不是每個浮點數值都有自己的指數,須預先一次性模型轉換,將 FP16 資料類型的AI模型轉換城 Block FP16 格式,本質上允許處理器以計算 INT8 數字的形式,滿足兼具高效能與高精度的需求,這也是 AMD Ryzen AI 300 的 NPU 能做到「16 位元精度的 50TOPS 效能」的主因,這還是沒有進一步量化(Quantization)和減少資料處理量。
▲ Block FP16 資料類型可接近 INT8 運算效能,帶來逼近 FP16 的精確度。
整體而言,Block FP16 資料類型的運算需求等同 INT8,平均儲存需求為 9 位元,能帶來近似 16 位元的精準度,多種應用情境更可達到 FP32 的 99.7% 至 100%,某種程度簡直可稱為「效能禁藥」。但這種「共享指數」的微縮放(Microscaling)技巧,本身並不是什麼新技術。
▲ 簡而言之,Block FP16=8 位元效能+9 位元容量+16 位元精確度。
最起碼,英特爾當年以超過 4 億美元買下 Nervana,就曾提出名為 Flexpoint 的浮點格式,讓 Nervana Neural Processor(NNP)處理器實際上只會做「低精度整數運算」,但隨著英特爾放棄 Nervana 的「成果」,轉向砸 20 億美元的 Habana Labs,坊間謠傳「實作有重大困難」的 Flexpoint 也就默默消失於計算機工業的歷史洪流。
▲「共用指數」這怪招並非 AMD 首創,英特爾併購的 Nervana 也曾定義 Flexpoint,變相將浮點運算轉換成「低精度整數運算」,但後來就沒有下文,據傳產品設計實作遇上無法克服的困難。
那問題來了,高通 Snapdragon X 的 45 TOPS 和英特爾 Lunar Lake 的 48 TOPS,那假如大家都一起比 FP16,那會變成什麼局面?這次 AMD 就引爆了這顆地雷,「預測並估計」高通和英特爾的數字都會被腰斬,反倒蘋果那低於「Copilot+ PC下限」的38 TOPS 依然紋風不動,雖然蘋果一直也沒講明那個 38 TOPS 的資料格式(一般外界的猜測是 INT8),但我們有充分的理由相信 AMD 對此應當掌握了足夠的證據,要不然不敢這樣把蘋果拖出來比 FP16。
▲ 當 AMD 用偷吃步的 Block FP16 去比較其他競爭者的 FP16 效能,就會出現這種爆炸性的對比,以後這類型的爭議只會越來越多。
AMD 拿個偷工減料的 Block FP16 跟蘋果較量是否公平?AMD 跑 INT8 的數字會不會更漂亮?英特爾和高通有沒有暗藏同樣的怪招?蘋果稱「M4 的 AI 效能打趴所有 AI PC」到頭來果然所言不虛?筆者理所當然不會有答案,但「你家 TOPS 不等於我家 TOPS」議題很快就會炎上,業界公認的效能測試程式問世之前,唯一可相信的就只有「每個人自由心證的使用者體驗」了。
▲ 根據 AMD 圖像生成範例,Block FP16 效果幾乎與 FP16 相同,遠優於 INT8,但卻有 FP16 兩倍效能。
長期來說,GPU 會缺席 Copilot+ PC?
最近剛好有媒體披露接著英特爾 Lunar Lake(Core Ultra 200V)之後,定位桌機、高性能筆電、電競筆電、行動工作站的 Aarow Lake,NPU 僅 13TOPS,略勝於 Meteor Lake(Core Ultra 100)的 11TOPS,遠不及 Lunar Lake 的 45TOPS,未符合 Copilot+ PC 要求,AMD Zen 5 世代的標準 CPU Ryzen 9000 Granite Ridge 更是連 NPU 都沒有。
難道微軟會眼睜睜的讓英特爾、AMD 和「目前個人電腦市場只有 GPU 這張牌可打」的 Nvidia 缺席 Copilot+ PC?怎麼看都不可能。微軟 DirectML 本來就同時對付 NPU 和 GPU,開放個人電腦使用內顯或獨顯執行 Copilot+ PC 只是時間的問題,反正桌機也不必像筆電一樣要斤斤計較耗電量這檔事,用太好的 NPU 反而形同浪費,增加無謂額外成本。
▲ Nvidia 身為地球最大「人工智慧算力軍火商」絕對不會錯過 AI PC 商機,搭載獨顯「進階 AI PC」是可下手之處,但也要先跟微軟談好才行。
現在是入手 Copilot+ PC 的好時機嗎?
無論軟體還是硬體,我們正處於 Copilot+ PC 的草創階段,眼前只有高通 Snapdragon X 可選擇,連表定今年登場的英特爾 Lunar Lake 和 AMD Strix Point 都還沒看到產品上市,連 AMD 都承認手上那個「業界最速 50TOPS」NPU 距離理想的大型語言模型,還有很巨大進步空間。
再考量到明年還會有聯發科和 Nvidia 加入這場世紀大亂鬥(COMPUTEX 2025 應當極度精彩),讓子彈飛一會兒是比較能「先講求不傷身體,再講求效果」的保險心態,更何況市場貨架已堆滿滿「Copilot+ PC 失格」的 AI PC 前車之鑑。
▲ 依 AMD 觀點,理想大型語言模型至少需 300 億(30B)模型參數與每秒輸出 100 個詞元(Token),但現在 Ryzen AI 300 卻僅 70 億和每秒 20 組,輸入長度和產出第一個詞元延遲亦天差地遠,還有很巨大鴻溝。
但話說回來,說到底,微軟和這票個人電腦廠商,能否說服多數企業和消費者願意為了 Copilot 即將帶來的生產力提升與「智慧應用驅動創新」的美好未來,就馬上打開荷包當第一波白老鼠,不啻是一大問號,況且光是洩漏個資疑慮,就足以讓人猶豫再三了吧。不限於微軟,對蘋果與其他對個人應用端 AI 躍躍欲試的科技巨頭,也是同樣艱鉅的挑戰。
(首圖來源:shutterstock)