Chuyển đến nội dung chính

Bài 1: Apple Silicon & AI - Tại sao M-chip là vua inference local

Unified Memory Architecture (UMA) là gì và tại sao nó thay đổi cuộc chơi AI local. So sánh M1/M2/M3/M4 với NVIDIA GPU. Memory bandwidth, Neural Engine, GPU cores. Tại sao LLM 7B-30B chạy mượt trên MacBook.

🧠 AI & ML — Bài 0 Bài 1: Apple Silicon & AI - Tại sao M-chip là vua inference local

Chạy AI Local với Ollama trên Apple Silicon

Phần 1: Nền tảng - Ollama & Apple Silicon

xdev.asia

Giới thiệu

Năm 2026, chạy AI local trên laptop không còn là "chơi cho vui" mà là kỹ năng thực sự hữu ích. Và Apple Silicon là một trong những nền tảng inference local tốt nhất hiện nay.

Bài này sẽ giúp bạn hiểu tại sao Apple Silicon lại mạnh cho AI, trước khi bước vào cài đặt ở bài tiếp theo.


1. Unified Memory Architecture (UMA) — Game changer

Trên hầu hết các hệ thống truyền thống, CPU và GPU có vùng nhớ riêng biệt:

[CPU] ←→ [System RAM 32GB]
  ↕ (PCIe bus - bottleneck)
[GPU] ←→ [VRAM 8-24GB]

Khi chạy LLM trên NVIDIA GPU, model phải nằm hoàn toàn trong VRAM. Nếu model 13B cần 8GB mà GPU chỉ có 8GB VRAM, bạn sẽ gặp Out of Memory Error.

Apple Silicon dùng Unified Memory Architecture:

[CPU cores] ←→
[GPU cores] ←→  [Unified Memory 16-192GB]
[Neural Engine] ←→
[Media Engine] ←→

Tất cả CPU, GPU, Neural Engine đều truy cập chung một pool memory. Model LLM 13B cần 8GB? Cả CPU lẫn GPU đều "thấy" nó mà không cần copy data qua lại.

💡 Key insight: Trên Apple Silicon, bạn có thể load model lớn hơn nhiều so với card đồ họa rời cùng tầm giá, vì RAM hệ thống = "VRAM".


2. Memory Bandwidth — Tốc độ đọc/ghi quyết định inference

LLM inference phụ thuộc rất lớn vào memory bandwidth — tốc độ đọc weights từ RAM. Đây là bottleneck chính khi chạy LLM.

ChipMemory BandwidthRAM tối đa
M168.25 GB/s16 GB
M1 Pro200 GB/s32 GB
M1 Max400 GB/s64 GB
M1 Ultra800 GB/s128 GB
M2100 GB/s24 GB
M2 Pro200 GB/s32 GB
M2 Max400 GB/s96 GB
M2 Ultra800 GB/s192 GB
M3100 GB/s24 GB
M3 Pro150 GB/s36 GB
M3 Max400 GB/s128 GB
M4120 GB/s32 GB
M4 Pro273 GB/s48 GB
M4 Max546 GB/s128 GB

So sánh với NVIDIA:

GPUVRAMBandwidthGiá
RTX 40608 GB272 GB/s~$300
RTX 4070 Ti12 GB504 GB/s~$750
RTX 409024 GB1008 GB/s~$1600

NVIDIA có bandwidth cao hơn ở tầm cao cấp, nhưng bị giới hạn bởi VRAM. Một RTX 4060 có 272 GB/s bandwidth nhưng chỉ có 8GB VRAM — không đủ cho model 13B.

Trong khi đó, MacBook Pro M3 Pro 36GB: bandwidth 150 GB/s, nhưng có thể load model 30B quantized thoải mái vì toàn bộ 36GB đều khả dụng.


3. GPU Cores trên Apple Silicon

Apple Silicon tích hợp GPU trực tiếp trên chip (integrated GPU), nhưng đây là GPU rất mạnh, không phải loại "inte HD graphics" yếu ớt:

ChipGPU CoresFP16 TFLOPS
M17-82.6
M2103.6
M3104.1
M3 Pro14-187.4
M3 Max30-4014.2
M4104.6
M4 Pro208.7
M4 Max4017.4

GPU cores này chạy inference LLM cực hiệu quả, đặc biệt khi dùng framework MLX của Apple (sẽ học ở Phần 2).


4. Neural Engine — Hidden gem

