ข้ามไปยังเนื้อหาหลัก

วิธีรัน Qwen3.8-27B แบบโลคอลบน NVIDIA RTX 5090

เรียนรู้การรัน Qwen3.8-27B แบบโลคอลด้วย NVFP4 ที่รองรับ Blackwell และ MTP speculative decoding ทำความเร็วได้สูงสุด 170 โทเค็นต่อวินาทีด้วย llama.cpp
อัปเดตแล้ว 31 ส.ค. 2569  · 6 นาที อ่าน

สำรวจด้วย AI

ChatGPTClaudePerplexity

Qwen3.8-27B กำลังกลายเป็นหนึ่งในโมเดลยอดนิยมสำหรับ AI แบบโลคอลอย่างรวดเร็ว แม้จะมีพารามิเตอร์เพียง 27 พันล้าน แต่ให้ประสิทธิภาพที่ทัดเทียมกับโมเดลขนาดใหญ่กว่ามากในงานโค้ดดิ้ง การให้เหตุผล เอเจนต์ และเบนช์มาร์กงานทั่วไป และกำลังเข้าใกล้โมเดลอย่าง GLM-5.2 ในหลายด้าน ทำให้ได้รับความนิยมเป็นพิเศษในกลุ่มผู้ที่ทดลองใช้งานฮาร์ดแวร์ทรงพลังภายในเครื่อง

RTX 5090 เหมาะอย่างยิ่งกับ Qwen3.8-27B เพราะสถาปัตยกรรม Blackwell รองรับ NVFP4 ทำให้โมเดลรันได้เร็วมากโดยยังคงคุณภาพเอาต์พุตที่แข็งแรง เมื่อผสานกับ speculative decoding ผ่าน multi-token prediction (MTP) การบิลด์ llama.cpp ที่ปรับแต่ง และโมเดล GGUF ที่เหมาะสม Qwen3.8-27B สามารถทำความเร็วได้เกิน 100 โทเค็นต่อวินาทีบน RTX 5090 เพียงตัวเดียว

ในคู่มือนี้ จะตั้งค่าหนึ่งในวิธีที่ง่ายที่สุดเพื่อให้ได้สมดุลที่ดีที่สุดของความเร็ว ความแม่นยำ และการรองรับคอนเท็กซ์ยาวบน RTX 5090 หรือ GPU ตระกูล Blackwell อื่นๆ เราจะคอมไพล์ llama.cpp ให้รองรับ Blackwell โดยกำเนิด ดาวน์โหลด Qwen3.8-27B NVFP4-MTP GGUF รันด้วยการเร่งความเร็วด้วย GPU และ MTP speculative decoding ทดสอบ API ที่เข้ากันได้กับ OpenAI และเว็บอินเทอร์เฟซในตัว และสุดท้ายเชื่อมต่อกับ Pi เพื่อใช้ Qwen3.8-27B เป็นเอเจนต์โค้ดดิ้งแบบโลคอลเต็มรูปแบบ

แนะนำให้ดู คู่มือ Qwen3.8-Flash-Next พรีวิวรุ่นใหม่ของ Qwen4 และบทช่วยสอนเกี่ยวกับวิธี รัน Qwen3.8-Flash-Next แบบโลคอล ด้วย

1. ตั้งค่า llama.cpp สำหรับ GPU ตระกูล Blackwell

ก่อนอื่น ตรวจสอบให้แน่ใจว่าเครื่องมองเห็น GPU ถูกต้อง และเช็กเวอร์ชันไดรเวอร์ NVIDIA และ CUDA

nvidia-smi

RTX 5090 GPU summary

ควรเห็น RTX 5090 ของเครื่อง เวอร์ชันไดรเวอร์ เวอร์ชัน CUDA หน่วยความจำ GPU และการใช้งาน GPU ปัจจุบัน

หมายเหตุ: การตั้งค่านี้ออกแบบมาสำหรับ GPU ตระกูล NVIDIA Blackwell โดยเฉพาะ เช่น RTX 5090 โดยบิลด์ด้านล่างจะกำหนดเป้าหมาย SM120 ซึ่งเป็นสถาปัตยกรรมคอมพิวต์ที่ใช้ใน RTX 5090

ต่อไปจะดาวน์โหลดและคอมไพล์ llama.cpp เวอร์ชันล่าสุดพร้อมรองรับ 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

ส่วนสำคัญคือ -DCMAKE_CUDA_ARCHITECTURES=120 ตัวเลือกนี้บอกให้ llama.cpp บิลด์สำหรับสถาปัตยกรรม Blackwell ที่ใช้ใน RTX 5090 โดยเฉพาะ

เมื่อบิลด์เสร็จ จะทำให้ llama-server ใช้งานได้ทั่วทั้งระบบเพื่อจะได้รันจากโฟลเดอร์ใดก็ได้:

