【深度翻譯】用 $2000 擺脫 API Key:Jamesob 的本地 LLM 全攻略

當大家都在討論哪家 API 最便宜、哪個模型 tokens 最划算的時候,有人默默在自家車庫組了一台能跑 594B 參數模型的機器——總 VRAM 384GB,全部本機推理,零 API 呼叫。James O’Beirne 這份 GitHub README 表面上是一份硬體組裝指南,實際上是一份「逃離雲端」的可行性研究。他花了五萬美元組了一台四卡 RTX Pro 6000 的怪物,但他也告訴你:只要 $2000、兩張二手 RTX 3090,你就能在本地跑 Qwen3.6-27B,從此跟 API key 說再見。這篇文章不只是零件清單,它是硬體民主化的施工圖。
原文深度翻譯
總覽
James O’Beirne 組了一台高階本地 LLM 主機,核心是四張 NVIDIA RTX Pro 6000 Blackwell 工作站顯卡,每張 96GB VRAM,合計 384GB。他刻意選擇了上一代的 AMD EPYC Milan 平台搭配 DDR4 記憶體,而不是追最新的 Zen 5 / DDR5——目的很明確:把預算集中在 VRAM 上,而不是燒在平台溢價上。整台機器的另一個關鍵設計是 PCIe Gen4 switch:透過這張 switch 卡,GPU 之間可以繞過 CPU 的 root complex 直接互傳資料,降低 tensor parallelism 的通訊延遲。
按預算的推薦配置
Jamesob 給了兩條明確的硬體路線:
入門級(~$2,000): 兩張二手 RTX 3090(共 48GB VRAM),推薦跑 Qwen3.6-27B。這條路線的門檻低到任何有全職工作的工程師都負擔得起——兩張 3090 在二手市場上大約 $700-800 一張,剩下預算買主機板、CPU、電源綽綽有餘。
旗艦級(~$40,000+): 四張 RTX 6000 Pro(共 384GB VRAM),推薦跑 GLM-5.2-Int8Mix-NVFP4-REAP-594B——是的,594B 參數的模型,靠量化壓進四張卡裡。這是他自己的機器配置。
對於語音轉文字,作者使用 whisper-large-v3,透過他自己開發的跨平台 stt harness 來執行。
他另外提出了一個替代性的高階策略:用四台 DGX Spark 串成一個 512GB VRAM 的叢集,當作「慢速大腦」來驅動比較重的工作,同時讓 Qwen3.7-27B 處理速度要求高的任務。換句話說,不一定要把全部錢砸在單一機器上——分散式也是一條路,只是延遲會是代價。
作者的硬體配置細節(4× RTX 6000 Pro)
以下是基礎系統的零件清單,絕大多數來自 eBay 或上一代產品線,每一樣都在壓成本:
主機板:ASRock Rack ROMED8-2T(SP3 腳位,7 條 PCIe 4.0 x16,雙 10GbE 網卡)——$715。這張板子的選用非常關鍵:七條全速 x16 插槽意味著不用 bifurcation 就能把所有 GPU 和 switch 卡插滿。
CPU:AMD EPYC Milan 7313P(16 核 3.0GHz)——$504。16 核聽起來不多,但對推理工作來說綽綽有餘——瓶頸在 VRAM 頻寬,不在 CPU 核心數。
記憶體:8 條 16GB Crucial CT16G4RFD4213 DDR4 ECC RDIMM,共 128GB——$642。DDR4 ECC 伺服器記憶體在 eBay 上便宜到像在秤斤賣。
散熱器:Dynatron T17 SP3 塔扇,280W TDP——$40。
機殼:AAAWave Sluice V2 開放式框架——$100。開放式的好處是散熱完全不用煩惱,壞處是灰塵和貓。
電源:兩顆 Super Flower 1700W——$750。兩顆的原因是四張 600W 的顯卡加上系統本身,一顆 1700W 不夠。
PCIe Switch:c-payne Microchip Switchtec PM40100 Gen4——約 $1,330。這張卡是整個系統的神經中樞,下面會有獨立的細項說明。
開機 NVMe:4TB M.2——$291。
模型儲存 NVMe:兩條 8TB M.2(專門放模型權重)——$1,200。
風扇:三顆 120mm PWM——$15。
基礎系統總計:$5,587。
然後才是真正的開銷——GPU:四張 NVIDIA RTX PRO 6000 Blackwell Workstation 版,每張 96GB,合計 384GB VRAM,總價約 $46,000。沒錯,顯卡的價格是基礎系統的八倍。
PCIe Gen4 Switch 子清單(c-payne.com)
這個 switch 的配件明細如下:
PCIe Gen4 Switch 5× x16 — Microchip Switchtec PM40100:€1,050。核心交換晶片,讓五條 x16 通道可以任意互連。
SlimSAS PCIe Gen4 Host Adapter x16(REDRIVER AIC):€140。負責訊號重整的主機端介面卡。
SlimSAS SFF-8654 8i 排線,PCIe Gen4 規格,兩條,每條約 €30。線材規格不對的話整個訊號會爛掉(下文會講到)。
Switch 子系統總計:約 €1,220(約 $1,330 美元)。
設定與調校(ROMED8-2T)
這一段是整篇文章最關鍵的部分——不是裝上去就會動,以下每一項都是「不做就跑不起來」的性質,不是選配。
BIOS 設定
AMD PCIE Link Width(switch 插槽):設為 x16。這個設定是防止主機板自作聰明把 x16 拆成 x8/x8(bifurcation),switch 需要完整頻寬。
PCIe Link Speed(switch 插槽):強制鎖在 Gen4。自動協商有時會掉到 Gen3 甚至更低,手動鎖死才穩定。
ASPM:Disabled。ASPM(Active State Power Management)會在閒置時把 PCIe 鏈路降速到 2.5GT/s,對多 GPU P2P 通訊是災難。
Re-Size BAR:Enabled。這項打開才能讓系統完整定址每張 GPU 的 96GB VRAM,同時也是 GPU 之間 P2P 通訊的前提。
SR-IOV:Disabled。裸機推理不需要虛擬化功能,開著反而可能干擾。
Kernel / GRUB 參數
GRUB 必須加入以下 kernel 命令列參數:
iommu=off amd_iommu=off nomodeset
沒有 iommu=off 的話,NCCL 在多 GPU P2P 通訊時會直接 hang 住。這不是「效能變差」的問題,以經是完全跑不起來。另外還需要在 modprobe 設定檔中加入 options nvidia_uvm uvm_disable_hmm=1,這是 nvidia_uvm 驅動的 P2P 修正。
關閉 PCIe ACS(switch P2P 的關鍵)
ACS(Access Control Services)如果沒有被關閉,所有 P2P 流量會被強制繞經 CPU 的 root port,PCIe switch 繞過 CPU 的設計就完全白費了。作者用一個 setpci 腳本在執行期關閉 ACS(透過 systemd oneshot 服務在開機時執行)。
驗證方法:lspci -vvv | grep ACSCtl 應該全部顯示為減號(代表已停用)。再用 nvidia-smi topo -m 確認所有 GPU 之間的拓撲都是 PIX(代表在同一個 PCIe switch 底下直接互連)。
GPU 功耗限制
sudo nvidia-smi -pm 1
sudo nvidia-smi -pl 350 # 每張卡限 350W(預設 600W)
把四張 600W 的卡全部鎖在 350W,整台機器才能跑在一條 110V 家用電路上。這項設定的副作用幾乎可以忽略——推理負載和訓練不同,很少會吃滿功耗。
Redriver 增益調整
使用 c-payne 提供的工具把增益降到 level 3。作者說這是最麻煩的一步——增益太高訊號會 overshoot,太低則不穩定,要慢慢試。
SlimSAS 排線警告
務必直接跟 c-payne 購買正確規格的 SlimSAS 排線。作者表示從 Amazon 買的線材有相容性問題——訊號品質不過關導致 GPU 間的通訊不穩定。排線這種看起來最不起眼的零件,往往是整台機器最難 debug 的環節。
模型部署
作者使用 vLLM,啟用 tensor parallelism 將模型分散到四張 GPU 上。設定檔放在 repo 的 ./runners/ 目錄下。
關鍵心得
以下六點是作者從整個組裝過程中濃縮出來的核心教訓:
-
VRAM 是王——優先投資 GPU 記憶體,CPU 和平台速度是次要的。推理效能瓶頸在 VRAM 頻寬和容量,不在核心數。
-
PCIe switch 對多 GPU tensor parallel 推理至關重要——沒有它,GPU 之間的資料交換要走 CPU,延遲吃掉所有平行化的好處。
-
上一代 EPYC + DDR4 是成本效益的最佳甜蜜點——Zen 4/DDR5 的效能提升在推理場景中幾乎無感,但價格差距非常顯著。
-
功耗限制(每張 GPU 350W)讓整台機器能跑在 110V 家用電路——不必拉 220V 專線,這對家用部署來說是決定性的門檻差異。
-
BIOS 調校沒有妥協空間——ASPM 必須關,SR-IOV 必須關,ReBAR 必須開,ACS 必須關。少做一項,整套系統就是不會動。
-
基礎系統成本只有 $5.6k——真正的開銷是 GPU。如果能以合理價格取得大 VRAM 的顯卡,本地部署 SOTA 模型的經濟門檻已經比多數人想像的低。
城武觀點
Jamesob 這篇文章表面上是零件清單和 BIOS 設定,但如果你讀完只得到「買兩張 3090 可以跑 Qwen」,你漏掉了真正重要的那層。
一、硬體民主化不是口號,是價格信號。
兩張二手 RTX 3090,48GB VRAM,$2000。這個數字放到兩年前,大概只夠你付一年的 ChatGPT Plus 訂閱費。放到今天,它是一台可以本地跑 27B 模型、完全離線、零審查、零速率限制的機器。Jamesob 沒有說出口但每一行都在暗示的那句話是:硬體門檻已經降到跟軟體訂閱打平的臨界點了。
OpenAI 和 Anthropic 的商業模式建立在一個假設上——用戶永遠不會去買自己的 GPU,因為太貴、太複雜、不值得。但當 $2000 就能拿到 48GB VRAM,而 ChatGPT Pro 一年也要 $2400 的時候,這個假設開始裂開了。雲端 API 的護城河從「算力壟斷」悄悄轉向「便利性壟斷」——你不是買不起硬體,你是懶得搞 BIOS。
問題是:便利性能當多久的護城河?當現成的 GitHub repo 已經把 BIOS 設定、kernel 參數、PCIe switch 購買連結全部列好,複製貼上的門檻每過一季就降一截。我賭三年內會出現「本地 LLM 懶人包」的商業產品——預裝好的迷你主機,插電開機就能跑 SOTA 模型,$3000 一台。到那時候,API 訂閱制要賣什麼?「你不需要懂 ACS」可能還是一個賣點,但不會是 $200/月的賣點。
二、軟體工程師的基礎設施斷層,這篇文章是活生生的病歷。
讀一下 BIOS 設定那段:ASPM 要關、SR-IOV 要關、ReBAR 要開、ACS 要關、IOMMU 要設成 off、kernel 參數要加 nomodeset、nvidia_uvm 要加參數、redriver gain 要手調。每一項都不是「建議」,是「不做就跑不起來」——NCCL 會 hang 住、P2P 頻寬會爛掉、GPU 會直接認不到。
這裡有一個深層的問題:軟體世界已經被雲端寵壞了。 我們習慣了 pip install 和 docker-compose up,預設底層「應該要會動」。但一旦離開雲端託管的舒適圈,整個基礎設施的複雜度就全部砸回你臉上——而你手上的工具只有 lspci 和論壇上的 Arch Linux 討論串。
這不是個別工程師的問題,是一整個世代的思微慣性——雲端幫你把基礎設施變成了別人的問題,直到你決定不再付月費。
這不是硬體太難,是軟體工程師對硬體的理解斷層太深。大多數寫 Python 的人不知道 PCIe topology 長怎樣、不知道 ACS 是什麼、不知道 IOMMU 開著為什麼會讓 NCCL 死掉。不是因為這些東西太難,是因為從來不需要知道——雲端把這些全部抽象掉了。而當你決定買自己的 GPU 時,那些被抽象掉的東西會一次全部回來找你算帳。
Jamesob 的文章之所以有價值,不是因為他組了一台 $50K 的機器——有錢誰都能組。是因為他把那些「只有硬體佬才知道」的踩坑經驗全部寫出來了:哪條線材會出問題、哪個 BIOS 設定不能妥協、哪個 kernel 參數不開就等著 NCCL hang 住。這些知識在雲端時代是失傳的,但它們是本地 LLM 部署的真正門票。
城武的未解檔案——硬體民主化的入場券只要 $2000,但說明書是用 lspci 寫的。
- 原文:Everything I know about running SOTA LLMs locally(James O’Beirne, GitHub, 2026-07)