שיטות מומלצות להטמעת למידת מכונה ב-Google Cloud

Last reviewed 2024-09-09 UTC

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

במסמך מתוארים השלבים הבאים בתהליך העבודה של למידת המכונה:

  1. פיתוח ML: תכנון, ניסוי ופיתוח של אב טיפוס של מודל כדי לפתור בעיה עסקית.
  2. הכנת הנתונים: ניקוי רעשים מהנתונים הגולמיים ופיתוח תכונות כדי לוודא שהמודל מקבל קלט איכותי עם אותות חזקים.
  3. אימון ML: מריצים סקריפטים של אימון על קבוצת נתונים כדי לבצע אופטימיזציה של הפרמטרים של המודל ולהתאים את ההיפר-פרמטרים עד שמדד לבדיקת ביצועים עומד בדרישות.
  4. פריסת המודל והצגתו: פריסת המודל בסביבת ייצור כדי לספק למשתמשים גישה דרך API או קונטיינר.
  5. תזמור תהליך העבודה של ML: הפיכת פייפליין מקצה לקצה לאוטומטי, שמתזמן את תהליך העבודה של ML מהטמעת נתונים ועד לפריסה.
  6. ארגון פריטי מידע שנוצרו בתהליך הפיתוח (Artifact): רישום ביומן וניהול גרסאות של כל מערך נתונים, קובץ מודל והגדרה במרשם מרכזי.
  7. מעקב אחרי המודל: שימוש בלוחות בקרה כדי לעקוב אחרי הביצועים של המודל בזמן אמת ואחרי שינויים בביצועים.

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

לפני שאתם מיישמים את השיטות המומלצות שבמסמך הזה, מומלץ לקרוא את מבוא ל-Gemini Enterprise Agent Platform.

ההנחות הבאות נלקחו בחשבון במסמך הזה:

  • אתם משתמשים בעיקר בשירותי Google Cloud . המסמך הזה לא עוסק בגישות היברידיות או מקומיות.
  • אתם מתכננים לאסוף נתוני אימון ולאחסן אותם ב- Google Cloud.
  • אתם מכירים ברמה בינונית את הכלים של ML, Big Data ועיבוד נתונים מקדים, וגם את העקרונות הבסיסיים של Cloud Storage,‏ BigQuery ו-Google Cloud.

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

בטבלה הבאה מפורטים הכלים והמוצרים המומלצים לכל שלב בתהליך העבודה של למידת המכונה, כפי שמתואר במסמך הזה:

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

‫Google מציעה את AutoML, חיזוי באמצעות Agent Platform ו-BigQuery ML כחלופות לשגרת אימון מובנית מראש לפתרונות של מודלים באימון מותאם אישית של Agent Platform. בטבלה הבאה מפורטות המלצות לגבי מתי להשתמש באפשרויות האלה ב-Agent Platform.

סביבת למידת מכונה תיאור כדאי לבחור בסביבה הזו אם…
BigQuery ML ב-BigQuery ML, הנתונים, התשתית וסוגי המודלים המוגדרים מראש משולבים במערכת אחת.
‫AutoML (בהקשר של Agent Platform) ב-AutoML יש שגרות אימון לבעיות נפוצות, כמו סיווג תמונות ורגרסיה טבלאית. כמעט כל ההיבטים של אימון מודל והצגת מודל, כמו בחירת ארכיטקטורה, כוונון היפר-פרמטרים והקצאת מכונות, מטופלים בשבילכם.
  • הנתונים והבעיה שלכם תואמים לאחד מהפורמטים עם סוגי הנתונים ויעדי המודל שנתמכים ב-AutoML. אפשר להציג את המודל מ- Google Cloud או לפרוס אותו במכשיר חיצוני. אפשר לקרוא מידע נוסף במאמרים אימון מודלים משלכם ושימוש בהם ואימון מודל AutoML Edge באמצעות מסוף Google Cloud .
  • במודלים של טקסט, וידאו או טבלאות, המודל יכול לסבול זמני אחזור של הסקה של יותר מ-100 אלפיות השנייה. אפשר גם לאמן מודלים טבלאיים של AutoML מסביבת BigQuery ML.
