Năm 2024, khi tôi setup local LLM stack đầu tiên ở homelab, lựa chọn không nhiều. Llama 3 70B nếu có GPU đủ to, Mistral 7B nếu chỉ có CPU, Phi-2 cho thử nghiệm nhanh. Mọi thứ xoay quanh dense model, license thì lúc OK lúc không, multimodal vẫn còn hiếm. Bạn phải thoả hiệp khá nhiều: hoặc chấp nhận quality kém, hoặc license dở, hoặc hardware đắt.

Đến giữa 2026, bức tranh khác hẳn. OpenAI thả model open weight đầu tiên kể từ GPT-2. Alibaba ship Qwen 3 với cả MoE lẫn dense, tới 1T parameter. DeepSeek R1 và distill của nó làm reasoning model nhỏ chạy được trên laptop. Google ra Gemma 3 multimodal 27B fit trong một card 24GB. Meta nhảy thẳng vào MoE với Llama 4 Scout 10M context. Mistral vẫn giữ ngọn cờ EU với Apache 2.0 trên Mixtral và Mistral Small line.

Nếu bạn lên kế hoạch tự host LLM trong 2026, bộ model bạn thử năm ngoái đã dated. Bài này tổng kết cái đáng tự host bây giờ, kiến trúc, license, kích thước, và ngưỡng phần cứng cụ thể. Đây là bài 1 series Local LLM stack 2026 refresh. Series sẽ cover end-to-end: chọn model, runtime, quantization, agent loop, fine-tune, multimodal pipeline.

Vài lưu ý trước khi đi tiếp. Một, đây là snapshot tháng 5, 2026. LLM space đi rất nhanh, một số con số (parameter count, benchmark, release date) có thể thay đổi sau release patch. Hai, tôi không bench mark exhaustive, đa số nhận xét quality là subjective từ workload thực tế của tôi (coding, writing, VN content, agent loop). Ba, recommendation hardware bám sát 2026 commodity price: RTX 4090 và 3090 đại diện 24GB tier, M3 Max và M4 Max đại diện Mac unified memory tier.

Tại sao 2026 là năm khác

Ba thay đổi lớn so với landscape 2024 và đầu 2025.

Thay đổi 1: MoE trở thành mainstream cho open weight. Trước đây MoE chủ yếu là Mixtral 8x7B và Mixtral 8x22B. Năm 2026, Qwen 3, Llama 4, DeepSeek R1, gpt-oss đều có biến thể MoE. Ưu điểm: total parameter lớn nhưng active parameter nhỏ, nên inference rẻ hơn dense model cùng total size. Nhược điểm: cần đủ RAM hoặc VRAM cho toàn bộ weights, kể cả phần không active.

Thay đổi 2: Reasoning model open weight. DeepSeek R1 thay đổi cuộc chơi vào tháng 1, 2025. Lần đầu có một open model thinking style chạy local, kèm distill xuống Qwen và Llama base. Sau đó Qwen3-Thinking, gpt-oss reasoning variant, và nhiều model khác đi theo. Self-host reasoning model đã khả thi.

Thay đổi 3: Multimodal local. Gemma 3 và Qwen3-VL đều có biến thể nhỏ vision-language. Local OCR, local image captioning, local document QA không còn cần API. Với 24GB VRAM bạn chạy được vision model production grade.

Cộng thêm chuyện license. Năm 2024, Llama 3 community license vẫn chặn ai trên 700M MAU. Năm 2026, gpt-oss và toàn bộ Qwen 3 open weight đều Apache 2.0. Sự khác biệt rất lớn nếu bạn ở doanh nghiệp có legal team kỹ tính. Apache 2.0 cho phép modify, redistribute, sublicense, dùng commercial không hạn chế. Llama Community License chèn thêm clause MAU và requirement đính kèm tên “Llama” vào derivative.

Thay đổi 4 không nói ra nhưng quan trọng: giá hardware giảm và tooling chín hơn. RTX 4090 secondhand đã hạ giá đáng kể, M4 Max ship unified memory 64-128GB. Bên runtime, vLLM 0.6+, Ollama 0.4+, llama.cpp đều support hầu hết kiến trúc MoE và quantization mới. Trước đây pull model về phải hack tokenizer, giờ ollama pull <model> xong là chạy.

