請更新您的瀏覽器

您使用的瀏覽器版本較舊,已不再受支援。建議您更新瀏覽器版本,以獲得最佳使用體驗。

科技

蘋果的統一架構記憶體歪打正著極度適合人工智慧?

科技新報

更新於 2023年07月12日17:09 • 發布於 2023年07月13日08:00

人工智慧的深度學習(Deep Learning)是機器學習(Machine Learning)的進化與分支,意指「利用多層神經網路(Neural Network),經大量資料學習」的技術,自然語言處理、語音合成與翻譯、機器視覺、藝術生成等領域都有重要進展。

也許人工智慧深度學習戰場,最先帶頭跨越 Nvidia「CUDA 護城河」的,不是端出 Instinct MI300X / MI300A 和更新 ROCm 版的 AMD,也不是默默推出 Data Center GPU Max 和鴨子划水 oneAPI 與 OpenVINO 的英特爾,而是老是關起門來自己玩的「蘋果」。

各位可能對蘋果 6 月發表 M2 Ultra 的新聞稿,這段還有點模糊印象:

Apple 的統一記憶體架構是 Apple 晶片的一大特色,提供令人驚豔的頻寬、低延遲和無與倫比的能源效率。M2 Ultra 具備每秒 800GB 的系統記憶體頻寬,遠高於任何 PC 電腦。而且 M2 Ultra 可以配置 192GB 的巨量統一記憶體,進而實現 PC 無法處理的工作流程。例如,M2 Ultra 能在單一系統中訓練巨型機器學習的工作負載,這甚至連最強大的獨立 GPU 都無法處理。

▲ 統一架構記憶體(UMA,Unified Memory Architecture)看似稀鬆平常,但能讓 CPU、GPU 和人工智慧引擎,能使用的記憶體「統一」到什麼程度,就大有玄機了。

雖然筆者不清楚究竟有多少人認真看待最後一句話,但早在蘋果發表 M1 Ultra(128GB 記憶體)後兩個月,Facebook 2017 年初開源的深度學習框架 PyTorch,與蘋果 Metal 繪圖 API 團隊合作,讓 PyTorch 1.1.2 版本首度支援蘋果自家處理器的 GPU 加速技術 MPS(Metal Performance Shaders),據 PyTorch 團隊測試,GPU 執行訓練模型和評估速度,都比 CPU 快不少,這也和我們熟知的「現況」相去不遠。

▲ 當 Mac 也能透過 GPU 加速訓練人工智慧,效能就出現突飛猛進成長,也加強軟體開發者購入 Mac 的誘因。

但 Apple Silicon 能讓 GPU 和人工智慧引擎存取到多少容量記憶體,就大有玄機了。就「普羅大眾」所知,一般傳統方案,即便 CPU 和 GPU(以及其他類型輔助處理器,如近來很夯的人工智慧)核心放在同晶片上,並存取相同實體記憶體,但基於相異資料結構和存取特性,CPU 和 GPU 的可存取記憶體空間是分開的,如要互通有無,需在不同記憶體空間來回複製(Copy)資料,但就蘋果官方說法,Apple Silicon 不需要做這件事,就能讓 CPU 和 GPU 存取相同資料,提升整體效能。當年蘋果也將GPU收回來自己打造,看來就是為了實現「完整 UMA」的布局。

深度學習的上帝,在小小的 Mac Studio 顯靈了

最近某位知名 YouTuber 實際使用 M2 Ultra 的 Mac Studio(記憶體容量 128GB),將跑在 PyTorch 訓練 AI 玩貪食蛇,加速法從 Nvidia CUDA 改成蘋果 MPS,結果表現明顯優於 Core i9-12900K 加上 GeForce 3080Ti 的個人電腦,甚至某些項目,後者連跑都不能跑,關鍵就在記憶體容量差距。Mac Studio 整機滿載功耗不超過 200 瓦,被當「沙包」的 x86 個人電腦卻將近 600 瓦。

▲ 小小 Mac Studio 竟可塞入 130GB 大型語言模型,想想還真有點不可思議。

這位 YouTuber 表示,和 PyTorch 同為出自 Facebook(Meta)的大型語言模型 LLaMA(Large Language Model Meta AI),含 650 億個參數的未壓縮完整版,約耗用 130GB 記憶體容量,而 M2 Ultra 最高 192GB「統一記憶體」就能統統吃下,且頂規 Mac Studio 連 1 萬美元都不到,購入成本遠低於動輒數萬美元、有錢還買不到的「資料中心 GPU」,結論不外乎就是「一顆 M2 Ultra 抵過八張 GeForce 4090(24GB)」、「你可以把 192GB 的統一架構記憶體視為 192GB 顯示記憶體(這樣說是有點不夠嚴謹,畢竟還是要保留執行作業系統服務的空間,實際不可能毫無限制)」、「希望蘋果 AI 生態能越來越完善,快速建立蘋果味的優雅開發體驗」。

