Tracks
Qwen3.8-27B đang nhanh chóng trở thành một trong những mô hình phổ biến nhất cho AI cục bộ. Dù chỉ có 27 tỷ tham số, nó vẫn cho hiệu năng cạnh tranh với những mô hình lớn hơn rất nhiều ở các bài kiểm tra về lập trình, suy luận, agent và mục đích chung. Thậm chí, nó đang tiệm cận các mô hình như GLM-5.2 ở một số khía cạnh, khiến nó đặc biệt phổ biến với những người đang thử nghiệm với phần cứng cục bộ mạnh mẽ.
RTX 5090 đặc biệt phù hợp với Qwen3.8-27B vì kiến trúc Blackwell của nó hỗ trợ NVFP4, cho phép mô hình chạy với tốc độ rất cao trong khi vẫn giữ chất lượng đầu ra tốt. Kết hợp với suy đoán giải mã thông qua dự đoán đa token (MTP), bản dựng llama.cpp tối ưu, và đúng mô hình GGUF, Qwen3.8-27B có thể đạt hơn 100 token mỗi giây trên một chiếc RTX 5090 duy nhất.
Trong hướng dẫn này, chúng ta sẽ thiết lập cách mà theo tôi là một trong những cách dễ nhất để đạt cân bằng tốt nhất giữa tốc độ, độ chính xác và hỗ trợ ngữ cảnh dài trên RTX 5090 hoặc GPU Blackwell khác. Chúng ta sẽ biên dịch llama.cpp với hỗ trợ Blackwell gốc, tải về Qwen3.8-27B NVFP4-MTP GGUF, chạy với tăng tốc GPU và suy đoán giải mã MTP, kiểm thử API tương thích OpenAI và giao diện web tích hợp, và cuối cùng kết nối với Pi để có thể dùng Qwen3.8-27B như một agent lập trình hoàn toàn cục bộ.
Tôi cũng khuyên bạn xem hướng dẫn về Qwen3.8-Flash-Next, bản xem trước mới hơn của Qwen4, và bài hướng dẫn cách chạy Qwen3.8-Flash-Next cục bộ.
1. Thiết lập llama.cpp cho GPU Blackwell
Trước hết, chúng ta sẽ đảm bảo GPU được nhận diện đúng và kiểm tra phiên bản driver NVIDIA cùng CUDA.
nvidia-smi
Bạn sẽ thấy RTX 5090 của mình, phiên bản driver, phiên bản CUDA, bộ nhớ GPU và mức sử dụng GPU hiện tại.
Lưu ý: Thiết lập này dành riêng cho GPU NVIDIA Blackwell, như RTX 5090. Bản dựng dưới đây nhắm tới SM120, tức kiến trúc tính toán dùng bởi RTX 5090.
Tiếp theo, chúng ta sẽ tải và biên dịch phiên bản mới nhất của llama.cpp với hỗ trợ CUDA.
cd /workspace
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp
cmake -B build \
-DGGML_CUDA=ON \
-DCMAKE_CUDA_ARCHITECTURES=120
cmake --build build --config Release -j$(nproc)

Phần quan trọng ở đây là -DCMAKE_CUDA_ARCHITECTURES=120. Cờ này yêu cầu llama.cpp biên dịch dành riêng cho kiến trúc Blackwell dùng bởi RTX 5090.
Khi biên dịch xong, chúng ta sẽ đưa llama-server vào phạm vi dùng chung để có thể chạy từ bất kỳ thư mục nào:
sudo ln -sf "$(realpath ./build/bin/llama-server)" /usr/local/bin/llama-server
Bây giờ, kiểm tra mọi thứ hoạt động:
llama-server --version
Bạn sẽ nhận được đầu ra tương tự như:
version: 0.1.1-dev (build 10479, commit 0021a77de)
built with GNU 13.3.0 for Linux x86_64
Vậy là xong. Chúng ta đã có một bản dựng llama.cpp bật CUDA có thể tận dụng RTX 5090 và hỗ trợ NVFP4 gốc của Blackwell.
2. Tải mô hình Qwen3.8-27B NVFP4-MTP
Giờ chúng ta sẽ tải mô hình Qwen3.8-27B.
Trước tiên, cài đặt Hugging Face CLI:
pip install -U huggingface_hub
Tạo một thư mục để lưu mô hình:
mkdir -p /workspace/models/qwen38
Sau đó tải GGUF NVFP4-MTP:
hf download felippeburk/Qwen3.8-27B-NVFP4-MTP-GGUF \
--local-dir /workspace/models/qwen38

