Bắt đầu với họ model, sau đó kiểm tra tệp có thể chạy
Một Local LLM không chỉ là một tên thương hiệu như Qwen, Llama, Mistral, Gemma, DeepSeek, Phi hoặc Yi. Tên gọi thường chỉ đến một họ model, trong khi tệp bạn thực sự chạy có thể là một bản instruct tune, một bản tinh chỉnh cho lập trình, một biến thể vision, một bản chuyển đổi GGUF hoặc một bản build đã lượng tử hóa do cộng đồng phát hành. Hai tệp cùng một họ model có thể hoạt động khác nhau vì chúng có thể dùng các prompt template, độ dài ngữ cảnh, phương pháp lượng tử hóa và giả định runtime khác nhau.
Đối với một công cụ đề xuất, câu hỏi hữu ích không chỉ là “model này có phổ biến không?” Câu hỏi tốt hơn là “biến thể có thể chạy nào phù hợp với bộ nhớ, kỳ vọng tốc độ và tác vụ của người dùng này?” Hugging Face có thể hiển thị nhiều tệp cho cùng một model, còn các công cụ local có thể chỉ hỗ trợ một phần trong số đó. Vì vậy, Local LLM nên xem danh tính model, định dạng tệp, lượng tử hóa và mức độ phù hợp phần cứng là các tín hiệu riêng biệt thay vì gộp mọi thứ vào một tên model duy nhất.
Số lượng tham số là tín hiệu chất lượng sơ bộ, không phải câu trả lời đầy đủ
Số lượng tham số cho biết nhanh quy mô của model. Model 1B hoặc 3B dễ chạy hơn và có thể hữu ích cho chat nhẹ, viết lại, tóm tắt và giải thích code đơn giản. Model 7B hoặc 8B thường là điểm khởi đầu thực tế cho các câu trả lời hằng ngày mạnh hơn. Model 14B thường cần nhiều bộ nhớ hơn nhưng có thể cho cảm giác năng lực tốt hơn. Các model 30B, 70B và lớn hơn có thể tốt hơn nhiều cho suy luận khó hoặc lập trình, nhưng chúng bước vào phạm vi VRAM cao, unified memory lớn hoặc multi-GPU.
Hạn chế là số lượng tham số không nói lên toàn bộ câu chuyện. Một model 7B mới hơn có thể vượt model 13B cũ hơn trong nhiều tác vụ. Một model 7B được tinh chỉnh cho lập trình có thể hữu ích cho phát triển phần mềm hơn một model chat tổng quát lớn hơn. Các model MoE tạo thêm một điểm phức tạp vì tổng số tham số và tham số hoạt động là khác nhau. Vì vậy, đề xuất nên kết hợp chất lượng benchmark, use case, tham số hoạt động, yêu cầu ngữ cảnh và mức độ phù hợp bộ nhớ thay vì chỉ xếp model lớn nhất lên đầu.
GGUF, safetensors và hỗ trợ công cụ quyết định thứ bạn thực sự có thể chạy
Nhiều người dùng desktop local tìm tệp GGUF vì chúng hoạt động tốt với các công cụ dựa trên llama.cpp và có sẵn rộng rãi trên Hugging Face. GGUF đóng gói trọng số model và metadata trong một định dạng được thiết kế cho suy luận local, và Hugging Face hỗ trợ duyệt cũng như lưu trữ tệp GGUF. Các repository khác phát hành trọng số safetensors, có thể dành cho Transformers, vLLM hoặc để chuyển đổi trước khi dùng trên desktop local. Cả hai đều có thể hợp lệ, nhưng phục vụ các workflow khác nhau.
Điều này quan trọng với người dùng vì một trang model có thể trông hấp dẫn nhưng vẫn bất tiện khi chạy local. Ollama, LM Studio, llama.cpp, MLX, Transformers và vLLM không cung cấp chính xác cùng một đường dẫn nạp model. Một kết quả đề xuất tốt nên liên kết đến trang nguồn, cho biết model có tệp thân thiện với local hay không, và tránh ngụ ý rằng mọi repository trên Hugging Face đều dễ chạy như nhau trên laptop.
Lượng tử hóa thay đổi mức dùng bộ nhớ và chất lượng
Lượng tử hóa giảm độ chính xác của trọng số model để tệp nhỏ hơn và dễ nạp hơn. Q8 gần với chất lượng cao nhưng dùng nhiều bộ nhớ hơn. Q6 và Q5 thường là mức cân bằng hữu ích. Q4 là điểm khởi đầu phổ biến để nhét các model lớn hơn vào phần cứng tiêu dùng. Q3 và thấp hơn có thể hữu ích trong tình huống bộ nhớ hạn chế, nhưng đánh đổi chất lượng sẽ dễ thấy hơn, đặc biệt với lập trình, toán, dùng công cụ và câu trả lời dài.
Mức lượng tử hóa phù hợp phụ thuộc vào cả model và tác vụ. Nếu người dùng muốn chat nhanh thông thường, Q4 có thể chấp nhận được. Nếu họ cần lập trình hoặc suy luận cẩn thận, Q5, Q6 hoặc Q8 có thể đáng dùng thêm bộ nhớ. Nếu họ cần ngữ cảnh dài, tệp model nhỏ nhất là chưa đủ; hệ thống vẫn cần bộ nhớ cho KV cache và runtime overhead. Local LLM nên hiển thị mức lượng tử hóa đã chọn và phân tích bộ nhớ để người dùng hiểu vì sao một đề xuất phù hợp.
Độ dài ngữ cảnh, vision và tinh chỉnh chuyên biệt làm thay đổi đề xuất
Độ dài ngữ cảnh phụ thuộc vào model, nhưng ngữ cảnh dùng được lại phụ thuộc vào phần cứng. Một model có thể quảng cáo cửa sổ ngữ cảnh lớn, nhưng KV cache tăng lên khi cuộc hội thoại hoặc tài liệu dài hơn. Phần bộ nhớ bổ sung đó có thể đẩy model từ chạy hoàn toàn trên GPU sang offload một phần sang CPU. Với RAG, phân tích codebase hoặc đọc tài liệu dài, một model nhỏ hơn với nhiều khoảng trống bộ nhớ hơn có thể tốt hơn một model lớn hơn chỉ vừa đủ nạp.
Các năng lực chuyên biệt cũng quan trọng. Model vision cần image encoder và hỗ trợ multimodal, vì vậy không nên đề xuất model chỉ dùng văn bản cho tác vụ hình ảnh ngay cả khi nó có điểm tổng quát cao. Model lập trình nên được đánh giá khác với model roleplay. Model toán và suy luận có thể cần ngưỡng chất lượng cẩn thận hơn. Do đó, model local tốt nhất là sự phù hợp giữa năng lực model, biến thể tệp, lượng tử hóa, mục tiêu ngữ cảnh và phần cứng của người dùng.
FAQ
Model GGUF có luôn tốt hơn cho local LLM không? Không phải lúc nào cũng vậy. GGUF rất tiện cho suy luận local kiểu llama.cpp, nhưng safetensors hoặc các định dạng khác có thể tốt hơn cho workflow server, huấn luyện hoặc runtime chuyên biệt.
Tôi có nên chọn model lớn nhất vừa với máy không? Không tự động. Nếu nó chỉ vừa khít, tốc độ và độ ổn định ngữ cảnh có thể kém. Một model nhỏ hơn một chút với Q5 hoặc Q6 và đủ khoảng trống bộ nhớ có thể cho cảm giác tốt hơn trong sử dụng hằng ngày.
Vì sao các công cụ khác nhau đề xuất các model khác nhau? Chúng có thể hỗ trợ các định dạng, mức lượng tử hóa, GPU backend, mặc định ngữ cảnh và catalog model khác nhau. Hỗ trợ công cụ là một phần của đề xuất.
Tôi nên dùng Local LLM như thế nào sau khi đọc bài này? Nhập VRAM, RAM, hệ điều hành, use case và ưu tiên của bạn. Sau đó công cụ có thể xếp hạng các biến thể model hiện tại thay vì bắt bạn ghi nhớ tên model.