Hodu - เฟรมเวิร์ก ML สำหรับ Rust
(github.com/hodu-rs)ช่วงนี้มีคนรู้จักที่สนิทกันคนหนึ่งสร้างเฟรมเวิร์ก ML ชื่อ Hodu โดยใช้ Rust ขึ้นมาครับ
ผมเองก็เคยทำโปรเจกต์คล้าย ๆ กันมาก่อน เลยคิดว่าน่าจะเป็นข้อมูลที่ดีสำหรับคนที่สนใจเฟรมเวิร์ก ML เลยอยากนำมาแชร์กัน
จุดเด่นหลัก
- รองรับ
no_std: โครงสร้างน้ำหนักเบาที่ทำงานได้แม้บนไมโครคอนโทรลเลอร์ - คอมไพล์กราฟแบบสแตติก: สามารถเก็บกราฟที่คอมไพล์แล้วไว้บนอุปกรณ์ฝังตัวเพื่อทำ inference ได้อย่างง่ายดาย
- โหมดการทำงานแบบคู่:
- การทำต้นแบบ: ทดลองบนกราฟแบบไดนามิก
- การนำขึ้นใช้งานจริง: รันได้อย่างเสถียรบนกราฟแบบสแตติก
- แบ็กเอนด์ประสิทธิภาพสูง
- แบ็กเอนด์ XLA: ประสิทธิภาพสูงสุดผ่านการปรับแต่งกราฟและ JIT compile
- แบ็กเอนด์เนทีฟ HODU: เขียนด้วย Rust ล้วน รันได้โดยไม่ติดข้อจำกัดของแพลตฟอร์ม
- API ใช้งานเข้าใจง่าย: สไตล์ PyTorch/TensorFlow
- รับประกันความปลอดภัยของหน่วยความจำ: ด้วยระบบ ownership ของ Rust ช่วยป้องกัน memory leak และ data race ได้อย่างสมบูรณ์
- รองรับหลายอุปกรณ์: CPU, CUDA(NVIDIA GPU), Metal(Apple GPU)
Hodu เริ่มต้นมาจาก maidnx ซึ่งเป็นโปรเจกต์ที่คนรู้จักคนนั้นเริ่มทำไว้เพื่อการเรียนรู้ระหว่างศึกษา ML ด้วย Rust และพัฒนาต่อมาจนถึงปัจจุบัน
ฟีเจอร์ xla ต้องใช้ LLVM/Clang + RAM 8GB+ + ดิสก์ 20GB+ ตอน build และยังใช้เวลาคอมไพล์ค่อนข้างนาน
การรองรับ CUDA GPU ยังพัฒนาไม่เสร็จสมบูรณ์ และมีแผนจะเพิ่มการปรับแต่ง SIMD ในอนาคต
ขณะนี้ยังไม่แนะนำให้นำไปใช้ใน production environment เนื่องจากยังอยู่ระหว่างการพัฒนาอย่างต่อเนื่อง และยังมีฟีเจอร์เชิงทดลองหรือยังไม่สมบูรณ์อยู่
ยังไม่มีความคิดเห็น