Còn lý do tự host thì không đổi: data sensitivity, cost ổn định, offline workflow, custom fine-tune. Bài này không bàn lại “nên hay không nên tự host”. Nếu bạn đã quyết tự host, bài này giúp chọn model.

gpt-oss: OpenAI quay lại open weight

Tháng 8, 2025, OpenAI release gpt-oss-20b và gpt-oss-120b, hai model open weight đầu tiên kể từ GPT-2. License Apache 2.0. Đây là một trong những sự kiện đáng chú ý nhất 2025 vì OpenAI là công ty closed-weight đầu ngành.

Hai phiên bản:

  • gpt-oss-20b: 20B parameter (MoE, khoảng 3.6B active), thiết kế để chạy trên thiết bị 16GB RAM. Performance tương đương o3-mini trên benchmark phổ biến.
  • gpt-oss-120b: 120B parameter (MoE, khoảng 5.1B active), chạy được trên một GPU 80GB. Gần parity với o4-mini trên reasoning task.

Cả hai dùng định dạng MXFP4 (4-bit MX) cho weights, giúp model 120B fit trong 80GB VRAM một cách thoải mái. Đây là điểm thú vị: OpenAI ship sẵn quantization trong format gốc, không phải bạn quantize sau. Tool support cho MXFP4 đã có trong vLLM, llama.cpp, Ollama, LM Studio, Hugging Face Transformers.

Kiến trúc: cả hai là reasoning model có “thinking” mode tương tự o-series. Output có phần chain-of-thought rồi mới đến answer. Tool calling, structured output, function calling đều support native.

# Pull gpt-oss-20b qua Ollama
ollama pull gpt-oss:20b

# Test inference
ollama run gpt-oss:20b "Giải thích MoE bằng tiếng Việt, dưới 100 từ"

Ai nên thử gpt-oss:

  • Bạn có 16GB Mac (M2/M3/M4) và muốn reasoning model local: pull gpt-oss-20b.
  • Bạn có một GPU 80GB (H100, A100 80GB): chạy gpt-oss-120b, performance gần o4-mini với chi phí 0 token.
  • Bạn đang dùng GPT-4o API và muốn migration path local: gpt-oss là benchmark tự nhiên vì cùng training philosophy.

Cá nhân tôi đã test gpt-oss-20b qua Ollama trên Mac. Inference khoảng 30 tok/s trên M3 Max. Quality cho coding task gần với Claude 3.5 Sonnet (subjective), tốt hơn Llama 3 70B nhiều dù số parameter thấp hơn.

Một điểm cần lưu ý với gpt-oss: model có safety post-training khá đậm, refuse nhiều task mà các open model khác happily làm. Nếu workload của bạn cần model “uncensored” cho legitimate use case (security research, content moderation training, fiction writing), cân nhắc Qwen 3 hoặc DeepSeek thay vì gpt-oss.

Qwen 3: lineup phủ rộng nhất

Alibaba ship Qwen 3 lần đầu vào tháng 4, 2025, sau đó update Qwen3-2507 vào giữa năm với hai variant Instruct và Thinking. Đến cuối 2025 và đầu 2026, family này lớn nhanh.

Qwen 3 base lineup (Apache 2.0):

  • Qwen3-4B, dense, dùng cho edge và mobile.
  • Qwen3-30B-A3B, MoE 30B với 3B active. Sweet spot cho 24GB GPU.
  • Qwen3-235B-A22B, MoE 235B với 22B active. Cần multi-GPU hoặc 80GB+.
  • Qwen3-Max-Preview, frontier model 1T+ parameter, hiện chỉ qua API.

Qwen3-Coder (Apache 2.0):

  • Qwen3-Coder-30B-A3B-Instruct, code-focused MoE.
  • Qwen3-Coder-480B-A35B-Instruct, code model lớn nhất, performance state-of-the-art trên agentic coding task.
  • Qwen3-Coder-Next, build trên Qwen3-Next-80B-A3B với hybrid attention.

Qwen3-VL (vision-language, October 2025):

  • Qwen3-VL-2B, 4B, 8B, 32B (Instruct và Thinking variants), dense vision model.
  • Qwen3-VL-30B-A3B và Qwen3-VL-235B-A22B, MoE multimodal.