Mỗi chip Apple Silicon có Neural Engine — bộ xử lý chuyên dụng cho machine learning:

  • M1: 16 cores, 11 TOPS
  • M2: 16 cores, 15.8 TOPS
  • M3: 16 cores, 18 TOPS
  • M4: 16 cores, 38 TOPS

Neural Engine tối ưu cho các phép tính matrix đặc trưng của neural network. Hiện tại, phần lớn framework inference (Ollama, llama.cpp) chủ yếu dùng GPU, nhưng Core ML và một số framework mới đã bắt đầu tận dụng Neural Engine.


5. Tại sao LLM 7B-30B chạy mượt trên Mac?

Hãy tính toán cụ thể:

Model Llama 3.2 8B (Q4 quantized):

  • Kích thước: ~4.5 GB
  • Inference cần ~5.5 GB RAM (model + KV cache + overhead)
  • MacBook Air M2 (8GB RAM): chạy được, nhưng chật
  • MacBook Pro M3 (18GB RAM): chạy rất thoải mái

Model Qwen 2.5 32B (Q4 quantized):

  • Kích thước: ~18 GB
  • Inference cần ~22 GB RAM
  • MacBook Pro 36 GB: chạy mượt
  • MacBook Air 24 GB: chạy được nhưng không nên mở nhiều app khác

Tốc độ generation thực tế trên M3 Pro (36GB):

ModelTokens/giâyCảm nhận
Llama 3.2 3B Q4~65 tok/sCực nhanh
Llama 3.2 8B Q4~32 tok/sRất nhanh
Gemma 3 12B Q4~22 tok/sNhanh
Qwen 2.5 14B Q4~18 tok/sTốt
Qwen 2.5 32B Q4~8 tok/sChấp nhận được

💡 Con người đọc ~250 từ/phút ≈ ~5 tokens/giây. Nên 8 tok/s đã nhanh hơn tốc độ đọc.


6. So sánh tổng thể: Mac vs PC cho AI local

Tiêu chíMac Apple SiliconPC + NVIDIA GPU
Max model sizePhụ thuộc RAM (lên đến 192GB)Phụ thuộc VRAM (thường 8-24GB)
Bandwidth100-800 GB/s272-1000 GB/s
Giá/GB "VRAM"Rẻ hơn nhiềuĐắt (RTX 4090: $1600 cho 24GB)
Tiếng ồnIm lặngQuạt chạy to
Điện năng15-65WGPU alone 100-450W
Di độngLaptop mỏng nhẹDesktop hoặc gaming laptop nặng
EcosystemmacOS onlyLinux/Windows, nhiều tool hơn

Kết luận: Mac Apple Silicon là lựa chọn tuyệt vời cho developer muốn chạy AI local hàng ngày. Không phải nhanh nhất, nhưng là sự cân bằng tốt nhất giữa hiệu năng, tiện lợi, tiếng ồn và di động.


7. Kiểm tra Mac của bạn

Mở Terminal và chạy:

# Xem chip và RAM
system_profiler SPHardwareDataType | grep -E "(Chip|Memory)"

Output mẫu:

Chip: Apple M3 Pro
Total Number of Cores: 12 (6 performance and 6 efficiency)
Memory: 36 GB

Hoặc dùng lệnh:

# Xem GPU cores
system_profiler SPDisplaysDataType | grep "Total Number of Cores"

Ghi nhớ thông tin này — bạn sẽ cần nó để chọn model phù hợp ở Bài 3.


Tóm tắt

ConceptGhi nhớ
UMACPU + GPU dùng chung RAM → load model lớn hơn
Memory BandwidthQuyết định tốc độ inference, M3 Max đạt 400 GB/s
GPU CoresIntegrated nhưng mạnh, chạy LLM inference hiệu quả
Neural EngineBộ xử lý AI chuyên dụng, đang được tận dụng dần
Model size sweet spot3B-14B cho 16GB RAM, 14B-32B cho 32GB+ RAM

Bài tập

  1. Kiểm tra Mac của bạn: chip gì, bao nhiêu RAM, bao nhiêu GPU cores?
  2. Dựa vào bảng memory bandwidth, ước tính Mac của bạn có thể chạy model size tối đa bao nhiêu?
  3. So sánh: nếu bạn có cùng ngân sách mua RTX 4070 Ti ($750), mua thêm RAM cho Mac hay mua GPU rời sẽ hợp lý hơn?

Bài tiếp theo: Cài đặt Ollama và chạy LLM đầu tiên trong 5 phút →