Redis 之父 antirez(Salvatore Sanfilippo)以一週時間寫成的一千多行 C 程式碼 ds4(DwarfStar 4),讓 DeepSeek V4 Flash 第一次真正能跑在 Mac 本機。專案上線不到三週,已累積 11,500+ 顆 Star、30 位貢獻者。但要跑起來的硬體門檻同樣很硬:96GB 統一記憶體是底線、128GB 才舒適,對應一台起價 NT$10 萬、頂規 NT$30 萬+ 的 Mac Studio。本文不再覆述 README,而是把三件事講透:① ds4 為何不是另一個 llama.cpp 包裝、② 為何 Apple Silicon UMA 決定了 Metal 為首要後端、③ 在不買 Mac Studio 的情況下,如何用一台遠端高記憶體 Mac 節點立刻上手 ds4。
ds4 上線不到三週(建立於 2026-05-06)已累積 11,500+ Star、30 位貢獻者,純 C、MIT 授權。但真正動手編譯一遍、起 server 的人遠少於 Star 數——下列六種症狀是每個想試 ds4 的人都會撞上的真實障礙。
本機 MacBook Pro 記憶體根本不夠:14"/16" MacBook Pro 標配 16/24/36GB,連 q2 量化的 81GB 權重都裝不下。
「升記憶體」並不便宜:把 MacBook Pro 升到 64GB 仍不夠;升到 96GB / 128GB 必須選頂規 M3/M4/M5 Max,差價以 NT$3 萬-NT$6 萬計。
Mac Studio 不是「想買就能買」:128GB Mac Studio 起價 NT$10 萬+;512GB M3 Ultra 頂規做 V4 Pro 嘗試動輒 NT$30 萬+,對獨立開發者並不友善。
Windows / Linux 工作站方案繞遠:消費級 GPU 單卡 24/32GB VRAM 撐不起 ds4 的記憶體帳;DGX Spark 類設備成本與門檻比 Mac 更高。
團隊共用一台高配 Mac 很麻煩:常駐一個 ds4-server 即吃滿記憶體,多人輪用要排隊、還容易互相污染會話狀態。
買了之後跑半年又換模型:ds4 自評 alpha 品質,DeepSeek V4 Flash 也是 preview——為「試新模型」買一台 NT$30 萬的 Mac,資產折舊風險很高。
六條湊在一起的結論很清楚:軟體已準備好,硬體還沒追上。ds4 把「在 Mac 上本機跑 DeepSeek V4 Flash」從「不可能」變成「可能」;但「能跑」與「人人能跑」之間,隔著一張 Mac Studio 的發票。
想清楚 ds4 的邊界,比想清楚它能做什麼更重要。antirez 在 README 中寫得非常直白:ds4 不是通用 GGUF runner、不是其他執行時的包裝、也不是框架。它只做一件事——把 DeepSeek V4 Flash 在 Metal/CUDA 上跑得又快又準——並將這一條做到極致。下表將 ds4 與你已熟悉的本機推理方案並列,可看清各自取捨。
| 方案 | 目標模型範圍 | 最適合場景 | 關鍵限制 |
|---|---|---|---|
| ds4 (DwarfStar 4) | 僅 DeepSeek V4 Flash(專屬 GGUF) | 把 V4 Flash 跑到本機能給出的最高速度,搭配編碼 Agent 長期使用 | 不通用、alpha 品質、96~128GB 記憶體起步 |
| llama.cpp | 幾乎所有主流 GGUF | 每週換模型試,重視通用性與跨平台 | 對 V4 Flash 的專屬最佳化與持久化 KV 不如 ds4 |
| Ollama | 主流 GGUF + 一鍵拉取 | 團隊共用本機模型,封裝好 API | 效能與可控性夾在中間,長上下文場景受限 |
| vLLM / SGLang | 多數 HuggingFace 權重 | 雲端多卡部署、共享團隊 endpoint | 本機 Mac 並非首要目標,跑不動單機大模型 |
| 雲端 API(如 DeepSeek 官方) | 全精度 V4 Flash / Pro | 無需在意硬體、要最高品質 | 資料要送出去、按量計費、對長會話不友善 |
ds4 真正的工程差異有三件:第一是專屬圖執行器——圍繞 V4 Flash 的張量配置、tokenizer、MoE 路由逐項寫死,跑得比通用 runner 更快;第二是2-bit 非對稱量化——把激進的低位精度壓在「路由 MoE 專家」這類可容忍誤差的層(如 IQ2_XXS / Q2_K),關鍵層仍保留更高精度,因此 81GB 的 q2 權重能塞進 128GB 記憶體還能穩定執行工具呼叫;第三是磁碟 KV 快取——以 token IDs 的 SHA1 為索引,會話切換乃至 server 重啟都保留,意味著昂貴的 25k token 首次 prefill 只需付一次。
ds4 把「本機跑 V4 Flash」從一句口號變成一條可工程化的路徑:少做一切其他事,把這一條做到 Apple Silicon 與 CUDA 上能跑的極限。
看過 ds4 backends 文件會注意到一個細節:Metal 是預設且首要的後端,CUDA 緊隨其後(且特別關注 DGX Spark / GB10),ROCm 僅在獨立分支跟進,CPU 路徑僅作為正確性校驗。這個排序不是隨意的,它與 Apple Silicon 的統一記憶體架構(UMA, Unified Memory Architecture)直接相關。
在 Mac 上,CPU 與 GPU 共用同一塊實體記憶體。這意味著 81GB 的 q2 GGUF 載入系統時無需在「主記憶體 → 顯示記憶體」之間做一次完整複製,張量直接被 GPU 讀取;激活、KV 狀態、tokenizer 暫存全在同一塊位址空間,Metal kernel 可直接動手。對於 ds4 這種每 token 都要觸碰大量稀疏專家權重的 MoE 推理,少了複製即意味著少了無可避免的延遲下限。
反觀傳統獨立 GPU 方案:32GB 消費級顯卡當然裝不下 81GB GGUF;切到 80GB H100 又意味著你需要一整台資料中心機器與配套散熱——更不必說在「Mac 擺在桌上」的產品形態裡複製一份。這正是 antirez 將 Metal 放在第一位、把 CUDA 最佳化主要投在 DGX Spark / GB10 這類「統一記憶體形態的 NVIDIA 平台」上的原因:他追求的不是另一種推理框架,而是把當前消費級硬體中唯一具備「大記憶體可被 GPU 直接吃」的產品形態用滿。
# 在一台 Apple Silicon Mac(96/128GB UMA)上從零編譯並啟動 ds4
git clone https://github.com/antirez/ds4.git
cd ds4
make # 預設 Metal 後端
# 下載 DeepSeek V4 Flash 的 q2-imatrix GGUF
./download_model.sh q2-imatrix # 體積 ~81GB,存入 ./gguf/,預設指向 ./ds4flash.gguf
# 起 server:100k 上下文 + 8GB 磁碟 KV 快取
./ds4-server --ctx 100000 \
--kv-disk-dir /tmp/ds4-kv \
--kv-disk-space-mb 8192
# 預設監聽 http://127.0.0.1:8000/v1/chat/completions(OpenAI 相容)
執行起來後,把 Claude Code / Cursor / opencode 這類編碼 Agent 的 OpenAI base URL 改成 http://127.0.0.1:8000/v1,便取得一條完全離線、不出本機的 V4 Flash 推理通路,權限邊界天然落在本機。
在做硬體採購或租賃決策前,把 ds4 真實的記憶體帳重新擺一次比看任何 benchmark 都重要。Flash q2 量化後 GGUF 約 81GB 落在磁碟;載入到記憶體再加上激活、tokenizer、Metal kernel 緩衝,96GB UMA 為社群報告的可行下限,有人甚至把上下文視窗推到 250k;128GB 才是 antirez 在 README 中反覆推薦的舒適配置。若想把上下文推到接近 1M token(DeepSeek V4 系列天花板),僅 indexer 一項即要再吃約 22GB,整體 KV 額外占用 ~26GB——這是 128GB 內的硬擠壓,100~300k 的上下文視窗在 128GB 上是更穩的選擇。
| 形態 | 統一記憶體 | 能否跑 ds4 (V4 Flash q2) | 能拉多大上下文 |
|---|---|---|---|
| MacBook Pro 標配(16~36GB) | 16 / 24 / 36GB | 否,連權重都裝不下 | — |
| MacBook Pro 中配(48~64GB) | 48 / 64GB | 否,權重即把記憶體吃滿 | — |
| MacBook Pro M3/M4/M5 Max 96GB | 96GB | 勉強可行,需關掉其他重記憶體程序 | 社群報告可到 ~250k |
| Mac Studio / MacBook Pro 128GB | 128GB | 舒適,留下 Agent / IDE 餘量 | 100~300k 較穩 |
| Mac Studio M3 Ultra 256GB+ | 256GB+ | 很舒服,可同時跑長會話與持久 KV | 可衝擊接近 1M token |
| Mac Studio M3 Ultra 512GB(V4 Pro 嘗試) | 512GB | 暫不支援,ds4 目前只面向 Flash | — |
提示:磁碟 KV 快取讓首次 prefill 一次付清——把 --kv-disk-dir 放到 Mac 自帶的高速 SSD,會話切換、server 重啟甚至跨日重用都能省下成千上萬 token 的 prefill 成本,這是 ds4 與傳統推理服務最本質的體驗差。
注意:antirez 在 README 中明確警告,目前 macOS 版本在 CPU 路徑上的虛擬記憶體實作會引發核心崩潰,必須使用 Metal 後端,不要用 make cpu 在 macOS 上跑推理;這也是 Apple Silicon + Metal 在 ds4 路線圖中沒有 fallback 的現實原因之一。
下列資料來自 ds4 README、DeepSeek-V4-Flash 模型卡與社群實測,一起回答一個問題:「我目前的 Mac 到底缺多少」。
把上述數字翻譯成決策:自購 Mac Studio 頂規把 NT$20~30 萬資產長期壓在「alpha 引擎 + preview 模型」上;走雲端 API 能拿全精度,但資料要送出去、長會話按 token 計費會被 prefill 吞掉,本機 Agent 與權限邊界也不在你手中。對既要 ds4 + V4 Flash 的「真本機推理」、又不願把預算押在易貶值高配 Mac 上的開發者,NodeMini 的 Mac Mini 雲端租賃通常是更優解:SSH 接入即用、跑完即停、資料全程在你專屬實例,規格與計費見租賃價格說明,簽約細節可參考SLA 與簽約要點。
下列順序,是「不買頂規 Mac、也要立刻體驗 ds4 + V4 Flash」的最小路徑。每一步都對應前文中被討論過的一個限制,依序走完,整套流程不超過兩小時即可取得一條 OpenAI 相容的本機推理 endpoint。
選規格:先按「128GB 起步」反推:2-bit 量化 + ~100k 上下文需要 128GB 才舒適,跑接近 1M 上下文則按 256GB+ 選;不要圖便宜挑 96GB,否則 IDE / Agent / 瀏覽器一起開就崩。
開通一台 NodeMini 高記憶體 Mac 節點:在算力訂購頁面按目標記憶體、地區與時長選規格;秒級拨備,開通後即給一對 SSH 憑據,本機用 ssh user@host 接入。
在節點上拉源、裝相依套件、編譯:git clone https://github.com/antirez/ds4.git && cd ds4 && make,Apple Silicon 上預設即走 Metal;macOS 不要嘗試 make cpu,README 已明確警告核心崩潰風險。
下載 q2-imatrix GGUF 並設定磁碟 KV 快取:用專案附帶的 download_model.sh 拉 q2 / q2-imatrix / q4 之一;把 --kv-disk-dir 指向節點本機 SSD 的固定目錄,把 --kv-disk-space-mb 給到 8~32GB,讓磁碟 KV 真正生效。
把 ds4-server 接到你的編碼 Agent:啟動 ./ds4-server --ctx 200000 --kv-disk-dir ... --kv-disk-space-mb 16384 後,把 Claude Code / Cursor / opencode 的 OpenAI base URL 指向節點的 http://127.0.0.1:8000/v1(建議走 SSH 連接埠轉發,不要把連接埠對外暴露);OpenAI / Anthropic 工具協定 ds4 原生相容。
固化存取拓樸:SSH 公私鑰 + Tailscale 等私有隧道把節點收進零信任內網;不再用就「停機不計費」,要長期跑則配 launchd 讓 ds4-server 開機自啟,搭配持久 KV 快取做到「換日接著用」。
走完這六步再看自購 Mac Studio,幾個局限就清楚了:折舊鎖在「alpha 引擎 + preview 模型」上、本機長期跑 ds4 與日常工作搶記憶體、團隊共用又退化成排隊。對希望把 ds4 + V4 Flash 當作日常生產力工具、同時把折舊風險按需攤薄的開發者,把高記憶體 Mac 推到雲端獨佔節點、用 SSH 接入做主線,NodeMini 的 Mac Mini 雲端租賃通常是更優解:與 三年 TCO 決策、24/7 自動化 等場景一一對應,SSH 細節見幫助中心。
目前不行。ds4 為 DeepSeek V4 Flash 專屬推理引擎,Flash 總參數 284B、激活 13B;V4 Pro 為 1.6T 總參數、49B 激活的 MoE,量化後仍超出主流 Mac 的統一記憶體容量。Pro 短期內只能仰賴雲端 vLLM / SGLang 類方案。
作者把 96GB 列為下限,社群已有人在 96GB Mac 跑通 2-bit 量化、甚至推到 250k 上下文;但要穩定跑且留下 Agent 與 IDE 的記憶體餘量,128GB 才舒適。要把上下文推到接近 1M token,還需再為 indexer 預留約 26GB——穩健做法是按 256GB+ 規格選節點,可參考 租賃價格說明。
租用 NodeMini 高記憶體 Mac 節點是目前最直接路徑:SSH 登入後 git clone、make、下載 GGUF、./ds4-server 啟動即可,整套流程不超過兩小時;接入方式與節點選擇細節見 幫助中心,長會話與 AI Agent 常駐的最佳實踐可參考 24/7 雲端 Mac 自動化業務流。