Điểm mạnh nhất của Qwen 3:

  • License đồng nhất: tất cả open-weight Qwen 3 model đều Apache 2.0. Không phải đọc license riêng cho từng size như Llama.
  • MoE architecture chuẩn: A3B (3B active) cho phép chạy 30B total trên hardware modest. 30B-A3B nằm ngọt trong 24GB VRAM với 4-bit quantization.
  • Multilingual: train trên 119 ngôn ngữ và phương ngữ, bao gồm tiếng Việt. Quality trên VN prompt tốt nhất trong số open model tôi đã thử.
  • Thinking variants: nếu cần reasoning, có sẵn Qwen3-Thinking-2507 mà không phải tự RL.

Ai nên thử Qwen 3:

  • 24GB GPU (RTX 4090, 3090): Qwen3-30B-A3B quantized Q4 là default tốt.
  • VN content workflow: Qwen 3 hiểu tiếng Việt tự nhiên hơn Llama nhiều.
  • Coding agent local: Qwen3-Coder-30B-A3B là một trong những model tốt nhất cho local code agent.
  • Multimodal local: Qwen3-VL-8B Instruct chạy được trên 12GB VRAM, đủ cho OCR và image QA cơ bản.

Quan sát: với cùng VRAM budget, MoE A3B của Qwen 3 cho throughput cao hơn dense 7-8B vì chỉ 3B active. Tradeoff là cần đủ memory cho 30B total weights. Trên RTX 4090 24GB, Qwen3-30B-A3B Q4 chạy 60-80 tok/s; dense Qwen3-4B chạy 100+ tok/s nhưng quality thấp hơn rõ.

DeepSeek R1 và distill series

Tháng 1, 2025, DeepSeek release R1, một reasoning model open weight với chain-of-thought training qua reinforcement learning. R1 full là 671B MoE (37B active), không phải ai cũng chạy được local. Phần thú vị thực ra là distill series.

DeepSeek dùng 800k sample R1-generated để fine-tune các base model nhỏ hơn:

  • DeepSeek-R1-Distill-Qwen-1.5B (base: Qwen2.5-Math-1.5B)
  • DeepSeek-R1-Distill-Qwen-7B (base: Qwen2.5-Math-7B)
  • DeepSeek-R1-Distill-Llama-8B (base: Llama-3.1-8B)
  • DeepSeek-R1-Distill-Qwen-14B (base: Qwen2.5-14B)
  • DeepSeek-R1-Distill-Qwen-32B (base: Qwen2.5-32B)
  • DeepSeek-R1-Distill-Llama-70B (base: Llama-3.3-70B-Instruct)

Distill chỉ dùng SFT, không có RL stage. DeepSeek paper note rằng RL có thể boost thêm, nhưng họ chọn release SFT-only để cộng đồng tự build trên.

Highlight performance:

  • Distill-Qwen-7B đạt 55.5% trên AIME 2024, vượt QwQ-32B-Preview (model bigger).
  • Distill-Qwen-14B vượt QwQ-32B-Preview với chi phí hardware thấp hơn nhiều.
  • Distill-Qwen-32B và Distill-Llama-70B set record cho dense open model trên reasoning benchmark thời điểm release.

Implications cho self-host:

  • Bạn có thể chạy một reasoning model 7B trên consumer laptop, với chất lượng vượt model 32B-class một năm trước.
  • License thừa kế từ base model. Distill-Qwen dùng Apache 2.0 (theo Qwen2.5). Distill-Llama dùng Llama 3 Community License (vẫn có giới hạn 700M MAU).
# Pull DeepSeek-R1-Distill-Qwen-7B qua Ollama
ollama pull deepseek-r1:7b

# Test reasoning prompt
ollama run deepseek-r1:7b "Có 3 hộp, một hộp toàn táo, một hộp toàn cam, một hộp lẫn. Mỗi hộp dán nhãn sai. Bốc 1 quả từ 1 hộp để biết hộp nào chứa gì. Bốc hộp nào?"

Output sẽ có khối <think>...</think> trước answer. Đây là chain-of-thought reasoning trace.

Lưu ý quan trọng: reasoning model tốn nhiều token hơn dense model thông thường, vì phần thinking đếm vào output. Nếu bạn tính cost theo token (tự host vẫn có cost qua điện và memory), cần factor cái này. Một query “5 + 3 bằng bao nhiêu” với DeepSeek-R1 có thể output 200-500 token thinking trước khi đưa ra “8”. Với task khó hơn (math olympiad, code debug), thinking chunk có thể tới vài nghìn token.

