Chạy LLM cần bao nhiêu RAM?

Bộ nhớ một mô hình ngôn ngữ cần quy về ba con số: nó có bao nhiêu tham số, mỗi tham số được lưu bằng bao nhiêu bit, và bạn đưa cho nó bao nhiêu ngữ cảnh. Đây là cách tính, áp dụng sẵn cho các cỡ mô hình phổ biến và cho mọi máy Mac, để bạn tự trả lời được với bất kỳ mô hình nào.

Cập nhật

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ácSố bit mỗi trọng sốGB cho mỗi tỷ tham số
16-bit (bản gốc)162,0
8-bit8,5khoảng 1,06
6-bit6,5khoảng 0,81
4-bit4,5khoảng 0,56
3-bit3,5khoảng 0,44
2-bit2,5khoảng 0,31
Lượng tử hóa affine của MLX với cỡ nhóm mặc định là 64. Tệp GGUF cùng độ chính xác có kích thước gần như tương đương.

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ình16-bit8-bit4-bit3-bit
1B2 GB1,1 GB0,6 GB0,4 GB
3B6 GB3,2 GB1,7 GB1,3 GB
8B16 GB8,5 GB4,5 GB3,5 GB
14B28 GB14,9 GB7,9 GB6,1 GB
32B64 GB34 GB18 GB14 GB
70B140 GB74,4 GB39,4 GB30,6 GB
120B240 GB127,5 GB67,5 GB52,5 GB
235B470 GB249,7 GB132,2 GB102,8 GB
405B810 GB430,3 GB227,8 GB177,2 GB
671B1.342 GB712,9 GB377,4 GB293,6 GB
Chỉ tính trọng số, theo quy tắc ở trên. Hãy cộng thêm ngữ cảnh và một khoảng dư cho phần mềm chạy mô hình.

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ảnhKV cache của Qwen3 8B (16-bit)
8.192 tokenkhoảng 1,2 GB
32.768 tokenkhoảng 4,8 GB
40.960 token (toàn bộ ngữ cảnh của nó)khoảng 6,0 GB
Trọng số 4-bit của nó khoảng 4,6 GB (8,2 tỷ tham số), nên một ngữ cảnh dài có thể cần nhiều bộ nhớ hơn cả mô hình.

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ớ MacCho GPU (khoảng 75%)Mô hình lớn nhất ở 4-bitLớn nhất ở 8-bit
8 GB6 GBkhoảng 10Bkhoảng 5B
16 GB12 GBkhoảng 21Bkhoảng 11B
24 GB18 GBkhoảng 32Bkhoảng 16B
32 GB24 GBkhoảng 42Bkhoảng 22B
36 GB27 GBkhoảng 48Bkhoảng 25B
48 GB36 GBkhoảng 64Bkhoảng 33B
64 GB48 GBkhoảng 85Bkhoảng 45B
96 GB72 GBkhoảng 128Bkhoảng 67B
128 GB96 GBkhoảng 170Bkhoảng 90B
256 GB192 GBkhoảng 341Bkhoảng 180B
512 GB384 GBkhoảng 682Bkhoảng 361B
Chỉ tính trọng số: hãy chừa vài gigabyte trong đó cho ngữ cảnh. Mỗi dung lượng dẫn tới các mô hình chạy tốt với nó.

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.

Nguồn

  1. MLXml-explore.github.io
  2. OpenAIhuggingface.co
  3. confighuggingface.co
  4. mlx-lmgithub.com
  5. mlx-lmgithub.com
  6. NVIDIAnvidia.com
  7. OpenAIhuggingface.co

Đọc tiếp