Bài này giải thích nhanh CPU / GPU / NPU khi chạy LLM trên máy cá nhân, rồi gom cách cân nhắc mua hoặc nâng cấp cho kịch bản local — không nhắm thay benchmark chuyên sâu, chỉ giúp bạn đặt đúng thứ tự ưu tiên tiền và linh kiện.
1. LLM chạy như thế nào?
Khi bạn gửi một câu hỏi, model không query “câu trả lời” rồi trả về 1 cục. Nó đoán từng token (có thể hiểu gần đúng là từng từ) rồi nối dần thành câu trả lời.
Toàn bộ quá trình gồm hai giai đoạn:
- Prefill (xử lý prompt): máy đọc hết phần bạn gõ — câu hỏi, hướng dẫn, văn bản kèm theo. Giai đoạn này ăn sức tính toán (nhiều phép nhân ma trận cùng lúc). Bộ xử lý càng mạnh, giai đoạn này càng nhanh.
- Decode (sinh từng token): máy bắt đầu “móc” từng token tiếp theo cho đến khi xong. Giai đoạn này ăn băng thông bộ nhớ: phải đọc toàn bộ model để móc được 1 token, model (7GB, 10GB, 120GB) sẽ đi từ RAM/VRAM, đi qua chip (CPU, GPU, NPU) sau đó lặp lại cho từng token. Nói ngắn gọn: càng đọc được bộ nhớ càng nhanh, càng mượt — dù đó là RAM máy (CPU/NPU), VRAM trên card đồ họa, hay bộ nhớ dùng chung kiểu unified memory trên Mac chip M, ví dụ VRAM trên GPU có bandwidth 1000GB/s, vậy nếu model nặng 100GB, thì tối đa ta có 10token/s ()
2. Một cách nhớ nhanh: ba “nhân viên” trong máy
| Thành phần | Hình dung đơn giản | Điểm mạnh với LLM |
|---|---|---|
| CPU | Như một tiệm sửa đồ có vài thợ đa năng: mỗi người làm lần lượt nhiều việc khác nhau — linh hoạt, dễ điều phối, nhưng không “nhân bản” ra hàng ngàn người cùng làm một thao tác | Chạy được mọi thứ, dễ cài; chậm với model lớn |
| GPU | Như một xưởng lắp ráp với hàng ngàn chỗ làm giống nhau: mỗi người chỉ lặp một động tác, tay nghề không cần cao nhưng làm song song nên xuyên suốt rất nhanh | Nhanh với ma trận / song song — hợp transformer |
| NPU | Như máy dập trên dây chuyền chỉ ép được vài kiểu khuôn (ví dụ suy luận INT8/FP16): chạy êm, rất tiết kiệm điện, nhưng đổi “khuôn” hay quy trình thì kém linh hoạt hơn GPU | Tiết kiệm điện, hay dùng tác vụ nhẹ trên laptop/điện thoại; không gánh LLM lớn một mình |
Lưu ý: “NPU” không có một tiêu chuẩn duy nhất — mỗi hãng đặt tên và hỗ trợ phần mềm khác nhau (Apple Neural Engine, Qualcomm NPU, Intel NPU…).
3. CPU: lúc nào vẫn cần, lúc nào “đuối”
CPU vẫn quan trọng: nạp model, tokenize, quản lý luồng, giao tiếp ổ cứng/RAM. Nhưng phần nặng (nhân ma trận lớn lặp lại hàng tỷ lần) trên CPU thường chậm hơn nhiều so với GPU cùng thời.
LLM trên CPU: chạy được model nhỏ hoặc dùng kỹ thuật nén/quantize; model lớn thường rất chậm hoặc không đủ RAM.
4. GPU: “mặc định” cho LLM
GPU (NVIDIA, AMD, hoặc GPU tích hợp mạnh) có hàng nghìn lõi nhỏ cùng làm phép nhân song song — rất hợp kiến trúc transformer của LLM.
Điểm then chốt không chỉ là “có GPU” mà còn là phần mềm có tối ưu cho GPU đó không (CUDA trên NVIDIA, ROCm trên AMD Linux, Metal trên Apple…). Thiếu tối ưu thì bạn vẫn chạy được nhưng chậm hơn hoặc phải dùng đường dự phòng (CPU).
- Ưu tiên nhất cho compability là NVIDIA với sự support của CUDA, gần như 100% LLM đều được build lên từ CUDA.
- AMD có ROCm là library tương đương với CUDA, tuy nhiên sự ổn định còn cần nhiều cải thiện. Không phải khi nào cũng plug n play
- Apple đang nổi lên như 1 hiện tượng với việc cung cấp dung lượng RAM cũng như bandwidth RAM rất hào phóng. Gần tương đương với card đồ họa GPU cao cấp. Và MLX cũng đang là 1 format model phát triển rất nhanh, tương thích 100% với Apple chip.
5. Mua máy cho LLM local: ưu tiên gì trước?
Thứ tự thực dụng (gần như mọi công cụ kiểu Ollama, llama.cpp, LM Studio đều “ăn” theo hướng này):
- Đủ bộ nhớ cho model — VRAM (card rời) hoặc RAM / unified memory (Mac, CPU-only như chip AMD strix halo): model + overhead phải nhét vừa; thiếu thì quantize nhỏ hơn, cắt context, hoặc không chạy nổi mượt. Model size bắt buộc < RAM / VRAM
- Có lối tăng tốc phần cứng + đúng stack — GPU mạnh là bắt buộc. Không phụ thuộc vào CPU
- Băng thông đọc weights (decode): unified memory rộng trên Mac cao cấp, hoặc VRAM GDDR6X/HBM trên card xịn. Nhớ rằng tốc độ ra token phụ thuộc rất nặng vào memory bandwidth. bandwidth 1TB/s chỉ ra được 10 token/s cho models 100GB, vậy nếu RAM thông thường DDR5 với tốc độ 160GB/s sẽ chỉ được 1,6token/s.
Bảng so sánh: PC tower + GPU đối đầu Mac Apple Silicon
Hai hướng này thường là lựa chọn “nghiêm túc” nhất khi bạn muốn chạy LLM local ở nhà — laptop, SFF hay máy văn phòng chỉ CPU gói gọn ở các mục trên (nhớ vừa model + có GPU khi cần tốc độ).
| Hướng mua | Ưu điểm cho LLM local | Hạn chế / điểm cần cân nhắc |
|---|---|---|
| PC tower + GPU (thường NVIDIA / CUDA) | Sức mạnh tính toán (lượng phép nhân song song) rất cao; băng thông VRAM (GDDR6X, hoặc HBM ở tầm workstation / datacenter) rất rộng so với RAM hệ thống DDR5 thông thường; hệ sinh thái (CUDA, vLLM, TensorRT-LLM…) giúp chạy model lớn / lạ dễ tìm hướng dẫn và build sẵn nhất. | VRAM là trần cứng: phân khúc GPU consumer hay gặp 16 GB, 24 GB; 32 GB đã hiếm và đắt — thực tế nhiều máy “chơi LLM” vẫn quanh các mức đó, nên model full (file weights) lớn hơn VRAM buộc phải quantize mạnh, offload, hoặc chịu chậm. VRAM càng cao thì giá tăng rất nhanh, thường không tuyến tính theo từng GB thêm. |
| Mac Apple Silicon (unified memory) | Có thể cấu hình RAM rất lớn trên một máy (unified cho CPU + GPU), băng thông đủ dùng cho decode nặng; với chip M-series Max / Ultra, con số băng thông theo Apple ngang hoặc có thể vượt nhiều GPU consumer. Giá trên mỗi GB bộ nhớ để nhét model so với mua GPU consumer có dung lượng VRAM tương đương thường lợi hơn rõ — đặc biệt khi bạn cần hàng chục GB đến 128 GB+ trên một máy. | RAM order lúc mua (không nâng sau như gắn thêm card); không có VRAM rời tách khỏi RAM; một số tool / tutorial vẫn CUDA-first — cần kiểm tra app có đường Metal / MLX ổn định cho workflow của bạn. |
Kết luận ngắn: tower + GPU thắng ở đỉnh tính toán + VRAM rất rộng trên card đắt và tương thích phần mềm; Mac thắng ở một dung lượng lớn + băng thông đồng bộ và $/GB khi mục tiêu là nhét model to trong một máy gọn.