Khi nào pick distill thay vì full R1:

  • Bạn có ít hơn 200GB VRAM: chọn distill, full R1 không thể fit.
  • Workload chỉ cần reasoning ở mid-tier: 14B distill đủ cho code review, math olympiad cấp đại học, debug.
  • Cần inference nhanh: 7B distill chạy 30-50 tok/s trên consumer GPU, full R1 khoảng 5-10 tok/s ngay cả trên 8x H100.

Gemma 3: multimodal compact

Google ship Gemma 3 vào tháng 3, 2025. Family này khác Gemma 1 và 2 ở ba điểm: multimodal native, context dài, và phủ rộng size.

Sizes:

  • Gemma 3 270M, ultra-small cho edge.
  • Gemma 3 1B, text-only.
  • Gemma 3 4B, multimodal (text + image).
  • Gemma 3 12B, multimodal.
  • Gemma 3 27B, multimodal flagship.

Phiên bản 4B, 12B, 27B có vision encoder dựa trên SigLIP, support image input native. Bạn paste ảnh vào prompt, model trả lời như Claude hoặc GPT-4o.

Context window:

  • Gemma 3 1B: 32K tokens.
  • Gemma 3 4B, 12B, 27B: 128K tokens.

Multilingual: hơn 140 ngôn ngữ, bao gồm tiếng Việt. Quality VN ở 27B comparable với Qwen 3.

Training scale: Gemma 3 27B train trên 14T token, 12B trên 12T, 4B trên 4T, 1B trên 2T. Đây là dataset size lớn so với open model cùng kích thước.

License: Gemma license (custom, gần Apache nhưng có acceptable use policy của Google). Không phải Apache thuần nhưng cho phép commercial use không giới hạn về MAU như Llama. Bạn vẫn nên đọc license trước khi deploy production.

Ai nên thử Gemma 3:

  • Cần multimodal local trong VRAM nhỏ: Gemma 3 4B fit trong 8GB GPU, OCR và image QA tốt.
  • 24GB GPU và muốn balance text + vision: Gemma 3 27B quantized Q4 vừa khít.
  • Long-context workflow: 128K context của 27B đủ cho code review nhiều file hoặc document QA.
# Pull Gemma 3 12B (multimodal)
ollama pull gemma3:12b

# Test với image input (requires Ollama 0.4+ với vision support)
ollama run gemma3:12b "Mô tả ảnh này" < /path/to/image.png

Gemma 3 thường bị bỏ qua trong các so sánh vì tên không “kêu” bằng gpt-oss hay DeepSeek. Nhưng nếu workflow của bạn cần multimodal, đây là default tốt nhất 2026.

Một mẹo nhỏ với Gemma 3: vision encoder dùng SigLIP nên image input cần preprocessing đặc thù (resize đúng aspect ratio, normalize giá trị pixel). Ollama 0.4+ handle phần này tự động, nhưng nếu bạn dùng llama.cpp hoặc vLLM raw, đọc model card kỹ trước khi wire pipeline.

Llama 4: Meta nhảy vào MoE

Meta release Llama 4 Scout và Llama 4 Maverick vào tháng 4, 2025. Lần đầu Llama dùng MoE. Behemoth (variant lớn nhất, ~2T parameter) vẫn đang training tại thời điểm announce và chưa release open weight (Snapshot 2026-05).

Lineup:

  • Llama 4 Scout: 17B active parameter, 16 expert, 109B total. Context window 10M token (con số rất lớn).
  • Llama 4 Maverick: 17B active parameter, 128 expert, 400B total. Multimodal native, vượt GPT-4o và Gemini 2.0 Flash trên một số benchmark.
  • Llama 4 Behemoth: ~2T total, ~288B active, 16 expert. Frontier model trong training, không release open weight.

Architecture: cả Scout và Maverick là natively multimodal, vision encoder tích hợp từ pre-training (không phải bolt-on sau). Đây là khác biệt so với cách Llama 3 vision được build.

10M context của Scout đáng chú ý. Trên paper, bạn có thể đẩy cả codebase 100k dòng vào một prompt. Thực tế retrieval quality ở extreme context vẫn cần benchmark thêm, nhưng headroom rất lớn.

License: Llama 4 Community License (custom). Cho phép commercial use cho ai có dưới 700M MAU tính từ ngày announce (tháng 4, 2025). Trên ngưỡng đó phải xin separate license từ Meta. Đối với startup và homelab user, ngưỡng này không phải vấn đề.

