בניית מודלים של TensorFlow Lite

בדף הזה מפורטות הנחיות ליצירת מודלים ב-TensorFlow מתוך כוונה להמיר את המודל לפורמט TensorFlow Lite. המודלים של למידת המכונה (ML) שבהם משתמשים ב-TensorFlow Lite נוצרו ואומנו במקור באמצעות ספריות וכלים של הליבה של TensorFlow. אחרי שיוצרים מודל באמצעות ליבת TensorFlow, אפשר להמיר אותו לפורמט של מודל למידת מכונה (ML) קטן ויעיל יותר שנקרא מודל TensorFlow Lite.

אם כבר יצרתם מודל להמרה, עיינו בדף סקירה כללית על המרת מודלים כדי לקבל הנחיות להמרת המודל.

בניית המודל שלך

אם אתם בונים מודל מותאם אישית לתרחיש הספציפי שלכם, עליכם להתחיל בפיתוח ואימון של מודל TensorFlow או להרחיב מודל קיים.

מגבלות בעיצוב המודל

לפני שמתחילים בתהליך פיתוח המודל, חשוב לשים לב למגבלות של דגמי TensorFlow Lite ולבנות את המודל תוך מחשבה על האילוצים האלה:

  • יכולות מחשוב מוגבלות – בהשוואה לשרתים עם ציוד מלא שיש בהם מספר מעבדים (CPU), קיבולת זיכרון גבוהה ומעבדים מיוחדים כמו מעבדי GPU ומעבדי TPU, מכשירים ניידים ומכשירי קצה מוגבלים הרבה יותר. הם אמנם גדלים בכוח המחשוב ובתאימות ספציפית לחומרה, אבל המודלים והנתונים שאפשר לעבד באמצעותם ביעילות עדיין מוגבלים באותה מידה.
  • גודל המודלים – המורכבות הכוללת של המודל, כולל הלוגיקה של עיבוד הנתונים לפני עיבוד הנתונים ומספר השכבות במודל, מגדילה את הזיכרון של המודל. דגם גדול עלול לפעול לאט באופן בלתי סביר או פשוט לא להתאים לזיכרון הזמין של מכשיר נייד או מכשיר קצה.
  • גודל הנתונים – גודל נתוני הקלט שאפשר לעבד ביעילות באמצעות מודל למידת מכונה מוגבל במכשירים ניידים או במכשירי קצה. יכול להיות שמודלים שבהם נעשה שימוש בספריות נתונים גדולות כמו ספריות שפות, ספריות תמונות או ספריות של קליפים לא יתאימו למכשירים האלה, ויכול להיות שהם יצטרכו פתרונות אחסון וגישה מחוץ למכשיר.
  • פעולות נתמכות ב-TensorFlow – סביבות זמן הריצה של TensorFlow Lite תומכות בקבוצת משנה של פעולות של מודל למידת מכונה בהשוואה למודלים רגילים של TensorFlow. כשמפתחים מודל לשימוש עם TensorFlow Lite, צריך לעקוב אחרי התאימות של המודל מול היכולות של סביבות זמן הריצה של TensorFlow Lite.

למידע נוסף על יצירת מודלים יעילים, תואמים ובעלי ביצועים גבוהים עבור TensorFlow Lite, ראו שיטות מומלצות לשיפור ביצועים.

פיתוח מודלים

כדי ליצור מודל TensorFlow Lite, קודם צריך לבנות מודל באמצעות ספריות הליבה של TensorFlow. ספריות הליבה של TensorFlow הן ספריות ברמה נמוכה יותר שמספקות ממשקי API ליצירה, לאימון ולפריסה של מודלים של למידת מכונה.

תהליך העבודה של פיתוח TFLite

ב-TensorFlow יש שני נתיבים לעשות זאת. אתם יכולים לפתח קוד מודל מותאם אישית משלכם, או להתחיל עם הטמעת מודל שזמינה ב-Model Garden ב-TensorFlow.

‏Model Garden

ב-TensorFlow Model Garden אפשר ליישם מודלים מתקדמים של למידת מכונה (ML) לראייה ולעיבוד שפה טבעית (NLP). מופיעים גם כלים של תהליכי עבודה שיאפשרו לכם להגדיר ולהפעיל במהירות את המודלים האלה במערכי נתונים רגילים. המודלים של למידת המכונה ב-Model Garden כוללים קוד מלא, כדי שתוכלו לבדוק, לאמן או לאמן אותם מחדש באמצעות מערכי נתונים משלכם.

בין אם אתם רוצים לבדוק את הביצועים של מודל ידוע, לאמת את התוצאות של מחקר שפורסם לאחרונה או להרחיב מודלים קיימים, ב-ModelGarden תוכלו להשיג את יעדי למידת המכונה שלכם.

מודלים בהתאמה אישית

אם התרחיש לדוגמה שלכם הוא מחוץ לאלה שנתמכים על ידי המודלים ב-Model Garden, תוכלו להשתמש בספרייה ברמה גבוהה כמו Keras כדי לפתח את קוד האימון בהתאמה אישית. במדריך ל-TensorFlow מפורט מידע על היסודות של TensorFlow. כדי להתחיל לעבוד עם דוגמאות, קראו את הסקירה הכללית על מדריכים של TensorFlow שמכילים סימונים להתחלת השימוש במדריכים ברמת מומחה.

הערכת המודל

אחרי שמפתחים את המודל, צריך להעריך את הביצועים שלו ולבדוק אותו במכשירים של משתמשי קצה. ב-TensorFlow יש כמה דרכים לעשות את זה.

  • TensorBoard הוא כלי שמספק את המדידות והתצוגות החזותיות הנדרשות בתהליך העבודה של למידת המכונה. היא מאפשרת לעקוב אחר מדדי ניסוי, כמו אובדן ודיוק, הצגה חזותית של תרשים המודל, היטל הטמעות למרחב יחסית קטן יותר ועוד הרבה יותר.
  • כלי השוואה לשוק זמינים לכל פלטפורמה נתמכת, כמו אפליקציית ההשוואה לשוק ב-Android ואפליקציית ההשוואה לשוק ב-iOS. הכלים האלה מאפשרים לכם למדוד ולחשב נתונים סטטיסטיים של מדדי ביצועים חשובים.

אופטימיזציה של מודל

בעזרת המגבלות על משאבים ספציפיים למודלים ב-TensorFlow Lite, אופטימיזציה של המודל יכולה לעזור לכם להבטיח ביצועים טובים של המודל ולהשתמש בפחות משאבי מחשוב. הביצועים של מודל למידת המכונה הם בדרך כלל איזון בין הגודל ומהירות ההסקה לבין הדיוק. ב-TensorFlow Lite יש כרגע תמיכה באופטימיזציה באמצעות קוונטיזציה, חיתוך וקיבוץ. פרטים נוספים על הטכניקות האלה מפורט במאמר אופטימיזציה של מודלים. TensorFlow מספקת גם ערכת כלים לאופטימיזציה של מודלים, שכוללת API שמטמיע את הטכניקות האלה.

השלבים הבאים