當然,只屠殺 x86 平台的個人電腦,並不能證明蘋果旗艦晶片足以挑戰「御三家」的資料中心統治地位,但對一般開發者來說不啻是一大福音,更看似頗有打破 Nvidia CUDA 壟斷地位的希望。

▲ 說 M2 Ultra「192GB 統一記憶體可視為 192GB 繪圖記憶體」有點言過其實,因為還是得保留作業系統核心和 App 所需記憶體空間。以筆者 M1 MacBook Air 為例,16GB 主記憶體平時約會吃掉 7GB。

你家 UMA 不等於我家 UMA

讓 CPU 和 GPU 共用記憶體的 UMA 存在已久,到記憶體頻寬抵達某水準後逐漸實用化(大致上是 DDR2 轉向 DDR3 時),較有名案例是 2001 年 11 月 15 日北美發行的微軟 Xbox 主機,但每個發展階段都有不同等級「整合度」。

從早期單純從 BIOS 設定硬性切割一塊固定空間給 GPU 使用、CPU / GPU 納入同套電源管理機制、動態分配繪圖記憶體容量、CPU / GPU 共享快取記憶體、CPU / GPU 彼此維持快取資料一致性、CPU / GPU 共用單一記憶體定址空間、作業系統將繪圖記憶體納入虛擬記憶體的分頁(Paging)管理(是 Windows Vista 的最重大革新),直到記憶體完全變成 CPU / GPU 平等取用的共享池並逐步延伸到外部獨顯等,基本上都不是硬體廠商說了算,還要微軟 Windows 這些作業系統願意配合才行。

▲ AMD 2011 年「擘畫」極其華麗壯大的 FSA(Fusion System Architecture)藍圖,徹底融合 CPU 與 GPU,但實現與否,卻不是 AMD 說了算,需要軟體生態系統配合。

AMD 2006 年以 54 億美元併購 ATi 後,目標徹底融合 CPU 和 GPU 的「Fusion 大戰略」與推動 APU(Accelerated Processing Unit)普及,使其 2012 年將原本 Fusion System Architecture(FSA)改名為 Heterogeneous Systems Architecture(HSA),當時 Trinity APU 實作「HSA-Aware」的記憶體管理單元(MMU,Memory Management Unit),GPU 可藉 HSA MMU 的位址轉譯服務和分頁錯誤管理,存取整個系統記憶體,並當年 6 月拉著 Arm、Imagination、聯發科、三星和德州儀器,一同成立 HSA 基金會(HSA Foundation),意圖追求「CPU 和 GPU 異質運算共同的勝利」,接連數年,AMD 也持續擴充 APU 相關功能,於 Instinct MI300A 集大成。

▲ AMD 2013 年宣傳 hUMA(Heterogeneous UMA)可說是 AMD APU 的完美型態,即將上市的「人工智慧 APU」Instinct MI300A 極可能是第一個具體成果。

AMD Zen 微架構之父之一「處理器遊俠」Jim Keller 也曾是 HSA 的重要宣導者,說過「以前繪圖單元需要專用高頻寬記憶體系統,CPU 和 GPU 之間溝通須借助 PCIe。HSA 架構,CPU 和 GPU 兩者相互傳遞指標(Pointer),共用記憶體與定址空間」,但事隔多年,AMD 野望從未成真,反倒是從未公開技術細節的蘋果,乍看之下比 AMD 更早走到這步,即使外人無從得知蘋果到底做到什麼程度。

▲ AMD 2012 年公布 HSA 技術特性,讓 GPU 透過 HSA MMU(記憶體管理單元)存取整個系統記憶體,並結合 OpenCL 2.0 的共享虛擬記憶體,讓 CPU 和 GPU 共用實體記憶體和虛擬記憶體空間,位址指標(Pointer)能在 CPU 和 GPU 間傳遞,實現所謂的「Zero Copy」(零複製),如同蘋果十年後「統一架構記憶體」的陳述。

