ภาพรวม LiteRT

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 ในการเริ่มต้นใช้งาน คุณค้นหาโมเดลได้ในเว็บไซต์ต่อไปนี้

โมเดล LiteRT อาจรวมข้อมูลเมตาที่มีคำอธิบายโมเดลที่มนุษย์อ่านได้และข้อมูลที่เครื่องอ่านได้เพื่อสร้างไปป์ไลน์การประมวลผลก่อนและหลังการประมวลผลโดยอัตโนมัติในระหว่างการอนุมานในอุปกรณ์ ดูรายละเอียดเพิ่มเติมได้ที่เพิ่มข้อมูลเมตา

3. ผสานรวมโมเดลเข้ากับแอป

คุณสามารถใช้โมเดล LiteRT เพื่อเรียกใช้การอนุมานในอุปกรณ์ได้ทั้งหมดบนเว็บ อุปกรณ์แบบฝัง และอุปกรณ์เคลื่อนที่ LiteRT มี API สำหรับ Python, Java และ Kotlin สำหรับ Android, Swift สำหรับ iOS และ C++ สำหรับอุปกรณ์ขนาดเล็ก

ใช้คําแนะนําต่อไปนี้เพื่อติดตั้งใช้งานโมเดล LiteRT ในแพลตฟอร์มที่ต้องการ

ในอุปกรณ์ 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

คู่มือแพลตฟอร์ม