Search
Close this search box.

AI PC 企業狂推但能跑多大的 AI 模型?2 大重點告訴你怎麼評估

驅動當今 AI 服務的核心引擎是大型語言模型(LLM),但這類名詞就像大數據(Big Data)一樣,對於所謂的「大」,並沒有明確的定義,因此往往被錯誤或浮濫使用。

這篇就來談談語言模型的大小,以及在現在的個人裝置上能跑多大的語言模型。

語言模型有大有小,「小型語言模型(SLM)」很小嗎?

話說,GPT2 在 2019 年出現江湖時,是當時最大的 LLM,不過它 1.5B 的參數量,還不到 2020 年 GPT3 的175B 參數的百分之一,當然就更不用跟現在的 GPT4 比大小了。(B 是 Billion 的縮寫,10 的 9 次方,也可以用 G 或 Giga 來代表。T 是 Trillion 或 Tera 的縮寫,10 的 12 次方。P 是 Peta 的縮寫,10 的 15 次方。)

這些「比較小的大型語言模型」也是有用的,因為有成本低、速度快的優勢。但「比較小的大型語言模型」這樣稱呼實在蠻矛盾詭異的,所以最近有人開始使用「小型語言模型」(SLM)這個名詞來稱呼之,但千萬不要以爲 SLM 真的小

今年四月發佈的 Llama3,有三個訓練好的開源版本:8B、70B、400B,不過其中 400B 的版本說是敬請期待,還沒有實際釋出。如果以此為參考基準,8B 的版本可算是 SLM,400B 是 LLM,那介於其中的 70B 該算 SLM 還是 LLM,或者稱之為 MLM?

先不管稱呼的問題,雖然大小不同,這三款語言模型都使用 15T tokens 的資料集進行訓練,據說訓練過程總共花了 100,000 petaFLOPS-day 的大算力。訓練 8B 的模型花了 1,300,000 GPU hours,排放了 390 噸的二氧化碳;訓練 70B 的模型花了 6,400,000 GPU hours,排放了1900 噸的二氧化碳。Meta 用的是最新的 Nvidia H100 GPU ,每張耗電 700 瓦。

想從零開始訓練模型,該怎麼做?

想從零開始訓練模型的話,得先盤點一下,自己的手上有多少訓練資料,再評估一下能否負擔這些算力的需求。不過我覺得 Meta 公開的算力需求有點少,應該沒有把失敗的過程算進來,或許是不想讓碳排放量看起來太高。

架構和源頭相同的模型,才能這麽比較。據說 Llama3 的 8B 模型的能力約略可與 Llama2 的 70B 模型抗衡,因為 Llama2 的訓練資料集「只」有 2T tokens。Meta 在發表 Llama3 的時候也跟其他公司的模型比較,但參考這種評比結果時要小心,因為廠商通常都只報喜不報憂,開發者最好是拿自己應用的情境去實際測試。

企業狂推 AI PC,2 大重點看能跑多大的 AI 語言模型

這陣子廠商猛推的 AI PC、Copilot Windows、On-Device AI,標榜在個人裝置上跑 AI,對應用開發者和使用者來說,AI 的能力越強越好,但這些裝置上究竟跑得動多大的語言模型呢?

首先要看的是記憶體的容量。

SLM 的問題較小。以 Llama3 的 8B 開源模型為例,下載標準的 16 位元浮點數(FP16)版本,每個參數需要 2 個 bytes,如果要把 8B 的參數都放進記憶體的話,記憶體的容量大概要 16GB因此目前的 AI PC 的最低規格 16GB 是勉強堪用的。若是記憶體不夠用,計算的過程就可能會變得很慢。

軟體的解法是把模型壓縮得更小一些,例如用 FP8 或 INT8 取代 FP16,參數所需的記憶體空間就減半,但這麼一來會讓模型變笨。但應用開發者可以將壓縮變笨的模型再做一些特訓,讓它在特定應用領域上表現稱職,這就是之前講過的專家模型。

不想讓模型變笨,硬解的方法是增大記憶體容量。CPU 的記憶體容量更大,能夠放進更大的模型。FP16 的 Llama3 70B 模型概算需要 140 GB,大概會超出一般的個人電腦的記憶體容量。工作站和伺服器可以放進幾個 TB 的記憶體,但是用 CPU 來跑這個規模的 LLM 實在太慢,性價比也很低,通常會用 NPU 或 GPU

PC 上加裝的獨立顯卡上有 GPU 專用的記憶體,其容量決定了可執行的模型大小。高階遊戲顯卡配備 16GB 以上的記憶體,應該跑得動 Llama3 8B,但 Nvidia 和 AMD 最高階的遊戲顯卡不約而同都只給到 24GB,所以不要幻想在遊戲顯卡上能把原版的 Llama3 70B 跑好。

