LangChain 與 LLM 學習筆記 番外篇 — 我的電腦能跑哪些本地模型?
本篇重點
知道自己的電腦能跑哪些 Ollama 模型,選對再動手。
這篇是 Ep-1:RAG 技術架構 的番外補充。Ep-1 在選模型時有一張 RAM 對照表,但背後的邏輯——量化格式是什麼、不同硬體有哪些限制——值得單獨說清楚。
先查工具,3 分鐘得答案
不用背公式,直接查:
Will It Run AI
選你的 GPU 型號(或 Apple Silicon 晶片)和 RAM 大小,網站會列出能跑哪些模型、建議用哪個量化格式、以及預期的 token 生成速度。
VRAM Calculator
apxml.com/tools/vram-calculator
反過來用:你已經知道模型名稱,想確認要多少記憶體。輸入模型參數量和量化格式,算出精確需求;支援 Apple Silicon unified memory 模式。
量化是什麼?
LLM 是由幾十億個數字(參數 / 權重)組成的,模型推理時這些數字要全部載入記憶體。問題是:每個數字要用多少位元來表示?
訓練時用高精度(通常是 32-bit 浮點),但推理時不需要那麼精確——略微降低精度、換取體積大幅縮小,這就是量化(Quantization)。
一個實際比喻:把照片從 RAW 存成 JPEG。壓縮到 90% 畫質,大多數人看不出差異,但檔案小了十倍。壓到 30%,細節開始明顯損失。量化也是同樣的取捨。
精度類型:浮點數 vs 整數
LLM 的精度分兩大類:浮點數格式(訓練與部分推理)和 整數量化格式(Ollama 使用的 GGUF)。
浮點數格式(FP32 / BF16 / FP16 / FP8)
浮點數格式描述的是「一個數字的位元怎麼分配」。每個浮點數由三段組成:符號位(sign)、指數(exponent)、尾數(mantissa)——指數決定數值範圍,尾數決定精度。
| 格式 | 總位元 | 指數位元 | 尾數位元 | 用途 |
|---|---|---|---|---|
| FP32 | 32 | 8 | 23 | 訓練時的標準格式,精度最高 |
| BF16 | 16 | 8 | 7 | 現代模型訓練與推理,Google Brain 提出 |
| FP16 | 16 | 5 | 10 | GPU 推理加速,部分消費級顯卡 |
| FP8 | 8 | 4 or 5 | 3 or 2 | NVIDIA H100 GPU 訓練,消費級設備目前用不到 |
BF16 vs FP16 的差別:兩者都是 16-bit,但分法不同。BF16 保留和 FP32 一樣的 8 個指數位元,數值範圍跟 FP32 相同,不容易溢位——這讓它比 FP16 更適合訓練。FP16 的指數只有 5 位,範圍窄一些,但尾數多 3 位,在相同範圍內精度更高。
FP8 是 NVIDIA H100 系列才有硬體加速支援的新格式,目前主要用在資料中心的模型訓練加速,消費級設備(Mac、RTX 系列)不適用,你在 Ollama 介面不會接觸到它。
Ollama 使用的格式:GGUF 整數量化
Ollama 採用的是 GGUF 格式(llama.cpp 的量化方案),把浮點數轉成整數來儲存。跟上面的浮點數格式是不同的壓縮路線——整數量化壓縮率更高,CPU 也能高效運算:
| 格式 | 位元數 | 8B 模型大小 | 品質損失 | 說明 |
|---|---|---|---|---|
| F16 | 16 bit | ~16 GB | 無(基準) | 浮點原版,記憶體最大 |
| Q8_0 | 8 bit | ~8 GB | < 1% | 幾乎感受不到差異 |
| Q6_K | 6 bit | ~6 GB | 極小 | 品質與體積的好折衷 |
| Q5_K_M | 5 bit | ~5.5 GB | 很小 | 介於 Q6 和 Q4 之間 |
| Q4_K_M | 4 bit | ~5 GB | 小,可接受 | Ollama 預設,CP 值最高 |
| Q3_K_M | 3 bit | ~3.5 GB | 明顯 | 推理能力有感下降 |
| Q2_K | 2 bit | ~2.5 GB | 嚴重 | 通常不建議使用 |
格式名稱怎麼讀: Q4_K_M = 4-bit 量化、K-quants 方法、Medium 配置。
Q4表示平均每個參數用 4 個 bit 儲存_K表示使用 K-quants 方法——不同層用不同精度,重要的注意力層(attention layers)保留更多 bit,較不重要的層壓更多,在相同體積下比舊版Q4_0品質更好_M/_S/_L是 Medium / Small / Large,代表各層的 bit 分配策略,通常選 M 就夠了
ollama pull llama3.1 或 ollama pull qwen3 下載的就是 Q4_K_M——8B 模型只需要約 5 GB。
量化對模型的實際影響
從 F16 壓縮到 Q4_K_M,精度有損失,但損失到底發生在哪?
受影響的能力
| 能力 | Q4_K_M 的影響 | Q3 以下 |
|---|---|---|
| 一般問答、文字生成 | 幾乎無感 | 開始不流暢 |
| 中文輸出品質 | 幾乎無感 | 可能出現奇怪的語序或混語 |
| 指令遵循(只根據資料回答) | 輕微,偶爾「加料」 | 明顯,常補充資料外的內容 |
| 複雜推理 / 數學 | 輕微 | 明顯出錯 |
對 RAG 來說,Q4_K_M 通常夠用。RAG 的重點在於「能不能撈到對的資料」(嵌入模型的事)和「有沒有照著資料回答」(LLM 指令遵循)。Q4_K_M 的指令遵循能力還算穩定,Q3 以下就要小心。
嵌入模型不受 LLM 量化影響
nomic-embed-text 是另一個獨立的模型,負責把文字轉向量。它本身也有自己的量化版本,但跟你選的生成模型是分開的,兩者互不影響。
估算公式
可用記憶體 ≥ 模型大小 + 2 GB(系統與 KV cache 預留)
以 8B Q4_K_M 為例:5 GB + 2 GB = 至少需要 7 GB 可用記憶體。
不同硬體的情況
Apple Silicon Mac(M1 / M2 / M3 / M4)
目前消費級跑本地 LLM 最舒服的硬體。原因是統一記憶體(Unified Memory)——CPU 和 GPU 共用同一塊 RAM,Ollama 可以把全部記憶體都拿來放模型,效率遠高於一般筆電的純 CPU 推理。
| 記憶體 | 推薦模型 | 說明 |
|---|---|---|
| 8 GB | llama3.2:3b、qwen3:1.7b | 速度尚可,8B 勉強能跑但偶爾喘 |
| 16 GB | llama3.1:8b、qwen3:8b | 本系列預設,最推薦 |
| 32 GB | qwen3:14b、mistral:22b | 品質明顯提升 |
| 64 GB+ | llama3.3:70b、qwen3:72b | 接近 GPT-4 級別 |
8 GB M1 跑
llama3.1:8b通常可以,但 token 生成速度大概是 16 GB M2 的一半。如果等得了,可以跑;等不了就先用 3B 模型。
NVIDIA 獨顯筆電 / 桌機
有獨顯時,Ollama 優先把模型放進 VRAM,速度快很多。VRAM 不夠時會自動把剩餘的 layers offload 到 CPU RAM,但速度大幅下降(PCIe 傳輸是瓶頸)。
| GPU | VRAM | 能跑什麼 |
|---|---|---|
| RTX 3060 / 4060 | 8 GB | 8B Q4_K_M,剛好 |
| RTX 3070 / 4070 | 8–12 GB | 8B 舒服,13B 勉強 |
| RTX 3090 / 4090 | 24 GB | 13B–30B 都沒問題 |
Intel Arc 或 AMD Radeon 獨顯:Ollama 對這類 GPU 的支援目前還不穩定,建議先當純 CPU 模式跑,等官方更新。
純 CPU 筆電(無獨顯)
完全可以跑,但速度慢。8B 模型每秒大概 3–8 個 token,等一段時間才有回答。
建議先用 qwen3:1.7b 把整個 RAG 流程跑通、確認沒有 bug,再考慮升到 8B。正式跑大量測試時,找一台有 GPU 的機器或用雲端 API 會省很多時間。
快速對照表
| 可用記憶體 | Ollama 推薦選擇 | 對應 Ep-1 設定 |
|---|---|---|
| 6–8 GB | qwen3:1.7b、llama3.2:3b | 把 LLM_MODEL 換成 qwen3:1.7b |
| 12–16 GB | qwen3:8b、llama3.1:8b | 本系列預設 |
| 24–32 GB | qwen3:14b、mistral:22b | 把 LLM_MODEL 換成對應名稱 |
| 48 GB+ | llama3.3:70b、qwen3:72b | 同上 |
嵌入模型(nomic-embed-text)只有 137M 參數、274 MB,所有配置都能跑,不用特別考慮。
確認完硬體,回去動手
知道自己能跑哪個模型後,回到 Ep-1 的完整實作,把程式碼裡的 LLM_MODEL 換成適合你硬體的版本,一行指令就能跑起來:
LLM_MODEL = "qwen3:8b" # 16 GB 記憶體推薦
# LLM_MODEL = "qwen3:1.7b" # 8 GB 記憶體可用
# LLM_MODEL = "llama3.1:8b" # 也是不錯的選擇
其餘程式碼完全不用動。
相關文章
LangChain 與 LLM 學習筆記 Ep-0
5 分鐘看懂 LLM、LangChain、AI Agent 與 MCP 的關係:什麼是 Context Window、token 限制,LangChain 怎麼幫你串接模型,以及 Anthropic MCP 協議解決什麼問題。
LangChain & LLMLangChain 與 LLM 學習筆記-Ep-1
RAG 教學:用 LangChain + Ollama 把「載入→分割→嵌入→索引→檢索→生成」8 個步驟串成可跑的 Python 程式,搭配 Chroma 向量資料庫,本地免費跑 llama3.1,附完整程式碼。
LangChain & LLMLangChain 與 LLM 學習筆記 Ep-2
進階 RAG 教學:語意分割、混合檢索(BM25 + 向量 + RRF)、Multi-Query、HyDE、Cross-Encoder Reranking,加上 Anthropic Contextual Retrieval 與多模態 RAG 三種架構(CLIP、圖片轉述、ColPali)完整對比。