sudo ln -sf "$(realpath ./build/bin/llama-server)" /usr/local/bin/llama-server

ตอนนี้ให้ตรวจสอบว่าใช้งานได้ปกติ:

llama-server --version

ควรเห็นเอาต์พุตลักษณะคล้ายนี้:

version: 0.1.1-dev (build 10479, commit 0021a77de)
built with GNU 13.3.0 for Linux x86_64

เรียบร้อย ขณะนี้เรามีบิลด์ llama.cpp ที่รองรับ CUDA สามารถใช้ประโยชน์จาก RTX 5090 และการรองรับ NVFP4 ของ Blackwell โดยกำเนิดได้

2. ดาวน์โหลดโมเดล Qwen3.8-27B NVFP4-MTP

ต่อไปจะดาวน์โหลดโมเดล Qwen3.8-27B

ขั้นแรก ติดตั้ง Hugging Face CLI:

pip install -U huggingface_hub

สร้างโฟลเดอร์สำหรับเก็บโมเดล:

mkdir -p /workspace/models/qwen38

จากนั้นดาวน์โหลด NVFP4-MTP GGUF:

hf download felippeburk/Qwen3.8-27B-NVFP4-MTP-GGUF \
  --local-dir /workspace/models/qwen38

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

นี่คือเวอร์ชันที่ต้องการสำหรับการตั้งค่านี้ เพราะใช้ NVFP4 และมีการรองรับ MTP ที่เป็นแหล่งหลักของการเพิ่มความเร็วบน RTX 5090

3. เริ่มเซิร์ฟเวอร์ Qwen3.8-27B

มาถึงส่วนที่สนุกกัน เราจะให้บริการ Qwen3.8-27B บน GPU เต็มรูปแบบพร้อม Flash Attention หน้าต่างคอนเท็กซ์ 131K และ MTP speculative decoding เพื่อการสร้างข้อความที่เร็วขึ้น 

รัน:

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

มีออปชันค่อนข้างมาก แต่ส่วนใหญ่มีไว้เพื่อรีดสมรรถนะจาก 5090 ให้ดีที่สุด

ออปชันหลักที่ควรรู้คือ:

  • --ctx-size 131072 ให้หน้าต่างคอนเท็กซ์ประมาณ 131K

  • --n-gpu-layers all ทำให้โมเดลทำงานบน GPU ตลอด

  • --flash-attn on เปิดใช้ Flash Attention

  • --cache-type-k q8_0 และ --cache-type-v q8_0 ช่วยลดการใช้หน่วยความจำ KV cache

  • --spec-type draft-mtp เปิดใช้ MTP speculative decoding ของ Qwen3.8

  • --spec-draft-n-max 4 ควบคุมจำนวนโทเค็นแบบ speculative ที่ MTP สามารถสร้างได้ต่อครั้ง

สำหรับการตั้งค่านี้ ใช้ค่า n-max 4 เป็นจุดเริ่มต้นสำหรับ RTX 5090 สามารถทดลองค่าต่างๆ เช่น 2 (ที่การ์ดโมเดลแนะนำสำหรับ GGUF นี้) หรือ 3 ภายหลังได้ เพราะค่าที่เร็วที่สุดอาจต่างกันเล็กน้อยขึ้นกับระบบ

เมื่อ llama-server โหลดโมเดลเสร็จ Qwen3.8 จะพร้อมใช้งานแบบโลคอลที่ http://127.0.0.1:8910

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

ตอนนี้เราได้รัน Qwen3.8-27B แบบโลคอลแล้ว ต่อไปจะทดสอบโมเดลผ่านทั้ง API และอินเทอร์เฟซบนเบราว์เซอร์ในตัว

4. ทดสอบความเร็วและประสิทธิภาพการโค้ดของ Qwen3.8-27B

ขณะที่เซิร์ฟเวอร์กำลังรันอยู่ เปิดเทอร์มินัลอีกหน้าหนึ่งแล้วส่งคำขอทดสอบไปยัง API ที่เข้ากันได้กับ 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

ในการทดสอบนี้ Qwen3.8-27B สร้าง 2,000 โทเค็นที่ความเร็ว 122 โทเค็น/วินาที พร้อมอัตราการยอมรับ MTP ที่น่าประทับใจ 84.9% 

llama.cpp ยังมีอินเทอร์เฟซบนเบราว์เซอร์ในตัว จึงสามารถทดสอบโมเดลได้โดยไม่ต้องใช้ API

เปิด http://127.0.0.1:8910 ในเบราว์เซอร์เพื่อดู UI

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

สำหรับการทดสอบที่ซับซ้อนขึ้น ใช้พรอมป์ตนี้:

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