Đây là phiên bản chúng ta cần cho thiết lập này vì nó dùng NVFP4 và bao gồm hỗ trợ MTP, vốn là nơi mang lại nhiều cải thiện tốc độ trên RTX 5090.
3. Khởi động máy chủ Qwen3.8-27B
Giờ đến phần thú vị. Chúng ta sẽ phục vụ Qwen3.8-27B hoàn toàn trên GPU với Flash Attention, cửa sổ ngữ cảnh 131K và suy đoán giải mã MTP để tạo sinh nhanh hơn.
Chạy:
cd /workspace/llama.cpp
llama-server \
-m /workspace/models/qwen38/qwen3.8-27b-text-nvfp4-mtp.gguf \
--alias qwen3.8-27b \
--host 0.0.0.0 \
--port 8910 \
--ctx-size 131072 \
--n-gpu-layers all \
--flash-attn on \
--cache-type-k q8_0 \
--cache-type-v q8_0 \
--parallel 1 \
--spec-type draft-mtp \
--spec-draft-n-max 4 \
--spec-draft-p-min 0.75 \
--spec-draft-ngl all \
--spec-draft-type-k q8_0 \
--spec-draft-type-v q8_0 \
--reasoning-effort medium \
--jinja
Có khá nhiều tùy chọn ở đây, nhưng phần lớn chỉ để tận dụng tối đa hiệu năng của 5090.
Những tùy chọn chính cần biết là:
-
--ctx-size 131072cho chúng ta cửa sổ ngữ cảnh khoảng 131K. -
--n-gpu-layers allgiữ mô hình trên GPU. -
--flash-attn onbật Flash Attention. -
--cache-type-k q8_0và--cache-type-v q8_0giúp giảm bộ nhớ KV cache. -
--spec-type draft-mtpbật suy đoán giải mã MTP của Qwen3.8. -
--spec-draft-n-max 4kiểm soát số token suy đoán MTP có thể tạo cùng lúc.
Với thiết lập này, chúng ta dùng n-max 4 làm điểm khởi đầu cho RTX 5090. Bạn có thể thử các giá trị như 2 (được thẻ mô hình khuyến nghị cho GGUF này) hoặc 3 sau đó, vì thiết lập nhanh nhất có thể hơi khác nhau tùy hệ thống của bạn.
Khi llama-server tải mô hình xong, Qwen3.8 sẽ có sẵn cục bộ tại http://127.0.0.1:8910.

Giờ chúng ta đã chạy Qwen3.8-27B cục bộ. Tiếp theo, chúng ta sẽ kiểm thử mô hình qua cả API và giao diện trình duyệt tích hợp.
4. Kiểm thử tốc độ và khả năng lập trình của Qwen3.8-27B
Khi máy chủ đang chạy, mở một terminal khác và gửi yêu cầu thử nghiệm tới API tương thích OpenAI:
curl http://127.0.0.1:8910/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.8-27b",
"messages": [
{
"role": "user",
"content": "Write a Python FastAPI application that monitors GPU usage."
}
],
"max_tokens": 2000
}'

Trong bài test này, Qwen3.8-27B tạo 2.000 token ở tốc độ 122 token/giây với tỷ lệ chấp nhận MTP ấn tượng 84,9%.
llama.cpp cũng bao gồm giao diện trình duyệt, vì vậy bạn có thể thử mô hình mà không cần dùng API.
Mở http://127.0.0.1:8910 trong trình duyệt để xem giao diện.

Cho một bài test phức tạp hơn, tôi dùng prompt này:
Create a stunning single-file animated HTML website with a dark futuristic
theme, smooth scrolling, glowing gradients, floating particles, animated cards,
hover effects, and responsive design using only HTML, CSS, and JavaScript.

Trên RTX 5090 của tôi, tốc độ trung bình khoảng 142 token mỗi giây, đôi lúc đạt khoảng 170 token mỗi giây, cực kỳ nhanh đối với một mô hình 27B chạy cục bộ.