מודלים שעברו אימון בהתאמה אישית ב-Agent Platform בעזרת Vertex אתם יכולים להריץ שגרות אימון בהתאמה אישית ולפרוס מודלים מכל סוג בארכיטקטורה בלי שרת (serverless). ב-Agent Platform יש שירותים נוספים, כמו כוונון היפר-פרמטרים ומעקב, כדי שיהיה קל יותר לפתח מודל. בחירת שיטת אימון בהתאמה אישית
  • הבעיה שלכם לא תואמת לקריטריונים שמפורטים בטבלה הזו ל-BigQuery ML או ל-AutoML.
  • אתם כבר מריצים אימון באופן מקומי או בפלטפורמת ענן אחרת, ואתם צריכים עקביות בין הפלטפורמות.

הגדרת סביבת ML

מומלץ להשתמש בשיטות המומלצות הבאות כשמגדירים את סביבת ML:

שימוש במכונות של Agent Platform Workbench לניסויים ולפיתוח

לא משנה באילו כלים אתם משתמשים, מומלץ להשתמש במכונות Workbench של Agent Platform לניסויים ולפיתוח, כולל כתיבת קוד, הפעלת משימות, הרצת שאילתות ובדיקת סטטוס. מכונות Agent Platform Workbench מאפשרות לגשת לכל הנתונים ושירותי ה-AI של Google Cloudבצורה פשוטה וניתנת לשחזור.

בנוסף, מכונות Agent Platform Workbench מספקות לכם קבוצה מאובטחת של תוכנות ודפוסי גישה, בלי שתצטרכו להגדיר אותם. בדרך כלל מתאימים אישית מאפיינים כמו רשת, ניהול זהויות והרשאות גישה (IAM) ותוכנה (באמצעות קונטיינר) שמשויכים למכונה של Agent Platform Workbench.Google Cloud מידע נוסף זמין במאמרים מבוא ל-Agent Platform ומבוא למכונות של Agent Platform Workbench.

לחלופין, אתם יכולים להשתמש ב-Colab Enterprise, סביבת notebook מנוהלת לשיתוף פעולה שמשתמשת ביכולות האבטחה והתאימות של Google Cloud.

יצירת מכונה של Agent Platform Workbench לכל חבר צוות

יוצרים מכונה של Agent Platform Workbench לכל חבר בצוות מדעי הנתונים. אם חבר צוות מעורב בכמה פרויקטים, במיוחד פרויקטים עם יחסי תלות שונים, מומלץ להשתמש בכמה מכונות ולהתייחס לכל מכונה כסביבת עבודה וירטואלית. שימו לב שאפשר לעצור מכונות של Agent Platform Workbench כשלא משתמשים בהן.

אחסון של משאבים ופריטי מידע שקשורים ל-ML בהתאם למדיניות הארגונית

הדרך הכי פשוטה להגדיר בקרת גישה היא לאחסן את המשאבים ופריטי המידע שנוצרו בתהליך הפיתוח (Artifacts) של הנתונים הגולמיים ושל Agent Platform, כמו מערכי נתונים ומודלים, באותו פרויקט ב- Google Cloud . בדרך כלל, לארגון יש כללי מדיניות שקובעים את הגישה. אם המשאבים והפריטים שלכם מאוחסנים בפרויקטים שונים, אתם יכולים להגדיר את בקרת הגישה של הארגון לפרויקטים שונים באמצעות ניהול זהויות והרשאות גישה (IAM).

שימוש ב-Vertex AI SDK ל-Python

Agent Platform SDK for Python, דרך פייתונית להשתמש ב-Agent Platform לתהליכי עבודה מקצה לקצה של פיתוח מודלים, שפועלת בצורה חלקה עם מסגרות ה-ML המועדפות עליכם, כולל PyTorch, ‏ TensorFlow, ‏ XGBoost ו-scikit-learn.

אפשר גם להשתמש במסוף Google Cloud , שתומך בפונקציונליות של Agent Platform כממשק משתמש דרך הדפדפן.

פיתוח ML

אלה השיטות המומלצות לפיתוח ML:

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

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

הכנת נתוני אימון

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

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

אחסון נתונים מובְנים ומובְנים למחצה ב-BigQuery

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

