Giới thiệu
Ollama registry có hàng trăm model. Vậy chọn model nào? Bài này là cheat sheet thực chiến: so sánh các model phổ biến nhất, giúp bạn chọn đúng model cho từng tác vụ và cấu hình Mac.
1. Hiểu Model Naming Convention
Khi bạn thấy qwen2.5:14b-instruct-q4_K_M, đây là cách đọc:
qwen2.5 : 14b - instruct - q4_K_M
└── Family └── Size └── Variant └── Quantization
- Family: Tên model gốc (Llama, Gemma, Qwen, Mistral...)
- Size: Số parameter (1B, 3B, 7B, 8B, 14B, 32B, 70B...)
- Variant:
instruct(chat),base(raw),code(coding) - Quantization: Mức nén model (Q4, Q5, Q8, F16)
2. Quantization — Chọn Q mấy?
Quantization là kỹ thuật giảm kích thước model bằng cách giảm precision của weights:
| Quantization | Bits/weight | Size ratio | Quality | Speed |
|---|---|---|---|---|
| F16 | 16 bit | 100% (baseline) | Tốt nhất | Chậm nhất |
| Q8_0 | 8 bit | ~50% | Gần bằng F16 | Nhanh hơn |
| Q6_K | 6 bit | ~37% | Rất tốt | Nhanh |
| Q5_K_M | 5 bit | ~31% | Tốt | Nhanh |
| Q4_K_M | 4 bit | ~25% | Khá tốt | Nhanh nhất |
| Q3_K_M | 3 bit | ~19% | Giảm đáng kể | Rất nhanh |
| Q2_K | 2 bit | ~12% | Kém | Cực nhanh |
💡 Khuyến nghị: Q4_K_M là sweet spot cho hầu hết trường hợp. Giảm ~75% kích thước mà chất lượng vẫn tốt. Q5_K_M nếu muốn chất lượng cao hơn một chút.
Ví dụ thực tế: Llama 3.2 8B
| Quantization | Size trên disk | RAM cần | Tokens/s (M3 Pro) |
|---|---|---|---|
| F16 | 16 GB | ~18 GB | ~12 tok/s |
| Q8_0 | 8.5 GB | ~10 GB | ~24 tok/s |
| Q4_K_M | 4.9 GB | ~6.5 GB | ~32 tok/s |
3. Bảng so sánh model toàn diện
Nhóm model nhỏ (1B-4B) — MacBook Air 8GB
| Model | Size (Q4) | RAM min | Code | Tiếng Việt | Tổng quan |
|---|---|---|---|---|---|
| Llama 3.2 3B | 2.0 GB | 4 GB | ★★★☆ | ★★☆☆ | Jack of all trades |
| Gemma 3 4B | 3.3 GB | 5 GB | ★★★☆ | ★★★☆ | Đa ngôn ngữ tốt |
| Phi-4 Mini 3.8B | 2.5 GB | 4.5 GB | ★★★★ | ★★☆☆ | Code/math rất mạnh |
| Qwen 2.5 3B | 1.9 GB | 4 GB | ★★★☆ | ★★★☆ | Cân bằng tốt |
Nhóm model trung bình (7B-14B) — MacBook 16-24GB
| Model | Size (Q4) | RAM min | Code | Tiếng Việt | Tổng quan |
|---|---|---|---|---|---|
| Llama 3.2 8B | 4.9 GB | 7 GB | ★★★★ | ★★★☆ | Best all-round |
| Gemma 3 12B | 8.1 GB | 10 GB | ★★★★ | ★★★★ | Multilingual champion |
| Qwen 2.5 14B | 9.0 GB | 11 GB | ★★★★ | ★★★★★ | Tiếng Việt tốt nhất |
| Mistral 7B | 4.1 GB | 6 GB | ★★★★ | ★★★☆ | Code/reasoning solid |
| DeepSeek Coder V2 16B | 10.2 GB | 13 GB | ★★★★★ | ★★☆☆ | Coding beast |
Nhóm model lớn (30B+) — MacBook 32GB+
| Model | Size (Q4) | RAM min | Code | Tiếng Việt | Tổng quan |
|---|---|---|---|---|---|
| Qwen 2.5 32B | 18 GB | 22 GB | ★★★★★ | ★★★★★ | Best local model |
| Llama 3.3 70B | 40 GB | 48 GB | ★★★★★ | ★★★★ | Cần 64GB+ RAM |
| DeepSeek V3 (distill 32B) | 19 GB | 23 GB | ★★★★★ | ★★★☆ | Reasoning king |
4. Chọn model theo use case
Chatbot thông minh / Hỏi đáp
# Tiếng Việt tốt nhất
ollama run qwen2.5:14b
# Cân bằng nhất
ollama run llama3.2
# RAM ít (8GB)
ollama run gemma3:4b
Viết code / Code review
# Coding chuyên sâu
ollama run deepseek-coder-v2:16b
# Cân bằng code + chat
ollama run qwen2.5-coder:14b
# RAM ít
ollama run phi4-mini
Tóm tắt / Viết văn bản
# Tiếng Việt
ollama run qwen2.5:14b
# Tiếng Anh
ollama run llama3.2
Phân tích hình ảnh (Vision)
# Vision tốt nhất
ollama run gemma3:12b # Có vision built-in
# Nhẹ hơn
ollama run llava:7b
5. Chọn model theo RAM Mac
8 GB RAM (MacBook Air M1/M2 base)
# Chỉ nên dùng model 3-4B
ollama run llama3.2:3b # 2.0 GB, chạy tốt
ollama run phi4-mini # 2.5 GB, code tốt
ollama run gemma3:1b # 1.0 GB, cực nhẹ
⚠️ Với 8GB, hãy đóng Safari trước khi chạy model 3B. macOS cần ~4GB cho hệ thống.
16 GB RAM
# Sweet spot
ollama run llama3.2 # 8B, 4.9 GB
ollama run qwen2.5:7b # 7B, 4.7 GB
ollama run mistral # 7B, 4.1 GB
24-36 GB RAM
# Mở rộng lên 12-14B
ollama run gemma3:12b # 8.1 GB
ollama run qwen2.5:14b # 9.0 GB, khuyến nghị
ollama run deepseek-coder-v2:16b # 10.2 GB
48-64 GB+ RAM
# Model lớn, chất lượng gần cloud
ollama run qwen2.5:32b # 18 GB
ollama run llama3.3:70b # 40 GB, cần 48GB+ RAM
6. Benchmark thực tế
Chạy benchmark đơn giản:
# Đo thời gian generate
time ollama run llama3.2 "Viết function fibonacci bằng Python" --nowordwrap
Hoặc dùng Ollama API để lấy metrics chính xác:
curl -s http://localhost:11434/api/generate -d '{
"model": "llama3.2",
"prompt": "Explain Docker in 3 sentences",
"stream": false
}' | python3 -c "
import sys, json
d = json.load(sys.stdin)
prompt_tokens = d['prompt_eval_count']
gen_tokens = d['eval_count']
prompt_time = d['prompt_eval_duration'] / 1e9
gen_time = d['eval_duration'] / 1e9
print(f'Prompt: {prompt_tokens} tokens in {prompt_time:.2f}s ({prompt_tokens/prompt_time:.1f} tok/s)')
print(f'Generate: {gen_tokens} tokens in {gen_time:.2f}s ({gen_tokens/gen_time:.1f} tok/s)')
"
7. Model tags nên biết
Khi pull model, tag mặc định là latest (thường là instruct + Q4_K_M). Nhưng bạn có thể chỉ định cụ thể:
# Chất lượng cao hơn (tốn RAM hơn)
ollama pull llama3.2:8b-instruct-q8_0
# Nhẹ nhất có thể
ollama pull llama3.2:3b-instruct-q4_0
# Model vision
ollama pull gemma3:12b # Tự động có vision
# Chỉ lấy text model
ollama pull gemma3:4b-it-q4_K_M
Xem toàn bộ tags có sẵn:
# Truy cập: https://ollama.com/library/llama3.2/tags
# Hoặc: https://ollama.com/library/qwen2.5/tags
Tóm tắt
| RAM Mac | Model khuyến nghị | Kích thước |
|---|---|---|
| 8 GB | llama3.2:3b, phi4-mini | 2-3 GB |
| 16 GB | llama3.2, qwen2.5:7b | 4-5 GB |
| 24-36 GB | qwen2.5:14b, gemma3:12b | 8-10 GB |
| 48 GB+ | qwen2.5:32b | 18 GB |
Quantization: Luôn bắt đầu với Q4_K_M (default). Chỉ nâng lên Q5/Q8 khi muốn chất lượng tốt hơn và có dư RAM.
Bài tập
- Dựa vào RAM Mac của bạn, chọn 2-3 model phù hợp và pull về
- Hỏi cùng một câu hỏi về tiếng Việt cho mỗi model, ghi nhận model nào trả lời tốt nhất
- Dùng benchmark script ở trên để đo tokens/second của mỗi model
- So sánh Q4 vs Q8 cùng một model: chất lượng có khác biệt rõ rệt không? Tốc độ khác bao nhiêu?
Bài tiếp theo: MLX Framework — Tăng tốc 3x inference →