- แนะนำกรณีศึกษา การตั้งค่าและการวัดประสิทธิภาพ ที่รวมบอร์ด Raspberry Pi ขนาดเล็ก 4 เครื่องเป็น โหนดอนุมานแบบกระจาย เพื่อรันโมเดลควอนไทซ์ A3B Q40 ของ Qwen3 30B MoE
- โครงข่ายเครือข่ายประกอบด้วย ROOT 1 เครื่อง + WORKER 3 เครื่อง (ทั้งหมดเป็น Raspberry Pi 5 8GB) ผ่านสวิตช์เครือข่าย
- วัดความเร็วการสร้างโทเค็นได้ 14.33 tok/s ในขั้นประเมินผล และ 13.04 tok/s ในขั้นพยากรณ์
- โมเดลใช้สถาปัตยกรรม Qwen3 MoE และประกอบด้วย 48 เลเยอร์กับผู้เชี่ยวชาญ 128 ตัว
- ทำให้สามารถรันโมเดลภาษาประสิทธิภาพสูงบนฮาร์ดแวร์ต้นทุนต่ำได้ เปิดโอกาสให้กับ คลัสเตอร์ Raspberry Pi และ งานวิจัย AI ที่คุ้มค่าใช้จ่าย
ภาพรวมโครงการ
- ใช้ Distributed Llama v0.16.0 เพื่อรันโมเดล Qwen3 30B A3B Q40 บน Raspberry Pi 5 8GB จำนวน 4 เครื่อง
- ออกแบบมาเพื่อให้สามารถรันโมเดลภาษาขนาดใหญ่บนอุปกรณ์ต้นทุนต่ำได้
- เชื่อมต่อเครือข่ายด้วยสวิตช์ TP-Link LS1008G
- เป้าหมายหลัก คือการทำให้โมเดล AI ทำงานได้อย่างมีประสิทธิภาพโดยไม่ต้องพึ่งทรัพยากรคอมพิวต์สมรรถนะสูง
- กระจายงานไปยังอุปกรณ์ 4 เครื่อง (รูท 1 เครื่อง, เวิร์กเกอร์ 3 เครื่อง)
- IP address: รูท (10.0.0.2), เวิร์กเกอร์ (10.0.0.1, 10.0.0.3, 10.0.0.4)
การตั้งค่าฮาร์ดแวร์และเครือข่าย
- องค์ประกอบ: คลัสเตอร์ที่ประกอบด้วย Raspberry Pi 5 8GB จำนวน 4 เครื่อง
- แต่ละอุปกรณ์เชื่อมต่อผ่านสวิตช์ TP-Link LS1008G
- โหนดรูทและโหนดเวิร์กเกอร์ 3 ตัวสื่อสารกันผ่านเครือข่าย
- การเริ่มต้นเครือข่าย: เชื่อมต่อกับโหนดเวิร์กเกอร์ทั้งหมดสำเร็จ (10.0.0.1:9999, 10.0.0.3:9999, 10.0.0.4:9999)
- เครือข่ายทำงานในโหมดไม่บล็อก
- การรับส่งข้อมูล: ระหว่างการประเมินผล ส่ง 12084kB, รับ 20085kB
- การใช้ CPU: ประมวลผลที่ปรับแต่งด้วยการรองรับ Neon Dotprod FP16
รายละเอียดโมเดล
- โมเดล: Qwen3 30B A3B Q40
- สถาปัตยกรรม: Qwen3 MoE (Mixture of Experts)
- จำนวนเลเยอร์: 48
- จำนวนผู้เชี่ยวชาญ: 128, ผู้เชี่ยวชาญที่ใช้งานจริง 8
- มิติ: Dim 2048, QDim 4096, KvDim 512, HiddenDim 6144
- โทเค็นไนเซอร์: ขนาดคำศัพท์ 151669 ซึ่งไม่ตรงกับขนาดคำศัพท์ของโมเดล 151936 เล็กน้อย
- ขนาดคำศัพท์ทั่วไป: 151643
- ขนาดคำศัพท์พิเศษ: 26
- ความต้องการหน่วยความจำ: 5513MB
- ความยาวซีเควนซ์สูงสุด: 4096
- NormEpsilon: 0.000001, RopeTheta: 10000000
ประสิทธิภาพการทดสอบ
- ขั้นประเมินผล
- จำนวนแบตช์: 32
- จำนวนโทเค็น: 19
- ความเร็วการสร้างโทเค็น: 14.33 tok/s (69.80ms/tok)
- ขั้นพยากรณ์
- จำนวนโทเค็น: 109
- ความเร็วการสร้างโทเค็น: 13.04 tok/s (76.69ms/tok)
- บันทึกรายละเอียดการพยากรณ์:
- ในแต่ละขั้นพยากรณ์ใช้เวลาประมาณ 49~70ms และมีเวลาซิงก์ 14~94ms
- ข้อมูลที่ส่ง 636kB, ข้อมูลที่รับ 1057kB อย่างสม่ำเสมอ
- ตัวอย่างโทเค็นที่สร้าง: "Of", "course", "Poland" เป็นต้น
- จำนวนเธรด: 4
- ชนิดบัฟเฟอร์ float: Q80
- ความยาวซีเควนซ์สูงสุด: 4096
ข้อควรระวังและข้อจำกัด (Notes & Caveats)
- มีคำเตือนเรื่องความไม่ตรงกันระหว่าง Tokenizer vocab size และ Model vocab size จึงจำเป็นต้อง ตรวจสอบความสอดคล้องของโทเค็นไนเซอร์
- A3B Q40 เป็น การควอนไทซ์เชิงรุก จึงควรคำนึงถึงจุดแลกเปลี่ยนระหว่าง ความแม่นยำกับคุณภาพของคำตอบ
- การตั้งค่าแบบ Pi 5 8GB × 4 มีข้อจำกัดด้านหน่วยความจำและการประมวลผล จึงอาจผันผวนมากตาม ความยาวพรอมป์ต์, การทำงานพร้อมกัน, และคุณภาพเครือข่าย
ความหมายในทางปฏิบัติ
- เป็นโครงการที่แสดงให้เห็นถึงความเป็นไปได้ของ การรัน AI ต้นทุนต่ำ
- เป็น กรณีศึกษาที่ทำซ้ำได้ ของการรัน โมเดล MoE ระดับ 30B แบบกระจายบน คลัสเตอร์ SBC ต้นทุนต่ำ ซึ่งอาจเป็นจุดอ้างอิงที่ช่วยลดข้อจำกัดในการทดลองสำหรับ งานอนุมานแบบเบาในองค์กรและการพัฒนา
- มี บันทึกเครือข่ายและการซิงก์ต่อโทเค็น ทำให้ได้ข้อมูลที่มีความหมายสำหรับ การวัดและปรับจูนโอเวอร์เฮดของระบบกระจาย
- การผสาน เฟรมเวิร์กแบบกระจาย + โมเดลควอนไทซ์ สามารถยกระดับ ประสิทธิภาพต่อ TCO ใน สภาพแวดล้อม edge/การวิจัยส่วนบุคคล ได้
3 ความคิดเห็น
มินิพีซีซีรีส์ n ก็ราคาถูกเหมือนกัน แต่ถ้าจับ 16GB 4 ตัวมามัดรวมกัน... พอลองคิดดูแล้วก็คงได้ราคาเท่ากับ 8845 ที่อัปเป็น 32GB นั่นแหละ 555
น่าทึ่งมากครับ ช่วงนี้รู้สึกว่ามีข้อมูลเกี่ยวกับการใช้งาน LLM แบบโหลดต่ำออกมาเรื่อย ๆ ซึ่งดีมากเลยครับ
สุดยอดมาก..