לקרוא נתונים מ-BigQuery באמצעות BigQuery Storage API. למעקב אחרי פריטי מידע, כדאי להשתמש בקבוצת נתונים מנוהלת בטבלה. בטבלה הבאה מפורטים כלים של Google Cloud שמאפשרים להשתמש ב-API בקלות:

אם אתם משתמשים ב… שימוש בכלי Google Cloud הזה
‫TensorFlow ל-Keras קורא tf.data.dataset ל-BigQuery
TFX לקוח BigQuery
Dataflow Google BigQuery I/O Connector
כל מסגרת אחרת (כמו PyTorch,‏ XGBoost או scikit-learn) ייבוא מודלים ב-BigQuery

אחסון תמונות, סרטונים, קובצי אודיו ונתונים לא מובְנים ב-Cloud Storage

אחסון הנתונים האלה בפורמטים של מאגרים גדולים ב-Cloud Storage. ההנחיה הזו רלוונטית לקובצי TFRecord מפוצלים אם אתם משתמשים ב-TensorFlow, או לקובצי Avro אם אתם משתמשים בכל מסגרת אחרת.

כדאי לשלב הרבה תמונות, סרטונים או קטעי אודיו נפרדים בקבצים גדולים, כי זה ישפר את תפוקת הקריאה והכתיבה ב-Cloud Storage. מומלץ להשתמש בקבצים בגודל של לפחות 100MB, ובין 100 ל-10,000 פיסות.

כדי לאפשר ניהול נתונים, משתמשים בקטגוריות של Cloud Storage ובספריות כדי לקבץ את המקטעים. מידע נוסף זמין במאמר סקירה כללית של המוצר Cloud Storage.

שימוש בשירותי תיוג נתונים באמצעות מסוף Google Cloud

אפשר ליצור ולייבא נתוני אימון דרך הדף Agent Platform במסוף Google Cloud . בעזרת יכולות ההנחיות והכוונון של Gemini, אתם יכולים לנהל נתוני טקסט באמצעות סיווג, חילוץ ישויות וניתוח סנטימנטים בהתאמה אישית. יש גם פתרונות לתיוג נתונים ב-Marketplace של Google Cloud , כמו Labelbox ו-Snorkel Flow.

שימוש ב-Agent Platform Feature Store עם נתונים מובְנים

אתם יכולים להשתמש ב-Feature Store כדי ליצור, לתחזק, לשתף ולהכניס לשימוש בסביבת הייצור מאפיינים של ML במיקום מרכזי. הוא מותאם לעומסי עבודה שדורשים זמן אחזור קצר, ומאפשר לאחסן נתוני מאפיינים בטבלה או בתצוגה ב-BigQuery. כדי להשתמש ב-Agent Platform Feature Store, צריך ליצור מכונה של חנות אונליין ולהגדיר את תצוגות הפיצ'רים. ב-BigQuery מאוחסנים כל נתוני המאפיינים, כולל נתוני מאפיינים היסטוריים, כדי שתוכלו לעבוד אופליין.

שימוש ב-Vertex AI TensorBoard ובניסויים ב-Gemini Enterprise Agent Platform לניתוח ניסויים

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

אתם יכולים להשתמש ב-Experiments ב-Agent Platform כדי לשלב עם Vertex ML Metadata, ולתעד וליצור קישור בין פרמטרים, מדדים וארטיפקטים של מערכי נתונים ומודלים.

אימון מודל במכונה של Agent Platform Workbench לקבוצות נתונים קטנות

אימון מודל במכונה של Agent Platform Workbench יכול להספיק לקבוצות נתונים קטנות, או לקבוצות משנה של קבוצת נתונים גדולה יותר. כדאי להשתמש בשירות האימון למערכי נתונים גדולים יותר או לאימון מבוזר. מומלץ גם להשתמש בשירות האימון המנוהל של Gemini Enterprise Agent Platform כדי להעביר את האימון לסביבת הייצור, גם בקבוצות נתונים קטנות, אם האימון מתבצע לפי לוח זמנים או בתגובה להגעה של נתונים נוספים.

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

