הבנת צינורות TFX

MLOps הוא התרגול של יישום שיטות DevOps כדי לסייע באוטומציה, ניהול וביקורת של תהליכי עבודה של למידת מכונה (ML). זרימות עבודה של ML כוללות שלבים ל:

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

ניהול שלבים אלה באופן אד-הוק יכול להיות קשה וגוזל זמן.

TFX מקל על הטמעת MLOps על ידי אספקת ערכת כלים שעוזרת לך לתזמר את תהליך ה-ML שלך על מתזמרים שונים, כגון: Apache Airflow, Apache Beam ו-Kubeflow Pipelines. על ידי יישום זרימת העבודה שלך כצינור TFX, אתה יכול:

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

מדריך זה מתאר את מושגי הליבה הנדרשים להבנת צינורות TFX.

חפץ

הפלטים של שלבים בצינור TFX נקראים artifacts . השלבים הבאים בזרימת העבודה שלך עשויים להשתמש בחפצים אלה כקלט. בדרך זו, TFX מאפשר לך להעביר נתונים בין שלבי זרימת העבודה.

לדוגמה, הרכיב הסטנדרטי ExampleGen פולט דוגמאות מסודרות, שרכיבים כמו הרכיב הסטנדרטי של StatisticsGen משתמשים בהן בתור תשומות.

חפצים חייבים להיות מוקלדים היטב עם סוג חפץ הרשום במאגר המטא נתונים של ML . למידע נוסף על המושגים המשמשים ב-ML Metadata .

לסוגי חפץ יש שם והם מגדירים סכימה של המאפיינים שלו. שמות סוגי חפצים חייבים להיות ייחודיים במאגר המטא נתונים של ML שלך. TFX מספק מספר סוגי חפצים סטנדרטיים המתארים סוגי נתונים וסוגי ערכים מורכבים, כגון: מחרוזת, מספר שלם וצוף. אתה יכול לעשות שימוש חוזר בסוגי חפץ אלה או להגדיר סוגי חפצים מותאמים אישית הנובעים מ- Artifact .

פָּרָמֶטֶר

פרמטרים הם קלט לצינורות הידועים לפני ביצוע הצינור שלך. פרמטרים מאפשרים לך לשנות את ההתנהגות של צינור, או חלק מצינור, באמצעות תצורה במקום קוד.

לדוגמה, אתה יכול להשתמש בפרמטרים כדי להפעיל צינור עם קבוצות שונות של היפרפרמטרים מבלי לשנות את הקוד של הצינור.

שימוש בפרמטרים מאפשר לך להגביר את מהירות הניסוי על ידי כך שיהיה קל יותר להפעיל את הצינור שלך עם קבוצות שונות של פרמטרים.

למידע נוסף על מחלקת RuntimeParameter .

רְכִיב

רכיב הוא יישום של משימת ML שתוכל להשתמש בה כשלב בצינור ה-TFX שלך. הרכיבים מורכבים מ:

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

TFX מספק מספר רכיבים סטנדרטיים שבהם אתה יכול להשתמש בצינורות שלך. אם רכיבים אלה אינם עונים על הצרכים שלך, אתה יכול לבנות רכיבים מותאמים אישית. למידע נוסף על רכיבים מותאמים אישית .

צנרת

צינור TFX הוא יישום נייד של זרימת עבודה ML שניתן להפעיל על מתזמרים שונים, כגון: Apache Airflow, Apache Beam ו-Kubeflow Pipelines. צינור מורכב ממופעי רכיבים ופרמטרי קלט.

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

לדוגמה, שקול צינור שעושה את הפעולות הבאות:

  • קולט נתונים ישירות ממערכת קניינית באמצעות רכיב מותאם אישית.
  • מחשב סטטיסטיקה עבור נתוני האימון באמצעות הרכיב הסטנדרטי של StatisticsGen.
  • יוצר סכימת נתונים באמצעות הרכיב הסטנדרטי SchemaGen.
  • בודק את נתוני ההדרכה לאיתור חריגות באמצעות הרכיב הסטנדרטי ExampleValidator.
  • מבצע הנדסת תכונות במערך הנתונים באמצעות רכיב התקן Transform.
  • מאמן דגם באמצעות הרכיב הסטנדרטי של Trainer.
  • מעריך את המודל המאומן באמצעות רכיב ה-Evaluator.
  • אם המודל עובר את ההערכה שלו, הצינור מעמיד את המודל המאומן בתור למערכת פריסה קניינית באמצעות רכיב מותאם אישית.

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

  • לרכיב קליטת הנתונים אין תלות של חפץ כלשהו, ​​כך שהוא יכול להיות הצומת הראשון בגרף.
  • StatisticsGen תלוי בדוגמאות שנוצרו על ידי קליטת נתונים, ולכן יש לבצע אותה לאחר קליטת נתונים.
  • SchemaGen תלוי בסטטיסטיקה שנוצרה על ידי StatisticsGen, ולכן יש לבצע אותה לאחר StatisticsGen.
  • ExampleValidator תלוי בסטטיסטיקה שנוצרה על-ידי StatisticsGen ובסכימה שנוצרה על-ידי SchemaGen, ולכן יש להפעיל אותה אחרי StatisticsGen ו-SchemaGen.
  • טרנספורמציה תלויה בדוגמאות שנוצרו על ידי הטמעת נתונים ובסכימה שנוצרה על ידי SchemaGen, ולכן יש לבצע אותה לאחר הטמעת נתונים ו- SchemaGen.
  • המאמן תלוי בדוגמאות שנוצרו על ידי קליטת נתונים, הסכימה שנוצרה על ידי SchemaGen, והמודל השמור שהופק על ידי Transform. ניתן להפעיל את ה-Trainer רק לאחר קליטת נתונים, SchemaGen ו-Transform.
  • ה-Evaluator תלוי בדוגמאות שהופקו על ידי הטמעת נתונים ובמודל השמור שהופק על ידי המאמן, ולכן יש לבצע אותו לאחר הטמעת הנתונים והמאמן.
  • הפריסה המותאמת אישית תלויה במודל השמור שהופק על ידי המאמן ובתוצאות הניתוח שנוצרו על ידי ה-Evaluator, כך שהמפיץ חייב להתבצע אחרי המאמן והמעריך.

בהתבסס על ניתוח זה, מתזמר מריץ:

  • קליטת הנתונים, StatisticsGen, מופעי רכיב SchemaGen ברצף.
  • הרכיבים ExampleValidator ו-Transform יכולים לפעול במקביל מכיוון שהם חולקים תלות של חפצי קלט ואינם תלויים זה בפלט של זה.
  • לאחר השלמת רכיב הטרנספורמציה, מופעי ה-Trainer, Evaluator ורכיבי הפריסה המותאמת אישית פועלים ברצף.

למידע נוסף על בניית צינור TFX .

תבנית TFX Pipeline

תבניות TFX Pipeline מקלות על תחילת העבודה עם פיתוח צינורות על ידי מתן צינור נבנה מראש שתוכל להתאים אישית למקרה השימוש שלך.

למידע נוסף על התאמה אישית של תבנית צינור TFX .

הפעלת צינור

ריצה היא ביצוע יחיד של צינור.

תזמורת

תזמורת היא מערכת שבה אתה יכול לבצע ריצות צינור. TFX תומך במתזמרים כגון: Apache Airflow , Apache Beam ו- Kubeflow Pipelines . TFX משתמש גם במונח DagRunner כדי להתייחס למימוש התומך בתזמר.