Tóm tắt nhanh
- Trọng số: số tham số × số bit mỗi trọng số ÷ 8. Với định dạng 4-bit của MLX, con số này là khoảng 0,56 GB cho mỗi tỷ tham số; ở 8-bit khoảng 1,06 GB, ở 16-bit là 2 GB.
- Vậy mô hình 8B cần khoảng 4,5 GB ở 4-bit, mô hình 32B khoảng 18 GB và mô hình 70B khoảng 39 GB, chưa tính ngữ cảnh.
- Ngữ cảnh (KV cache) cộng thêm và tăng theo từng token: với Qwen3 8B, ngữ cảnh 32.000 token chiếm khoảng 4,8 GB, nhiều hơn cả trọng số 4-bit của nó.
- Trên Mac, mặc định GPU dùng được khoảng 75% bộ nhớ hợp nhất, nên một máy Mac 16 GB có khoảng 12 GB cho mô hình. Trên PC, mô hình phải vừa VRAM riêng của card đồ họa thì mới chạy hết tốc độ.
1Quy tắc: tham số × số bit
Một mô hình chủ yếu là trọng số của nó: mỗi tham số là một con số. Lưu ở 16 bit, mỗi số chiếm 2 byte, nên mô hình cần 2 GB cho mỗi tỷ tham số. Lượng tử hóa lưu mỗi trọng số bằng ít bit hơn, làm mô hình nhỏ lại gần như theo đúng tỷ lệ; ở 4 bit, đa số mô hình giữ được chất lượng gần với bản gốc.
Các định dạng lượng tử hóa còn lưu thêm một chút dữ liệu để dựng lại trọng số. Theo mặc định, MLX của Apple giữ một hệ số tỷ lệ và một độ lệch cho mỗi nhóm 64 trọng số, ở kiểu 16-bit của chính mô hình (MLX), tức thêm nửa bit cho mỗi trọng số. Từ đó ra các kích thước sau:
| Độ chính xác | Số bit mỗi trọng số | GB cho mỗi tỷ tham số |
|---|---|---|
| 16-bit (bản gốc) | 16 | 2,0 |
| 8-bit | 8,5 | khoảng 1,06 |
| 6-bit | 6,5 | khoảng 0,81 |
| 4-bit | 4,5 | khoảng 0,56 |
| 3-bit | 3,5 | khoảng 0,44 |
| 2-bit | 2,5 | khoảng 0,31 |
Dưới 4 bit, chất lượng giảm nhanh hơn. Lựa chọn mặc định hợp lý là độ chính xác cao nhất vừa với máy mà vẫn còn dư chỗ.
2Bộ nhớ cho các cỡ mô hình phổ biến
| Cỡ mô hình | 16-bit | 8-bit | 4-bit | 3-bit |
|---|---|---|---|---|
| 1B | 2 GB | 1,1 GB | 0,6 GB | 0,4 GB |
| 3B | 6 GB | 3,2 GB | 1,7 GB | 1,3 GB |
| 8B | 16 GB | 8,5 GB | 4,5 GB | 3,5 GB |
| 14B | 28 GB | 14,9 GB | 7,9 GB | 6,1 GB |
| 32B | 64 GB | 34 GB | 18 GB | 14 GB |
| 70B | 140 GB | 74,4 GB | 39,4 GB | 30,6 GB |
| 120B | 240 GB | 127,5 GB | 67,5 GB | 52,5 GB |
| 235B | 470 GB | 249,7 GB | 132,2 GB | 102,8 GB |
| 405B | 810 GB | 430,3 GB | 227,8 GB | 177,2 GB |
| 671B | 1.342 GB | 712,9 GB | 377,4 GB | 293,6 GB |
Một số mô hình được phát hành sẵn ở độ chính xác thấp. gpt-oss-120b của OpenAI có 117 tỷ tham số và giữ trọng số mixture-of-experts ở định dạng 4-bit MXFP4, nên vừa trên một GPU 80 GB (OpenAI). Với một mô hình cụ thể, hãy mở trang của nó: mọi mô hình mở và chiếc Mac cần có, ví dụ gpt-oss-120b hoặc Llama 3.3 70B.
3Ngữ cảnh cũng tốn bộ nhớ
Trong lúc đọc và viết, mô hình giữ một key và một value cho mỗi token của cuộc hội thoại ở từng lớp: đó là KV cache. Kích thước của nó là 2 × số lớp × số KV head × kích thước head × số byte mỗi giá trị × số token.
Ví dụ Qwen3 8B có 36 lớp, 8 KV head và kích thước head 128, lưu ở 16-bit (config). Tức 147.456 byte cho mỗi token:
| Ngữ cảnh | KV cache của Qwen3 8B (16-bit) |
|---|---|
| 8.192 token | khoảng 1,2 GB |
| 32.768 token | khoảng 4,8 GB |
| 40.960 token (toàn bộ ngữ cảnh của nó) | khoảng 6,0 GB |
Các mô hình dùng grouped-query attention như mô hình này giữ ít KV head hơn số attention head (8 so với 32), nhờ đó cache đã nhỏ đi bốn lần. Bạn có thể tiết kiệm thêm bằng cách lượng tử hóa cache: máy chủ của mlx-lm nhận --kv-bits 4 (mlx-lm). Để trò chuyện, vài nghìn token ngữ cảnh là đủ; với agent, tài liệu dài hay mã nguồn, hãy dành ra vài gigabyte.
4Mac chứa được mô hình lớn cỡ nào
Bộ nhớ của Mac được CPU và GPU dùng chung, và mặc định macOS chỉ cho GPU dùng một phần. Trang So sánh của chúng tôi tính khoảng 75%; README của mlx-lm hướng dẫn nâng giới hạn này trên macOS 15 trở lên bằng sudo sysctl iogpu.wired_limit_mb=N (mlx-lm), nhưng macOS và các ứng dụng khác vẫn cần chỗ.
| Bộ nhớ Mac | Cho GPU (khoảng 75%) | Mô hình lớn nhất ở 4-bit | Lớn nhất ở 8-bit |
|---|---|---|---|
| 8 GB | 6 GB | khoảng 10B | khoảng 5B |
| 16 GB | 12 GB | khoảng 21B | khoảng 11B |
| 24 GB | 18 GB | khoảng 32B | khoảng 16B |
| 32 GB | 24 GB | khoảng 42B | khoảng 22B |
| 36 GB | 27 GB | khoảng 48B | khoảng 25B |
| 48 GB | 36 GB | khoảng 64B | khoảng 33B |
| 64 GB | 48 GB | khoảng 85B | khoảng 45B |
| 96 GB | 72 GB | khoảng 128B | khoảng 67B |
| 128 GB | 96 GB | khoảng 170B | khoảng 90B |
| 256 GB | 192 GB | khoảng 341B | khoảng 180B |
| 512 GB | 384 GB | khoảng 682B | khoảng 361B |
Bộ nhớ quyết định mô hình nào vừa; băng thông bộ nhớ quyết định nó viết nhanh đến đâu. Bài Mac tốt nhất để chạy LLM cục bộ giải thích nửa thứ hai, và xếp hạng mọi Mac gộp cả hai lại.
5RAM, VRAM và bộ nhớ hợp nhất
Trên PC có card đồ họa, mô hình chỉ chạy hết tốc độ khi vừa trong bộ nhớ riêng của card, tức VRAM: 32 GB trên RTX 5090 (NVIDIA). Các lớp không vừa có thể chạy từ RAM hệ thống của PC, nhưng bộ nhớ đó đọc chậm hơn nhiều, nên mô hình chậm đi rất nhiều.
Mac không có VRAM riêng: GPU đọc cùng bộ nhớ hợp nhất với CPU, vì thế một máy Mac 64 GB hay 128 GB chứa được những mô hình mà không card đồ họa phổ thông nào chứa nổi. Một số PC giờ cũng hoạt động như vậy, như DGX Spark của NVIDIA và các máy Ryzen AI Max của AMD với 128 GB dùng chung cho CPU và GPU: xem M5 Max vs DGX Spark và M5 Max vs RTX 5090.
6Mô hình mixture-of-experts
Mô hình mixture-of-experts giữ toàn bộ tham số trong bộ nhớ nhưng chỉ dùng một phần nhỏ cho mỗi token. Bộ nhớ theo tổng số tham số; tốc độ theo phần đang hoạt động. gpt-oss-20b có 21 tỷ tham số, trong đó 3,6 tỷ hoạt động (OpenAI): nó cần bộ nhớ như mô hình 21B và viết nhanh gần bằng mô hình 4B.
Điều đó khiến mô hình mixture-of-experts rất hợp với Mac, vốn có nhiều bộ nhớ hơn băng thông so với card đồ họa. Trang So sánh hiển thị cả hai con số cho mọi mô hình phổ biến.
7Câu hỏi
- Chạy mô hình 70B cần bao nhiêu RAM?
- Khoảng 39 GB cho trọng số ở 4-bit, cộng ngữ cảnh: trên thực tế là Mac có 64 GB trở lên, hoặc nhiều card đồ họa. Ở 8-bit cần khoảng 74 GB, tức Mac 128 GB.
- RAM 16 GB có đủ để chạy LLM không?
- Đủ, với mô hình tới khoảng 14B tham số ở 4-bit: một máy Mac 16 GB mặc định cho GPU khoảng 12 GB. Mô hình 8B chạy thoải mái mà vẫn dư chỗ cho ngữ cảnh. Xem LLM tốt nhất cho Mac 16 GB.
- Mô hình 8B cần bao nhiêu VRAM?
- Khoảng 4,5 GB ở 4-bit, 8,5 GB ở 8-bit và 16 GB ở 16-bit, cộng khoảng 1,2 GB cho ngữ cảnh 8.000 token trong trường hợp của Qwen3 8B.
- Độ dài ngữ cảnh có tốn bộ nhớ không?
- Có. KV cache tăng theo từng token trong cuộc hội thoại. Với Qwen3 8B là khoảng 147 KB mỗi token ở 16-bit: khoảng 4,8 GB với 32.000 token.
- Có chạy được mô hình lớn hơn RAM của máy không?
- Không theo cách dùng được. Nếu trọng số không vừa, hệ thống phải swap hoặc đọc từ bộ nhớ chậm hơn, và tốc độ viết chậm như rùa bò. Hãy dùng độ chính xác thấp hơn, mô hình nhỏ hơn hoặc mô hình mixture-of-experts, hoặc chia nó ra nhiều máy: xem cụm AI bằng Mac.