כדי למקסם את דיוק החיזוי של המודל, אתם יכולים להשתמש בכוונון היפר-פרמטרים – כלי אוטומטי לשיפור המודל שזמין בשירות האימון המנוהל של Gemini Enterprise Agent Platform. הכלי הזה משתמש בתשתית העיבוד של Google Cloud ושל Vertex AI Vizier כדי לבדוק הגדרות שונות של היפר-פרמטרים בזמן אימון המודל. כוונון היפר-פרמטרים מייתר את הצורך לשנות ידנית את ההיפר-פרמטרים במהלך מספר רב של הרצות אימון כדי להגיע לערכים האופטימליים.

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

שימוש במכונה של Agent Platform Workbench כדי להבין את המודלים

משתמשים במכונה של Agent Platform Workbench כדי להעריך ולהבין את המודלים. בנוסף לספריות נפוצות מובנות כמו scikit-learn, מכונות של Agent Platform Workbench כוללות את What-if Tool‏ (WIT) ואת Language Interpretability Tool‏ (LIT). בעזרת WIT אפשר לנתח באופן אינטראקטיבי את ההטיות במודלים באמצעות כמה שיטות, ובעזרת LIT אפשר להבין את ההתנהגות של מודל עיבוד השפה הטבעית (NLP) באמצעות כלי חזותי, אינטראקטיבי וניתן להרחבה.

שימוש בשיוך תכונות כדי לקבל תובנות לגבי חיזויים של מודלים

‫Vertex Explainable AI הוא חלק בלתי נפרד מתהליך ההטמעה של למידת המכונה, ומציע שיוך של מאפיינים כדי לספק תובנות לגבי הסיבות לכך שמודלים יוצרים חיזויים. ‫Vertex AI ניתן להסברה מפרט את החשיבות של כל מאפיין שהמודל משתמש בו כקלט כדי ליצור חיזוי, וכך עוזר לכם להבין טוב יותר את התנהגות המודל ולבנות אמון במודלים שלכם.

‫Vertex AI ניתן להסברה תומך במודלים באימון מותאם אישית שמבוססים על נתונים טבלאיים ועל נתוני תמונות.

למידע נוסף על Vertex AI ניתן להסברה, ראו:

תהליך הכנת נתונים

אלה השיטות המומלצות להכנת הנתונים:

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

שימוש ב-BigQuery כדי לעבד נתונים מובְנים ומובְנים למחצה

משתמשים ב-BigQuery כדי לאחסן נתונים מובְנים או מובְנים למחצה שלא עברו עיבוד. אם אתם בונים את המודל באמצעות BigQuery ML, השתמשו בטרנספורמציות המובנות ב-BigQuery לעיבוד מראש של הנתונים. אם אתם משתמשים ב-AutoML, השתמשו בטרנספורמציות המובנות ב-AutoML לעיבוד מראש של נתונים. אם אתם מפתחים מודל בהתאמה אישית, יכול להיות שהשימוש בטרנספורמציות של BigQuery הוא השיטה הכי משתלמת.

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

שימוש ב-Dataflow לעיבוד נתונים

אם יש לכם כמויות גדולות של נתונים, כדאי להשתמש ב-Dataflow, שמשתמש במודל התכנות של Apache Beam. אתם יכולים להשתמש ב-Dataflow כדי להמיר את הנתונים הלא מובְנים לפורמטים של נתונים בינאריים כמו TFRecord, וכך לשפר את הביצועים של הטמעת הנתונים במהלך תהליך האימון.

שימוש ב-Managed Service for Apache Spark לעיבוד נתונים ב-Spark בלי שרת (serverless)

לחלופין, אם הארגון שלכם השקיע בבסיס קוד ובמיומנויות של Apache Spark, כדאי להשתמש ב-Managed Service for Apache Spark. משתמשים בסקריפטים חד-פעמיים של Python לקבוצות נתונים קטנות יותר שמתאימות לזיכרון.

אם אתם צריכים לבצע טרנספורמציות שאי אפשר לבטא ב-Cloud SQL או שהן מיועדות לסטרימינג, אתם יכולים להשתמש בשילוב של Dataflow וספריית pandas.

שימוש במערכי נתונים מנוהלים עם מטא-נתונים של למידת מכונה

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

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

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

אימון מודלים של למידת מכונה

אלה השיטות המומלצות לאימון ML:

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

הרצת הקוד בשירות מנוהל

