
ที่มาภาพ: XDA Developers
ทดสอบการส่งต่อ NPU ไปยัง Proxmox ไม่สำเร็จ ซอฟต์แวร์ตามไม่ทันฮาร์ดแวร์
⚡ สรุป 30 วิ
Mini PC รุ่นใหม่ที่มี NPU ถูกลองส่งต่อให้ VM บน Proxmox แต่ไดรเวอร์และการสนับสนุนเคอร์เนลยังไม่พร้อม ทำให้การใช้งาน NPU ในเวอร์ชวลไลเซชันไม่สำเร็จ
Mini PC รุ่นใหม่ที่มาพร้อมกับ NPU (Neural Processing Unit) ทำให้ผู้สนใจสร้างห้องแล็บส่วนตัวที่บ้านมีอุปกรณ์ระดับเอไอในกล่องขนาดเล็ก แต่การนำฮาร์ดแวร์เหล่านี้มาใช้กับซอฟต์แวร์เวอร์ชวลไลเซชันยังพบอุปสรรคหลายอย่าง บทความนี้สรุปผลการทดลองพยายาม “passthrough” NPU เข้าไปใน Proxmox ซึ่งแสดงให้เห็นว่าซอฟต์แวร์ยังตามไม่ทันความก้าวหน้าของฮาร์ดแวร์
Overview
การทดลองเริ่มจากการเลือก mini PC ที่ติดตั้ง NPU ภายในชิปเดียวกับ CPU และ GPU โดยมีสเปคระดับสูงเพื่อรองรับงานประมวลผล AI เบื้องต้น ผู้เขียนตั้งเป้าหมายให้ NPU ทำหน้าที่เป็นตัวเร่งความเร็วสำหรับเครื่องเสมือน (VM) บน Proxmox ซึ่งเป็นแพลตฟอร์มจัดการเวอร์ชวลไลเซชันที่ใช้ KVM และ QEMU เป็นพื้นฐาน
อย่างไรก็ตาม การส่งต่ออุปกรณ์ประมวลผลเฉพาะทางเช่น NPU ผ่าน VFIO (Virtual Function I/O) ต้องอาศัยไดรเวอร์ระดับลินุกซ์ที่รองรับการแยกการทำงานของฮาร์ดแวร์ออกจากโฮสต์ ซึ่งในกรณีนี้ยังไม่มีการพัฒนาอย่างเต็มรูปแบบ ทำให้การเชื่อมต่อระหว่าง VM กับ NPU ไม่เสถียรหรือทำงานไม่ได้
ผลลัพธ์สุดท้ายคือ แม้ฮาร์ดแวร์จะพร้อมใช้งาน แต่ซอฟต์แวร์ที่สนับสนุนยังขาดการออกแบบและทดสอบอย่างเพียงพอ ทำให้การนำ NPU ไปใช้ในสภาพแวดล้อมเวอร์ชวลไลเซชันยังเป็นเรื่องที่ต้องรอการพัฒนาต่อไป
Hardware Context
Mini PC รุ่นที่ใช้ในการทดลองมาพร้อมกับสเปคดังต่อไปนี้
- CPU: 8‑core ที่มีความถี่สูง รองรับการประมวลผลหลายเธรด
- GPU: Integrated graphics ที่สามารถจัดการกราฟิกพื้นฐานได้
- Memory: 16 GB DDR4 ขยายได้ถึง 32 GB
- NPU: ชิป AI ประมวลผลแบบเฉพาะที่ออกแบบมาสำหรับงาน inference
การรวม NPU เข้าในระบบบนชิปเดียว (SoC) ช่วยลดค่าใช้จ่ายและพื้นที่โดยไม่ต้องเพิ่มการ์ดเสริม แต่การเข้าถึง NPU ผ่านระบบปฏิบัติการยังต้องอาศัยไดรเวอร์ที่ให้สิทธิ์การเข้าถึงระดับ low‑level ซึ่งในหลายกรณียังไม่มีการเปิดเผยหรือยังอยู่ในขั้นตอนทดลอง
Virtualization Attempt
ขั้นตอนแรกผู้เขียนทำการติดตั้ง Proxmox VE 8 บน mini PC แล้วเปิดใช้งานฟีเจอร์ IOMMU เพื่อให้ระบบสามารถแยกอุปกรณ์ PCIe ได้ แม้ว่า NPU จะไม่ปรากฏเป็นอุปกรณ์ PCIe แต่อยู่ภายในบอร์ด การตั้งค่า VFIO จึงต้องอาศัยการแมปอุปกรณ์จากไฟล์ระบบ `/dev`
ต่อมาพยายามสร้าง VM ด้วย QEMU และกำหนดให้ผ่านอุปกรณ์ NPU ด้วยพารามิเตอร์ `-device vfio-pci,host=...` แต่ระบบแสดงข้อผิดพลาดว่าไม่พบไดรเวอร์ที่รองรับการแยก NPU นอกจากนี้ การตรวจสอบด้วย `lspci` หรือ `lsmod` ไม่แสดงโมดูลที่เชื่อมต่อกับ NPU อย่างชัดเจน
การทดสอบหลายครั้งยังพบว่าแม้จะบังคับให้ NPU อยู่ในโหมด “passthrough” แล้ว ตัว VM ก็ไม่สามารถเรียกใช้ฟังก์ชัน AI ได้ แสดงให้เห็นว่าการเชื่อมต่อระดับซอฟต์แวร์ยังไม่เสถียร
Software Challenges
สาเหตุหลักของความล้มเหลวมาจากการขาดการสนับสนุนในระดับเคอร์เนลของลินุกซ์ ซึ่ง NPU ส่วนใหญ่ยังใช้ไดรเวอร์แบบ proprietry ที่ไม่มีการเปิดเผยโค้ดหรือ API ที่เปิดให้ใช้ในสภาพแวดล้อมเวอร์ชวลไลเซชัน
- Kernel driver: ยังไม่มีโมดูลที่ลงทะเบียนเป็น PCI‑compatible device ทำให้ VFIO ไม่สามารถจับคู่อุปกรณ์ได้
- User‑space libraries: เครื่องมือเช่น OpenVINO, TensorFlow Lite ต้องอาศัย runtime ที่เชื่อมต่อกับไดรเวอร์เฉพาะ ซึ่งไม่ได้รับการคอมไพล์ให้ทำงานบน VM
- QEMU: ยังไม่มีการเพิ่มอุปกรณ์จำลองสำหรับ NPU ทำให้ผู้ใช้ต้องพึ่งพาการแมปอุปกรณ์จริงโดยตรง ซึ่งเป็นวิธีที่อ่อนไหวต่อการอัปเดตเคอร์เนล
นอกจากนี้ เอกสารของผู้ผลิตหลายรายให้ข้อมูลจำกัดเกี่ยวกับการใช้ NPU ในโหมด “passthrough” หรือ “SR‑IOV” ทำให้ชุมชนผู้พัฒนายังไม่มีแนวทางปฏิบัติที่ชัดเจน
Industry Implications
แม้ว่การทดลองนี้จะไม่ได้สำเร็จ แต่การที่ผู้ผลิต mini PC เริ่มบรรจุ NPU เข้าในผลิตภัณฑ์แสดงถึงแนวโน้มที่ AI จะกลายเป็นส่วนสำคัญของอุปกรณ์คอมพิวเตอร์ส่วนบุคคล การที่ซอฟต์แวร์เวอร์ชวลไลเซชันยังตามไม่ทันอาจทำให้ผู้ใช้ที่ต้องการประหยัดพลังงานหรือพื้นที่ต้องพึ่งพาการรัน AI บนโฮสต์โดยตรง
ในระยะยาว การพัฒนาไดรเวอร์เปิด (open‑source) สำหรับ NPU และการเพิ่มการสนับสนุนใน QEMU จะเป็นกุญแจสำคัญ หากไม่มีการร่วมมือระหว่างผู้ผลิตฮาร์ดแวร์และชุมชนโอเพนซอร์ส งานวิจัยและการพัฒนาระบบ AI บนเครื่องเสมือนอาจยังคงจำกัดอยู่
Analysis
จากการตรวจสอบพบว่าปัจจัยหลักที่ทำให้ NPU passthrough ไม่สำเร็จคือการขาดมาตรฐานการเชื่อมต่อระดับฮาร์ดแวร์และซอฟต์แวร์ ผู้ผลิตชิป AI ควรพิจารณาการออกแบบไดรเวอร์ให้เป็น PCIe‑compatible หรือสนับสนุน SR‑IOV เพื่อลดความซับซ้อนของการแยกอุปกรณ์
อีกมุมหนึ่งคือชุมชนผู้พัฒนา Proxmox และ QEMU ควรเพิ่มโมดูลจำลองที่รองรับ NPU อย่างเป็นทางการ ซึ่งจะช่วยให้ผู้ใช้ทั่วไปสามารถทดลองใช้งาน AI accelerator บน VM ได้โดยไม่ต้องพึ่งพาไดรเวอร์ proprietry
สุดท้าย การที่ข่าวนี้ถูกเผยแพร่บนแพลตฟอร์มอย่าง XDA‑Developers แสดงให้เห็นว่ามีความสนใจจากกลุ่มผู้ใช้ระดับสูงต่อการทำ AI บนฮาร์ดแวร์ขนาดเล็ก หากการสนับสนุนซอฟต์แวร์พัฒนาให้ทันกับฮาร์ดแวร์ การนำ NPU ไปใช้ในโซลูชันเวอร์ชวลไลเซชันอาจกลายเป็นมาตรฐานใหม่ในปีต่อ ๆ ไป
Summary
การทดลอง “passthrough” NPU ไปยัง Proxmox พบว่าซอฟต์แวร์ยังไม่พร้อมรองรับอุปกรณ์ AI ระดับนี้ แม้ฮาร์ดแวร์จะพร้อมใช้งาน การพัฒนาไดรเวอร์เปิดและการสนับสนุนใน QEMU จะเป็นก้าวสำคัญต่อการทำให้ AI accelerator สามารถทำงานบน VM ได้อย่างเสถียรในอนาคต.
แชร์บทความนี้:
ชอบบทความแบบนี้?
สมัคร AI Automate Weekly Newsletter — รับเคล็ดลับ AI + how-to ใหม่
ทุกสัปดาห์ตรงถึง inbox ฟรี ไม่มีสแปม
แหล่งข่าวต้นฉบับ
- ชื่อต้นฉบับ
- I tried passing an NPU through Proxmox, and the software just isn't ready to catch up with the hardware
- ผู้เขียน
- Jeff Butts
- แหล่ง
- XDA Developers
- วันที่เผยแพร่
- 29 มิถุนายน 2569 เวลา 18:00



