21 คะแนน โดย GN⁺ 2024-07-17 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ลืม NVIDIA GPU ราคาแพงไปได้เลย แล้วนำอุปกรณ์ที่มีอยู่แล้ว เช่น iPhone, iPad, Android, Mac และ Linux มารวมกันเพื่อใช้งานเป็น GPU ทรงพลังตัวเดียว
  • รองรับ LLaMA และโมเดลหลากหลายแบบ
  • ใช้ "การแบ่งพาร์ทิชันโมเดลแบบไดนามิก" เพื่อแบ่งโมเดลอย่างเหมาะสมที่สุดตามโทโพโลยีเครือข่ายปัจจุบันและทรัพยากรอุปกรณ์ที่พร้อมใช้งาน
    • ทำให้สามารถรันโมเดลที่มีขนาดใหญ่เกินกว่าจะรันได้บนอุปกรณ์เครื่องเดียว
  • ค้นหาอุปกรณ์อื่นโดยอัตโนมัติด้วยการค้นพบอุปกรณ์อัตโนมัติ
  • มี API ที่เข้ากันได้กับ ChatGPT
  • อุปกรณ์แต่ละเครื่องเชื่อมต่อกันแบบ p2p ไม่ใช่โครงสร้าง Master-Worker (กลยุทธ์การแบ่งพื้นฐานคือการแบ่งตามน้ำหนักหน่วยความจำแบบวงแหวน)
  • รองรับ inference engine:
    • ✅ MLX
    • ✅ tinygrad
    • 🚧 llama.cpp
  • รองรับโมดูลเครือข่าย:
    • ✅ GRPC
    • 🚧 Radio
    • 🚧 Bluetooth
  • ปัญหาที่ทราบแล้ว
    • เนื่องจากไลบรารีกำลังพัฒนาอย่างรวดเร็ว การพัฒนาเวอร์ชัน iOS จึงตามหลัง Python อยู่
    • ในระยะยาวมีแผนผลักดันแนวทางแบบรวมศูนย์เพื่อไม่ให้จำเป็นต้องดูแล implementation แยกต่างหาก

สรุปโดย GN⁺

  • exo เป็นซอฟต์แวร์เชิงทดลองที่สามารถรวมอุปกรณ์หลากหลายชนิดให้เป็น AI คลัสเตอร์ทรงพลังหนึ่งเดียวได้
  • มีฟีเจอร์ต่าง ๆ เช่น การค้นหาอุปกรณ์อัตโนมัติและการแบ่งโมเดลแบบไดนามิก ทำให้สามารถรันโมเดลที่ใหญ่กว่าอุปกรณ์เดี่ยวจะรองรับได้
  • มี API ที่เข้ากันได้กับ ChatGPT ทำให้เรียกใช้งานโมเดลได้ง่าย
  • กำลังผลักดันแนวทางแบบรวมศูนย์เพื่อแก้ปัญหาที่การพัฒนาเวอร์ชัน iOS ยังตามหลังอยู่

1 ความคิดเห็น

 
GN⁺ 2024-07-17
ความคิดเห็นจาก Hacker News
  • ต้องใช้ mlx ซึ่งเป็นไลบรารีที่รองรับ Apple Silicon โดยเฉพาะ เขาบอกว่าใช้งานได้บน "iPhone, iPad, Android, Mac, Linux, pretty much any device" แต่ก็ยังสงสัยว่าเคยมีการทดสอบจริงหรือไม่
  • กำลังคิดหาวิธีทำให้ระบบนี้ที่ปรับแต่งมาสำหรับเครือข่ายภายในใช้งานแบบคราวด์ซอร์สได้ง่าย เช่น ให้ทุกคนในออฟฟิศเข้าร่วมกับเครือข่ายได้ง่าย ๆ หรือสแกน QR code เพื่อช่วยประมวลผลให้กับโมเดลเฉพาะโดเมน
  • ไอเดียนี้ยอดเยี่ยมและเป็นมิตรกับผู้ใช้ มีศักยภาพที่จะเปลี่ยนอุปกรณ์เก่าหลายเครื่องให้กลับมามีประโยชน์ แต่ก็อยากให้มีผลลัพธ์เกี่ยวกับ tok, latency และการตั้งค่าตัวอย่างด้วย
  • เคยทำให้ paddler บน GitHub ทำงานบน Windows เพื่อโหลดบาลานซ์ระหว่างอุปกรณ์สองเครื่องได้ น่าจะมีประโยชน์สำหรับการรัน Llama 400B บนอุปกรณ์หลายเครื่อง แต่ตอนนี้ยังไม่รองรับ Windows
  • ฟีเจอร์นี้ช่วยให้รันโมเดลที่ใหญ่กว่าที่อุปกรณ์เครื่องเดียวจะรับไหวได้ แต่ยังขาดคำอธิบายว่ามันทำงานอย่างไรในรายละเอียด เช่น ถ้าบางเลเยอร์ของโครงข่ายประสาทอยู่บน deviceA และอีกบางเลเยอร์อยู่บน deviceB ทุกครั้งที่สร้างโทเค็นก็ต้องส่งข้อมูลเอาต์พุตจากเลเยอร์สุดท้ายของ deviceA ไปยัง deviceB
  • การประมวลผลแบบ swarm ควรกลายเป็นมาตรฐานของการประมวลผลทั้งหมด เรามี CPU ที่ไม่ได้ใช้งานอยู่มากเกินไปบนทุกอุปกรณ์ที่เราครอบครอง
  • น่าจะใช้การไม่ได้เพราะคอขวดของเครือข่าย ต้องส่งข้อมูลระดับกิกะไบต์ ดังนั้นจึงต้องมีอินเทอร์เน็ตที่ดี (มากกว่า 20mb/s) และอุปกรณ์ที่ดี ระบบนี้น่าจะจบลงแค่เป็นเดโมเท่ ๆ บน Twitter หวังว่าจะมีคนพิสูจน์ว่าผิด
  • คลาวด์อาจสู้ไม่ได้ในแง่พลังประมวลผลต่อราคา แต่การย้ายกลับมารันในเครื่องช่วยแก้ปัญหาเรื่องความเป็นส่วนตัวได้ โลกนี้ต้องการบทแก้ไขเพิ่มเติมฉบับที่สองสำหรับการประมวลผล
  • เมื่อก่อนเคยสนใจการรันโมเดลในเครื่องบน Mac, PC และอื่น ๆ แต่ตอนนี้คิดว่าการประมวลผล AI ที่มีประโยชน์ส่วนใหญ่จะเกิดขึ้นบนคลาวด์ คุณอาจรัน Llama3 แบบช้าบนเครือข่ายในบ้านได้ แต่ในเมื่อบริการคลาวด์รันได้ในราคาถูกหรือฟรี ก็ไม่ค่อยมีเหตุผลที่จะทำแบบนั้น แม้ Apple จะผลักดัน AI แบบรันในเครื่อง แต่ก็ยังกังวลอย่างมากเรื่องผลกระทบต่ออายุแบตเตอรี่
  • คลัสเตอร์ขนาดใหญ่ยังใช้เครือข่าย RDMA และรายงานว่าโอเวอร์เฮดการสื่อสารเป็นคอขวดอยู่แล้ว จึงสงสัยว่าระบบนี้จะหลีกเลี่ยงคอขวดขนาดใหญ่บนเครือข่ายภายในบ้านได้อย่างไร