LiteRT, שנקרא בעבר TensorFlow Lite, הוא סביבת זמן הריצה בעלת הביצועים הגבוהים של Google לבינה מלאכותית (AI) במכשיר. אפשר למצוא דגמי LiteRT מוכנים להפעלה מגוון משימות של למידת מכונה/בינה מלאכותית, או להמיר ולהריץ מודלים של TensorFlow, PyTorch ו-JAX בפורמט TFLite באמצעות כלי ההמרה והאופטימיזציה של AI Edge.
תכונות עיקריות
אופטימיזציה ללמידת מכונה במכשיר: LiteRT מספק חמש כתובות אילוצים עיקריים של ODML: זמן אחזור (אין הלוך ושוב לשרת), פרטיות (לא נשלח מידע אישי מהמכשיר), קישוריות (קישוריות לאינטרנט) לא נדרש), הגודל (מודל מופחת וגודל בינארי) וצריכת חשמל (הסקת מסקנות יעילה והיעדר חיבורי רשת).
תמיכה בפלטפורמות מרובות: תואמת ל-Android ול מכשירי iOS, מוטמעים Linux ו מיקרו-בקרים.
אפשרויות של מודל Multi-framework: AI Edge מספק כלים להמרת מודלים ממודלים של TensorFlow, PyTorch ו-JAX לתוך פורמט FlatBuffers. (
.tflite
), כך שתוכלו להשתמש במגוון רחב של מודלים מתקדמים LiteRT. תקבלו גם גישה לכלים לאופטימיזציה של מודלים שיכולים לטפל כימות ומטא-נתונים.תמיכה בשפות מגוונות: כולל ערכות SDK עבור Java/Kotlin, Swift, Objective-C, C++ ו-Python.
ביצועים גבוהים: שיפור מהירות באמצעות חומרה באמצעות משתמשים מוסמכים כמו GPU ו-iOS Core ML.
תהליך עבודה של פיתוח
תהליך הפיתוח של LiteRT כולל זיהוי של בעיה בלמידת מכונה או ב-AI, בחירה של מודל שפותר את הבעיה והטמעה של המודל במכשיר. השלבים הבאים ינחו אותך לאורך תהליך העבודה ויש בהם קישורים הוראות להתאמה אישית.
1. זיהוי הפתרון המתאים ביותר לבעיית למידת המכונה
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.המרת מודל למודל LiteRT: אפשר להשתמש TensorFlow Converter, PyToch Converter או JAX ממיר כדי להמיר מודלים לפורמט FlatBuffers (
.tflite
) ולהריץ אותם ב-LiteRT. כדי להתחיל, אפשר לעיין מודלים באתרים הבאים:- מודלים של TensorFlow ב-Kaggle מודלים וגם פנים מחבקות
- דגמי PyTorch ב-Hugging
פנים וגם
torchvision
- דוגמניות של JAX ב-פנים מחבקות
מודל LiteRT יכול באופן אופציונלי לכלול מטא-נתונים שמכילים תיאורי מודלים קריאים לאנשים ונתונים קריאים למחשבים ויצירה של צינורות עיבוד נתונים לפני ואחרי העיבוד במהלך הסקת מסקנות במכשיר. אפשר לקרוא פרטים נוספים במאמר הוספת מטא-נתונים.
3. שילוב המודל באפליקציה
אפשר להטמיע את המודלים של LiteRT כדי להריץ מסקנות באינטרנט, במכשירים ניידים ובמוטמעים. LiteRT מכיל ממשקי API ל-Python, Java ו- Kotlin ל-Android, ל-Swift עבור iOS ו-C++ למיקרו-מכשירים.
כדי להטמיע מודל LiteRT אתם יכולים להיעזר במדריכים הבאים Platform:
- הפעלה ב-Android: הרצת דגמים במכשירי Android באמצעות ממשקי API של Java/Kotlin.
- הרצה ב-iOS: הרצת מודלים במכשירי iOS באמצעות Swift ממשקי API.
- הפעלה במיקרו: הרצת מודלים במכשירים מוטמעים באמצעות ממשקי ה-API של C++.
במכשירי Android ו-iOS, אפשר לשפר את הביצועים באמצעות חומרה האצה. בכל אחת מהפלטפורמות ניתן להשתמש ב-GPU להעניק גישה, וב-iOS אפשר להשתמש ב-Core ML הענקת גישה. כדי להוסיף תמיכה מאיצי חומרה חדשים, אפשר איך להגדיר בעל גישה משלכם.
אפשר להריץ מסקנות בדרכים הבאות, על סמך סוג המודל:
מודלים ללא מטא נתונים: השתמש ב- LiteRT interpreer API. נתמך בכמה פלטפורמות ושפות כמו Java, Swift, C++, Objective-C ו-Python.
מודלים עם מטא-נתונים: תוכלו ליצור צינורות עיבוד נתונים מותאם אישית להסקת מסקנות ספריית התמיכה של LiteRT.
מעבר מ-LiteRT
אפליקציות שמשתמשות בספריות LiteRT ימשיכו לפעול, אבל כל הפיתוח והעדכונים הפעילים החדשים ייכללו רק בחבילות LiteRT. שמות השיטות של ממשקי ה-API של LiteRT זהים לאלה של ממשקי ה-API של TF Lite, ל-LiteRT לא נדרשים שינויים מפורטים בקוד.
מידע נוסף זמין במדריך להעברת נתונים (מיגרציה).
השלבים הבאים
משתמשים חדשים צריכים להתחיל את השימוש במדריך של LiteRT למתחילים. בסעיפים הבאים יש מידע ספציפי:
המרה של מודל
- המרת מודלים של TensorFlow
- המרת מודלים של PyTorch
- המרת מודלים של בינה מלאכותית גנרטיבית של PyTorch
- המרת דגמי JAX
מדריכים בנושא פלטפורמות