LiteRT (ย่อมาจาก Lite Runtime) เดิมเรียกว่า TensorFlow Lite เป็นรันไทม์ประสิทธิภาพสูงของ Google สำหรับ AI ในอุปกรณ์ คุณสามารถค้นหาโมเดล LiteRT ที่พร้อมใช้งานสำหรับงาน ML/AI ที่หลากหลาย หรือแปลงและเรียกใช้โมเดล TensorFlow, PyTorch และ JAX เป็นรูปแบบ TFLite โดยใช้เครื่องมือการแปลงและการเพิ่มประสิทธิภาพ AI Edge
ฟีเจอร์หลัก
ปรับให้เหมาะกับแมชชีนเลิร์นนิงในอุปกรณ์: LiteRT แก้ไขข้อจำกัดที่สำคัญ 5 ประการของ ODML ได้แก่ เวลาในการตอบสนอง (ไม่มีการรับส่งข้อมูลไปยังเซิร์ฟเวอร์) ความเป็นส่วนตัว (ไม่มี ข้อมูลส่วนบุคคลออกจากอุปกรณ์) การเชื่อมต่อ (ไม่จำเป็นต้อง เชื่อมต่ออินเทอร์เน็ต) ขนาด (ลดขนาดโมเดลและไบนารี) และการใช้พลังงาน (การอนุมานที่มีประสิทธิภาพและการไม่มีการเชื่อมต่อเครือข่าย)
รองรับหลายแพลตฟอร์ม: ใช้งานร่วมกับอุปกรณ์ Android และ iOS, Linux แบบฝัง และไมโครคอนโทรลเลอร์ได้
ตัวเลือกโมเดลแบบหลายเฟรมเวิร์ก: AI Edge มีเครื่องมือในการแปลงโมเดล จากโมเดล PyTorch และ TensorFlow เป็นรูปแบบ FlatBuffers (
.tflite) ซึ่งช่วยให้คุณใช้โมเดลที่ล้ำสมัยได้หลากหลายใน LiteRT นอกจากนี้ คุณยังมีสิทธิ์เข้าถึงเครื่องมือเพิ่มประสิทธิภาพโมเดลที่จัดการการหาปริมาณ และข้อมูลเมตาได้ด้วยรองรับภาษาที่หลากหลาย: มี SDK สำหรับ Java/Kotlin, Swift, Objective-C, C++ และ Python
ประสิทธิภาพสูง: การเร่งด้วยฮาร์ดแวร์ ผ่านตัวแทนที่เชี่ยวชาญ เช่น GPU และ iOS Core ML
เวิร์กโฟลว์การพัฒนา
เวิร์กโฟลว์การพัฒนา LiteRT เกี่ยวข้องกับการระบุปัญหา ML/AI การเลือก โมเดลที่แก้ปัญหานั้น และการติดตั้งใช้งานโมเดลในอุปกรณ์ ขั้นตอนต่อไปนี้จะแนะนำเวิร์กโฟลว์และลิงก์ไปยังวิธีการเพิ่มเติม
1. ระบุโซลูชันที่เหมาะสมที่สุดสำหรับปัญหา ML
LiteRT ช่วยให้ผู้ใช้มีความยืดหยุ่นและปรับแต่งได้สูงเมื่อต้องแก้ปัญหาแมชชีนเลิร์นนิง จึงเหมาะสำหรับผู้ใช้ที่ต้องการโมเดลเฉพาะหรือการใช้งานเฉพาะทาง ผู้ใช้ที่กำลังมองหาโซลูชันแบบ พลักแอนด์เพลย์อาจต้องการใช้ MediaPipe Tasks ซึ่งมี โซลูชันสำเร็จรูปสำหรับงานแมชชีนเลิร์นนิงทั่วไป เช่น การตรวจหาออบเจ็กต์ การจัดประเภทข้อความ และการอนุมาน LLM
เลือกเฟรมเวิร์ก AI Edge อย่างใดอย่างหนึ่งต่อไปนี้
- LiteRT: รันไทม์ที่ยืดหยุ่นและปรับแต่งได้ซึ่งเรียกใช้โมเดลได้หลากหลาย เลือกโมเดลสำหรับ Use Case ของคุณ แปลงเป็นรูปแบบ LiteRT (หากจำเป็น) และเรียกใช้ในอุปกรณ์ หากคุณตั้งใจจะใช้ LiteRT โปรดอ่านต่อ
- MediaPipe Tasks: โซลูชันแบบพลักแอนด์เพลย์ที่มีโมเดลเริ่มต้นซึ่งอนุญาตให้ปรับแต่งได้ เลือกงานที่แก้ปัญหา AI/ML ของคุณ และ นำไปใช้ในหลายแพลตฟอร์ม หากต้องการใช้ MediaPipe Tasks โปรดดูเอกสารประกอบของ MediaPipe Tasks
2. เลือกรุ่น
โมเดล LiteRT จะแสดงในรูปแบบแบบพกพาที่มีประสิทธิภาพซึ่งเรียกว่า FlatBuffers ซึ่งใช้.tflite
นามสกุลไฟล์
คุณใช้โมเดล LiteRT ได้ในลักษณะต่อไปนี้
ใช้โมเดล LiteRT ที่มีอยู่: วิธีที่ง่ายที่สุดคือการใช้โมเดล LiteRT ที่อยู่ในรูปแบบ
.tfliteอยู่แล้ว โมเดลเหล่านี้ไม่จำเป็นต้องมีขั้นตอน Conversion เพิ่มเติม คุณดูโมเดล LiteRT ได้ที่ Kaggle Modelsแปลงโมเดลเป็นโมเดล LiteRT: คุณใช้ PyTorch Converter หรือ TensorFlow Converter เพื่อแปลงโมเดลเป็นรูปแบบ FlatBuffers (
.tflite) และเรียกใช้ใน LiteRT ได้ หากต้องการเริ่มต้นใช้งาน คุณ สามารถค้นหารุ่นในเว็บไซต์ต่อไปนี้- โมเดล PyTorch ใน Hugging
Face และ
torchvision - โมเดล TensorFlow ใน Kaggle Models และ Hugging Face
- โมเดล PyTorch ใน Hugging
Face และ
โมเดล LiteRT อาจมีข้อมูลเมตาซึ่งมีคำอธิบายโมเดลที่มนุษย์อ่านได้ และข้อมูลที่เครื่องอ่านได้สำหรับการสร้างไปป์ไลน์การประมวลผลล่วงหน้า และหลังการประมวลผลโดยอัตโนมัติในระหว่างการอนุมานบนอุปกรณ์ ดูรายละเอียดเพิ่มเติมได้ที่เพิ่ม ข้อมูลเมตา
3. ผสานรวมโมเดลเข้ากับแอป
คุณสามารถใช้โมเดล LiteRT เพื่อเรียกใช้การอนุมานบนอุปกรณ์อย่างสมบูรณ์ในเว็บ อุปกรณ์แบบฝัง และอุปกรณ์เคลื่อนที่ LiteRT มี API สำหรับ Python, Java และ Kotlin สำหรับ Android, Swift สำหรับ iOS และ C++ สำหรับอุปกรณ์ขนาดเล็ก
ใช้คำแนะนำต่อไปนี้เพื่อติดตั้งใช้งานโมเดล LiteRT บนแพลตฟอร์มที่คุณต้องการ
- เรียกใช้ใน Android: เรียกใช้โมเดลในอุปกรณ์ Android โดยใช้ Java/Kotlin API
- เรียกใช้ใน iOS: เรียกใช้โมเดลในอุปกรณ์ iOS โดยใช้ Swift APIs
- เรียกใช้ใน Micro: เรียกใช้โมเดลในอุปกรณ์ฝังตัว โดยใช้ C++ API
ในอุปกรณ์ Android และ iOS คุณสามารถปรับปรุงประสิทธิภาพได้โดยใช้การเร่งด้วยฮาร์ดแวร์ คุณสามารถใช้ GPU Delegate ในทั้ง 2 แพลตฟอร์ม และใช้ Core ML Delegate ใน iOS หากต้องการเพิ่มการรองรับตัวเร่งฮาร์ดแวร์ใหม่ คุณสามารถกำหนด Delegate ของคุณเองได้
คุณเรียกใช้การอนุมานได้ด้วยวิธีต่อไปนี้โดยขึ้นอยู่กับประเภทโมเดล
โมเดลที่ไม่มีข้อมูลเมตา: ใช้ API LiteRT Interpreter รองรับหลายแพลตฟอร์มและภาษา เช่น Java, Swift, C++, Objective-C และ Python
โมเดลที่มีข้อมูลเมตา: คุณสร้างไปป์ไลน์การอนุมานที่กำหนดเองได้ด้วย ไลบรารีการรองรับ LiteRT
ย้ายข้อมูลจาก TF Lite
แอปพลิเคชันที่ใช้ไลบรารี TF Lite จะยังคงทำงานต่อไป แต่การพัฒนาและการอัปเดตใหม่ทั้งหมด ที่ใช้งานอยู่จะรวมอยู่ในแพ็กเกจ LiteRT เท่านั้น LiteRT API มีชื่อเมธอดเหมือนกับ TF Lite API ดังนั้นการย้ายข้อมูลไปยัง LiteRT จึงไม่จำเป็นต้องเปลี่ยนแปลงโค้ดโดยละเอียด
ดูข้อมูลเพิ่มเติมได้ที่คำแนะนำในการย้ายข้อมูล
ขั้นตอนถัดไป
ผู้ใช้ใหม่ควรเริ่มต้นด้วยการเริ่มต้นใช้งาน LiteRT อย่างรวดเร็ว ดูข้อมูลเฉพาะได้ในส่วนต่อไปนี้
Conversion โดยประมาณ
คำแนะนำเกี่ยวกับแพลตฟอร์ม