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