Qwen3.8-27B đã tạo một website chỉn chu, hoạt động hoàn chỉnh, chạy ngay lập tức. Đây là cách tốt để nhanh chóng kiểm thử cả khả năng lập trình của mô hình lẫn tốc độ thiết lập cục bộ.
5. Dùng Qwen3.8-27B với Pi
Trong phần này, chúng ta sẽ kết nối Qwen3.8-27B với Pi và dùng nó như một agent lập trình hoàn toàn cục bộ.
Pi là một agent lập trình gọn nhẹ chạy trong terminal, có thể giúp bạn xây dựng, chỉnh sửa, kiểm thử và gỡ lỗi dự án trực tiếp từ dòng lệnh.
Cài đặt Pi với:
curl -fsSL https://pi.dev/install.sh | sh
Trình cài đặt yêu cầu Node.js và npm. Nó cài Pi vào prefix npm toàn cục của bạn. Nếu bạn chưa có Node, hãy cài trước bằng nvm hoặc trình quản lý gói của bạn.
Khi cài đặt xong, khởi động lại terminal.
Tiếp theo, cài đặt extension pi-llama và trỏ Pi tới máy chủ llama.cpp cục bộ của chúng ta:
pi install git:github.com/huggingface/pi-llama
export LLAMA_BASE_URL=http://127.0.0.1:8910/v1
Tạo một dự án mới và khởi động Pi:
mkdir new-project
cd new-project
Pi

Bên trong Pi, chạy /model, tìm llama-cpp và chọn Qwen3.8-27B.
Để kiểm thử, tôi đưa prompt này:
Build a polished personal finance dashboard from scratch that imports CSV
bank statements, categorizes spending, shows monthly trends and charts, and
detects unusual expenses; also generate a realistic sample CSV, import it,
test the full app end-to-end, and fix any errors automatically.

Nó đã xây dựng toàn bộ dự án chỉ trong vài phút.

Sau đó tôi yêu cầu nó khởi động máy chủ và kiểm thử cả frontend lẫn logic ứng dụng. Nó dành nhiều thời gian gỡ lỗi và kiểm thử để đảm bảo mọi thứ hoạt động đúng.

Khi tôi tự kiểm thử dashboard, ứng dụng chạy tốt, biểu đồ đẹp và trải nghiệm tổng thể mượt mà.

