Bỏ qua để vào nội dung chính
Chạy LLM local: chọn đúng cỡ model trước khi tải về máy

Chạy LLM local: chọn đúng cỡ model trước khi tải về máy

Bởi James Rivera
22 thg 10, 20264 phút đọc

Dung lượng package và trạng thái hỗ trợ runtime là hai con số quyết định model nào chạy nổi trên máy bạn. Cách tra cả hai trước khi bấm tải.

Bạn tải model 32B về laptop 16 GB RAM, gõ ollama run, rồi ngồi nhìn máy swap tới đứng hình. Tệ hơn nữa là tải xong gần 80 GB file GGUF mới phát hiện runtime chưa chạy được kiến trúc đó.

Cả hai tình huống đều tránh được bằng hai phép tra mất chưa tới năm phút: dung lượng package thật của model, và trạng thái hỗ trợ của runtime bạn định dùng.

Bước 1: Đối chiếu dung lượng package với RAM/VRAM thật

Số parameter không phải con số bạn cần. Con số cần là dung lượng package mà runtime liệt kê. Theo guide về local LLM của AddWeb Solution, Ollama hiện liệt kê các biến thể như sau:

ModelDung lượng package (Ollama liệt kê)
Qwen3 4B~2.5 GB
Qwen3 8B~5.2 GB
Qwen3 14B~9.3 GB
Qwen3 32B~20 GB
Gemma 3 27B~17 GB

Đây là dung lượng weights, chưa tính KV cache theo context length và phần OS/IDE đang giữ. Khi lên kế hoạch hãy chừa headroom — đây là kinh nghiệm vận hành, không phải số liệu từ nguồn.

Bước 2: Quantization là đòn bẩy, không phải phép màu

Quantization biểu diễn weights bằng ít bit hơn, nên model lớn vừa được vào phần cứng nhỏ — bản 4B mà Ollama liệt kê ở định dạng như Q4_K_M chỉ còn khoảng 2.5 GB. Nhưng guide nói thẳng: "Quantization is not magic", và việc giảm precision có thể làm giảm chất lượng tuỳ model, tuỳ phương pháp quantize, tuỳ task và cấu hình.

Quy tắc guide đưa ra đáng dán lên tường: dùng model nhỏ nhất và precision thấp nhất vẫn còn đạt chất lượng chấp nhận được cho ứng dụng của bạn — và benchmark bản quantized trên đúng workload thật, đừng giả định mọi bản 4-bit đều hành xử như bản full-precision.

Bước 3: Tra trạng thái hỗ trợ của runtime trước khi tải

Model mới ra không có nghĩa runtime của bạn chạy được. Trong bài hands-on về Qwen3.8-Flash-Next, tác giả ghi nhận llama.cpp PR #27742 do Daniel Han (Unsloth AI) tạo đã merge ngày 28/08/2026, nhưng tiêu đề PR là "initial ... architecture support" — theo mô tả của chính tác giả, vẫn ở mức "chạy được tạm thời", và chỉ hoạt động từ bản 0.3.0-dev build 10660 trở đi.

Nghĩa là trước khi tải: kiểm tra PR/issue hỗ trợ kiến trúc đó đã merge chưa, và build tối thiểu là bao nhiêu.

Bước 4: Model frontier không dành cho máy bàn

Cũng bài hands-on đó cho thấy ranh giới rõ ràng. Qwen3.8-Flash-Next được mô tả là 125B (main) cộng 51B n-gram embedding và 4B MTP; riêng bản UD-Q2_K_XL đã gồm các file 50.0 GB và 28.9 GB. Tác giả phải mượn một instance NVIDIA A100 80GB, và log cho thấy VRAM dùng tới 80.645 MiB / 81.920 MiB — gần kịch trần.

Tốc độ thu được: 44,82 tokens/giây ở phần eval trên A100, so với 23,23 tokens/giây khi tác giả chạy Qwen3.8-27B trên RTX A4000. Con số này là của một lần đo trên một cấu hình cụ thể, không phải chuẩn chung.

Chạy local không tự động nghĩa là an toàn

Guide nhấn mạnh điểm nhiều team bỏ qua: local không mặc nhiên bảo mật. Ứng dụng vẫn có thể lộ dữ liệu qua API, network service, log, telemetry, plugin hoặc hạ tầng cấu hình sai — bảo mật phải phủ cả hệ thống, không chỉ model. Đáng lưu ý nếu bạn bật local API server của LM Studio, vốn phục vụ REST và endpoint OpenAI-compatible cho ứng dụng khác gọi vào.

Việc nên làm tiếp

  • Ghi lại RAM/VRAM trống thực tế, rồi mới chọn theo bảng dung lượng ở trên.
  • Trước mỗi lần tải model mới: tra PR hỗ trợ kiến trúc và build tối thiểu của runtime.
  • Benchmark bản quantized trên chính workload của team.
  • Nếu bật local API server, rà soát bind address, log và telemetry trước khi đưa dữ liệu nội bộ vào.

Không spam, hủy đăng ký bất kỳ lúc nào.

Bài viết liên quan