יצירת מודלים של LiteRT

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

אם כבר יש לכם מודל להמרה, במאמר סקירה כללית על המרת מודלים מוסבר איך להמיר את המודל.

פיתוח המודל

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

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

לפני שמתחילים בתהליך פיתוח המודל, חשוב להכיר את המגבלות של מודלים של LiteRT ולבנות את המודל תוך התחשבות במגבלות האלה:

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

מידע נוסף על בניית מודלים יעילים, תואמים ובעלי ביצועים גבוהים ל-LiteRT זמין במאמר בנושא שיטות מומלצות לשיפור הביצועים.

פיתוח מודלים

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

תהליך העבודה של בניית TFLite

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

Model Garden

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

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

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

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

הערכת מודל

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

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

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

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

השלבים הבאים