סקירת דגם גן

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

גן המודלים כולל את המשאבים הבאים עבור מפתחי למידת מכונה:

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

מודלים מעשיים של ML הם אינטנסיביים מבחינה חישובית לאימון ולהרצה, ועשויים לדרוש מאיצים כגון יחידות עיבוד גרפי (GPUs) ו- Tensor Processing Units (TPUs). רוב המודלים במודל גארדן הוכשרו על מערכי נתונים גדולים באמצעות TPUs. עם זאת, אתה יכול גם לאמן ולהפעיל את הדגמים האלה על מעבדי GPU ו-CPU.

דגם דגמי גן

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

דגמים רשמיים

מאגר המודלים הרשמיים הוא אוסף של מודלים חדישים, עם התמקדות בחזון ועיבוד שפה טבעית (NLP). מודלים אלה מיושמים באמצעות ממשקי API ברמה גבוהה של TensorFlow 2.x הנוכחיים. ספריות הדגמים במאגר זה מותאמות לביצועים מהירים ומתוחזקות באופן פעיל על ידי מהנדסי Google. המודלים הרשמיים כוללים מטא נתונים נוספים שבהם תוכל להשתמש כדי להגדיר במהירות ניסויים באמצעות מסגרת הניסוי של Model Garden Training .

מודלים מחקריים

מאגר מודלים מחקריים הוא אוסף של מודלים שפורסמו כמשאבי קוד עבור מאמרי מחקר. מודלים אלה מיושמים באמצעות TensorFlow 1.x ו-2.x. ספריות מודלים בתיקיית המחקר נתמכות על ידי בעלי הקוד וקהילת המחקר.

מסגרת ניסוי אימון

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

מסגרת האימון משתמשת ב- tfm.core.base_trainer.ExperimentConfig כאובייקט התצורה, המכיל את אובייקטי התצורה הבאים ברמה העליונה:

  • runtime : מגדיר את חומרת העיבוד, אסטרטגיית ההפצה ואופטימיזציות אחרות של ביצועים
  • task : מגדיר את המודל, נתוני האימון, הפסדים ואתחול
  • trainer : מגדיר את האופטימיזציה, לולאות אימון, לולאות הערכה, סיכומים ונקודות ביקורת

לקבלת דוגמה מלאה לשימוש במסגרת ניסוי האימון של גן מודל, עיין במדריך סיווג תמונה עם גן מודל . למידע על מסגרת ניסוי האימון, עיין בתיעוד של TensorFlow Models API . אם אתה מחפש פתרון לניהול לולאות אימון עבור ניסויי אימון המודל שלך, בדוק את Orbit .

פעולות ML מיוחדות

ה-Model Garden מכיל פעולות חזון ו-NLP רבות שתוכננו במיוחד לביצוע מודלים חדישים הפועלים ביעילות על GPUs ו-TPUs. עיין במסמכי ה-API של ספריית TensorFlow Models Vision לקבלת רשימה של פעולות חזון מיוחדות. עיין במסמכי ה-API של ספריית TensorFlow Models NLP לקבלת רשימה של פעולות NLP . ספריות אלו כוללות גם פונקציות שירות נוספות המשמשות לעיבוד נתוני חזון ו-NLP, הדרכה וביצוע מודלים.

לולאות אימון עם אורביט

ישנן שתי אפשרויות ברירת מחדל לאימון דגמי TensorFlow:

  • השתמש בפונקציית Keras Model.fit ברמה גבוהה. אם המודל ונוהל ההכשרה שלך תואמים את ההנחות של שיטת Model.fit (ירידה מדרגת מצטברת על קבוצות של נתונים) של Keras, זה יכול להיות מאוד נוח.
  • כתוב לולאת אימון מותאמת אישית עם קראס , או בלי . אתה יכול לכתוב לולאת אימון מותאמת אישית עם שיטות TensorFlow ברמה נמוכה כגון tf.GradientTape או tf.function . עם זאת, גישה זו דורשת הרבה קוד לוח, ואינה עושה דבר כדי לפשט את ההדרכה המבוזרת.

אורביט מנסה לספק אפשרות שלישית בין שני הקצוות הללו.

Orbit היא ספרייה גמישה וקלת משקל שנועדה להקל על כתיבת לולאות אימון מותאמות אישית ב-TensorFlow 2.x, ועובדת היטב עם מסגרת הניסוי של Model Garden. אורביט מטפלת במשימות אימון מודלים נפוצות כגון שמירת מחסומים, הפעלת הערכות מודלים והגדרת כתיבת סיכום. הוא משתלב בצורה חלקה עם tf.distribute ותומך בהפעלה על סוגי מכשירים שונים, כולל מעבד, GPU וחומרת TPU. הכלי Orbit הוא גם קוד פתוח , כך שתוכל להרחיב ולהתאים את עצמו לצרכי האימון שלך במודל.

המדריך של Orbit זמין כאן .