LiteRT Tensor API เป็น C++ API น้ำหนักเบา ที่ช่วยให้นักพัฒนาสามารถสร้าง ปรับแต่ง และเพิ่มประสิทธิภาพโมเดล Machine Learning สำหรับการทำงานบนอุปกรณ์โดยตรง ซึ่งช่วยให้ควบคุมสถาปัตยกรรม การเพิ่มประสิทธิภาพ และการเร่งความเร็วของโมเดลได้มากขึ้น
API นี้ทำให้กราฟเดียวกันสามารถทำงานผ่าน LiteRT บนฮาร์ดแวร์ CPU, GPU และ NPU ได้โดยไม่ต้องเขียนใหม่สำหรับแต่ละเป้าหมาย นอกจากนี้ยังรองรับการนำเข้าน้ำหนักโดยตรงจาก checkpoint รวมถึงไฟล์ .safetensors ของ Hugging Face และการทำงานร่วมกันของบัฟเฟอร์แบบ zero-copy
ในการทดสอบ พบว่าการใช้ C++ code เดียวสำหรับโมเดล SAM 2 บน GPU ของอุปกรณ์สามชนิด (macOS, iOS, Android) สามารถย้ายการตัดสินใจต่อเฟรมจาก CPU เข้าไปในกราฟ และเขียนทับการทำงานที่เคยต้องพึ่งพา CPU fallback บน WebGPU ด้วยการคำนวณที่เข้ากันได้กับ GPU
Arm director of AI Laurence Moroney แนะนำว่านักพัฒนาควรเริ่มต้นด้วยการแปลงโมเดล และใช้ C++ API เมื่อต้องการการควบคุมระดับกราฟหรือต้องการให้การประมวลผลก่อนและหลังอยู่บนตัวเร่งความเร็ว
Google ยังอยู่ระหว่างการพัฒนาปรับปรุงเพิ่มเติม เช่น การรองรับ ML Drift backend โดยตรง, การดำเนินการที่เหมาะกับ NPU เพิ่มเติม, การควอนไทซ์กราฟเต็มรูปแบบอัตโนมัติ และรองรับ dynamic-shape ที่ขยายใหญ่ขึ้น
ศัพท์ที่ควรรู้
- LiteRT Tensor API – เป็น C++ API น้ำหนักเบาที่ช่วยให้นักพัฒนาปรับแต่งโมเดล ML สำหรับการรันบนอุปกรณ์โดยตรง
- On-device execution – การรันโมเดล Machine Learning โดยตรงบนฮาร์ดแวร์ของอุปกรณ์ปลายทาง
- Zero-copy buffer interoperability – กลไกที่ช่วยให้สามารถแลกเปลี่ยนข้อมูลระหว่างส่วนต่างๆ ของการประมวลผลได้โดยไม่ต้องคัดลอกข้อมูลซ้ำ
- NPU – หน่วยประมวลผลเฉพาะทางที่ออกแบบมาเพื่อเร่งการทำงานของปัญญาประดิษฐ์
ที่มา: infoq.com