โมเดลแมชชีนเลิร์นนิง (ML) ที่คุณใช้กับ LiteRT สร้างขึ้นและ ฝึกฝนโดยใช้ไลบรารีและเครื่องมือหลักของ TensorFlow เมื่อสร้างโมเดลด้วย TensorFlow Core แล้ว คุณจะแปลงโมเดลนั้นเป็นรูปแบบโมเดล ML ที่มีขนาดเล็กลงและมีประสิทธิภาพมากขึ้นได้ ซึ่งเรียกว่าโมเดล LiteRT ส่วนนี้จะให้คำแนะนำในการแปลงโมเดล TensorFlow เป็นรูปแบบโมเดล LiteRT
เวิร์กโฟลว์ Conversion
การแปลงโมเดล TensorFlow เป็นรูปแบบ LiteRT อาจทำได้หลายวิธี ทั้งนี้ขึ้นอยู่กับ เนื้อหาของโมเดล ML ในขั้นตอนแรกของกระบวนการดังกล่าว คุณควร ประเมินโมเดลเพื่อดูว่าแปลงโดยตรงได้หรือไม่ การประเมินนี้จะพิจารณาว่าสภาพแวดล้อมรันไทม์ LiteRT มาตรฐานรองรับเนื้อหาของโมเดลหรือไม่ โดยอิงตามการดำเนินการ TensorFlow ที่ใช้ หากโมเดลใช้การดำเนินการนอกชุดที่รองรับ คุณจะมีตัวเลือกในการ ปรับโครงสร้างโมเดลใหม่หรือใช้เทคนิค Conversion ขั้นสูง
แผนภาพด้านล่างแสดงขั้นตอนระดับสูงในการแปลงโมเดล

