- การทดลองรัน AMD, Intel, Nvidia GPU บน Raspberry Pi 5 และเปรียบเทียบกับเดสก์ท็อป PC พบว่าหลายกรณีมีการสูญเสียประสิทธิภาพเพียง 2~5% เท่านั้น
- ทดสอบ 4 ด้าน ได้แก่ Jellyfin transcoding, GravityMark rendering, LLM/AI inference, และ การจัดชุด multi-GPU เพื่อวัดประสิทธิภาพและความคุ้มค่าต่อราคา
- ในกรณีที่เชื่อมต่อ Nvidia RTX A5000 4 ใบ พบว่า ต่างจาก Intel server ไม่เกิน 2% โดย PCIe switch ที่ช่วยให้แชร์หน่วยความจำระหว่าง GPU มีบทบาทสำคัญ
- ต้นทุนรวมของ ระบบ Raspberry Pi eGPU อยู่ที่ประมาณ $350~400 ขณะที่ PC อยู่ที่ $1500~2000 และการใช้พลังงานก็ต่ำกว่ามากด้วย (ขณะ idle 4~5W vs 30W)
- เป็นกรณีพิสูจน์ว่า Raspberry Pi มีศักยภาพในฐานะแพลตฟอร์มทางเลือกแบบ พลังงานต่ำและต้นทุนต่ำ สำหรับใช้งาน GPU ขนาดใหญ่ได้อย่างมีประสิทธิภาพ
ภาพรวมการทดลอง
- ตรวจสอบความเป็นไปได้ในการใช้งาน GPU แม้คำนึงถึงข้อจำกัดของ PCIe Gen 3 x1 bandwidth (8 GT/s) บน Raspberry Pi 5
- เทียบกับ เดสก์ท็อป PC รุ่นใหม่ (PCIe Gen 5 x16, 512 GT/s)
- หัวข้อทดสอบคือ media transcoding (Jellyfin), GPU rendering (GravityMark), ประสิทธิภาพ LLM/AI, และ การจัดชุด multi-GPU
- ใช้ PCIe Gen 4 external switch และ 3-slot backplane ของ Dolphin ICS เพื่อทดลองรัน GPU 2 ใบพร้อมกัน
กรณี Raspberry Pi ที่เชื่อมต่อ GPU 4 ใบ
- ผู้ใช้ GitHub ชื่อ mpsparrow เชื่อมต่อ Nvidia RTX A5000 GPU 4 ใบ เข้ากับ Pi เครื่องเดียว
- ตอนรัน Llama 3 70B model มี ความต่างจาก Intel server ไม่เกิน 2% (11.83 vs 12 tokens/sec)
- ด้วย PCIe switch จึงสามารถแชร์หน่วยความจำระหว่าง GPU ได้ และหลบข้อจำกัดด้าน bandwidth ของ Pi
- แม้เป็นชุด GPU เดี่ยว ก็ยังพบว่าในบางงานให้ ประสิทธิภาพเทียบเท่าหรือดีกว่าเดสก์ท็อป
เปรียบเทียบต้นทุนและประสิทธิภาพ
- ชุด Raspberry Pi eGPU: ประมาณ $350~400, ชุด Intel PC: ประมาณ $1500~2000
- การใช้พลังงานขณะ idle: Pi 4~5W, PC 30W
- เมื่อไม่นับราคา GPU, Pi เหนือกว่าในทั้ง ความคุ้มค่าด้านต้นทุนและประสิทธิภาพพลังงาน ภายใต้เงื่อนไขเดียวกัน
Jellyfin transcoding benchmark
- เมื่อใช้ Nvidia 4070 Ti, PC เหนือกว่าใน raw throughput (2GB/s)
- Pi อยู่ที่ PCIe 850MB/s, USB SSD 300MB/s
- แต่ในการสตรีมมีเดีย H.264/H.265 นั้น Pi ก็ยังจัดการ 1080p·4K transcoding ได้อย่างลื่นไหล
- รองรับ NVENC hardware encoding และ transcoding พร้อมกัน 2 งาน ได้อย่างเสถียร
- AMD GPU มีปัญหาบางส่วนด้านความเสถียรในการ transcoding
การทดสอบเรนเดอร์ GravityMark
- ทดสอบโดยเน้น AMD GPU เป็นหลัก โดย PC เร็วกว่านิดหน่อย แต่ความต่างเล็กมาก
- เมื่อใช้ RX 460 พบว่า Pi ทำ ประสิทธิภาพต่อวัตต์ (performance/W) ได้สูงกว่า PC
- กับ GPU รุ่นเก่าที่ใช้ bandwidth PCIe Gen 3 เท่ากัน Pi มี ข้อได้เปรียบเชิงสัมพัทธ์
เปรียบเทียบประสิทธิภาพ AI และ LLM
- ในการทดสอบ AMD Radeon AI Pro R9700 (32GB VRAM) พบว่า ประสิทธิภาพต่ำกว่าคาด อาจมีสาเหตุจากปัญหา driver หรือการตั้งค่า BAR
- เมื่อใช้ Nvidia RTX 3060 (12GB) กับ Llama 2 13B model พบว่า Pi เร็วกว่าพีซี
- ผลการวัด ประสิทธิภาพเชิงพลังงาน ระบุว่า Pi มี throughput ต่อพลังงานดีกว่า PC
- แม้แต่การทดสอบ RTX 4090 ก็ยังมี ความต่างไม่เกิน 5% สำหรับโมเดลขนาดใหญ่ (Qwen3 30B) และหลายกรณี Pi มีประสิทธิภาพดีกว่าในแง่ความคุ้มค่าพลังงาน
- ทั้ง CUDA backend และ Vulkan backend ทำงานได้ตามปกติบน Pi
การทดลองชุด dual GPU
- ใช้ Dolphin PCIe interconnect board และ MXH932 HBA
- ปิด ACS เพื่อให้ GPU เข้าถึงหน่วยความจำกันโดยตรงได้
- ในชุดที่ใช้ GPU คนละรุ่น (4070, A4000) นั้น ไม่รองรับ VRAM pooling ทำให้การเพิ่มประสิทธิภาพมีข้อจำกัด
- หากใช้ GPU รุ่นเดียวกัน จะสามารถรันโมเดลที่ใหญ่ขึ้นได้ (Qwen3 30B เป็นต้น)
- ชุด AMD RX 7900 XT + R9700 รันบางโมเดลไม่สำเร็จเพราะปัญหา driver
- โดยรวม Intel PC ยังเร็วกว่า แต่ Pi ก็ยังรักษาประสิทธิภาพที่ใกล้เคียงได้ในโมเดลขนาดใหญ่
บทสรุป
- ในด้าน ประสิทธิภาพสูงสุดและความสะดวกใช้งาน PC ยังเหนือกว่า
- แต่สำหรับ เวิร์กโหลดที่เน้น GPU และสภาพแวดล้อมแบบ พลังงานต่ำ·ต้นทุนต่ำ นั้น Raspberry Pi เป็นทางเลือกที่ใช้งานได้จริง
- ลดพลังงานขณะ idle ได้ 20~30W, และ SBC ที่ใช้ Rockchip·Qualcomm อาจให้ทั้งประสิทธิภาพและ I/O bandwidth สูงกว่า
- จุดประสงค์ของการทดลองคือ เรียนรู้ข้อจำกัดของ Pi และโครงสร้างของ GPU computing และในกระบวนการนั้นก็ได้ยืนยัน ศักยภาพของระบบขนาดเล็ก
1 ความคิดเห็น
ความเห็นจาก Hacker News
ถ้าจะรัน LLM แบบโลคัล สุดท้ายแล้ว GPU คือหัวใจสำคัญ
เลยกำลังคิดอยู่ว่าคอมพิวเตอร์ที่ ถูกที่สุด ที่จะเอามาใช้คู่กับ GPU ได้คืออะไร
ผมไม่มีความสามารถมากพอจะเข้าใจหรือแก้ปัญหาอย่าง BAR ได้ เลยแค่ประกอบกล่อง x86 ราคาถูกที่ใส่ GPU พอประมาณแล้วใช้งานไป
แต่ก็ยังสลัดความคิดไม่ได้ว่าน่าจะมีวิธีที่มีประสิทธิภาพกว่านี้
เว็บคือ inferbench.com, ซอร์สโค้ดอยู่ใน ที่เก็บ GitHub
ผมมองว่า GPU ควรมี RAM อย่างน้อย 128GB
ประสิทธิภาพ CPU ไม่จำเป็นต้องสูงมาก แต่ต้องรองรับ PCIe lanes หลายเลน ดังนั้น CPU เซิร์ฟเวอร์สเปกไม่สูงอย่าง AMD EPYC จึงเหมาะ
มันค่อนข้างเหมาะกับ LLM ขนาดกลาง
ผมไม่เข้าใจว่าทำไมถึงบอกว่าส่วนของมัลติ GPU น่าประหลาดใจ
เฟรมเวิร์ก LLM ส่วนใหญ่ (เช่น llama.cpp) แบ่งโมเดลตามเลเยอร์ ทำให้เกิดการพึ่งพากันแบบลำดับ ดังนั้นถึงจะใช้หลาย GPU ก็ไม่ได้ทำงานแบบขนานจริง
GPU บางตัวอาจเร็วกว่าในงานประมวลผลพรอมป์ต์ ขณะที่อีกบางตัวเร็วกว่าในงานสร้างโทเคน ดังนั้นการผสม Radeon กับ NVIDIA บางทีก็ได้ผล
การเพิ่มประสิทธิภาพจริง ๆ ทำได้ในแบ็กเอนด์แบบ tensor parallel
วิธีนี้คือการแบ่งโครงข่ายประสาทตามทิศทางการไหลของข้อมูล จึงต้องอาศัยการเชื่อมต่อระหว่าง GPU ที่ดี (PCIe x16, NVlink, Infinity Fabric ฯลฯ)
ถ้าไม่มี สิ่งที่เห็นอาจเป็นการใช้ GPU ที่ขึ้น ๆ ลง ๆ ไม่สม่ำเสมอ
วิธีแบ่ง LLM เพื่อให้รันหลายงานพร้อมกันได้ เช่น แยกบทบาทเป็น “ผู้จัดการ” และ “วิศวกร” ในรูปแบบ สถาปัตยกรรมเอเจนต์ น่าสนใจดี
โมเดลผู้จัดการจะสร้างพรอมป์ต์ แล้วโมเดลลูกจะทำงานแบบขนานก่อนส่งผลลัพธ์กลับมา
ในความเป็นจริงมันขยายไปถึงระดับ เมกะไบต์ ตามความยาวซีเควนซ์
เช่น ถ้า hidden state ของ Qwen3 30B มีขนาด 5120 ก็จะเท่ากับ 5120 ไบต์ต่อโทเคนเมื่อควอนไทซ์ 8 บิต
แค่เกิน 200 โทเคนก็เป็นระดับ MB แล้ว
แม้แบนด์วิดท์ PCIe x1 (ประมาณ 2GB/s) จะเพียงพอ แต่ latency อาจเป็นปัญหาใหญ่กว่า
ดีใจมากที่มีคนช่วยลองการทดลองแบบนี้
ผมเองก็เคยใช้ eGPU กับโน้ตบุ๊กเครื่องสำรอง แล้วคิดว่า “แบบนี้ใช้กับ Raspberry Pi ได้ไหมนะ?”
น่าจะดู ประสิทธิภาพการเล่นเกม ด้วย
แต่ก็หายากที่จะหาเกม AAA ที่รองรับ ARM และการบังคับใช้ FEX เพื่ออีมูเลต x86 ก็คงไม่ยุติธรรม
ตอนใช้ constrained decoding (อิงตาม JSON schema) การใช้ CPU ขึ้นไปถึง 100%
ผมก็เห็นอาการเดียวกันในอินสแตนซ์ vLLM ของตัวเอง
PCIe 3.0 ให้ความเร็วประมาณ 1GB/s ต่อ 1 เลน ซึ่งเทียบได้กับ 10Gb Ethernet
อนาคตอาจมีวันที่ GPU ทำงานได้อย่างอิสระโดยไม่ต้องมีโฮสต์ซิสเต็มก็ได้
ก่อนหน้านี้ก็มีตัวอย่างอย่าง Radeon Pro SSG ที่ติด SSD เข้ากับ GPU
และอาจใช้แค่ชิป RISC-V ขนาดเล็กหรือคอนโทรลเลอร์ระดับ Raspberry Pi ก็พอ
บทความที่เกี่ยวข้อง: TechPowerUp
โครงสร้างที่ GPU เชื่อมต่อเข้ากับ network switch โดยตรงและสื่อสารผ่าน 400Gbe หรือ CXL-based communication นั้นดูเป็นไปได้จริง
อีกทั้งเทคโนโลยีแฟลชยุคถัดไปอย่าง High Bandwidth Flash ก็อาจมีโอกาสแทนที่ DRAM ได้
บทความที่เกี่ยวข้อง: ServeTheHome, Tom’s Hardware
ข้อมูลพวกนี้ทำให้ผมกลับมาคิดใหม่เรื่อง สเปกพีซีหลัก ของตัวเอง
ดูเหมือนมินิพีซีราคา 300 ดอลลาร์ที่กินไฟไม่เกิน 20W ก็น่าจะพอแล้ว
ใช้ท่องเว็บ ดูวิดีโอ เล่นเกมเบา ๆ ได้สบาย
งานหนักก็รีโมตเข้าเวิร์กสเตชันเอา
แค่ 1 vCPU กับ 4GB RAM ก็พอสำหรับท่องเว็บและโปรเจกต์งานอดิเรกแล้ว
ดูเหมือนผู้ผลิตฮาร์ดแวร์จะ โฆษณาเกินจริง ว่า “มืออาชีพต้องใช้โน้ตบุ๊กแรง ๆ”
ความต่างของ TDP ส่งผลต่อประสิทธิภาพอย่างชัดเจน
และพอเอาเครื่องแรง ๆ ไปไว้ในพื้นที่เก็บเสียง ก็สบายขึ้นเยอะ
ผมสงสัยว่าทำไมสถาปัตยกรรม PCI/CPU แบบนี้ยังจำเป็นอยู่
แนวทางที่ถูกน่าจะเป็นแบบ Apple และ NVIDIA ที่เอา CPU กับ MPP มาไว้ในแพ็กเกจเดียวกัน
สำหรับงานคำนวณขนาดใหญ่อย่าง AI หรือ HPC อาจไม่ได้ต่างกันมากนัก