但即便是目前市場上最大專業顯卡,Nvidia 的 H100,每張顯卡上的記憶體也只有 80GB,還是放不進原版的 Llama3 70B,又不想讓模型變笨,那該怎麼辦?

答案是把模型拆開來,用多張顯卡一起跑。兩張 80GB 版本的 A100 或 H100,記憶體合計 160GB 就夠了,但所費不貲。有人想用 6 張 24GB 的 RTX4090 顯卡來做這件事,但這些卡需要透過 PCIe 介面交換資料的負擔會讓速度降低不少。

其次是記憶體的頻寬。

很多人使用 GPU 跑 LLM,不只因為 GPU 算力高,而且也因為 GPU 用上了比 CPU 頻寬高出一大截的記憶體。RTX 4090 的記憶體頻寬是 1TB/s,而 Intel Core Ultra 7 165H 的記憶體頻寬只有 120GB/s,足足差了 8 倍。概算一下,要讓 Core Ultra 7 讀一遍 140GB 的模型參數,就要超過一秒鐘!這樣要如何即時反應?如果每處理一個 token 都要再讀一遍,那還得了。

當然軟體上會做一些優化,盡可能利用已經從記憶體讀進來的參數,不要讓每個 token 進來後都要重複再讀同樣的參數,因此優化的技術相當重要,但先天記憶體頻寬的差異還是會有顯著的影響

要知道 GPU 架構設計的理念和 CPU 先天上不同,非常重視高頻寬,而 CPU 比 GPU 在存取記憶體的時候更重視低延遲。很現實的問題是,如果高頻寬和低延遲都要最好的話,那就會變得很昂貴。

現在技術就能跑 SLM!未來 AI 個人裝置規格會更強

講到這裡就不得不提使用 M2 Ultra 晶片的 Mac Studio,是個頗獨特、逸品般的存在。旗艦版的晶片可讓 CPU 和 GPU 共享 192GB 的記憶體,頻寬高達 800GB/s,不需要任何模型壓縮就可以跑 Llama3 70B。再加上就是一個(大一點的)便當盒的大小,耗電只有 100 瓦左右,雖然一台要價 20 多萬台幣,但還是比專業 GPU 卡便宜許多,所以我在去年底買了八台給學生做 LLM 的實驗機。

我們最近也讓幾台 Mac Studio 一起來跑更大的 LLM,雖然 Mac Studio 的網路介面只有 10Gbps,但在不壓縮模型的前提下,我們做了一些優化之後讓某個需要 250GB 以上記體體空間的開源 LLM 跑得還行。最近看到一個有趣的報導,說是觀察到 Apple 大量採購 M2 Ultra 晶片,可能用來建 AI datacenter。我姑妄聽之,有點存疑。

掌握 AI 趨勢 & 活動資訊一點都不難!訂閱電子報,每週四一起《AI TOgether》

感謝訂閱!隨時注意信箱的最新資訊

另外還值得一提的是 Nvidia 做給控制機器人用的 AGX Orin,擁有 64GB 的共享記憶體、205GB/s 的記憶體頻寬,以及 275 INT8 TOPS 的速度,最大 60W 的功耗,比 Mac Studio 還小,帶著走不是問題,很適合做 Edge AI Server,規格上看起來比 AI PC 更像 AI PC。

其實 M2 Ultra 和 AGX Orin 在一年或更久之前就有了,不是什麼新鮮的東西。只要想在個人裝置上跑大型 LLM 的使用者變多,那我想將來的個人的 AI 裝置會配置更大更寬的記憶體、搭載更強的加速器。如果 SLM 就夠用了,那並不會太難,以現在的技術就做得到,NPU 會讓效率更高就是了

有些人誤解我的意思,以為我幾天前寫的文章是貶抑 AI PC,殊不知我對於在個人裝置上跑大型AI 模型還是有高度興趣的,只是對於誇大的宣傳和錯誤的理解有意見而已,希望這篇能更進一步釐清我的看法。

【推薦閱讀】

【被封 AI PC 刺客】高通 CEO:x86 已是昨日電腦,世人將看到更多「AI 下凡」

【Computex 2024 看 TO】打造史上最省電 AI PC 且算力超過 120 TOPS,Intel 推 Luna Lake 處理器

【Computex 2024 看 TO】華碩、微軟大咖現身力挺蘇姿丰!AMD 新一代 AI PC 處理器亮相

* 本文經 洪士灝 授權轉載,並同意 TechOrange 編寫導讀與修訂標題。原文標題為〈在個人裝置上跑大小型語言模型〉。首圖來源:Bing Image Creator 生成。

(責任編輯:廖紹伶)

價值 15,000 元線上課程限時限額免費!

【立即免費報名 6/19 (三)GoTech 雲端練功坊線上課程】