מומלץ להריץ את הקוד בשירות האימון המנוהל של Gemini Enterprise Agent Platform או לתזמר אותו באמצעות צינורות עיבוד הנתונים של Agent Platform. אפשר גם להריץ את הקוד ישירות בתמונות VM של למידה עמוקה (Deep Learning), בקונטיינרים של למידה עמוקה (Deep Learning) או ב-Compute Engine. עם זאת, אנחנו לא ממליצים על הגישה הזו אם אתם משתמשים בתכונות של Agent Platform, כמו התאמה אוטומטית לעומס (automatic scaling) ויכולת התמודדות עם עומסים פתאומיים (burst capability).

תפעול של הרצת משימות באמצעות צינורות עיבוד נתונים לאימון

כדי להפעיל את משימות האימון ב-Agent Platform, אתם יכולים ליצור צינורות עיבוד נתונים לאימון. פייפליין אימון, שהוא שונה מפייפליין ML כללי, כולל משימות אימון. למידע נוסף על צינורות עיבוד נתונים לאימון, קראו את המאמרים יצירת צינורות עיבוד נתונים לאימון ו-משאב REST: ‏projects.locations.trainingPipelines.

שימוש בנקודות בקרה לאימון כדי לשמור את המצב הנוכחי של הניסוי

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

מומלץ לשמור נקודות ביקורת של אימון ב-Cloud Storage. צרו תיקייה שונה לכל ניסוי או הרצת אימון.

למידע נוסף על נקודות ביקורת, ראו נקודות ביקורת לאימון ל-TensorFlow Core, שמירה וטעינה של נקודת ביקורת כללית ב-PyTorch ותבניות עיצוב של למידת מכונה.

הכנת פריטי מידע שנוצרו במודל להצגה ב-Cloud Storage

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

ב-Cloud Storage יש תמיכה בניהול גרסאות של אובייקטים. כדי למנוע אובדן נתונים או פגיעה בנתונים, הפעילו את ניהול הגרסאות של אובייקטים ב-Cloud Storage.

מאחסנים את הקטגוריה של Cloud Storage באותו פרויקט ב- Google Cloud . אם הקטגוריה של Cloud Storage נמצאת בפרויקט אחר ב- Google Cloud , צריך לתת ל-Gemini Enterprise Agent Platform גישה לקריאת פריטי המידע שנוצרו מהמודל.

אם אתם משתמשים בקונטיינר מובנה של Gemini Enterprise Agent Platform, ודאו ששמות הקבצים של פריטי המודל תואמים בדיוק לדוגמאות הבאות:

  • ‫TensorFlow SavedModel: saved_model.pb
  • ‫Scikit-learn: model.joblib
  • ‫XGBoost: ‏model.bst
  • ‫PyTorch: model.pth

במאמר ייצוא פריטי מידע שנוצרו באופן ידני של מודל לחיזוי מוסבר איך לשמור את המודל בצורה של פריט מידע אחד או יותר שנוצר באופן ידני.

חישוב קבוע של ערכי מאפיינים חדשים

בדרך כלל, מודל משתמש בקבוצת משנה של תכונות שמקורן ב-Agent Platform Feature Store. המאפיינים ב-Agent Platform Feature Store כבר יהיו מוכנים למילוי בקשות באופן מיידי. אם מדעני נתונים יוצרים תכונות חדשות על סמך נתונים מאגם הנתונים, מומלץ לתזמן את המשימות המתאימות של עיבוד הנתונים והנדסת התכונות (או באופן אידיאלי, Dataflow) כדי לחשב באופן קבוע את ערכי התכונות החדשות בקצב הנדרש, בהתאם לצורכי העדכניות של התכונות, ולהטמיע אותם ב-Agent Platform Feature Store לשליפת נתונים אונליין או שליפת נתונים ב-batch.

פריסה והצגה של מודלים

אלה השיטות המומלצות לפריסת מודלים ולהצגתם:

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

כדי להפחית את זמן האחזור של בקשות בין נקודות קצה (P2P) בין הלקוח לשרת המודל, משתמשים בנקודות קצה פרטיות של Agent Platform. נקודות קצה פרטיות שימושיות במיוחד אם האפליקציה ששולחת את בקשות החיזוי והקובץ הבינארי להצגה נמצאים באותה רשת מקומית. כדי להימנע מהתקורה של ניתוב באינטרנט, אפשר ליצור חיבור בין רשתות שכנות באמצעות ענן וירטואלי פרטי.

