為什麼AI PC不適合開發者

2024.10.08

開發者需要AI PC嗎?

目前,沒有理由勸開發人員購買一台AI PC,利用其中新的AI處理器來編譯本地AI模型。

——AI PC 仍有多個問題:硬體能力不足,模型不可用,開發工具部署時頭痛。

我經過幾個月的測試,試圖在所謂的搭載Windows 11和專用AI處理器的AI PC上,離線運行本地LLM。這些筆記本包括搭載了英特爾和高通神經處理器的晶片,專為AI設計。

微軟大肆宣傳其AI PC支援輕量級AI模型,如Meta的Llama 2和微軟的Phi Silica。

我嘗試將這些模型加載到PC上的過程非常令人沮喪,每一步都不順暢。首先是找到與高通和英特爾晶片中的神經處理器相容的輕量級模型,然後是載入Jupyter筆記本和運行這些SLM所需的神經網路。

當我成功運行模型時,發現SLM並未使用專用的AI處理器,而是依賴GPU或CPU。

1.PC廠商的人工智慧炒作

微軟在今年的Build大會上宣布了Copilot+ PC。第一批Co-Pilot PC配備了硬件,可以在設備上運行推斷,避免了雲端操作。

Copilot PC有一些最低要求,包括至少45 TOPS的最低AI性能要求。第一批搭載高通驍龍晶片的AI PC滿足了這項要求。

微軟CEO薩蒂亞·納德拉表示,公司已經準備了40多個模型,可以直接在Copilot+ PC上本地運行。其中之一是Phi Silica,一個38億參數的SLM。

DirectML和ONNX運行時允許使用者在Windows裝置上執行Phi-3模型,但高通晶片發佈時還沒有準備好。高通透過AI開發中心提供了其支援的AI模型清單。

早期嘗試加載Llama v2並不順利,對我而言沒有效果。我尋求了高通的幫助來載入模型,但沒有明確的結果。

使用高通推薦的工具創建Jupyter筆記本令人困惑,我無法手動加載任何AI模型。高通建議下載ONNX運行時以利用NPUs,這也令人費解。

最近,LMStudio為高通晶片提供了其AI軟體的版本。

我使用LMStudio載入了80億參數的Llama v3.1模型,但它只使用了驍龍CPU,沒有利用GPU或NPU。它每秒輸出17.34個token,但僅幾個查詢後記憶體使用率就達到了87%。

目前還沒有真正有意義的模型能夠利用高通的NPUs,這些處理器與GPU一樣,旨在加速AI。即使NPUs能夠運作,Copilot PC的記憶體也不足以運行長時間的查詢,而且電池壽命也會迅速耗盡。

微軟正在為開發者提供工具,將AI能力整合到桌面應用程式中。對他們來說,加載Llama v3.1沒有必要,因為他們已經在PC上有了Copilot功能。

微軟的Phi Silica支援更多是為開發者將大語言模型風格的查詢能力引入Windows應用程序,透過Windows App SDK。

2.Meteor Lake的失敗

去年底,英特爾推出了一個名為Meteor Lake的AI PC晶片,配備了神經處理單元。

現在,這個晶片成了一塊擺設,購買了搭載該晶片的筆記本進行PC上AI的人被遺棄了。沒有有用的應用程序,NPU僅用於基本的AI模型如TinyLlama。

可以肯定的是,英特爾的Meteor Lake晶片不符合微軟AI PC的最低規格要求。英特爾聲稱Meteor Lake在AI效能上達到34 TOPS(每秒兆次運算),低於Windows PC所需的40 TOPS。

Meteor Lake受到了差評。它比上一代筆電晶片速度更慢,電池壽命沒有改進。

在發布Meteor Lake約六個月後,英特爾推出了下一代AI PC晶片Lunar Lake,這款晶片已經搭載在PC上,提供了120 TOPS的AI性能。

我嘗試在Meteor Lake PC上手動運行本地AI模型。

載入神經網路以利用NPU涉及安裝OpenVINO 2024.2,並按照OpenVINO網站上的說明操作。

安裝提供了NPU插件,你期望在Jupyter筆記本上加載模型時運行。英特爾說我需要正確的NPU驅動程式和韌體。

安裝新的NPU驅動程式本身就是一個挑戰,我必須在Windows的裝置管理員設定中卸載舊驅動程序,然後檢測新驅動程式。最後,我只能使用驅動程式搜尋來更新驅動程式。

我從Jupyter筆記本中運行了TinyLlama等模型,運行得很順利,但給出的答案很差。但與高通一樣,它沒有利用NPU。

少數模型如Stable Diffusion 1.4利用了NPU,但是它是直接在GIMP介面中進行的。

英特爾的AI軟體開發主要集中在其伺服器CPU。

3.回到Nvidia

開發者應該依靠Nvidia在他們的PC上運行Jupyter筆記本以進行任何有意義的AI。

購買AI PC用於提高生產力,但不適合進行與AI相關的編碼或試驗。晶片製造商的NPUs對開發者不友善。問題從啟動神經網路開始,每個晶片製造商都有自己的問題。但在設備上AI是一個新興領域,為開發者提供了許多優化AI的機會,例如透過量化來優化PC上的AI。

對於喜歡冒險的開發者,典型的Windows挑戰將會出現-確保你有正確的驅動程式和開發工具包。高通和英特爾都有自己偏好的工具來編譯和載入模型。

幸運的是,Windows命令列和PowerShell使命令列冒險變得有趣。

預期能夠利用NPUs的AI功能將預先打包在應用程式中。英特爾正在與公司合作,利用NPUs。這與使軟體與特定晶片架構相容是一樣的。

AI硬體正在迅速發展,英特爾正在大肆宣傳其最新的Lunar Lake晶片。近期的評測稱讚這款晶片具有出色的電池續航力。但不要為了開發目的購買它——它沒有足夠的記憶體或頻寬來本地運行語言模型。