รูปที่ 1 เวิร์กโฟลว์การแปลง LiteRT
ส่วนต่อไปนี้จะอธิบายกระบวนการประเมินและแปลงโมเดล เพื่อใช้กับ LiteRT
รูปแบบโมเดลอินพุต
คุณใช้ตัวแปลงกับรูปแบบโมเดลอินพุตต่อไปนี้ได้
- SavedModel (แนะนํา): โมเดล TensorFlow ที่บันทึกเป็นชุดไฟล์ในดิสก์
- โมเดล Keras: โมเดล ที่สร้างขึ้นโดยใช้ Keras API ระดับสูง
- รูปแบบ Keras H5: รูปแบบทางเลือกที่มีน้ำหนักเบาแทนรูปแบบ SavedModel ที่รองรับโดย Keras API
- โมเดลที่สร้างจากฟังก์ชัน ที่เฉพาะเจาะจง: โมเดล ที่สร้างขึ้นโดยใช้ TensorFlow API ระดับล่าง
คุณสามารถบันทึกทั้งโมเดลฟังก์ชัน Keras และฟังก์ชัน Concrete เป็น SavedModel และ แปลงโดยใช้เส้นทางที่แนะนำ
หากมีโมเดล Jax คุณสามารถใช้ TFLiteConverter.experimental_from_jax
API เพื่อแปลงเป็นรูปแบบ LiteRT ได้ โปรดทราบว่า API นี้อาจมีการเปลี่ยนแปลง
ขณะอยู่ในโหมดทดลอง
การประเมิน Conversion
การประเมินโมเดลเป็นขั้นตอนสำคัญก่อนที่จะพยายามแปลงโมเดล เมื่อ ประเมิน คุณจะต้องพิจารณาว่าเนื้อหาของโมเดลเข้ากันได้กับรูปแบบ LiteRT หรือไม่ นอกจากนี้ คุณควรพิจารณาด้วยว่าโมเดลของคุณเหมาะ สำหรับการใช้งานในอุปกรณ์เคลื่อนที่และอุปกรณ์ Edge ในแง่ของขนาดข้อมูลที่โมเดลใช้ ข้อกำหนดในการประมวลผลฮาร์ดแวร์ รวมถึงขนาดโดยรวมและความซับซ้อนของโมเดลหรือไม่
สำหรับรุ่นส่วนใหญ่ ตัวแปลงควรทำงานได้ทันที อย่างไรก็ตาม ไลบรารีตัวดำเนินการในตัวของ LiteRT รองรับชุดย่อยของตัวดำเนินการหลักของ TensorFlow ซึ่ง หมายความว่าโมเดลบางรายการอาจต้องมีขั้นตอนเพิ่มเติมก่อนที่จะแปลงเป็น LiteRT นอกจากนี้ การดำเนินการบางอย่างที่ LiteRT รองรับยังมีข้อกำหนดการใช้งานที่จำกัดด้วยเหตุผลด้านประสิทธิภาพ ดูคู่มือความเข้ากันได้ของตัวดำเนินการเพื่อพิจารณาว่าต้อง ปรับโครงสร้างโมเดลสำหรับการแปลงหรือไม่
การแปลงโมเดล
ตัวแปลง LiteRT จะใช้โมเดล TensorFlow และสร้างโมเดล LiteRT (รูปแบบ FlatBuffer ที่เพิ่มประสิทธิภาพแล้วซึ่งระบุโดยนามสกุลไฟล์ .tflite) คุณสามารถโหลด SavedModel หรือแปลงโมเดลที่สร้างในโค้ดได้โดยตรง
ตัวแปลงใช้แฟล็ก (หรือตัวเลือก) หลัก 3 รายการที่ปรับแต่งการแปลงสำหรับโมเดลของคุณ ดังนี้
- แฟล็กความเข้ากันได้ช่วยให้คุณระบุได้ว่าการแปลงควรอนุญาตตัวดำเนินการที่กำหนดเองหรือไม่
- แฟล็กการเพิ่มประสิทธิภาพช่วยให้คุณระบุประเภทการเพิ่มประสิทธิภาพที่จะใช้ในระหว่างการแปลงได้ เทคนิคการเพิ่มประสิทธิภาพที่ใช้กันมากที่สุดคือการหาปริมาณหลังการฝึก
- Flag ข้อมูลเมตาช่วยให้คุณเพิ่มข้อมูลเมตาลงในโมเดลที่แปลงแล้วได้ ซึ่งจะช่วยให้สร้างโค้ด Wrapper เฉพาะแพลตฟอร์มได้ง่ายขึ้นเมื่อ นําโมเดลไปใช้งานในอุปกรณ์
คุณแปลงโมเดลได้โดยใช้ Python API หรือเครื่องมือบรรทัดคำสั่ง ดูคำแนะนำแปลงโมเดล TF เพื่อดูวิธีการทีละขั้นตอนในการเรียกใช้ ตัวแปลงในโมเดล
โดยปกติแล้ว คุณจะแปลงโมเดลสำหรับสภาพแวดล้อมรันไทม์ LiteRT มาตรฐานหรือสภาพแวดล้อมรันไทม์ ของบริการ Google Play สำหรับ LiteRT (เบต้า) กรณีการใช้งานขั้นสูงบางอย่างต้องมีการปรับแต่งสภาพแวดล้อมรันไทม์ของโมเดล ซึ่งต้องมีขั้นตอนเพิ่มเติมในกระบวนการแปลง ดูคำแนะนำเพิ่มเติมได้ที่ส่วนสภาพแวดล้อม รันไทม์ขั้นสูงของภาพรวม Android
Conversion ขั้นสูง
หากพบข้อผิดพลาดขณะเรียกใช้ ตัวแปลงในโมเดล แสดงว่าคุณอาจมีปัญหาความเข้ากันได้ของตัวดำเนินการ TensorFlow Lite ไม่รองรับการดำเนินการ TensorFlow บางอย่าง คุณสามารถแก้ไขปัญหาเหล่านี้ได้โดยการปรับโครงสร้างโมเดล หรือใช้ ตัวเลือก Conversion ขั้นสูงที่ช่วยให้คุณสร้างโมเดลรูปแบบ LiteRT ที่แก้ไขแล้ว และสภาพแวดล้อมรันไทม์ที่กำหนดเองสำหรับโมเดลนั้นได้
- ดูข้อมูลเพิ่มเติมเกี่ยวกับข้อควรพิจารณาเรื่องความเข้ากันได้ของโมเดล TensorFlow และ LiteRT ได้ที่ภาพรวมความเข้ากันได้ของโมเดล
- หัวข้อในส่วนภาพรวมความเข้ากันได้ของโมเดลครอบคลุมเทคนิคขั้นสูงสำหรับการ ปรับโครงสร้างโมเดล เช่น คำแนะนำเลือกโอเปอเรเตอร์
- ดูรายการการดำเนินการและข้อจำกัดทั้งหมดได้ที่หน้า LiteRT Ops
ขั้นตอนถัดไป
- ดูคู่มือแปลงโมเดล TF เพื่อเริ่มต้นแปลงโมเดลอย่างรวดเร็ว
- ดูคําแนะนําวิธี เพิ่มประสิทธิภาพโมเดลที่แปลงแล้วโดยใช้เทคนิคต่างๆ เช่น การหาปริมาณหลังการฝึก ได้ในภาพรวมการเพิ่มประสิทธิภาพ
- ดูวิธีเพิ่มข้อมูลเมตาลงในโมเดลได้ที่ภาพรวมการเพิ่มข้อมูลเมตา ข้อมูลเมตาจะให้คำอธิบายโมเดลของคุณแก่ผู้ใช้รายอื่นๆ รวมถึงข้อมูลที่เครื่องมือสร้างโค้ดสามารถใช้ประโยชน์ได้