跳至主要內容

窮人版AI叢集!我做了一個把家裡電腦串起來跑 LLM 的專案,速度飆升2倍!(Llama.cpp 分散式推理)

顯卡 VRAM 不夠用?跑大型語言模型速度慢如龜速?這篇文章分享我如何開發一個開源工具,將家裡的多台電腦串連起來,組建成一個「窮人版 AI 叢集」,利用 Llama.cpp 的分散式推理功能,讓模型運行速度大幅提升!

The Walking Fish 步行魚
The Walking Fish 步行魚 ·
1982 字 · 閱讀時間: 5 分鐘 · ...
窮人版AI叢集!我做了一個把家裡電腦串起來跑 LLM 的專案,速度飆升2倍!(Llama.cpp 分散式推理)
Fig. 01 — 窮人版AI叢集!我做了一個把家裡電腦串起來跑 LLM 的專案,速度飆升2 … FEATURED IMAGE

如果你也是個 AI 愛好者,肯定對在本機端運行大型語言模型 (LLM) 不陌生。但隨之而來的,就是那令人頭痛的 VRAM 焦慮。現在表現好一點的開源模型,像是 Gemma 3 27B、Qwen3 32B、Devstral 24B 等,動輒就需要10幾20GB 的 VRAM,對大部分人的電腦顯卡來說,基本不太可能滿足這個需求。

現在許多模型參數量都很大,導致需要大量VRAM

就算勉強能跑,也往往因為 VRAM 不足,必須啟用 GPU+CPU 混合模式,導致速度慢到讓人懷疑人生。

痛點:龜速般的單機推理

以我的電腦為例(i5-14400F + RTX 4070 Super 12GB),在使用常見的 Ollama 運行 Devstral Small 模型時,由於 VRAM 爆了,推理速度大概只有 每秒 7-8 個 token。這種速度拿來聊天都嫌慢,更別說整合到像是 Cline 這樣的 AI 開發工具裡了,每個回應都等到天荒地老。

單機運行時CPU+GPU混合運算,token 生成速度極慢

這背後的原因除了 CPU 本身不擅長 AI 運算外,更關鍵的是記憶體頻寬遠遠跟不上顯示卡 VRAM。這也讓我萌生了一個大膽的想法:

我能不能把家裡所有閒置的電腦、筆電全部串起來,讓它們合力運行一個模型,打造一個屬於我自己的「窮人版 AI 叢集」?

方案探索:為何不選 vLLM?

提到分散式推理,很多人第一時間會想到 vLLM。它非常強大,是企業級的解決方案。但缺點也很明顯:設定複雜,尤其是在 Windows 環境下,基本上只能透過 Docker 或 WSL 來安裝,對於家用環境來說,門檻稍高且不夠輕便。其他方案如 exo 又偏向 Mac,最終,我將目光鎖定在了老朋友——Llama.cpp。

vLLM 相當強大,但對於 Windows 來說安裝較為複雜

柳暗花明:Llama.cpp 的 RPC 功能

Llama.cpp 在前一段時間推出了一個實驗性的 RPC 伺服器功能。它允許我們將一個模型分散到多台機器上,每台機器負責運算模型的一部分,然後將結果匯總。

它甚至能自動分配各個節點(電腦)需要加載的模型比例,大大減少了使用者的工作量!

概念驗證 (Proof of Concept)

為了驗證可行性,我進行了手動測試:

  1. 在副機(我的筆電)上,下載 llama.cpp,並執行以下指令,啟動 RPC 伺服器,讓它可以被區域網路中的其他電腦存取。
    1
    2
    3
    4
    
    # -c 支援快取檔案
    # -H 0.0.0.0 讓它可以被外部存取
    # -p 5052 指定一個通訊埠
    rpc-server.exe -c -H 0.0.0.0 -p 50052
    
  2. 在主機(我的桌機)上,一樣用 llama.cpp,但這次啟動的是 llama-server,並透過 --rpc 參數告訴它副機的位置。
    1
    2
    3
    4
    
    # -m 指定模型路徑
    # -ngl 99 盡可能將模型層數載入 GPU
    # --rpc 指向我們剛剛啟動的副機 IP 與 Port
    server.exe -m ./Devstral-Small-2507-Q4_K_M.gguf -ngl 99 --rpc 192.168.50.19:50052
    

按下 Enter 後,奇蹟發生了!我點開主機提供的網址,進行對話測試。

在其他電腦開啟 RPC 伺服器 分散式推理成功,速度大幅提升

回到命令提示字元視窗查看,推理速度直接飆升到 每秒 17 token 以上,足足是單機運行的兩倍多!這證明了這個方案完全可行!

從手動到自動:用 AI 開發 GUI 工具

手動敲指令終究太麻煩,我的目標是做一個簡單好用的 GUI 工具,可以自動偵測區域網路內的其他電腦、一鍵啟動、方便管理。

這次,我決定用前一段時間介紹過的 Rovo Dev CLI 來快速製作出這個 GUI 介面。

如果對於這個工具有興趣的,可以看看我先前的介紹文章:

成品展示:LLM 分散式推理管理器

這就是最終的成品!一個簡潔直觀的 LLM 分散式推理管理器。

專案 GUI 介面總覽

  • 自動偵測:程式一打開,就會自動掃描並列出區域網路上所有可用的電腦節點。
  • 狀態顯示:右側清楚顯示本機的網路資訊,以及成功連線的節點。
  • 參數設定:左下方可以輕鬆設定要載入的 GPU 層數、API 並行呼叫數量等。
  • 一鍵啟動:所有設定完成後,只要按下「啟動伺服器」,你的窮人版 AI 叢集就正式上線了!

開源!歡迎一起來玩!

這個專案雖然基本是使用現成的解決方案,但我相信也能幫助到許多 VRAM 不足的 AI 玩家。因此,我已將它完全開源在 GitHub 上。

在專案的 Releases 頁面,你可以直接下載打包好的可執行檔 (.exe),無需安裝、設定環境就可以直接使用!

⚠️ 重要安全性警告

在享受便利的同時,請務必注意:

  1. llama.cpp 的 RPC 功能目前仍是實驗性功能。
  2. 它已被確認存在安全性相關的漏洞。

因此,請務必只在絕對安全的私人網路環境(例如你家的 Wi-Fi)中使用此工具,切勿將其暴露在公網上!這個專案純屬個人使用的玩具,不建議用於任何生產環境。

總結

這個 Side Project 不僅解決了我在本機運行大模型的效能問題,也讓我完整體驗了用 AI 來輔助開發的樂趣。如果你家裡也有多台閒置的電腦,不妨試試這個工具,把它們從灰塵中拯救出來,組建成你專屬的 AI 算力網絡吧!

(小提醒: 專案雖說是分佈式運算,但基本上是 pipeline,也就是一台算玩換另外一台,所以整體性能會有短板效應,運算會卡在連接的電腦中性能最差的那台。另外因為資料在網路傳輸中也會有一些延遲,所以如果串聯過多電腦的話,即便連接的電腦都是5090,性能可能也不會太好)

影片介紹

如果你想看更詳細的開發過程和實際操作演示,歡迎觀看我的 YouTube

SHARE / 分享此文章