במסמך הזה אנחנו מציגים שיטות מומלצות להטמעת למידת מכונה (ML) ב- Google Cloud, עם דגש על מודלים מאומנים בהתאמה אישית שמבוססים על הנתונים והקוד שלכם. הוא מספק המלצות לפיתוח מודל שעבר אימון בהתאמה אישית לאורך תהליך העבודה של למידת מכונה, כולל פעולות חשובות וקישורים לקריאה נוספת.
במסמך הזה מתוארים השלבים הבאים בתהליך העבודה של למידת מכונה:
- פיתוח ML: עיצוב, ניסוי ופיתוח של אב טיפוס של מודל כדי לפתור בעיה עסקית.
- הכנת נתונים: ניקוי רעשים מנתונים גולמיים והנדסת תכונות כדי לוודא שהמודל מקבל קלט באיכות גבוהה עם אות חזק.
- אימון ML: מריצים סקריפטים לאימון על מערך נתונים כדי לבצע אופטימיזציה של פרמטרים של מודל ולהתאים היפר-פרמטרים עד שמדד לבדיקת ביצועים עומד בדרישות.
- פריסה והצגה של המודל: פריסת המודל בסביבת ייצור כדי לספק למשתמשים גישה באמצעות API או קונטיינר.
- ארגון תהליכי עבודה של למידת מכונה: אוטומציה של צינור עיבוד הנתונים מקצה לקצה, שמתזמן את תהליך העבודה של למידת המכונה מהטמעת הנתונים ועד לפריסה.
- ארגון ארטיפקטים: רישום ותיעוד של כל מערך נתונים, קובץ מודל ותצורה במרשם מרכזי.
- מעקב אחרי המודל: שימוש בלוחות בקרה כדי לעקוב אחרי הביצועים של המודל בזמן אמת ואחרי סחף הביצועים.
המסמך לא כולל רשימה מקיפה של המלצות. המטרה שלו היא לעזור למדעני נתונים ולאדריכלים של למידת מכונה להבין את היקף הפעילויות שקשורות לשימוש בלמידת מכונה ב- Google Cloud ולתכנן בהתאם. במאמר שימוש בכלים ובמוצרים מומלצים מוזכרים חלופות לפיתוח ML כמו AutoML, אבל המאמר הזה מתמקד בעיקר במודלים שעברו אימון מותאם אישית.
לפני שמיישמים את השיטות המומלצות שמתוארות במסמך הזה, מומלץ לקרוא את המאמר בנושא Gemini Enterprise Agent Platform.
במסמך הזה אנחנו יוצאים מנקודת הנחה ש:
- אתם משתמשים בעיקר בשירותים של Google Cloud . המסמך הזה לא מתייחס לגישות היברידיות ולגישות מקומיות.
- אתם מתכננים לאסוף נתוני אימון ולאחסן אותם ב- Google Cloud.
- יש לכם ידע ברמה בינונית ב-ML, בכלים ל-Big Data ובעיבוד מקדים של נתונים, וגם היכרות עם Cloud Storage, BigQuery ועם היסודות של Google Cloud.
אם אתם חדשים בתחום למידת המכונה, כדאי לעיין בקורס המזורז ללמידת מכונה של Google.
שימוש בכלים ובמוצרים מומלצים
בטבלה הבאה מפורטים הכלים והמוצרים המומלצים לכל שלב בתהליך העבודה של ML, כפי שמתואר במסמך הזה:
| שלב בתהליך עבודה של למידת מכונה | כלים ומוצרים מומלצים |
|---|---|
| הגדרת סביבת ML | |
| פיתוח ML | |
| הכנת הנתונים | |
| הדרכה של ML | |
| פריסה והצגה של מודלים | |
| תזמור תהליכי עבודה של למידת מכונה | |
| ארגון ארטיפקטים | |
| מעקב אחר מודלים | |
| פלטפורמות קוד פתוח מנוהלות |
Google מציעה את AutoML, חיזוי באמצעות Agent Platform ו-BigQuery ML כחלופות לשגרות אימון מוכנות מראש לפתרונות של מודלים שעברו אימון מותאם אישית ב-Agent Platform. בטבלה הבאה מפורטות המלצות לגבי מתי כדאי להשתמש באפשרויות האלה ב-Agent Platform.
| סביבת למידת מכונה | תיאור | בוחרים בסביבה הזו אם... |
|---|---|---|
| BigQuery ML | BigQuery ML מאגד נתונים, תשתית וסוגי מודלים מוגדרים מראש במערכת אחת. |
|
| AutoML (בהקשר של Agent Platform) | AutoML מספק שגרות אימון לבעיות נפוצות כמו סיווג תמונות ורגרסיה טבלאית. כמעט כל ההיבטים של אימון מודל והצגתו, כמו בחירת ארכיטקטורה, כוונון היפר-פרמטרים והקצאת מכונות, מטופלים בשבילכם. |
|
| מודלים שעברו אימון בהתאמה אישית ב-Agent Platform | Vertex מאפשר לכם להריץ שגרות אימון בהתאמה אישית ולפרוס מודלים מכל סוג בארכיטקטורה ללא שרת. פלטפורמת Agent מציעה שירותים נוספים, כמו כוונון של היפרפרמטרים וניטור, כדי להקל על פיתוח מודל. איך בוחרים שיטת אימון מותאמת אישית |
|
הגדרת סביבת למידת מכונה
מומלץ להשתמש בשיטות המומלצות הבאות כשמגדירים את סביבת ה-ML:
- שימוש במכונות Agent Platform Workbench לניסויים ולפיתוח.
- יוצרים מכונת Agent Platform Workbench לכל חבר צוות.
- אחסון של משאבים ופריטים של ML בהתאם למדיניות החברה.
- שימוש ב-Agent Platform SDK ל-Python
שימוש במופעים של Agent Platform Workbench לצורכי ניסוי ופיתוח
לא משנה באיזה כלי אתם משתמשים, מומלץ להשתמש במופעים של Agent Platform Workbench לניסויים ולפיתוח, כולל כתיבת קוד, הפעלת משימות, הפעלת שאילתות ובדיקת סטטוס. מכונות Agent Platform Workbench מאפשרות לכם לגשת לכל הנתונים ולשירותי ה-AI של Google Cloudבצורה פשוטה וניתנת לשחזור.
בנוסף, מכונות Agent Platform Workbench מספקות לכם סט מאובטח של תוכנות ודפוסי גישה מוכנים לשימוש. מקובל להתאים אישיתGoogle Cloud מאפיינים כמו רשת, ניהול זהויות והרשאות גישה ותוכנה (באמצעות קונטיינר) שמשויכים למופע של Agent Platform Workbench. מידע נוסף זמין במאמרים מבוא ל-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:
הכנת נתונים לאימון.
אחסון נתונים מובנים ונתונים חצי-מובנים ב-BigQuery.
אחסון תמונות, סרטונים, אודיו ונתונים לא מובְנים ב-Cloud Storage.
שימוש ב-Agent Platform Feature Store עם נתונים מובְנים.
שימוש ב-Vertex AI TensorBoard וב-Experiments ב-Gemini Enterprise Agent Platform לצורך ניתוח ניסויים
אימון מודל במכונת Agent Platform Workbench למערכי נתונים קטנים
איך משפרים את הדיוק של התחזיות במודל באמצעות כוונון היפר-פרמטרים
שימוש במכונת Agent Platform Workbench כדי להבין את המודלים.
שימוש בשיוכים של תכונות כדי לקבל תובנות לגבי התחזיות של המודל.
פיתוח למידת מכונה כולל הכנת הנתונים, ניסוי והערכת המודל. כשפותרים בעיה של למידת מכונה, בדרך כלל צריך לבנות ולהשוות בין הרבה מודלים שונים כדי להבין מה הכי מתאים.
בדרך כלל, מדעני נתונים מאמנים מודלים באמצעות ארכיטקטורות שונות, קבוצות של נתוני קלט, היפרפרמטרים וחומרה. מדעני נתונים מעריכים את המודלים שמתקבלים על ידי בדיקת מדדי ביצועים מצטברים כמו דיוק, רמת דיוק והחזרה של נתונים במערכי נתונים של בדיקות. לבסוף, מדעני נתונים מעריכים את הביצועים של המודלים בהשוואה לקבוצות משנה מסוימות של הנתונים שלהם, לגרסאות שונות של המודלים ולארכיטקטורות שונות של המודלים.
הכנת נתוני אימון
הנתונים שמשמשים לאימון מודל יכולים להגיע ממספר מערכות, למשל, יומנים ממערכת שירות אונליין, תמונות ממכשיר מקומי או מסמכים שנאספו מהאינטרנט.
לא משנה מה המקור של הנתונים, צריך לחלץ נתונים ממערכות המקור ולהמיר אותם לפורמט ולאחסון (בנפרד ממקור הנתונים התפעולי) שעברו אופטימיזציה לאימון של למידת מכונה. מידע נוסף על הכנת נתוני אימון לשימוש ב-Agent Platform זמין במאמר אימון מודלים משלכם ושימוש בהם.
אחסון נתונים מובנים ונתונים חצי-מובנים ב-BigQuery
אם אתם עובדים עם נתונים מובנים או חצי מובנים, מומלץ לאחסן את כל הנתונים ב-BigQuery, בהתאם להמלצה של BigQuery לגבי מבנה הפרויקט. ברוב המקרים, אפשר לאחסן ב-BigQuery גם נתונים מעובדים של ביניים. כדי להשיג מהירות מקסימלית, עדיף לאחסן נתונים מגובשים במקום להשתמש בתצוגות או בשאילתות משנה לנתוני אימון.
קריאת נתונים מ-BigQuery באמצעות BigQuery Storage API. למעקב אחרי ארטיפקטים, כדאי להשתמש במערך נתונים טבלאי מנוהל. בטבלה הבאה מפורטים Google Cloud כלים שמקלים על השימוש ב-API:
| אם משתמשים ב… | שימוש בכלי Google Cloud הזה |
|---|---|
| TensorFlow for Keras | tf.data.dataset reader for BigQuery |
| TFX | BigQuery client |
| 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 להנחיה והתאמה, אתם יכולים לנהל נתוני טקסט עם סיווג מותאם אישית, חילוץ ישויות וניתוח סנטימנט. ב- Google Cloud console Marketplace יש גם פתרונות לתוויות נתונים, כמו Labelbox ו-Snorkel Flow.
שימוש ב-Feature Store של Agent Platform עם נתונים מובְנים
אתם יכולים להשתמש ב-Feature Store כדי ליצור תכונות של למידת מכונה, לתחזק אותן, לשתף אותן ולהציג אותן במיקום מרכזי. הוא מותאם לעומסי עבודה שדורשים השהיה נמוכה, ומאפשר לכם לאחסן נתוני תכונות בטבלה או בתצוגה ב-BigQuery. כדי להשתמש ב-Agent Platform Feature Store, צריך ליצור מופע של חנות אונליין ולהגדיר את תצוגות התכונות. BigQuery מאחסן את כל נתוני התכונות, כולל נתונים היסטוריים של תכונות, כדי לאפשר לכם לעבוד אופליין.
שימוש ב-Vertex AI TensorBoard וב-Experiments ב-Gemini Enterprise Agent Platform לניתוח ניסויים
במהלך פיתוח מודלים, כדאי להשתמש ב-Vertex AI TensorBoard כדי להציג ולהשוות ניסויים ספציפיים, למשל על סמך היפר-פרמטרים. Vertex AI TensorBoard הוא שירות מנוהל שמוכן לשימוש בארגונים. הוא מספק פתרון מאובטח וחסכוני שמאפשר למדעני נתונים ולחוקרי ML לעקוב אחרי הניסויים שלהם, להשוות ביניהם ולשתף אותם בקלות. Vertex AI TensorBoard מאפשר לעקוב אחרי מדדי ניסוי כמו הפסד ודיוק לאורך זמן, להציג את גרף המודל, להקרין הטמעות למרחב ממדי נמוך יותר ועוד.
אפשר להשתמש ב-Experiments on Agent Platform כדי לבצע אינטגרציה עם Vertex ML Metadata, ולתעד וליצור קישור בין פרמטרים, מדדים, מערכי נתונים וארטיפקטים של מודלים.
אימון מודל במכונה של Agent Platform Workbench למערכי נתונים קטנים
אימון מודל בתוך המופע של Agent Platform Workbench עשוי להספיק למערכי נתונים קטנים או לקבוצות משנה של מערך נתונים גדול יותר. מומלץ להשתמש בשירות האימון למערכי נתונים גדולים יותר או לאימון מבוזר. מומלץ גם להשתמש בשירות Gemini Enterprise Agent Platform Managed Training כדי להעביר את האימון לסביבת ייצור, גם אם מדובר במערכי נתונים קטנים, אם האימון מתבצע לפי לוח זמנים או בתגובה להגעת נתונים נוספים.
איך משפרים את דיוק החיזוי של המודל באמצעות כוונון היפר-פרמטרים
כדי למקסם את דיוק החיזוי של המודל, כדאי להשתמש בכוונון היפר-פרמטרים. זוהי תכונה לשיפור אוטומטי של המודל שזמינה בשירות האימון המנוהל של 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 עוזר לכם להבין את ההתנהגות של מודלים לעיבוד שפה טבעית באמצעות כלי חזותי, אינטראקטיבי וניתן להרחבה.
שימוש בשיוכים של תכונות כדי לקבל תובנות לגבי תחזיות של מודלים
Vertex Explainable AI הוא חלק בלתי נפרד מתהליך ההטמעה של למידת מכונה. הוא מציע שיוך של תכונות כדי לספק תובנות לגבי הסיבות לכך שהמודלים יוצרים תחזיות. התכונה Vertex AI ניתן להסברה עוזרת לכם להבין טוב יותר את ההתנהגות של המודל ולבנות אמון במודלים שלכם. היא עושה זאת על ידי פירוט החשיבות של כל תכונה שהמודל משתמש בה כקלט כדי להפיק חיזוי (prediction).
Vertex AI ניתן להסברה תומך במודלים מותאמים אישית שעברו אימון על סמך נתונים טבלאיים ונתוני תמונות.
למידע נוסף על Vertex AI ניתן להסברה, אפשר לעיין במקורות הבאים:
תהליך הכנת נתונים
אלה השיטות המומלצות להכנת נתונים:
שימוש ב-BigQuery לעיבוד נתונים טבלאיים.
שימוש ב-Dataflow לעיבוד נתונים.
שימוש ב-Managed Service for Apache Spark לעיבוד נתונים ב-Spark ללא שרת.
שימוש במערכי נתונים מנוהלים עם Vertex ML Metadata.
הגישה המומלצת לעיבוד הנתונים תלויה במסגרת ובסוגי הנתונים שבהם אתם משתמשים. בקטע הזה מפורטות המלצות כלליות לתרחישים נפוצים.
שימוש ב-BigQuery לעיבוד נתונים מובנים ונתונים חצי-מובנים
שימוש ב-BigQuery לאחסון נתונים מובְנים או חצי-מובְנים שלא עברו עיבוד. אם אתם בונים את המודל באמצעות BigQuery ML, אתם יכולים להשתמש בהמרות שמוטמעות ב-BigQuery כדי לבצע עיבוד מקדים של הנתונים. אם אתם משתמשים ב-AutoML, אתם יכולים להשתמש בהמרות שמוטמעות ב-AutoML כדי לבצע עיבוד מקדים של הנתונים. אם אתם בונים מודל מותאם אישית, יכול להיות שהשימוש בהמרות של BigQuery יהיה השיטה הכי משתלמת.
במערכי נתונים גדולים, כדאי להשתמש בחלוקה למחיצות ב-BigQuery. השיטה הזו יכולה לשפר את ביצועי השאילתות ואת היעילות מבחינת עלויות.
שימוש ב-Dataflow לעיבוד נתונים
אם יש לכם כמויות גדולות של נתונים, מומלץ להשתמש ב-Dataflow, שמבוסס על מודל התכנות Apache Beam. אתם יכולים להשתמש ב-Dataflow כדי להמיר את הנתונים הלא מובנים לפורמטים של נתונים בינאריים כמו TFRecord, שיכולים לשפר את הביצועים של הכנסת הנתונים במהלך תהליך האימון.
שימוש ב-Managed Service for Apache Spark לעיבוד נתונים ב-Spark בלי שרת
לחלופין, אם בארגון שלכם יש השקעה בבסיס קוד ובכישורים של Apache Spark, כדאי לשקול שימוש ב-Managed Service for Apache Spark. משתמשים בסקריפטים חד-פעמיים של Python למערכי נתונים קטנים יותר שנכנסים לזיכרון.
אם אתם צריכים לבצע טרנספורמציות שלא ניתן לבצע ב-Cloud SQL או טרנספורמציות שמתאימות לסטרימינג, אתם יכולים להשתמש בשילוב של Dataflow וספריית pandas.
שימוש במערכי נתונים מנוהלים עם מטא-נתונים של ML
אחרי שהנתונים עוברים עיבוד מראש ללמידת מכונה, כדאי לשקול שימוש במערך נתונים מנוהל ב-Agent Platform. קבוצות נתונים מנוהלות מאפשרות ליצור קישור ברור בין הנתונים לבין מודלים שעברו אימון בהתאמה אישית, ומספקות נתונים סטטיסטיים תיאוריים ופיצול אוטומטי או ידני לקבוצות אימון, בדיקה ואימות.
אין חובה להשתמש במערכי נתונים מנוהלים. אתם יכולים לבחור שלא להשתמש בהם אם אתם רוצים יותר שליטה על פיצול הנתונים בקוד האימון, או אם שרשרת היוחסין בין הנתונים למודל לא קריטית לאפליקציה שלכם.
מידע נוסף זמין במאמרים בנושא מערכי נתונים ושימוש במערך נתונים מנוהל באפליקציה מותאמת אישית לאימון.
הדרכה בנושא למידת מכונה
אלה השיטות המומלצות לאימון של מודלים של ML:
הפעלת הקוד בשירות מנוהל.
הפעלת ביצוע משימות באמצעות צינורות עיבוד נתונים לאימון.
שימוש בנקודות ביקורת של אימון כדי לשמור את המצב הנוכחי של הניסוי.
הכנת ארטיפקטים של מודלים להצגה ב-Cloud Storage.
חישוב ערכים חדשים של תכונות באופן קבוע.
באימון של מודלים ללמידת מכונה, אימון שניתן להפעלה מתייחס לתהליך של הפיכת אימון המודל לניתן לחזרה על ידי מעקב אחר חזרות וניהול הביצועים. למרות שנוח להשתמש במופעים של Agent Platform Workbench לפיתוח איטרטיבי של מערכי נתונים קטנים, מומלץ להפוך את הקוד לניתן לשחזור ולשינוי גודל כדי שיתאים למערכי נתונים גדולים. בקטע הזה נדון בכלים ובשיטות מומלצות להפעלת שגרות האימון.
הפעלת הקוד בשירות מנוהל
מומלץ להריץ את הקוד בשירות מנוהל של Gemini Enterprise Agent Platform או לתזמן אותו באמצעות Agent Platform Pipelines. אפשר גם להריץ את הקוד ישירות ב-Deep Learning VM Images, ב-Deep Learning Containers או ב-Compute Engine. עם זאת, אנחנו לא ממליצים על הגישה הזו אם אתם משתמשים בתכונות של Agent Platform, כמו התאמה אוטומטית לעומס (automatic scaling) ויכולת התפרצות.
הפעלת ביצוע של משימות באמצעות צינורות עיבוד נתונים לאימון
כדי להפעיל את ההרצה של משימת האימון ב-Agent Platform, אפשר ליצור צינורות אימון. צינור אימון, ששונה מצינור ML כללי, מכיל משימות אימון. מידע נוסף על צינורות לאימון זמין במאמרים יצירת צינורות לאימון ומשאב REST: projects.locations.trainingPipelines.
שימוש בנקודות ביקורת של אימון כדי לשמור את המצב הנוכחי של הניסוי
תהליך העבודה של ה-ML שמתואר במסמך הזה מניח שאתם לא מבצעים אימון באופן אינטראקטיבי. אם המודל נכשל ולא מתבצעת שמירה שלו, עבודת האימון או צינור העיבוד יסתיימו והנתונים יאבדו כי המודל לא נמצא בזיכרון. כדי למנוע את התרחיש הזה, מומלץ להשתמש תמיד בנקודות ביקורת של אימון כדי לוודא שלא תאבדו את המצב.
מומלץ לשמור את נקודות הבדיקה של האימון ב-Cloud Storage. יוצרים תיקייה אחרת לכל ניסוי או הרצת אימון.
מידע נוסף על נקודות לשמירה על ההתקדמות זמין במאמרים Training checkpoints בנושא TensorFlow Core, Saving and loading a General Checkpoint in PyTorch ו-ML Design Patterns.
הכנת ארטיפקטים של מודלים להצגה ב-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
במאמר ייצוא של ארטיפקטים של מודלים לצורך חיזוי מוסבר איך לשמור את המודל בתור ארטיפקט אחד או יותר של מודל.
חישוב ערכים חדשים של תכונות באופן קבוע
לרוב, מודל ישתמש בקבוצת משנה של תכונות שמגיעות מFeature Store של Agent Platform. התכונות ב-Agent Platform Feature Store יהיו מוכנות להצגה אונליין. לכל תכונה חדשה שנוצרה על ידי מדען נתונים על סמך נתונים ממאגר הנתונים, מומלץ לתזמן את משימות עיבוד הנתונים והנדסת התכונות (או לחלופין את Dataflow) כדי לחשב באופן קבוע את ערכי התכונות החדשות בקצב הנדרש, בהתאם לצרכים של רענון התכונות, ולהזין אותם למאגר התכונות של Agent Platform לצורך הצגה אונליין או באצווה.
פריסה והצגה של מודלים
אלה השיטות המומלצות לפריסה ולהצגה של מודלים:
מציינים את מספר המכונות ואת הסוגים שלהן.
הפרטים שהוספת לגבי התוכנית.
מפעילים את האפשרות 'התאמה אוטומטית לעומס'.
מעקב אחרי מודלים באמצעות BigQuery ML.
פריסת מודלים והצגתם מתייחסת להעברת מודל לסביבת ייצור. הפלט של משימת האימון הוא פריטי מידע של מודל אחד או יותר שמאוחסנים ב-Cloud Storage. אפשר להעלות אותם ל-מרשם המודלים כדי להשתמש בקובץ להצגת תחזיות. יש שני סוגים של תחזיות: תחזית באצווה משמשת לניקוד אצוות של נתונים במרווחי זמן קבועים, ותחזית אונליין משמשת לניקוד נתונים בזמן אמת כמעט עבור אפליקציות פעילות. בשתי הגישות האלה אפשר לקבל חיזויים ממודלים מאומנים על ידי העברת נתוני קלט למודל ML שמתארח בענן וקבלת מסקנות לכל מופע נתונים.למידע נוסף, אפשר לעיין במאמרים קבלת חיזויים באצווה וקבלת חיזויים אונליין ממודלים מאומנים בהתאמה אישית.
כדי להקטין את זמן האחזור של בקשות עמית לעמית בין הלקוח לבין שרת המודל, אפשר להשתמש בנקודות קצה פרטיות של Agent Platform. נקודות קצה פרטיות שימושיות במיוחד אם האפליקציה ששולחת את בקשות החיזוי והקובץ הבינארי של ההצגה נמצאים באותה רשת מקומית. כדי להימנע מהתקורה של ניתוב באינטרנט, אפשר ליצור חיבור ישיר באמצעות ענן וירטואלי פרטי.
מציינים את מספר המכונות ואת הסוגים שלהן
כדי לפרוס את המודל לחיזוי, בוחרים חומרה שמתאימה למודל, כמו סוגים שונים של מכונות וירטואליות (VM) של מעבד מרכזי (CPU) או סוגים של מעבד גרפי (GPU). מידע נוסף זמין במאמר ציון סוגי מכונות או רמות קנה מידה.
הפרטים שהוספת לגבי התוכנית
בנוסף לפריסת המודל, תצטרכו לקבוע איך תעבירו קלטים למודל. אם אתם משתמשים בתחזיות אצווה, אתם יכולים לאחזר נתונים מאגם הנתונים או מ-Feature Store שליפת נתונים ב-batch API. אם אתם משתמשים בחיזוי אונליין, אתם יכולים לשלוח מקרים של קלט לשירות ולקבל את החיזויים בתגובה. מידע נוסף מופיע במאמר פרטים על גוף התגובה.
אם אתם פורסים את המודל לחיזוי אונליין, אתם צריכים דרך עם חביון נמוך ועם יכולת הרחבה כדי להעביר את נתוני הקלט או התכונות שצריך להעביר לנקודת הקצה של המודל. אפשר לעשות את זה באמצעות אחד משירותי מסדי הנתונים הרבים ב- Google Cloud, או באמצעות API להצגת נתונים אונליין של Feature Store. הלקוחות שקוראים לנקודת הקצה של התחזית אונליין יכולים קודם לקרוא לפתרון להצגת התכונות כדי לאחזר את נתוני הקלט של התכונות, ואז לקרוא לנקודת הקצה של התחזית עם נתוני הקלט האלה. אפשר להציג כמה מודלים לאותה נקודת קצה, למשל כדי להחליף את המודל בהדרגה. אפשר גם לפרוס מודלים לכמה נקודות קצה, למשל בסביבת בדיקה ובסביבת ייצור, על ידי שיתוף משאבים בין פריסות.
הטמעת עדכונים בזמן אמת מאפשרת לכם לעדכן את ערכי התכונות בזמן אמת. השיטה הזו שימושית כשחשוב לכם לקבל את הנתונים הזמינים העדכניים ביותר להצגה באינטרנט. לדוגמה, אתם יכולים להטמיע נתוני אירועים בסטרימינג, ותוך כמה שניות, הטמעת עדכונים בזמן אמת של Feature Store תהפוך את הנתונים האלה לזמינים לתרחישי שימוש של מילוי בקשה באופן מיידי.
בנוסף, אפשר להתאים אישית את הטיפול בקלט (בקשה) ובפלט (תגובה) ואת הפורמט שלהם אל שרת המודל וממנו באמצעות פרוצדורות חיזוי בהתאמה אישית.
הפעלת התאמה אוטומטית לעומס
אם אתם משתמשים בשירות החיזוי אונליין, ברוב המקרים מומלץ להפעיל את ההתאמה האוטומטית לעומס (automatic scaling) על ידי הגדרת מספר מינימלי ומקסימלי של צמתים. מידע נוסף מופיע במאמר בנושא קבלת חיזויים ממודל שאומן בהתאמה אישית. כדי להבטיח הסכם רמת שירות (SLA) של זמינות גבוהה, צריך להגדיר שינוי גודל אוטומטי עם שני צמתים לפחות.
מידע נוסף על אפשרויות שינוי הגודל זמין במאמר שינוי גודל של תחזיות ML.
תזמור תהליכי עבודה של למידת מכונה
בהתאם לתשתית ולצרכי השילוב שלכם, מומלץ להשתמש בשיטות המומלצות הבאות לארגון תהליכי עבודה של ML:
שימוש ב-Managed Service for Apache Airflow לתזמור של תהליכי עבודה של MLOps מקצה לקצה בארגונים ושל תהליכי עבודה הטרוגניים של נתונים.
שימוש ב-Agent Platform כדי לתזמר תהליכי עבודה של למידת מכונה ללא שרת (serverless) וללא קונטיינר.
להשתמש ב-Kubeflow Pipelines כדי ליצור צינורות עיבוד נתונים גמישים של למידת מכונה בפלטפורמת הסוכנים..
שימוש ב-Ray ב-Gemini Enterprise Agent Platform לתהליכי עבודה מבוזרים של למידת מכונה.
Google Cloud מספקת חבילה מקיפה לתזמור תהליכי עבודה של למידת מכונה. לתהליכים מורכבים מקצה לקצה שכוללים משימות הנדסת נתונים כמו שליפה, טעינה והמרה (ELT), אימון של מודלים של ML ומערכות עסקיות חיצוניות, מומלץ להשתמש ב-Managed Airflow ככלי לתזמור תהליכים ברמת הארגון. לתהליכי עבודה עצמאיים שנשארים אך ורק במערכת האקולוגית של Agent Platform, Agent Platform Pipelines מספקת שירות ללא שרת שמנוהל במלואו ומאפשר לאמן מחדש את המודלים בתדירות הנדרשת. האימון מחדש מאפשר למודלים להסתגל לשינויים ולשמור על הביצועים לאורך זמן, אבל כשבוחרים את קצב האימון מחדש האופטימלי של המודל, צריך לקחת בחשבון כמה הנתונים ישתנו.
תהליכי עבודה של תזמור ML מתאימים במיוחד ללקוחות שכבר תכננו ובנו את המודל שלהם, העבירו אותו לייצור ורוצים לבצע אוטומציה של מחזור החיים של ה-ML. הקוד שבו משתמשים לניסויים כנראה יהיה שימושי גם בשאר שלבי התהליך של למידת מכונה, עם שינויים מסוימים. כדי לעבוד עם תהליכי עבודה של ML שמותאמים לקונטיינרים ב-Agent Platform Pipelines, אתם צריכים להיות מיומנים ב-Python, להבין תשתית בסיסית כמו קונטיינרים ולהכיר ML. כדי לבצע תזמור רחב יותר בלי לנהל קונטיינרים מותאמים אישית למשימות שאינן קשורות ל-ML, Managed Airflow מציע יותר מ-1,000 אופרטורים מוכנים מראש ומסגרת הגדרות נגישה שמבוססת על YAML למדעני נתונים.
שימוש ב-Managed Airflow לתהליכי עבודה של MLOps ארגוני מקצה לקצה
אפשר להתחיל כל תהליך נתונים, אימון, הערכה ופריסה באופן ידני, אבל מומלץ להשתמש ב-Managed Airflow כדי לתזמן את כל התהליך כשהארכיטקטורה כוללת מערכות הטרוגניות. Managed Airflow מבוסס על Apache Airflow. Managed Airflow פועל כמישור בקרה מאוחד, שמאפשר לשלב בצורה חלקה Google Cloud שירותים (כמו BigQuery ו-Dataflow) עם Agent Platform ועם כלים ארגוניים של צד שלישי.
במקום לכתוב קובצי DAG מורכבים של Python ב-Airflow, אתם יכולים להשתמש ב-Orchestration Pipelines כדי להגדיר את הלוגיקה העסקית והתלות שלכם ב-YAML תמציתי. הגישה הדקלרטיבית הזו מקלה מאוד על הכניסה לתחום, ומאפשרת למדעני נתונים ליצור ולפרוס בקלות צינורות נתונים מרובי שלבים בלי צורך במומחיות מעמיקה ב-Apache Airflow. כדי לקבל מידע נוסף על MLOps ב-Orchestration Pipelines, אפשר לעיין במאמר From weeks to minutes: The new agentic era of data pipelines (משבועות לדקות: עידן סוכני ה-AI החדש של צינורות נתונים).
שימוש בצינורות של Gemini Enterprise Agent Platform לתהליכי עבודה ללא שרתים שמוטמעים ב-Agent Platform
אם תהליכי העבודה שלכם מבוססים לחלוטין על קונטיינרים, והם מתבצעים אך ורק במערכת האקולוגית של Agent Platform, מומלץ להשתמש ב-Agent Platform Pipelines כדי לתזמן את התהליך. מידע מפורט זמין במאמר בנושא MLOps level 1: ML pipeline automation. צינורות של Agent Platform מספקים ביצוע ללא שרת (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.
ארגון של ארטיפקטים
מומלץ להשתמש בשיטות המומלצות הבאות כדי לארגן את הארטיפקטים:
ארגון של ארטיפקטים של מודלים של למידת מכונה.
שימוש במאגר של בקרת מקור להגדרות של צינורות עיבוד נתונים ולקוד אימון.
ארטיפקטים הם פלטים שמתקבלים מכל שלב בתהליך העבודה של למידת מכונה. מומלץ לארגן אותם בצורה סטנדרטית.
ארגון הארטיפקטים של המודל ללמידת מכונה
אפשר לאחסן את פריטי המידע במיקומים הבאים:
| מיקום האחסון | Artifacts |
| מאגר לניהול גרסאות |
|
| ניסויים ומטא-נתונים של ML |
|
| מרשם המודלים |
|
| Artifact Registry |
|
| היסק ב-Gemini Enterprise Agent Platform |
|
שימוש במאגר לניהול גרסאות להגדרות של צינורות עיבוד נתונים ולקוד של אימון
אתם יכולים להשתמש בבקרת מקור כדי לנהל גרסאות של צינורות ML ושל רכיבים מותאמים אישית שאתם יוצרים עבור הצינורות האלה. אפשר להשתמש ב-Artifact Registry כדי לאחסן, לנהל ולאבטח את קובצי האימג' של קונטיינרים של Docker בלי שהם יהיו גלויים לציבור.
מעקב אחרי מודלים
שימוש בזיהוי הטיה וסחף.
שיפור סכומי הסף לקבלת התראות.
שימוש בייחוס תכונות כדי לזהות סחף או הטיה של נתונים
שימוש ב-BigQuery לתמיכה בניטור מודלים.
אחרי שמפעילים את המודל בסביבת הייצור, צריך לעקוב אחרי הביצועים שלו כדי לוודא שהוא פועל כמצופה. Gemini Enterprise Agent Platform מספקת שתי דרכים לניטור מודלים של ML:
- זיהוי הטיה: הגישה הזו בודקת את מידת העיוות בין נתוני האימון של המודל לבין נתוני הייצור
- גילוי סחף: בסוג הזה של מעקב, מחפשים סחף בנתוני הייצור. סחף מתרחש כשמאפיינים סטטיסטיים של נתוני הקלט והיעד, שהמודל מנסה לחזות, משתנים לאורך זמן בדרכים בלתי צפויות. הדבר גורם לבעיות כי התחזיות עלולות להיות פחות מדויקות ככל שעובר הזמן.
המעקב אחרי המודל פועל עבור נתונים מובְנים, כמו מאפיינים מספריים וקטגוריים, אבל לא עבור נתונים לא מובְנים, כמו תמונות. מידע נוסף זמין במאמר בנושא מעקב אחרי מודלים כדי לזהות הטיה או סחף של תכונות.
שימוש בזיהוי הטיה וסחף
כדאי להשתמש בזיהוי הטיה ככל האפשר, כי אם יודעים שנתוני הייצור סטו מנתוני האימון, זהו אינדיקטור חזק לכך שהמודל לא פועל כמצופה בייצור. כדי להגדיר את המשימה של מעקב אחרי המודל לצורך זיהוי הטיה, צריך לספק מצביע לנתוני האימון ששימשו לאימון המודל.
אם אין לכם גישה לנתוני האימון, מומלץ להפעיל את התכונה'זיהוי סחף' כדי לדעת מתי יש שינוי בנתוני הקלט לאורך זמן.
אפשר להשתמש בזיהוי סחף כדי לעקוב אחרי הנתונים בסביבת הייצור ולבדוק אם הם סוטים מהמגמה לאורך זמן. כדי להשתמש בזיהוי סחף, מפעילים את התכונות שרוצים לעקוב אחריהן ואת ערכי הסף המתאימים להפעלת התראה.
שיפור הספים לקבלת התראות
כדאי לשנות את ערכי הסף שמשמשים להתראות כדי לדעת מתי יש הטיה או סחף בנתונים. הערכים של סף ההתראה נקבעים לפי תרחיש השימוש, המומחיות של המשתמש בתחום ומדדי המעקב הראשוניים של המודל. במאמר מדדים של Cloud Monitoring מוסבר איך להשתמש ב-Monitoring כדי ליצור מרכזי בקרה או להגדיר התראות על סמך המדדים.
שימוש בשיוך תכונות כדי לזהות סחף או הטיה בנתונים
אתם יכולים להשתמש בשיוך תכונות ב-Vertex AI ניתן להסברה כדי לזהות סחף נתונים או הטיה כאינדיקטור מוקדם לכך שביצועי המודל עלולים להידרדר. לדוגמה, אם המודל הסתמך במקור על חמישה מאפיינים כדי ליצור תחזיות בנתוני האימון והבדיקה, אבל הוא התחיל להסתמך על מאפיינים שונים לגמרי כשהוא עבר לסביבת הייצור, שיוך המאפיינים יעזור לכם לזהות את הירידה הזו בביצועי המודל.
האפשרות הזו שימושית במיוחד לסוגים מורכבים של תכונות, כמו הטמעות וסדרות זמן, שקשה להשוות ביניהן באמצעות שיטות מסורתיות של הטיה וסחיפה. באמצעות Vertex AI ניתן להסברה, שיוכי תכונות יכולים להצביע על מצבים שבהם ביצועי המודל יורדים.
שימוש ב-BigQuery לתמיכה בניטור מודלים
הכלי למעקב אחרי מודלים של BigQuery ML הוא אוסף של כלים ופונקציות שעוזרים לעקוב אחרי הביצועים של מודלים של למידת מכונה לאורך זמן ולהעריך אותם. מעקב אחרי מודלים הוא חיוני לשמירה על הדיוק והמהימנות של המודלים באפליקציות בעולם האמיתי. מומלץ לעקוב אחרי הבעיות הבאות:
- חלוקת נתונים לא מאוזנת: הבעיה הזו מתרחשת כשחלוקת ערכי התכונות שונה בין נתוני האימון לבין נתוני ההצגה. סטטיסטיקות האימון, שנשמרות במהלך אימון המודל, מאפשרות לזהות הטיה בלי צורך בנתונים המקוריים.
- סחיפת נתונים: נתונים מהעולם האמיתי משתנים לעיתים קרובות לאורך זמן. המעקב אחרי המודל עוזר לכם לזהות מתי נתוני הקלט שהמודל רואה בסביבת הייצור (נתוני ההצגה) מתחילים להיות שונים באופן משמעותי מהנתונים שעליהם הוא אומן (נתוני האימון). הסטיות האלה עלולות להוביל לירידה בביצועים.
- חלוקת נתונים לא מאוזנת או סחף נתונים מתקדמים: אם רוצים לקבל נתונים סטטיסטיים מפורטים על חלוקת נתונים לא מאוזנת או סחף נתונים, צריך לעקוב אחרי חלוקת נתונים לא מאוזנת או סחף נתונים מתקדמים.
המאמרים הבאים
- מאמרי עזרה בנושא Agent Platform
- מדריך למשתמשים בנושא פעולות למידת מכונה (MLOps): מסגרת להעברה רציפה ולאוטומציה של ML
- סקירה כללית של עקרונות והמלצות לארכיטקטורה שספציפיים לעומסי עבודה של AI ו-ML ב- Google Cloudזמינה בפרספקטיבה של AI ו-ML ב-Well-Architected Framework.
- לדוגמאות נוספות של ארכיטקטורות, תרשימים ושיטות מומלצות, עיינו במאמר Cloud Architecture Center.