📍 真實場景
阿哲,台中一間 12 人會計師事務所的 IT 兼總務,家裡開過電腦店,會裝系統但沒碰過 AI 部署
老闆要他評估能不能在事務所內網跑一個大型 AI 模型,幫忙讀客戶的帳務文件。客戶資料不能上傳雲端,預算只夠加買記憶體條,買不起一張動輒數十萬的顯卡。
😖 卡住的地方:他查到 DeepSeek 這種大模型有 2840 億參數,網路上都說要好幾張顯卡。他手上只有一台 64GB 記憶體的桌機,不知道『模型大小』和『記憶體夠不夠』到底怎麼換算,也不知道該不該相信有人說 64GB 就能跑。
💡 這課帶你自己算一遍:2840 億個參數壓成多大、塞進 64GB 剩多少空間、跑起來大概多快。看完你能判斷『某模型能不能在某台電腦上跑』,而且知道這個專案犧牲了什麼來換。
🧭 這到底是什麼(白話版)
llama-modchip 是一組改裝工具,讓超大型模型 DeepSeek-V4-Flash(總共 284.33B,也就是 2843 億個參數)只靠 64GB 的一般記憶體(RAM)、完全不用顯卡(GPU)就能執行。它在 Hacker News 拿到 330 分、130 則留言,因為大家一直以為這種等級的模型一定要昂貴的顯卡。
它能做到,靠的是兩招。第一招是把模型壓得很小:原本的 量化把每個數字用更少的位元來存,像把高畫質照片壓成較小的檔案,換取空間但可能損失一些細節版本要 76.87 GiB,超過一台 64GB 電腦實際可用的約 62.5 GiB;modchip 把它壓到 56.56 GiB,平均每個參數只用 1.71 個 bpwbits per weight,每個參數平均佔幾個位元,數字越小模型越小。
第二招是讓 CPU 算得更快。這個模型是 MoEMixture-of-Experts,混合專家架構,模型裡有很多位專家,每次只叫其中幾位出來做事,其餘休息,總共有 256 位專家,每層只會用到 6 位,所以每個字實際參與運算的只有 13.17B 個參數,不是全部 284B。專案又重寫了 CPU 的矩陣運算程式,用 SIMD單一指令同時處理多筆資料,像一次蓋章蓋好一整排而不是一張一張蓋指令把輸入文字(prefill)速度從每秒 25.0 個 token 提升到 44.36 個,約快 77%,產生文字(decode)約快 53%。
結果是:在 64GB 的桌機上,讀入提示詞每秒約 44.4 個 token模型處理文字的最小單位,大約是一個字或半個字,產生回答每秒約 9.1 到 14.7 個。這不算快,但是『能跑』和『跑不起來』之間的差別。
🎯 為什麼值得你花時間
硬體門檻從『買顯卡』降到『加記憶體』素材中的表格顯示:16–32GB 的筆電或迷你電腦可跑 30B 級模型(每秒 25.0–60.4 個 token),64GB 桌機可跑 284B 的 DeepSeek,全部 0 張 GPU。記憶體條比顯卡便宜很多,個人和小公司第一次有機會在自己的機器上跑頂級開源模型。
資料不必離開自己的電腦像阿哲這種處理客戶機密的場景,模型在本機跑就不需要把資料上傳到雲端,是合規與隱私上的實質好處。
『參數多』不等於『每次都要算很多』MoE 讓 284B 的模型每個字只動用 13.17B 個參數。理解這點,你就懂為什麼大模型能塞進小機器,也懂為什麼『總參數量』和『實際運算量』是兩個不同的數字。
⚙️ 它是怎麼運作的
1
步驟一:把模型壓小把 284.33B 個參數的儲存精度降到平均 1.71 bpw,檔案從標準版的 76.87 GiB 降到 56.56 GiB,才有可能放進約 62.5 GiB 的可用記憶體。
▼
2
步驟二:整個模型鎖在記憶體裡56.56 GiB 的模型加上 256K 長度的 KV 快取(模型記住對話內容的暫存區),實際佔用 57.61 到 58.9 GiB,全部留在 RAM、不碰硬碟交換,避免系統因為記憶體不足而變得極慢或直接把程式砍掉。
▼
3
步驟三:每個字只叫 6 位專家256 位專家中,每層只啟用 Top-6(分數最高的 6 位)。專案預設不剪掉任何一位,所以保留了模型原本的計算方式。
▼
4
步驟四:讓 CPU 的快取(Cache)不被浪費CPU 內部有很小但很快的暫存區(暫存器、L1、L2、L3)。專案把矩陣運算切成一塊一塊,剛好塞進各層暫存區重複使用;又用『不經過快取』的讀取方式讀冷門專家的權重,避免它們把熱門的 KV 資料擠出 L3。
▼
5
步驟五:猜字加速與瞬間還原對話一個僅 1.64 MB 的小型 n-gram 預測器先猜接下來幾個字,大模型再一次驗證;另外把對話狀態存在 /dev/shm(放在記憶體裡的暫存檔案區),還原一個 40 個工具的 Claude Code 提示詞只要 13.1 到 32.6 毫秒。
標準版與 llama-modchip 版的 DeepSeek-V4-Flash(引用自專案文件)
| 項目 | 標準 UD-IQ1_S 版 | llama-modchip 版 |
|---|
| 模型檔大小 | 76.87 GiB | 56.56 GiB(1.71 bpw) |
| 64GB 電腦可用記憶體約 62.5 GiB | 放不下,會頁面快取抖動或被 OOM 砍掉 | 含 256K 上下文共佔 57.61–58.9 GiB,放得下 |
| 16 核 Zen 5 的輸入處理速度 | 25.0 tok/s | 44.36 tok/s(約 +77%) |
| 需要顯卡嗎 | — | 0 張 |
🛠️ 動手做:記憶體算盤:你的電腦塞得下哪個模型?
- 先不要改任何數字,看預設值(284.33B 參數、1.71 bpw)算出來是不是接近專案宣稱的 56.56 GiB。
- 把 bpw 改成 2.32,觀察是否塞不進 62.5 GiB。這大約對應標準版 76.87 GiB 的情況,感受『多 0.6 位元』的代價。
- 把『可用記憶體』改成 28(約 32GB 電腦),再把參數改成 30、bpw 改成 3.75,看 30B 模型能不能放進筆電。
- 調整『記憶體頻寬』,觀察每秒能產生的字數上限怎麼變。想一想:為什麼產生文字比較吃頻寬,而不是吃算力?
👇 下面是活的,直接操作
🧠 工程思維透鏡(資深工程師看到的是什麼)
🔭 資深工程師會先問:這個『1.71 bpw』是用什麼換來的?
把精度壓到平均不到 2 個位元,必然損失資訊。素材節錄中提到專案有排行榜與技術論文,但節錄裡沒有看到品質(答案正確率)的數據。所以工程師的第一反應不是『太神了』,而是『品質掉多少、在我的任務上可接受嗎』。省下的是硬體成本,付出的是潛在的準確度,這是典型的空間換品質的取捨,要用自己的任務實測才算數。
🔭 為什麼同樣是 CPU,這個專案要把矩陣運算切成 4 層(暫存器、L1、L2、L3)?
現代 CPU 的瓶頸常常不是算得慢,而是資料從記憶體搬過來太慢。把運算切成剛好能塞進各層快取的小塊,每塊資料搬一次就重複使用很多次,等於讓搬運成本被攤薄。這是『先確認瓶頸在哪,再對症下藥』的思維。它帶來 prefill 約 +77%、decode 約 +53% 的提升,但提升幅度不同,也暗示兩個階段的瓶頸性質不一樣。
🔭 為什麼 MoE 最適合『記憶體大但算力弱』的機器?
MoE 把『模型知道多少東西』(總參數 284B,要放得下)和『每個字要算多少』(13.17B 活躍參數)分開。記憶體便宜容量大,算力和頻寬貴,MoE 剛好用便宜資源裝知識、用少量算力運作。代價是:冷門專家的權重不常被用到卻要全部常駐記憶體,所以才需要專案在快取策略上特別處理,避免冷資料擠掉熱資料。
🔭 『9–15 字/秒』對真實使用算快還是慢?
人讀中文的速度大約每秒幾個字,所以這個速度用來聊天勉強可用;但用來處理長文件、需要大量輸出的批次任務就很吃力。工程決策不是『能不能跑』,而是『在我的場景延遲能不能接受』。同一份素材中,有顯卡的混合桌機達到 80.80 tok/s,八通道工作站的 30B 模型達 111.62 tok/s,說明加硬體仍然是換速度的直接管道。
📝 隨堂考(點選答案,立即回饋)
Q1. 標準版 DeepSeek-V4-Flash 在 64GB Linux 電腦上為什麼跑不好?
✅ 素材明說標準 UD-IQ1_S 版 76.87 GiB,超過 64GB 系統實際可用的約 62.5 GiB,所以才需要 modchip 把它壓到 56.56 GiB。
Q2. MoE(混合專家)架構中,『每次只動用 13.17B 活躍參數』代表什麼?
✅ 總參數量決定要放多少資料進記憶體,活躍參數量決定每個字的運算量,兩者是不同的數字。
Q3. bpw = 1.71 的意思最接近下列哪一個?
✅ bpw 是 bits per weight,每個參數平均佔幾位元,數字越小模型檔越小,但也代表精度被壓得越低。
Q4. 若你要用本課的方法評估『某模型能不能放進某電腦』,最先該算的是哪個式子?
✅ 參數量乘上每參數位元數再除以 8 就是權重佔的位元組數,再加 KV 快取等開銷,才是真實的記憶體需求。
🃏 翻牌記憶卡(先想答案,再點開對答)
為什麼標準版放不進 64GB 電腦,modchip 版放得進去?點我翻面
標準版 76.87 GiB 超過可用約 62.5 GiB;modchip 把模型壓到 56.56 GiB(1.71 bpw),加上 256K 上下文共約 57.61–58.9 GiB,剛好留在 RAM 內。
總參數量 vs. 活躍參數量點我翻面
DeepSeek-V4-Flash 總共 284.33B,但每個字只動用 13.17B;前者決定記憶體要多大,後者決定每個字要算多少。
prefill 與 decode點我翻面
prefill 是讀入你給的提示詞(本專案 16 核 Zen 5 約 44.36 tok/s),decode 是一個一個產生回答(64GB 機器約 9.1–14.7 tok/s)。
專案如何避免冷門專家擠掉熱資料?點我翻面
用非暫存式(non-temporal)串流讀取冷門專家的權重,讓它們不污染 L3 快取裡的 KV 資料。
這個專案的主要取捨點我翻面
用極度量化(約 1.71 bpw)換取低硬體門檻,代價是潛在的精度損失,以及相對有顯卡機器較低的速度。