問題又來了,現在個人電腦平台又是何種狀況?講簡單點,英特爾和 AMD 的 x86 指令集相容處理器,內建雙通道記憶體控制器,容量上限是 128GB,當安裝 Windows 10 / 11 作業系統時,可配給 GPU 的總量,原則上不能超過總容量一半,也就是無法超過 64GB,記憶體理論頻寬也僅約 80GB/s,無論容量和頻寬,x86 雙雄的個人電腦平台,都遠遠看不到蘋果高階晶片的車尾燈。這樣看來,那位 YouTuber 的親身體驗,應當沒有可懷疑的空間。

▲ 筆者安裝 32GB DDR3 的桌機,Windows 10 共用 GPU 記憶體上限(共用 GPU 記憶體),剛好就是一半的 16GB。

同場加映 AMD 今年 CES 發表「人工智慧 APU」Instinct MI300A,強調 CPU 和 GPU 共用記憶體,可消除多餘記憶體資料複製(Eliminates Redundant Memory Copies),或許其實對 AMD 而言,硬體萬事皆備,只欠軟體後盾,MI300A 鎖定的客戶群都會針對專案特化作業系統,恐怕也不會有什麼軟體架構限制。

▲ AMD Instinct MI300A 整合高達 24 個 Zen 4 CPU 核心、220 個 CDNA 3 GPU 計算單元、128GB HBM3 記憶體,是目前帳面規格最強大的 APU,但記憶體容量卻不如「消費等級」蘋果 M2 Ultra 的 192GB,有點諷刺。

▲ 既然超級電腦客戶幾乎不會有軟體架構限制,或許我們可在 AMD Instinct MI300A 見證「x86 平台真正的統一記憶體架構」的威力。

順道一提,美國能源部所屬勞倫斯利佛摩國家實驗室(Lawrence Livermore National Laboratory,LLNL),運算效能 2ExaFLOPS 的「El Capitan」超級電腦,近期開始裝機,加上計畫中的縮小版「Tuolumne」,就確定採用 AMD Instinct MI300A(128GB 容量),取代原本第四代 EPYC 處理器搭配最新款 Radeon Instinct 加速卡,堪稱 AMD APU 發展史的重大一步,與耕耘多年的 EHP(Exascale Heterogenous Processor)具體成果。至於英特爾 XPU,2025 年前都看不到影子。

▲ 同為 2ExaFLOPS 等級超級電腦,頗好奇一再延宕的「Intel Inside」Aurora 會不會啟用沒多久,Top500 就被塞滿 AMD Instinct MI300A 的 El Capitan 超車了?

蘋果園萌芽的人工智慧生態圈能否動搖 Nvidia 的 CUDA 霸業?

大概有鑑於擴大生態系基本盤並加速推廣開發環境,拉近與 Nvidia 的距離,AMD ROCm(Radeon Open Compute platform)從 5.2 版支援消費性 RDNA 體系 GPU,讓一般開發者無需購買昂貴 Radeon Instinct 產品線,也能一親芳澤,但相較蘋果 M2 Ultra 彷彿一舉突破豎立於大眾和大型模型中間高牆的巨大震撼,好像一點分量也沒有了。

就世人對蘋果的普遍感覺「總是自己玩」,M2 Ultra 的 192GB 記憶體容量可一口吞下 130GB 的 LLaMA 還有餘,「應該」也是剛好碰到的意外驚喜,蘋果在想的應當是怎麼持之以恆把系統縮得更小更好用而已,卻轟動上演「無心插柳柳橙汁」的脫線戲碼,再次呈現蘋果同時手握軟硬體很有利垂直整合的先天優勢。

▲ 雖然蘋果尚未透露「統一記憶體架構」最大運用彈性,但光數量級的巨大差距,就足以確保最新 x86 個人電腦平台依然看不到 M2 Ultra 的車尾燈,連高階「人工智慧晶片」都備受威脅。

話說回來,蘋果 AI 生態篤定越來越成熟是一回事,不僅降低高容量記憶體的入手門檻,並加速開源大型語言模型爆發性成長,但會不會就此動搖 Nvidia 的 CUDA 霸業?假若蘋果沒有想不開賣晶片,或進軍雲端 AI 市場(如果還有動力好好經營極度兩光的 iCloud),還是有充分理由相信,最起碼 Nvidia H100 和 A100 依舊是搶手到有錢買不到現貨,深圳華強北黑市繼續以原價兩倍偷偷賣。不過蘋果 M2 Ultra 的後繼效應的確值得慢慢觀察,搞不好笑到最後的大贏家,竟是創造 LLaMA 的 Meta。

(首圖來源:蘋果

立刻加入《科技新報》LINE 官方帳號,全方位科技產業新知一手掌握!

0 0
reaction icon 0
reaction icon 0
reaction icon 0
reaction icon 0
reaction icon 0
reaction icon 0