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

โหมด

ชุดสี

รายงานการทดสอบเชิงลึก: ปลดล็อกพลัง Qwen3.8-27B บน Dual AMD Radeon RX 9060 XT (RDNA 4)

ลองใช้การ์ดจอ Radeon RX 9060 XT 16GB สองตัว รวม VRAM 32GB รันโมเดล Qwen3.8-27B-Q4_K_M เปรียบเทียบประสิทธิภาพ ROCm vs Vulkan ในโหมดปกติ และในโหมดเพิ่มความเร็วด้วยเทคนิค Speculative Decoding อย่าง MTP และ DFlash

หัวข้อที่มีชื่อว่า “ลองใช้การ์ดจอ Radeon RX 9060 XT 16GB สองตัว รวม VRAM 32GB รันโมเดล Qwen3.8-27B-Q4_K_M เปรียบเทียบประสิทธิภาพ ROCm vs Vulkan ในโหมดปกติ และในโหมดเพิ่มความเร็วด้วยเทคนิค Speculative Decoding อย่าง MTP และ DFlash ”

รายงานฉบับนี้สรุปผลการทดสอบประสิทธิภาพเชิงลึกของโมเดล Qwen3.8-27B-Q4_K_M.gguf (ขนาดโมเดล ~16.8 GB) บนการ์ดจอ AMD Radeon RX 9060 XT แบบ Dual GPU (2x 16GB = รวม 32GB VRAM) โดยใช้ชุดทดสอบมาตรฐาน PromptMark v0.4.0 เพื่อเปรียบเทียบระหว่าง 2 Backend หลัก (ROCm vs Vulkan) ร่วมกับเทคนิคการเร่งความเร็ว Speculative Decoding ทั้งแบบ MTP (Multi-Token Prediction) และ DFlash (Block-Diffusion Drafting)


  • ฮาร์ดแวร์: 2× AMD Radeon RX 9060 XT (RDNA 4, 16GB GDDR6 ต่อใบ, รวม 32GB VRAM)
  • โมเดลเป้าหมาย (Target Model): Qwen3.8-27B-Q4_K_M.gguf (Context Target: 12,288 Tokens, Offload ทุกเลเยอร์ลง GPU 100%)
  • โมเดล Draft สำหรับ Speculative Decoding:
    • MTP Draft: Qwen3.8-27B-MTP-ONLY-Q4_K_M.gguf (--spec-type draft-mtp)
    • DFlash Draft: Qwen3.8-27B-DFlash-bootstrap-Q8_0.gguf (--spec-type draft-dflash --spec-draft-n-max 3)
  • ระเบียบการรัน Benchmark:
    • 1 Warm-up Run + 5 Measured Runs ต่อ 1 Workload (รันแบบ Round-Robin)
    • ปิด Prompt Cache (--no-cache-prompt) เพื่อวัดประสิทธิภาพการคำนวณจริงของฮาร์ดแวร์แบบ Fresh Prompt
    • 6 ชุดเวิร์กโหลดมาตรฐานครอบคลุมการใช้งานจริง:
      1. Content Generation (512 Input / 256 Output) — งานเขียนคอนเทนต์ทั่วไป
      2. Creative Writing (512 Input / 512 Output) — งานเขียนเชิงสร้างสรรค์/แต่งเรื่องยาว
      3. Summarization Light (2,048 Input / 256 Output) — สรุปบทความขนาดสั้น (2K)
      4. Summarization Moderate (4,096 Input / 256 Output) — สรุปเอกสารขนาดกลาง (4K)
      5. Summarization Long (8,192 Input / 256 Output) — สรุปเอกสารขนาดยาว (8K)
      6. Code Analysis (4,096 Input / 256 Output) — การอ่านและวิเคราะห์โค้ดซอร์สโค้ด

1. ความเร็วการสร้างคำตอบ (Decode Speed: Tokens/Second) — ยิ่งสูงยิ่งเร็ว