מציינים את מספר המכונות שצריך ואת הסוגים שלהן

כדי לפרוס את המודל לחיזוי, צריך לבחור חומרה שמתאימה למודל, כמו סוגים שונים של מכונות וירטואליות (VM) של מעבד (CPU) או סוגים של מעבד גרפי (GPU). למידע נוסף, קראו את המאמר הגדרת סוגי מכונות או שכבות התאמה.

הנתונים שהמודל מקבל לגבי התוכנית

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

אם אתם פורסים את המודל לחיזוי אונליין, אתם צריכים דרך עם זמן אחזור קצר וניתנת להרחבה כדי להעביר את הקלטים או המאפיינים לנקודת הקצה של המודל. אתם יכולים לעשות את זה באמצעות אחד משירותי מסד הנתונים הרבים ב- Google Cloud, או באמצעות ה-API של Feature Store למילוי בקשות באופן מיידי. הלקוחות שקוראים לנקודת הקצה של החיזוי אונליין יכולים קודם לקרוא לפתרון של הצגת המאפיינים כדי לאחזר את קלט המאפיינים, ואז לקרוא לנקודת הקצה של החיזוי עם הקלט הזה. אפשר להציג כמה מודלים לאותה נקודת קצה, למשל כדי להחליף את המודל בהדרגה. לחלופין, אתם יכולים לפרוס מודלים בכמה נקודות קצה,לדוגמה, בבדיקה ובייצור, על ידי שיתוף משאבים בין פריסות.

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

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

הפעלה של התאמה אוטומטית לעומס (automatic scaling)

אם אתם משתמשים בשירות החיזוי אונליין, ברוב המקרים מומלץ להפעיל התאמה אוטומטית לעומס (automatic scaling) על ידי הגדרת מספר מינימלי ומקסימלי של צמתים. מידע נוסף זמין במאמר קבלת חיזויים למודל שעבר אימון בהתאמה אישית. כדי להבטיח הסכם רמת שירות (SLA) עם זמינות גבוהה, צריך להגדיר התאמה אוטומטית לעומס עם שני צמתים לפחות.

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

תזמור תהליכי עבודה של למידת מכונה

בהתאם לתשתית ולצרכי השילוב שלכם, מומלץ להשתמש בשיטות הבאות לתזמור של תהליכי עבודה ב-ML:

‫Google Cloud מספק חבילה מקיפה לתזמור של תהליכי עבודה של למידת מכונה. לתהליכים מורכבים מקצה לקצה שכוללים משימות של הנדסת מערכות מידע, כמו חילוץ, טעינה וטרנספורמציה (ELT), אימון ML ומערכות עסקיות חיצוניות, מומלץ להשתמש ב-Managed Airflow בתור כלי תזמור ארגוני. לתהליכי עבודה עצמאיים שנשארים אך ורק בסביבה של Agent Platform, אפשר להשתמש ב-Agent Platform Pipelines – שירות שמנוהל במלואו בלי שרת (serverless) שמאפשר לאמן מחדש את המודלים בתדירות הנדרשת. אימון מחדש מאפשר למודלים להסתגל לשינויים ולשמור על הביצועים לאורך זמן, אבל כשבוחרים את התדירות האופטימלית לאימון מחדש של המודל, חשוב להביא בחשבון את מידת השינוי בנתונים.

תהליכי עבודה של תזמור למידת מכונה מתאימים במיוחד ללקוחות שכבר תכננו ובנו את המודל שלהם, העבירו אותו לסביבת הייצור ורוצים להפוך את מחזור החיים של למידת המכונה לאוטומטי. הקוד שבו אתם משתמשים לניסויים כנראה יהיה שימושי לשאר תהליך העבודה של למידת המכונה, עם כמה שינויים. כדי לעבוד עם תהליכי עבודה של למידת מכונה בקונטיינרים ב-Agent Platform Pipelines, אתם צריכים לשלוט ב-Python, להבין תשתיות בסיסיות כמו קונטיינרים ולהיות בעלי ידע בלמידת מכונה. אם אתם צריכים תזמור רחב יותר בלי לנהל קונטיינרים בהתאמה אישית למשימות שהן לא למידת מכונה, Managed Airflow מציע יותר מ-1,000 אופרטורים מובְנים מראש ומסגרת הגדרות אישית נגישה שמבוססת על YAML למדעני נתונים.