บน RTX 5090 ของเครื่อง ทดสอบได้เฉลี่ยราว 142 โทเค็นต่อวินาที และบางครั้งทำความเร็วได้ราว 170 โทเค็นต่อวินาที ซึ่งเร็วมากสำหรับโมเดลขนาด 27B ที่รันแบบโลคอล 

image4.png

Qwen3.8-27B สร้างเว็บไซต์ที่เรียบร้อยและใช้งานได้จริงแบบพร้อมใช้ทันที วิธีนี้เหมาะสำหรับทดสอบความสามารถด้านโค้ดดิ้งของโมเดลและความเร็วของระบบโลคอลอย่างรวดเร็ว 

5. ใช้ Qwen3.8-27B กับ Pi

ในส่วนนี้ จะเชื่อมต่อ Qwen3.8-27B กับ Pi และใช้เป็นเอเจนต์โค้ดดิ้งแบบโลคอลเต็มรูปแบบ

Pi เป็นเอเจนต์โค้ดดิ้งแบบเทอร์มินัลน้ำหนักเบา ที่ช่วยให้สร้าง แก้ไข ทดสอบ และดีบักโปรเจ็กต์ได้จากคอมมานด์ไลน์โดยตรง

ติดตั้ง Pi ด้วย:

curl -fsSL https://pi.dev/install.sh | sh

ตัวติดตั้งต้องใช้ Node.js และ npm โดยจะติดตั้ง Pi ลงใน global npm prefix หากยังไม่มี Node ให้ติดตั้งก่อนด้วย nvm หรือโปรแกรมจัดการแพ็กเกจของระบบ

เมื่อติดตั้งเสร็จ ให้รีสตาร์ทเทอร์มินัล

ถัดไป ติดตั้งส่วนขยาย pi-llama และชี้ Pi ไปยังเซิร์ฟเวอร์ llama.cpp แบบโลคอลของเรา:

pi install git:github.com/huggingface/pi-llama

export LLAMA_BASE_URL=http://127.0.0.1:8910/v1

สร้างโปรเจ็กต์ใหม่และเริ่มใช้งาน Pi:

mkdir new-project
cd new-project

Pi

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

ภายใน Pi ให้รัน /model ค้นหา llama-cpp และเลือก Qwen3.8-27B

เพื่อทดสอบ ได้ให้พรอมป์ตนี้:

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

มันสร้างโปรเจ็กต์ทั้งหมดเสร็จภายในไม่กี่นาที 

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

จากนั้นให้เริ่มเซิร์ฟเวอร์และทดสอบทั้งฝั่งหน้าบ้านและลอจิกของแอป มันใช้เวลาไปกับการดีบักและทดสอบมากขึ้นเพื่อให้มั่นใจว่าทุกอย่างทำงานถูกต้อง

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

เมื่อทดสอบแดชบอร์ดเอง แอปทำงานได้ดี กราฟสวย และประสบการณ์โดยรวมลื่นไหล

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

จุดอ่อนหลักคือการปรับ UI แบบละเอียด หลังจากพรอมป์ตไล่แก้หลายครั้ง เริ่มมีการเปลี่ยนแปลงที่ไม่เกี่ยวข้องแทนที่จะเข้าใจสิ่งที่ต้องการอย่างตรงจุด จึงหยุดไว้เพียงเท่านั้น

ข้อคิดส่งท้าย

Qwen3.8-27B ยังใหม่มาก ชุมชนกำลังหาส่วนผสมที่ดีที่สุดของการควอนไทซ์และ speculative decoding MTP ทำงานได้ดีมาก แต่แนวทางใหม่อย่าง DFlash 2 และ DSpark ก็กำลังถูกทดสอบ โดยมีรายงานว่าบางฮาร์ดแวร์และเวิร์กโหลดให้ความเร็วสูงกว่า

Unsloth เพิ่งออก Dynamic v3.0 GGUFs สำหรับ Qwen3.8-27B โดยอ้างว่าความแม่นยำสูงขึ้นราว 10% ที่ขนาดโมเดลเท่าเดิมเมื่อเทียบกับควอนไทซ์ก่อนหน้า จึงเป็นอีกตัวเลือกที่น่าสนใจหากต้องการคุณภาพที่ดีกว่าโดยยังคงการตั้งค่า inference แบบโลคอลใกล้เคียงเดิม

สำหรับตอนนี้ มองว่า NVFP4 + MTP + llama.cpp เป็นหนึ่งในชุดตั้งค่าที่ง่ายและเร็วที่สุดสำหรับ RTX 5090 การได้ราว 140 โทเค็นต่อวินาทีจากโมเดล 27B พร้อมหน้าต่างคอนเท็กซ์ใหญ่ และความสามารถพอจะรันเอเจนต์โค้ดดิ้งจริงได้ ถือว่าน่าประทับใจ และมีแนวโน้มจะเร็วขึ้นอีกเมื่อ llama.cpp, Unsloth, DFlash 2 และ DSpark พัฒนาต่อ

