LiteRT (ראשי תיבות של Lite Runtime) נקרא בעבר TensorFlow Lite, והוא סביבת זמן ריצה בעלת ביצועים גבוהים של Google ל-AI במכשיר. תוכלו למצוא מודלים של LiteRT שזמינים להרצה למגוון רחב של משימות של למידת מכונה או AI, או להמיר מודלים של TensorFlow, PyTorch ו-JAX לפורמט TFLite ולהריץ אותם באמצעות הכלים של AI Edge להמרה ולביצוע אופטימיזציה.
תכונות עיקריות
אופטימיזציה ללמידת מכונה במכשיר: LiteRT מטפל בחמישה אילוצים מרכזיים של 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 כולל זיהוי בעיה של למידת מכונה או 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
. במודלים האלה לא נדרשים שלבים נוספים להמרה. אפשר למצוא מודלים של LiteRT ב-Kaggle Models.המרת מודל למודל LiteRT: אפשר להשתמש ב-TensorFlow Converter, ב-PyTorch 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 באמצעות ממשקי ה-API של Swift.
- הפעלה ב-Micro: הפעלת מודלים במכשירים מוטמעים באמצעות ממשקי ה-API של C++.
במכשירי Android ו-iOS, אפשר לשפר את הביצועים באמצעות האצת חומרה. בכל אחת מהפלטפורמות אפשר להשתמש ב-GPU delegate, וב-iOS אפשר להשתמש ב-Core ML delegate. כדי להוסיף תמיכה במאיצי חומרה חדשים, אפשר להגדיר נציג משלכם.
אפשר להריץ את ההסקה בדרכים הבאות, בהתאם לסוג המודל:
מודלים ללא מטא-נתונים: משתמשים ב-API של LiteRT Interpreter. התמיכה קיימת בפלטפורמות ובשפות שונות, כמו Java, Swift, C++, Objective-C ו-Python.
מודלים עם מטא-נתונים: אפשר ליצור צינורות עיבוד נתונים (inference) מותאמים אישית באמצעות LiteRT Support Library.
מעבר מ-TF Lite
אפליקציות שמשתמשות בספריות של TF Lite ימשיכו לפעול, אבל כל הפיתוח הפעיל והעדכונים החדשים ייכללו רק בחבילות LiteRT. ממשקי ה-API של LiteRT מכילים את אותם שמות של שיטות כמו ממשקי ה-API של TF Lite, כך שהמעבר ל-LiteRT לא מחייב שינויים מפורטים בקוד.
מידע נוסף זמין במדריך להעברת נתונים.
השלבים הבאים
משתמשים חדשים צריכים להתחיל במדריך למתחילים ב-LiteRT. למידע ספציפי, אפשר לעיין בקטעים הבאים:
המרה לפי מודל
- המרת מודלים של TensorFlow
- המרת מודלים של PyTorch
- המרת מודלים של AI גנרטיבי ב-PyTorch
- המרת מודלים של JAX
מדריכים לפלטפורמות