שימוש ב-Managed Airflow לתהליכי עבודה מקצה לקצה של MLOps בארגון

אפשר להפעיל ידנית כל תהליך של נתונים, אימון, הערכה ופריסה, אבל מומלץ להשתמש ב-Managed Airflow כדי לתזמר את כל התהליך כשהארכיטקטורה כוללת מערכות הטרוגניות. ‫Managed Airflow מבוסס על Apache Airflow. ‫Managed Airflow פועל כמישור בקרה מאוחד, שמאפשר לשלב בצורה חלקה שירותי Google Cloud (כמו BigQuery ו-Dataflow) עם Agent Platform וכלים ארגוניים של צד שלישי.

במקום לכתוב קובצי DAG מורכבים של Airflow ב-Python, אתם יכולים להשתמש ב-Orchestration Pipelines כדי להגדיר את הלוגיקה העסקית ואת יחסי התלות בקובץ YAML תמציתי. הגישה ההצהרתית הזו מקלה מאוד על הכניסה, ומאפשרת למדעני נתונים ליצור ולפרוס בצורה חלקה צינורות עיבוד נתונים עם כמה שלבים בלי צורך במומחיות מעמיקה ב-Apache Airflow. מידע נוסף על MLOps ב-Orchestration Pipelines זמין במאמר משבועות לדקות: עידן סוכני ה-AI החדש של Data pipelines.

שימוש ב-Pipelines של Gemini Enterprise Agent Platform לתהליכי עבודה בלי שרת (serverless) שמוטמעים ב-Agent Platform

אם תהליכי העבודה שלכם מבוססים לגמרי על קונטיינרים ופועלים רק בסביבה של Agent Platform, מומלץ להשתמש ב-Agent Platform Pipelines כדי לתזמר את התהליך. למידע מפורט, קראו את המאמר MLOps רמה 1: אוטומציה של צינור עיבוד הנתונים של למידת המכונה. התכונה Agent Platform Pipelines מספקת הרצה ללא שרת (serverless) של גרפים מכוונים ללא מעגלים (DAG) שנוצרו על ידי Kubeflow ו-TensorFlow Extended ‏(TFX).

שימוש ב-Kubeflow Pipelines לבניית צינורות עיבוד נתונים גמישים

אנחנו ממליצים על Kubeflow Pipelines SDK לרוב המשתמשים שרוצים ליצור צינורות עיבוד נתונים מנוהלים ב-Agent Platform Pipelines. ‫Kubeflow Pipelines הוא כלי גמיש שמאפשר להשתמש בקוד כדי ליצור צינורות עיבוד נתונים בקונטיינרים. הוא גם מספק Google Cloud רכיבי צינור עיבוד נתונים, שמאפשרים לכלול בצינור עיבוד הנתונים פונקציונליות של Agent Platform, כמו AutoML. מידע נוסף על Kubeflow Pipelines זמין במאמרים Kubeflow Pipelines ו-Agent Platform Pipelines.

איך משתמשים ב-Ray ב-Gemini Enterprise Agent Platform לתהליכי עבודה מבוזרים של למידת מכונה

‫Ray מספק מסגרת מבוזרת כללית ומאוחדת להרחבת תהליכי עבודה של למידת מכונה, באמצעות מסגרת מחשוב מבוזרת וניתנת להתאמה בקוד פתוח של Python. הוא יכול לעזור לפתור את האתגרים שנובעים ממגוון של מסגרות מבוזרות בסביבת ה-ML, כמו הצורך להתמודד עם כמה מצבים של מקביליות משימות, תזמון וניהול משאבים. אתם יכולים להשתמש ב-Ray ב-Gemini Enterprise Agent Platform כדי לפתח אפליקציות ב-Agent Platform.

ארגון פריטי המידע שנוצרו בתהליך הפיתוח (Artifact)

מומלץ להשתמש בשיטות המומלצות הבאות כדי לארגן את פריטי המידע שנוצר:

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

ארגון פריטי המידע שנוצרו בתהליך הפיתוח (Artifact) של מודל למידת המכונה