Lưu ý: Llama 4 yêu cầu accept terms trên Hugging Face hoặc Meta portal trước khi pull weights. Quy trình mất 5-10 phút.

Ai nên thử Llama 4:

  • Cần long-context cực dài: Scout 10M là lớn nhất trong open model 2026.
  • Multi-GPU setup (>200GB VRAM aggregate): Maverick cho multimodal frontier quality.
  • Workflow đã build trên Llama 3 và muốn upgrade in-place: Llama 4 API tương thích.

Một cảnh báo: Llama 4 có size tổng lớn (109B cho Scout, 400B cho Maverick). Dù active parameter nhỏ, bạn vẫn cần đủ memory cho toàn bộ weights. Llama 4 Scout quantized Q4 cần khoảng 65-70GB. Single 80GB GPU OK; 24GB GPU thì không khả thi.

Vị trí của Llama 4 trong landscape 2026 hơi awkward. Nếu bạn cần long-context, Scout 10M là unique. Nhưng cho hầu hết workload thông thường, Qwen3-235B-A22B chất lượng tương đương hoặc tốt hơn với license Apache 2.0 thuần. Llama 4 hiện relevant nhất ở hai trường hợp: bạn đã đầu tư Llama ecosystem (fine-tune dataset, tooling) hoặc bạn cần multimodal cao cấp ở scale lớn.

Mistral và Mixtral 2026

Mistral AI giữ lineup nhỏ hơn so với Alibaba hoặc Meta, nhưng vẫn relevant cho self-host.

Model open weight đáng note:

  • Mixtral 8x7B: SMoE classic, 47B total, 13B active. Apache 2.0. Vẫn workhorse cho ai muốn MoE proven.
  • Mixtral 8x22B: SMoE lớn hơn, 141B total, 39B active. Apache 2.0. Context 64K, function calling native. Theo Mistral docs, model này sẽ retire tháng 3, 2025 (Snapshot 2026-05, verify lại nếu plan production).
  • Mistral Small 3 / 3.2: dense model nhỏ (~22B), Apache 2.0. Replacement cho Mixtral 8x22B ở API tier. Open weight, balance quality và latency.

License của Mistral từng có lúc thay đổi (2024 có model dưới Mistral Research License non-commercial). Năm 2026, Mistral xác nhận lại commitment với Apache 2.0 cho open weight tier. Frontier model (Mistral Large 2, Mistral Medium 3) vẫn closed.

Vị thế của Mistral trong 2026 khác 2024. Khi đó Mixtral 8x7B là default cho MoE local. Bây giờ Qwen 3 và gpt-oss cover space đó tốt hơn. Mistral vẫn relevant nhưng không còn là “must try” như trước.

Khi nào pick Mistral:

  • Bạn đã có pipeline build trên Mixtral 8x7B và switching cost cao: stay put.
  • Bạn cần một dense model tầm 20-25B với Apache 2.0 thuần: Mistral Small 3.
  • Bạn muốn EU-based vendor cho compliance reason: Mistral là lựa chọn duy nhất ở tier này.
  • Bạn cần function calling thuần native: Mixtral 8x22B có support function calling nguyên bản, không phải tool-by-prompt hack.

Quan sát thực tế: Mixtral 8x7B vẫn rất hợp cho production agent đơn giản, nơi quality “đủ tốt” và throughput cao quan trọng hơn frontier reasoning. Tôi vẫn dùng Mixtral 8x7B cho một số batch task background ở homelab vì nó stable, được test kỹ trong runtime ecosystem, và license sạch.

Cách chọn

Bảng so sánh tổng hợp. VRAM estimate dùng Q4 quantization, batch size 1, context 8K. Production load cao cần thêm headroom.