Điểm yếu chính là thực hiện các thay đổi UI chính xác. Sau vài prompt tiếp theo, nó bắt đầu thực hiện những thay đổi không liên quan thay vì hiểu đúng ý tôi, nên cuối cùng tôi dừng lại ở đó.
Lời kết
Qwen3.8-27B vẫn còn rất mới và cộng đồng đang tích cực tìm ra tổ hợp tốt nhất giữa lượng tử hóa và suy đoán giải mã. MTP hoạt động cực kỳ hiệu quả, nhưng các phương pháp mới như DFlash 2 và DSpark cũng đang được thử nghiệm, với một số người dùng báo cáo tốc độ còn cao hơn tùy phần cứng và khối lượng công việc.
Unsloth cũng vừa phát hành GGUF Dynamic v3.0 cho Qwen3.8-27B, tuyên bố tăng khoảng 10% độ chính xác ở cùng kích thước mô hình so với bản lượng tử trước đó. Điều này khiến Unsloth trở thành lựa chọn rất đáng cân nhắc nếu bạn muốn chất lượng tốt hơn trong khi vẫn giữ thiết lập suy luận cục bộ gần như không đổi.
Hiện tại, tôi cho rằng NVFP4 + MTP + llama.cpp là một trong những thiết lập dễ và nhanh nhất cho RTX 5090. Đạt khoảng 140 token mỗi giây với mô hình 27B trong khi vẫn có cửa sổ ngữ cảnh lớn và đủ năng lực để chạy một agent lập trình thực sự là rất ấn tượng. Thiết lập này có lẽ sẽ còn nhanh hơn nữa khi llama.cpp, Unsloth, DFlash 2 và DSpark tiếp tục cải thiện.
Câu hỏi thường gặp khi chạy Qwen3.8-27B cục bộ
Bạn có cần RTX 5090 để chạy Qwen3.8-27B cục bộ không?
Không. Các bản GGUF 4-bit tiêu chuẩn của Qwen3.8-27B chiếm khoảng 16–19 GB VRAM, nên RTX 5080, 4090 hoặc Mac 24 GB đều chạy được mô hình. RTX 5090 quan trọng với thiết lập cụ thể này vì NVFP4 cần tensor core Blackwell. Trên các card cũ hơn, file NVFP4 vẫn chạy nhưng chỉ mang lại tiết kiệm bộ nhớ, không tăng tốc.
Cấu hình này thực tế dùng bao nhiêu VRAM?
GGUF NVFP4-MTP khoảng 19 GB trên đĩa, và KV cache mới là yếu tố đẩy tổng dung lượng lên khi ngữ cảnh tăng. Với lượng tử hóa K/V q8_0 ở ngữ cảnh rất dài, các lượt chạy RTX 5090 được công bố rơi vào khoảng giữa 20 GB, nên card 32 GB là thoải mái. Với 24 GB bạn sẽ cần giảm --ctx-size xuống thấp hơn nhiều so với 131072.
MTP suy đoán giải mã làm gì, và có mất mát không?
Qwen3.8 có các lớp dự đoán đa token tích hợp sẵn trong GGUF, hoạt động như một mô hình nháp tích hợp, không cần file thứ hai. Đầu nháp đề xuất nhiều token cùng lúc, và mô hình đầy đủ xác nhận chúng, vì vậy các bản nháp được chấp nhận chỉ tốn một phần nhỏ so với một lượt truyền xuôi bình thường. Chất lượng đầu ra không đổi, vì mỗi token mô hình chính chấp nhận đều là token nó sẽ sinh ra nếu không dùng MTP.
Bạn nên dùng NVFP4 hay bản lượng tử Q4_K_M thông thường?
Chọn NVFP4 nếu bạn có GPU Blackwell và muốn tốc độ tối đa; chọn GGUF tiêu chuẩn như Q4_K_M hoặc bản của Unsloth là UD-Q4_K_XL nếu bạn dùng Ampere hoặc Ada, hoặc nếu bạn quan tâm nhiều hơn tới chất lượng đầu ra trên mỗi gigabyte. Hỗ trợ NVFP4 trong llama.cpp cũng mới hơn so với nhánh K-quant, nên hãy kỳ vọng còn vài điểm thiếu ổn quanh chuyển đổi và công cụ.
Thiết lập này có xử lý được hình ảnh không, vì Qwen3.8-27B là mô hình thị giác?
Qwen3.8-27B là mô hình ngôn ngữ–thị giác gốc, nhưng các chuyển đổi GGUF chỉ-văn-bản sẽ loại bỏ tháp thị giác. Để dùng hình ảnh, bạn cần truyền kèm một multimodal projector cùng mô hình với --mmproj, thường là file mmproj được phát hành trong cùng repo hoặc trong repo GGUF của Unsloth.
Là một nhà khoa học dữ liệu được chứng nhận, tôi đam mê tận dụng công nghệ tiên tiến để tạo ra các ứng dụng học máy đổi mới. Với nền tảng vững chắc về nhận dạng giọng nói, phân tích và báo cáo dữ liệu, MLOps, AI hội thoại và NLP, tôi đã rèn giũa kỹ năng phát triển các hệ thống thông minh có thể tạo ra tác động thực sự. Bên cạnh chuyên môn kỹ thuật, tôi cũng là một người truyền đạt tốt, có khả năng chắt lọc các khái niệm phức tạp thành ngôn ngữ rõ ràng, súc tích. Nhờ đó, tôi trở thành một blogger được nhiều người quan tâm trong lĩnh vực khoa học dữ liệu, chia sẻ góc nhìn và kinh nghiệm với cộng đồng các chuyên gia dữ liệu ngày càng lớn. Hiện tại, tôi tập trung vào sáng tạo và biên tập nội dung, làm việc với các mô hình ngôn ngữ lớn để phát triển nội dung mạnh mẽ và hấp dẫn, giúp doanh nghiệp và cá nhân tận dụng tối đa dữ liệu của mình.