หัวข้อที่มีชื่อว่า “1. ความเร็วการสร้างคำตอบ (Decode Speed: Tokens/Second) — ยิ่งสูงยิ่งเร็ว”
ชุดเวิร์กโหลด (Workload) ROCm (ปกติ) ROCm (MTP) ROCm (DFlash) Vulkan (ปกติ) Vulkan (DFlash) Vulkan (MTP) โหมดที่ทำความเร็วได้สูงสุด
Content Generation (512 / 256) 14.22 14.73 15.80 17.16 22.89 32.10 Vulkan MTP (+87.1%)
Creative Writing (512 / 512) 14.26 15.80 10.23 17.11 21.13 27.66 Vulkan MTP (+61.6%)
Summarization Light (2K / 256) 14.91 14.74 10.23 17.04 23.93 30.33 Vulkan MTP (+78.0%)
Summarization Moderate (4K / 256) 14.83 13.45 13.49 16.91 23.59 31.80 Vulkan MTP (+88.0%)
Summarization Long (8K / 256) 14.65 12.90 20.23 16.66 22.24 31.23 Vulkan MTP (+87.4%)
Code Analysis (4K / 256) 14.23 13.35 13.04 16.91 22.54 30.88 Vulkan MTP (+82.6%)

2. ความเร็วการอ่านและประมวลผลอินพุต (Prefill Speed: Tokens/Second) — ยิ่งสูงยิ่งเร็ว

หัวข้อที่มีชื่อว่า “2. ความเร็วการอ่านและประมวลผลอินพุต (Prefill Speed: Tokens/Second) — ยิ่งสูงยิ่งเร็ว”
ชุดเวิร์กโหลด (Workload) ROCm (ปกติ) ROCm (MTP) ROCm (DFlash) Vulkan (ปกติ) Vulkan (DFlash) Vulkan (MTP) โหมดที่ทำความเร็วได้สูงสุด
Content Generation (512 / 256) 462.9 445.3 433.5 313.0 298.6 304.0 ROCm (ปกติ)
Creative Writing (512 / 512) 466.5 438.6 442.8 311.7 300.5 300.4 ROCm (ปกติ)
Summarization Light (2K / 256) 693.5 673.1 653.3 448.0 337.1 342.9 ROCm (ปกติ)
Summarization Moderate (4K / 256) 831.1 734.6 719.2 534.7 343.3 348.9 ROCm (ปกติ)
Summarization Long (8K / 256) 883.4 739.4 724.2 587.6 344.1 349.5 ROCm (ปกติ)
Code Analysis (4K / 256) 828.7 736.5 719.5 534.7 340.2 349.0 ROCm (ปกติ)

3. ระยะเวลาการเริ่มตอบสนองคำแรก (Time To First Token / TTFT: วินาที) — ยิ่งต่ำยิ่งเร็ว

หัวข้อที่มีชื่อว่า “3. ระยะเวลาการเริ่มตอบสนองคำแรก (Time To First Token / TTFT: วินาที) — ยิ่งต่ำยิ่งเร็ว”
ชุดเวิร์กโหลด (Workload) ROCm (ปกติ) ROCm (MTP) ROCm (DFlash) Vulkan (ปกติ) Vulkan (DFlash) Vulkan (MTP) โหมดที่ทำความเร็วได้สูงสุด
Content Generation (512 / 256) 1.420s 1.455s 1.440s 1.818s 1.965s 1.884s ROCm (ปกติ)
Creative Writing (512 / 512) 1.240s 1.320s 1.318s 1.767s 1.833s 1.833s ROCm (ปกติ)
Summarization Light (2K / 256) 3.065s 3.156s 3.250s 4.679s 6.186s 6.076s ROCm (ปกติ)
Summarization Moderate (4K / 256) 5.007s 5.685s 5.719s 7.682s 11.951s 11.764s ROCm (ปกติ)
Summarization Long (8K / 256) 9.296s 11.111s 11.343s 13.978s 23.832s 23.460s ROCm (ปกติ)
Code Analysis (4K / 256) 5.431s 6.262s 6.117s 7.961s 12.135s 12.010s ROCm (ปกติ)

1. Vulkan + MTP คือผู้ชนะเลิศด้านความเร็วการพิมพ์คำตอบ (Decode King)