Model                          Total    Active   VRAM Q4   License            Multimodal
gpt-oss-20b                    20B      ~3.6B    ~12GB     Apache 2.0         No
gpt-oss-120b                   120B     ~5.1B    ~65GB     Apache 2.0         No
Qwen3-4B                       4B       4B       ~3GB      Apache 2.0         No
Qwen3-30B-A3B                  30B      3B       ~18GB     Apache 2.0         No
Qwen3-235B-A22B                235B     22B      ~140GB    Apache 2.0         No
Qwen3-Coder-30B-A3B            30B      3B       ~18GB     Apache 2.0         No
Qwen3-VL-8B                    8B       8B       ~6GB      Apache 2.0         Yes
Qwen3-VL-32B                   32B      32B      ~20GB     Apache 2.0         Yes
DeepSeek-R1 (full)             671B     37B      ~400GB    MIT-like           No
DeepSeek-R1-Distill-Qwen-7B    7B       7B       ~5GB      Apache 2.0         No
DeepSeek-R1-Distill-Qwen-14B   14B      14B      ~9GB      Apache 2.0         No
DeepSeek-R1-Distill-Qwen-32B   32B      32B      ~20GB     Apache 2.0         No
DeepSeek-R1-Distill-Llama-70B  70B      70B      ~42GB     Llama 3 Community  No
Gemma 3 4B                     4B       4B       ~3GB      Gemma license      Yes
Gemma 3 12B                    12B      12B      ~8GB      Gemma license      Yes
Gemma 3 27B                    27B      27B      ~17GB     Gemma license      Yes
Llama 4 Scout                  109B     17B      ~65GB     Llama 4 Community  Yes
Llama 4 Maverick               400B     17B      ~240GB    Llama 4 Community  Yes
Mixtral 8x7B                   47B      13B      ~28GB     Apache 2.0         No
Mixtral 8x22B                  141B     39B      ~85GB     Apache 2.0         No
Mistral Small 3                ~22B     22B      ~14GB     Apache 2.0         No

Recommendation theo profile.

Profile 1: Mac M-series 16GB RAM (M2 Air, M3 Pro base)

Default: gpt-oss-20b qua Ollama. Reasoning quality cao, fit trong unified memory, 25-35 tok/s.

Backup: DeepSeek-R1-Distill-Qwen-7B nếu cần reasoning nhanh hơn, hoặc Qwen3-4B cho VN content tốc độ cao.

Tránh: 30B+ model. Unified memory chia với OS và app khác, bạn sẽ swap nặng.

Profile 2: Mac M-series 32-64GB RAM (M3 Max, M4 Pro/Max)

Default: Qwen3-30B-A3B (Coder hoặc Instruct tùy use case). 3B active nên prompt processing nhanh, output 20-30 tok/s trên M3 Max.

Reasoning: DeepSeek-R1-Distill-Qwen-32B hoặc gpt-oss-20b với extended context.

Multimodal: Gemma 3 12B hoặc Qwen3-VL-8B.

Tránh: gpt-oss-120b, Llama 4. Cần GPU dedicated, Mac unified memory không tối ưu cho MoE size này.

Profile 3: 24GB GPU (RTX 4090, 3090, A5000)

Default text: Qwen3-30B-A3B Q4. Active 3B trên VRAM dedicated nên throughput rất tốt, 50-80 tok/s.

Reasoning: DeepSeek-R1-Distill-Qwen-32B Q4 hoặc gpt-oss-20b full precision.

Multimodal: Gemma 3 27B Q4 hoặc Qwen3-VL-32B.

Coding agent: Qwen3-Coder-30B-A3B Q4.

Tránh: gpt-oss-120b (cần 80GB), Llama 4 (cần 65GB+).

Profile 4: 80GB GPU (H100, A100 80GB)

Default: gpt-oss-120b. Quality gần o4-mini, fit thoải mái, throughput cao với vLLM.

Long-context: Llama 4 Scout Q4 (10M context).

Frontier reasoning local: DeepSeek-R1-Distill-Llama-70B full precision.

Coding: Qwen3-Coder-480B (cần quantization nặng) hoặc 30B variant với throughput cao.

Profile 5: Homelab CPU-only (Xeon, Ryzen, không có GPU dedicated)

Đây là profile khó nhất. Inference CPU chậm, expect 2-5 tok/s với 7B-14B model.

Default: DeepSeek-R1-Distill-Qwen-7B Q4 qua llama.cpp. Reasoning quality cao, fit trong 8-16GB RAM, không bị thrash.

Alternative: Gemma 3 4B (text-only branch). Throughput tốt hơn 7B, vẫn dùng được cho task đơn giản.

Tránh: bất kỳ model 30B+. CPU inference với model này không khả dụng cho interactive use, kể cả với 64GB RAM.

