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

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

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

สำรวจด้วย AI

ChatGPTClaudePerplexity

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

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

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

1. ตั้งค่า llama.cpp สำหรับ GPU สถาปัตยกรรม Blackwell

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

nvidia-smi

สรุปข้อมูล GPU RTX 5090

ควรเห็น 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)

คอมไพล์ llama.cpp สำหรับ GPU RTX 5090

จุดสำคัญคือ -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

แล้วดาวน์โหลดไฟล์ GGUF แบบ NVFP4-MTP:

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

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

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

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

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

รันคำสั่ง:

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 ให้ context window ประมาณ 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 ของ Qwen3.8

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

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

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

ให้บริการ Qwen3.8-27B-NVFP4-MTP-GGUF ด้วย 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
 }'

ทดสอบ Qwen3.8-27B-NVFP4-MTP-GGUF ด้วยคำสั่ง CURL

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

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

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

ทดสอบ Qwen3.8-27B-NVFP4-MTP-GGUF ในเว็บ UI ของ llama.cpp

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

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.

ทดสอบ Qwen3.8-27B-NVFP4-MTP-GGUF ในเว็บ UI ของ llama.cpp กับงานโค้ดดิ้ง

บน 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

ตั้งค่า qwen3.8-27b ในเอเจนต์โค้ดดิ้ง Pi

ภายใน 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.

ทดสอบโมเดล qwen3.8-27b กับเอเจนต์โค้ดดิ้ง Pi

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

ทดสอบโมเดล qwen3.8-27b กับเอเจนต์โค้ดดิ้ง Pi

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

เว็บแดชบอร์ดที่สร้างด้วยโมเดล qwen3.8-27b และเอเจนต์ Pi

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

เว็บแดชบอร์ดที่สร้างด้วยโมเดล qwen3.8-27b และเอเจนต์ Pi

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

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

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

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

ณ ตอนนี้ ฉันมองว่า 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 quantization แบบ q8_0 ที่คอนเท็กซ์ยาวมาก เคสที่เผยแพร่บน RTX 5090 อยู่ราวกลางๆ 20 กว่า GB ดังนั้นการ์ด 32 GB จะสบาย บน 24 GB จะต้องลด --ctx-size ลงต่ำกว่า 131072 พอสมควร

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

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

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

เลือก NVFP4 หากมีการ์ด Blackwell และต้องการความเร็วสูงสุด เลือก GGUF มาตรฐานอย่าง Q4_K_M หรือของ Unsloth อย่าง UD-Q4_K_XL หากใช้ 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!

Tracks

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

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