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

Cách chạy Qwen3.8-27B cục bộ trên NVIDIA RTX 5090

Tìm hiểu cách chạy Qwen3.8-27B cục bộ với NVFP4 gốc Blackwell và suy đoán giải mã MTP, đạt tới 170 token mỗi giây với llama.cpp.
Đã cập nhật 25 thg 8, 2026  · 6 phút đọc

Khám phá với AI

ChatGPTClaudePerplexity

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 các mô hình lớn hơn nhiều ở các bài đánh giá về lập trình, suy luận, agent và mục đích chung. Thậm chí, nó đang tiến gần tới các mô hình như GLM-5.2 ở một số khía cạnh, khiến nó đặc biệt được ưa chuộng trong cộng đồng đang thử nghiệm 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 ở tốc độ rất cao đồng thời 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ể vượt 100 token mỗi giây chỉ với một RTX 5090.

Trong hướng dẫn này, chúng ta sẽ thiết lập cách mà tôi cho là 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 Qwen3.8-27B NVFP4-MTP GGUF, chạy bằng 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 để dùng Qwen3.8-27B như một agent lập trình thuần cục bộ.

1. Thiết lập llama.cpp cho GPU Blackwell

Đầu tiên, hãy đả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

RTX 5090 GPU summary

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, chẳng hạn RTX 5090. Bản dựng bên dưới nhắm tới SM120, là kiến trúc tính toán dùng trên 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)

Building llama.cpp for the RTX 5090  GPU

Phần quan trọng ở đây là -DCMAKE_CUDA_ARCHITECTURES=120. Tham số này yêu cầu llama.cpp biên dịch riêng cho kiến trúc Blackwell dùng trên RTX 5090.

Khi biên dịch xong, chúng ta sẽ đưa llama-server vào phạm vi toàn hệ thống để 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

Giờ hãy 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. Giờ chúng ta có bản dựng llama.cpp hỗ trợ 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 hết, cài Hugging Face CLI:

pip install -U huggingface_hub

Tạo 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

Downloading the Qwen3.8-27B-NVFP4-MTP-GGUF

Đâ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à nguồn mang lại phần lớn 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 để 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ỉ nhằm khai thác tối đa hiệu năng của 5090.

Các tùy chọn chính cần biết là:

  • --ctx-size 131072 cho chúng ta cửa sổ ngữ cảnh khoảng 131K.

  • --n-gpu-layers all giữ mô hình trên GPU.

  • --flash-attn on bật Flash Attention.

  • --cache-type-k q8_0--cache-type-v q8_0 giúp giảm bộ nhớ dùng cho KV cache.

  • --spec-type draft-mtp bật suy đoán giải mã MTP của Qwen3.8.

  • --spec-draft-n-max 4 kiểm soát số token suy đoán MTP có thể sinh cùng lúc.

Với thiết lập này, chúng ta dùng n-max 4 như điểm khởi đầu cho RTX 5090. Bạn có thể thử các giá trị như 2 (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ể thay đổi nhẹ tùy hệ thống của bạn.

Khi llama-server tải mô hình xong, Qwen3.8 sẽ khả dụng cục bộ tại http://127.0.0.1:8910.

Serving the Qwen3.8-27B-NVFP4-MTP-GGUF using the llama.cpp

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 lẫn 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ử 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
 }'

Testing the Qwen3.8-27B-NVFP4-MTP-GGUF using the CURL command

Trong bài kiểm thử này, Qwen3.8-27B đã sinh 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 có 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.

Testing the Qwen3.8-27B-NVFP4-MTP-GGUF inside the llama.cpp webui

Với bài kiểm thử 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.

Testing the Qwen3.8-27B-NVFP4-MTP-GGUF inside the llama.cpp webui on coding task

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ộ. 

image4.png

Qwen3.8-27B đã tạo ra một website trau chuốt, chạy được 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 độ của 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 thuần cục bộ.

Pi là một agent lập trình nhẹ chạy trên terminal, có thể giúp bạn xây dựng, chỉnh sửa, kiểm thử và gỡ lỗi dự án ngay từ dòng lệnh.

Cài Pi bằng:

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 npm prefix 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.

Sau khi cài đặt xong, khởi động lại terminal.

Tiếp theo, cài tiện ích mở rộng 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 dự án mới và khởi động Pi:

mkdir new-project
cd new-project

Pi

Setting up the qwen3.8-27b in the Pi coding agent

Bên trong Pi, chạy /model, tìm llama-cpp và chọn Qwen3.8-27B.

Để thử nghiệm, 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.

Testing the qwen3.8-27b model with Pi coding agent

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

Testing the qwen3.8-27b model with Pi coding agent

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 hơn để gỡ lỗi và kiểm thử nhằm đảm bảo mọi thứ hoạt động đúng.

web dashboard generated with qwen3.8-27b model and Pi coding agent

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

web dashboard generated with qwen3.8-27b model and Pi coding agent

Đ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 thay đổi những thứ không liên quan thay vì hiểu đúng điều tôi muốn, nên tôi dừng lại tại đó.

Nhận xét cuối

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 cách tiếp cận 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ố độ chính xác cao hơn khoảng 10% ở cùng kích thước mô hình so với các 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 từ 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 thụ 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 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 lượng tử 4-bit tiêu chuẩn của Qwen3.8-27B chiếm khoảng 16–19 GB VRAM, vì vậy 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 của Blackwell. Trên các card cũ hơn, tệp 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 sự dùng bao nhiêu VRAM?

GGUF NVFP4-MTP khoảng 19 GB trên đĩa, và KV cache là yếu tố đẩy tổng dung lượng tăng lên khi ngữ cảnh lớn dần. Với lượng tử hóa K/V q8_0 ở ngữ cảnh rất dài, các lần 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 đi kèm các lớp dự đoán đa token tích hợp sẵn trong GGUF, đóng vai trò như mô hình nháp tích hợp, không cần tệp thứ hai. Đầu nháp đề xuất nhiều token cùng lúc và mô hình đầy đủ sẽ xác minh chúng, vì vậy các nháp được chấp nhận chỉ tốn một phần nhỏ so với một lượt truyền thẳng thông thường. Chất lượng đầu ra không thay đổi, vì mỗi token được mô hình chính chấp nhận đều là token mà nó sẽ sinh ra anyway.

Bạn nên dùng NVFP4 hay lượng tử hóa 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 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 tuyến K-quant, nên hãy kỳ vọng còn thô ráp hơn quanh phần chuyển đổi và công cụ.

Thiết lập này có xử lý hình ảnh được không, vì Qwen3.8-27B là mô hình thị giác?

Qwen3.8-27B là mô hình thị giác-ngôn ngữ 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 một multimodal projector cùng với mô hình bằng --mmproj, thường là tệp mmproj được phát hành trong cùng repo hoặc trong repo GGUF của Unsloth.


Abid Ali Awan's photo
Author
Abid Ali Awan
LinkedIn
Twitter

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.

Chủ đề

Trở thành Kỹ sư AI cùng DataCamp!

Tracks

Kỹ sư Trợ lý Trí tuệ Nhân tạo (AI) cho Lập trình viên

26 giờ
Học cách tích hợp trí tuệ nhân tạo (AI) vào các ứng dụng phần mềm thông qua việc sử dụng các giao diện lập trình ứng dụng (API) và các thư viện mã nguồn mở. Hãy bắt đầu hành trình trở thành Kỹ sư Trí tuệ Nhân tạo ngay hôm nay!
Xem chi tiếtRight Arrow
Bắt Đầu Khóa Học
Xem thêmRight Arrow