אחסנו את פריטי המידע במיקומים הבאים:

מיקום האחסון פריטים
מאגר בקרת מקור
  • מכונות Workbench של Gemini Enterprise Agent Platform
  • קוד המקור של הפייפליין
  • פונקציות עיבוד מקדים
  • קוד המקור של המודל
  • חבילות לאימון מודלים
  • פונקציות הצגה
ניסויים ומטא-נתונים של למידת מכונה (ML)
  • ניסויים
  • פרמטרים
  • היפר-פרמטרים
  • מטא-פרמטרים
  • מדדים
  • פריטי מידע שנוצרו בתהליך פיתוח (Artifact) של מערך נתונים
  • פריטי מידע שנוצרו בתהליך פיתוח (Artifact) של מודלים
  • מטא-נתונים של צינור עיבוד נתונים
מרשם המודלים
  • מודלים שעברו אימון
Artifact Registry
  • מאגרי פייפליינים
  • סביבות אימון בהתאמה אישית
  • סביבות חיזוי בהתאמה אישית
Gemini Enterprise Agent Platform Inference
  • מודלים שנפרסו

שימוש במאגר בקרת מקור להגדרות של צינור עיבוד הנתונים ולקוד האימון

אתם יכולים להשתמש בבקרת המקור כדי לנהל את הגרסאות של צינורות ה-ML ושל הרכיבים בהתאמה אישית שאתם יוצרים בשביל הצינורות האלה. אתם יכולים להשתמש ב-Artifact Registry כדי לאחסן, לנהל ולאבטח את קובצי האימג' של קונטיינרים של Docker בלי להפוך אותם לגלויים לכולם.

מעקב אחרי מודלים

אחרי שפורסים את המודל בסביבת הייצור, צריך לעקוב אחרי הביצועים כדי לוודא שהמודל פועל כמצופה. ב-Gemini Enterprise Agent Platform יש שתי דרכים לעקוב אחרי מודלים של למידת מכונה:

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

מעקב אחרי מודלים פועל בנתונים מובְנים, כמו מאפיינים מספריים וקטגוריים, אבל לא בנתונים לא מובְנים, כמו תמונות. מידע נוסף מופיע במאמר מעקב אחרי מודלים כדי לזהות הטיה או שינוי הדרגתי במאפיינים.

שימוש בזיהוי של סטייה ושינוי הדרגתי

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

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

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

כוונון עדין של ערכי הסף לקבלת התראות

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

שימוש בשיוך תכונות כדי לזהות שינויים או הטיה בנתונים

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

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

שימוש ב-BigQuery לתמיכה במעקב אחרי מודלים

מעקב אחרי מודלים של BigQuery ML הוא קבוצה של כלים ופונקציות שעוזרים לעקוב אחרי הביצועים של מודלים של למידת מכונה לאורך זמן ולהעריך אותם. מעקב אחרי מודלים חיוני לשמירה על הדיוק והאמינות של המודלים באפליקציות בעולם האמיתי. מומלץ לעקוב אחרי הבעיות הבאות:

  • חלוקת נתונים לא מאוזנת (data skew): הבעיה הזו מתרחשת כשיש הבדלים בהתפלגות של ערכי המאפיינים בין נתוני האימון לנתוני הצגת המודעות. סטטיסטיקות האימון, שנשמרות במהלך אימון המודל, מאפשרות לזהות את הסטייה בלי להשתמש בנתונים המקוריים.
  • שינויים בנתונים: נתונים בעולם האמיתי משתנים לעיתים קרובות עם הזמן. מעקב אחרי המודל עוזר לזהות מתי נתוני הקלט שהמודל רואה בסביבת הייצור (נתוני הצגה) מתחילים להיות שונים באופן משמעותי מהנתונים שעליהם הוא אומן (נתוני אימון). הסטייה הזו עלולה לפגוע בביצועים.
  • סטייה או חלוקת נתונים לא מאוזנת (partition skew) מתקדמת: כשרוצים סטטיסטיקות מפורטות של סטייה או חלוקת נתונים לא מאוזנת (partition skew), עוקבים אחרי סטייה או חלוקת נתונים לא מאוזנת (partition skew) מתקדמת.

המאמרים הבאים