หัวข้อที่มีชื่อว่า “1. Vulkan + MTP คือผู้ชนะเลิศด้านความเร็วการพิมพ์คำตอบ (Decode King)”
  • การเปิดใช้งานโมเดล MTP (Qwen3.8-27B-MTP-ONLY-Q4_K_M.gguf) บน Vulkan สร้างปรากฏการณ์ความเร็วที่น่าทึ่ง โดย Decode Speed พุ่งขึ้นจากเดิม 16.6–17.1 tokens/s กลายเป็น 30.3 – 32.1 tokens/s คิดเป็นการเพิ่มขึ้นสูงถึง +61.6% ถึง +88.0%
  • ความเร็วระดับ 32 tokens/s บนโมเดลขนาด 27B มอบประสบการณ์การใช้งานที่ลื่นไหลระดับ Real-time reading speed ทำให้ผู้ใช้ไม่ต้องนั่งรอข้อความยาวๆ อีกต่อไป

2. ROCm ครองแชมป์ความเร็วการอ่านอินพุต (Prefill Champion & Low TTFT)

หัวข้อที่มีชื่อว่า “2. ROCm ครองแชมป์ความเร็วการอ่านอินพุต (Prefill Champion & Low TTFT)”
  • ในแง่การประมวลผล Prompt/Context ขนาดใหญ่ ROCm ทำคะแนนทิ้งห่าง Vulkan อย่างชัดเจน โดยทำ Prefill Speed ได้สูงถึง 883.4 tokens/s บนบริบท 8K (ขณะที่ Vulkan ทำได้ 587.6 tokens/s หรือช้ากว่าราว 50%)
  • ส่งผลให้เวลา Time To First Token (TTFT) ของ ROCm เร็วกว่า เช่น บนบทความ 8K ROCm ใช้เวลาเพียง 9.29 วินาที ก่อนเริ่มพิมพ์คำตอบตัวแรก ขณะที่ Vulkan ต้องใช้เวลา 13.97 – 23.83 วินาที

3. กรณีศึกษา DFlash: ความเข้ากันได้ระหว่าง DFlash 1 vs DFlash 2

หัวข้อที่มีชื่อว่า “3. กรณีศึกษา DFlash: ความเข้ากันได้ระหว่าง DFlash 1 vs DFlash 2”
  • DFlash 2 (Qwen3.8-27B-DFlash2): เป็นสถาปัตยกรรมใหม่ (Two-tap Dynamic Convolutions + Path Selector) ซึ่งโค้ด Loader บน llama.cpp เวอร์ชันปัจจุบันยังไม่ถูกผสานเข้า Main Branch (อยู่ระหว่างพัฒนาใน PR #27342) ทำให้โหลดผ่าน llama.cpp มาตรฐานไม่ได้
  • DFlash 1 Bootstrap (Qwen3.8-27B-DFlash-bootstrap-Q8_0): เมื่อใช้โมเดลโครงสร้าง DFlash 1 ดั้งเดิม สามารถรันผ่าน llama.cpp ได้สำเร็จ และช่วยดัน Decode Speed บน Vulkan ขึ้นมาอยู่ที่ 21.1 – 23.9 tokens/s (เร็วกว่าโหมดปกติ ~33%) แม้จะยังไม่เร็วเท่า MTP แต่พิสูจน์ให้เห็นว่าระบบ Block-Diffusion ทำงานได้จริงบน Dual GPU RDNA 4

รูปแบบงาน (Use Case) Backend และโหมดที่แนะนำ เหตุผลทางเทคนิค
งาน Chatbot, เขียนบทความ, Coding, ตอบคำถามทั่วไป Vulkan + MTP ความเร็ว Decode สูงสุด (~32 tokens/s), คำตอบไหลลื่นเร็วขึ้นเกือบ 2 เท่า
งาน RAG, สรุปเอกสารยาว (8K-32K+), สกัดข้อมูลจาก PDF ขนาดใหญ่ ROCm (Normal) Prefill เร็วสูงสุด (~883 tokens/s), รอเริ่มตอบคำแรกเร็วที่สุด (TTFT สั้นที่สุด)
งานรันบน Production Server (Linux / SGLang / vLLM) ROCm + DFlash 2 SGLang รองรับ DFlash 2 natively และดึงพลัง Compute จาก ROCm ได้เต็มศักยภาพ