Tôi đã test setup này trên homelab Xeon E5 + 64GB RAM, không GPU dedicated. Qwen3-4B chạy được 4-5 tok/s, DeepSeek-R1-Distill-Qwen-7B chạy 2-3 tok/s. Đủ cho batch task qua đêm, không đủ cho interactive chat.

Một workaround: nếu homelab có GPU consumer cũ (Quadro K620, GTX 1060, GTX 1660), bạn vẫn có thể offload partial layers qua llama.cpp --gpu-layers. Throughput tăng đáng kể nhưng đừng kỳ vọng đụng được consumer 3090/4090. Quadro K620 với llama.cpp + Qwen3-4B Q4 ở homelab tôi cho khoảng 8-10 tok/s, vẫn chậm nhưng dùng được cho assistant local nhẹ nhàng.

Profile 6: Production multi-GPU (2x A100, 4x L40S, etc.)

Default: Qwen3-235B-A22B với tensor parallelism. Quality gần frontier closed model.

Multimodal: Llama 4 Maverick (cần ~240GB VRAM aggregate).

Reasoning at scale: DeepSeek-R1 full 671B nếu có 8x H100.

Cộng thêm: vLLM hoặc TensorRT-LLM cho production serving. Ollama không tối ưu cho multi-GPU.

Vài lưu ý khi pick model

Vài rule of thumb tôi rút ra sau một năm chạy local stack:

Rule 1: ưu tiên MoE khi VRAM đủ cho total weights. MoE active parameter nhỏ nên latency thấp, throughput cao. Nhưng nếu VRAM không đủ cho total weights, bạn phải offload qua RAM, performance drop thẳng đứng. Check total size trước khi pull.

Rule 2: quantization là free quality nếu chọn đúng level. Q4_K_M trong llama.cpp/Ollama là sweet spot cho hầu hết model. Q5 và Q6 quality cao hơn marginal nhưng VRAM tăng 25-50%. Q3 và Q2 quality giảm rõ rệt, chỉ dùng khi không còn cách khác.

Rule 3: đọc model card trước khi deploy. Mỗi family có quirk riêng: gpt-oss có MXFP4 format, Qwen3-VL cần image preprocessing đặc thù, Llama 4 yêu cầu accept terms. Đọc 10 phút trước, tiết kiệm vài giờ debug sau.

Rule 4: benchmark trên workload thật của bạn. Public benchmark như AIME, HumanEval, MMLU không cover use case của mọi người. Build một mini eval set 20-50 task đại diện workload thật, chạy qua các model candidate, pick theo kết quả thực tế chứ không phải leaderboard.

Rule 5: license matter ngay cả với hobby project. Nếu blog hoặc side project có khả năng grow lên thành commercial, pick model với license sạch ngay từ đầu sẽ tránh refactor sau. Apache 2.0 và Gemma license là default an toàn; Llama 4 Community OK với điều kiện bạn xa ngưỡng 700M MAU.

Lời kết

State của open-weight LLM trong 2026 đã rất khác 2024. Bạn có lựa chọn cho mọi profile hardware, license đa số là Apache 2.0 hoặc tương đương permissive, multimodal đã local-ready, reasoning model open weight đã production-ready.

Trong các bài tiếp theo của series Local LLM stack 2026 refresh, tôi sẽ đi sâu vào:

  • Setup Ollama vs vLLM vs llama.cpp: trade-off thực tế khi production self-host.
  • Quantization: GGUF Q4/Q5/Q8, AWQ, GPTQ, MXFP4. Cái nào dùng khi nào.
  • Reasoning model trong agent loop: chain-of-thought token cost, debugging “thinking” output.
  • Local multimodal pipeline: OCR, image QA, document parsing với Gemma 3 và Qwen3-VL.
  • Fine-tune local model: LoRA trên Qwen 3 base, dataset prep, deploy.

Nếu bạn đã có local LLM stack từ 2024 hoặc 2025, đây là thời điểm tốt để refresh. Model bạn pin năm trước có thể đã lỗi thời, lựa chọn hôm nay vừa rẻ vừa mạnh hơn nhiều.

Bài tiếp theo sẽ là Setup Ollama vs vLLM vs llama.cpp, so sánh ba runtime phổ biến nhất cho self-host. Ollama dễ dùng nhất, vLLM nhanh nhất, llama.cpp linh hoạt nhất. Câu hỏi là: bạn chọn cái nào cho từng workload, và đâu là chỗ chúng overlap.