คำถามที่พบบ่อยเกี่ยวกับการรัน Qwen3.8-27B แบบโลคอล

ต้องใช้ RTX 5090 เท่านั้นหรือไม่ในการรัน Qwen3.8-27B แบบโลคอล?

ไม่จำเป็น GGUF แบบ 4 บิตมาตรฐานของ Qwen3.8-27B ใช้ VRAM ราว 16–19 GB ดังนั้น RTX 5080, 4090 หรือ Mac 24 GB ก็รันได้ RTX 5090 สำคัญสำหรับการตั้งค่านี้เพราะ NVFP4 ต้องการเทนเซอร์คอร์ของ Blackwell บนการ์ดรุ่นเก่า ไฟล์ NVFP4 รันได้แต่จะได้เพียงการประหยัดหน่วยความจำ ไม่ได้ความเร็วเพิ่ม

คอนฟิกนี้ใช้ VRAM จริงๆ เท่าไร?

ไฟล์ NVFP4-MTP GGUF มีขนาดราว 19 GB บนดิสก์ และ KV cache จะดันการใช้หน่วยความจำรวมให้สูงขึ้นเมื่อคอนเท็กซ์ยาวขึ้น ด้วยการควอนไทซ์ K/V แบบ q8_0 ที่คอนเท็กซ์ยาวมากๆ เคสที่เผยแพร่ของ RTX 5090 จะอยู่ช่วงกลางๆ 20 กว่า GB ดังนั้นการ์ด 32 GB จะใช้งานได้สบาย บน 24 GB จำเป็นต้องลด --ctx-size ลงต่ำกว่า 131072 มาก

MTP speculative decoding ทำอะไร และไม่มีการสูญเสียคุณภาพหรือไม่?

Qwen3.8 มาพร้อมเลเยอร์ multi-token prediction ติดตั้งอยู่ใน GGUF ซึ่งทำหน้าที่เป็นร่างโมเดลในตัว โดยไม่ต้องมีไฟล์ที่สอง หัวร่าง (draft head) จะเสนอหลายโทเค็นพร้อมกัน และโมเดลเต็มจะตรวจสอบ ยอมรับร่างที่ผ่านทำให้มีค่าใช้จ่ายเพียงเศษส่วนของ forward pass ปกติ คุณภาพเอาต์พุตไม่เปลี่ยน เพราะทุกโทเค็นที่โมเดลหลักยอมรับคือสิ่งที่มันจะสร้างอยู่แล้ว

ควรใช้ NVFP4 หรือ Q4_K_M แบบปกติ?

เลือก NVFP4 หากใช้ GPU ตระกูล Blackwell และต้องการความเร็วสูงสุด เลือก GGUF มาตรฐานอย่าง Q4_K_M หรือ UD-Q4_K_XL ของ Unsloth หากใช้งานบน Ampere หรือ Ada หรือหากให้ความสำคัญกับคุณภาพเอาต์พุตต่อกิกะไบต์มากกว่า การรองรับ NVFP4 ใน llama.cpp ยังใหม่กว่าช่องทาง K-quant ดังนั้นคาดว่าจะมีความขรุขระมากกว่าในด้านการแปลงและทูลิง

การตั้งค่านี้รองรับรูปภาพหรือไม่ เนื่องจาก Qwen3.8-27B เป็นโมเดลวิสชัน?

Qwen3.8-27B เป็นโมเดลภาษามองเห็น (vision-language) โดยกำเนิด แต่การแปลง GGUF แบบข้อความล้วนจะตัด vision tower ออก หากต้องการใช้ภาพ ต้องส่ง multimodal projector ควบคู่กับโมเดลด้วย --mmproj โดยทั่วไปคือไฟล์ mmproj ที่เผยแพร่ในรีโปเดียวกันหรือในรีโป GGUF ของ Unsloth

หัวข้อ
ปัญญาประดิษฐ์

ก้าวสู่เส้นทาง AI Engineer กับ DataCamp!

แทร็ก

วิศวกร AI ระดับ Associate สำหรับนักพัฒนา

26 ชม.
เรียนรู้วิธีผสาน AI เข้ากับแอปพลิเคชันซอฟต์แวร์โดยใช้ API และไลบรารีโอเพนซอร์ส เริ่มต้นเส้นทางสู่การเป็น AI Engineer ของคุณวันนี้!
ดูรายละเอียดRight Arrow
เริ่มคอร์ส
ดูเพิ่มเติมRight Arrow