נקודת מבט על AI ו-ML: אופטימיזציה של הביצועים

Last reviewed 2026-02-13 UTC

במסמך הזה בGoogle Cloud Well-Architected Framework: AI and ML perspective מפורטים עקרונות והמלצות שיעזרו לכם לבצע אופטימיזציה של הביצועים של עומסי העבודה של AI ו-ML ב- Google Cloud. ההמלצות במסמך הזה תואמות לעקרון האופטימיזציה של הביצועים ב-Well-Architected Framework.

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

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

ההמלצות במסמך הזה ממופות לעקרונות הליבה הבאים:

הגדרת יעדי ביצועים ושיטות להערכה

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

הגדרת יעדים ריאליים

על פי השיטות המומלצות של Site Reliability Engineering (SRE)‎, היעדים של שירות צריכים לשקף רמת ביצועים שעומדת בדרישות של לקוחות טיפוסיים. כלומר, היעדים של השירות צריכים להיות ריאליים מבחינת קנה המידה וביצועי התכונות.

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

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

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

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

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

  • יעד עסקי: במערכת לזיהוי הונאות, יעד עסקי לא ריאלי הוא זיהוי מדויק של 100% מהעסקאות שמקורן בתרמית בתוך ננו-שנייה אחת, בתנועת שיא של 100 מיליארד עסקאות בשנייה. יעד ריאלי יותר הוא לזהות עסקאות שמקורן בתרמית ברמת דיוק של 95% תוך 100 אלפיות השנייה, לגבי 90% מהחיזויים אונליין בשעות העבודה בארה"ב, בנפח שיא של מיליון עסקאות בשנייה.
  • מדדי ביצועים: זיהוי הונאות הוא בעיה של סיווג. אפשר למדוד את האיכות של מערכת לזיהוי הונאות באמצעות מדדים כמו recall,‏ ציון F1 ו-דיוק. כדי לעקוב אחרי הביצועים או המהירות של המערכת, אפשר למדוד את זמן האחזור של ההסקה. יכול להיות שזיהוי עסקאות שעלולות להיות הונאה חשוב יותר מדיוק. לכן, יעד ריאלי יכול להיות שיעור היזכרות גבוה עם זמן אחזור של p90 נמוך מ-100 אלפיות השנייה.

מעקב אחר הביצועים בכל השלבים במחזור החיים של המודל

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

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

מעקב במהלך ניסויים ואימונים

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

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

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

כדי לעקוב אחרי הניסויים והאימונים, כדאי לפעול לפי ההמלצות הבאות:

היבט הניטור המלצה
איכות המודל

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

מעקב אחר ניסויים Vertex AI Experiments משתלב עם מכונות מנוהלות של Vertex AI TensorBoard ברמת הארגון כדי לתמוך במעקב אחר ניסויים. השילוב הזה מאפשר אחסון ושיתוף מהימנים של יומנים ומדדים. כדי לאפשר לכמה צוותים ולאנשים פרטיים לעקוב אחרי ניסויים, מומלץ להשתמש בהעקרון של הרשאות מינימליות.
יעילות בהדרכה ובניסויים ‫Vertex AI מייצא מדדים אל Monitoring ואוסף נתוני טלמטריה ויומנים באמצעות סוכן observability. אפשר להציג את המדדים בצורה ויזואלית במסוף Google Cloud . אפשרות אחרת היא ליצור לוחות בקרה או התראות על סמך המדדים האלה באמצעות Monitoring. מידע נוסף זמין במאמר מדדים של Monitoring ל-Vertex AI.
מעבדי GPU של NVIDIA

סוכן תפעול מאפשר מעקב אחרי GPU ב-Compute Engine ובמוצרים אחרים ש-Ops Agent תומך בהם.

אפשר גם להשתמש בNVIDIA Data Center GPU Manager (DCGM), שהיא חבילת כלים לניהול ולמעקב אחרי מעבדי GPU של NVIDIA בסביבות אשכולות. מעקב אחרי מעבדי GPU של NVIDIA שימושי במיוחד לאימון מודלים של למידה עמוקה ולהצגתם.

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

מעקב במהלך ההצגה: חיזוי בסטרימינג

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

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

  • בחירת יעד מעקב: בהתאם לרגישות של תרחיש שימוש לשינויים בנתונים שמסופקים למודל, אפשר לעקוב אחרי סוגים שונים של יעדים: סחף של תכונות קלט, סחף של פלט ושיוך תכונות. Model Monitoring v2 מאפשר לכם לעקוב אחרי מודלים שאתם פורסים בפלטפורמת הגשה מנוהלת כמו Vertex AI, וגם בשירותים באירוח עצמי כמו Google Kubernetes Engine ‏ (GKE). בנוסף, כדי לעקוב אחרי הביצועים ברמה מפורטת, אפשר לעקוב אחרי פרמטרים ברמת המודל ולא ברמת נקודת הקצה.
  • מעקב אחרי פרסום מודלים של AI גנרטיבי: כדי להבטיח יציבות ולמזער את זמן האחזור, במיוחד בנקודות קצה של LLM, צריך להגדיר מערכת חזקה למעקב. מודלים של Gemini מספקים מדדים מובנים, כמו זמן עד לטוקן הראשון (TTFT), שאפשר לגשת אליהם ישירות בMetrics Explorer. כדי לעקוב אחרי קצב העברת הנתונים, זמן האחזור ושיעורי השגיאות בכלGoogle Cloud המודלים, אפשר להשתמש בלוח הבקרה של יכולת הצפייה במודלים.

מעקב במהלך ההצגה: חיזוי באצווה

כדי לעקוב אחרי חיזוי של נתונים בכמות גדולה, אפשר להריץ משימות הערכה רגילות בשירות ההערכה של Vertex AI. הכלי למעקב אחרי מודלים תומך במעקב אחרי הסקת מסקנות באצווה. אם אתם משתמשים ב-Batch כדי להריץ את עומס העבודה של ההצגה, אתם יכולים לעקוב אחרי צריכת המשאבים באמצעות המדדים ב-Metrics Explorer.

אוטומציה של הערכה לצורך שחזור ותקנון

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

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

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

השלבים האלה מתוארים בקטעים הבאים.

1. הגדרת אינדיקטורים כמותיים ואיכותיים

השוואות מבוססות-מחשוב מחושבות באמצעות נוסחאות מספריות. חשוב לזכור שהמדדים של הפסד האימון עשויים להיות שונים ממדדי ההערכה שרלוונטיים ליעדים העסקיים. לדוגמה, מודל שמשמש לזיהוי הונאות בפיקוח עשוי להשתמש בהפסד אנטרופיה צולבת לאימון. עם זאת, כדי להעריך את ביצועי ההיקש, מדד רלוונטי יותר יכול להיות recall, שמציין את הכיסוי של עסקאות שמקורן בתרמית. ‫Vertex AI מספק שירות הערכה למדדים כמו recall,‏ precision ו-area under the precision-recall curve (AuPRC). מידע נוסף זמין במאמר הערכת מודלים ב-Vertex AI.

אי אפשר לחשב באופן אובייקטיבי אינדיקטורים איכותיים, כמו רמת השליטה בשפה או ערך הבידור של תוכן שנוצר על ידי AI. כדי להעריך את האינדיקטורים האלה, אפשר להשתמש באסטרטגיה LLM-as-a-judge או בשירותי תיוג אנושיים כמו Labelbox.

2. בחירת מקורות נתונים וטכניקות מתאימים

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

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

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

3. סטנדרטיזציה של צינור עיבוד הנתונים להערכה

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

  • שירות ההערכה של Vertex AI: מספק פרימיטיבים מוכנים לשימוש למעקב אחר ביצועי המודל כחלק ממחזור החיים של למידת המכונה ב-Vertex AI.
  • שירות להערכת AI גנרטיבי: מאפשר להעריך כל מודל או אפליקציה גנרטיביים, ולהשוות את תוצאות ההערכה לשיקול הדעת ולקריטריונים שלכם. השירות הזה עוזר לכם גם לבצע משימות מיוחדות כמו הנדסת הנחיות, יצירה משופרת באמצעות אחזור (RAG) ואופטימיזציה של סוכני AI.
  • כלי ההשוואה האוטומטית (AutoSxS) של Vertex AI: תומך בהערכה מבוססת-מודל של זוגות מודלים.
  • Kubeflow: מספק רכיבים מיוחדים להרצת הערכות של מודלים.

הפעלת ניסויים לעיתים קרובות ומעקב אחריהם

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

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

התייחסות לנתונים כשירות

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

טכניקה תיאור יתרונות
בידוד משאבים בידוד המשאבים לסביבות שונות בפרויקטים נפרדים Google Cloud . לדוגמה, הקצאת משאבים לסביבות פיתוח, Staging וייצור בפרויקטים נפרדים כמו ml-dev, ml-staging ו-ml-prod. בידוד משאבים עוזר למנוע מעומסי עבודה ניסיוניים לצרוך משאבים שמערכות ייצור צריכות. לדוגמה, אם אתם משתמשים בפרויקט יחיד לניסויים ולייצור, יכול להיות שניסוי ינצל את כל מעבדי ה-GPU מסוג NVIDIA A100 שזמינים ל-Vertex AI Training. הדבר עלול לגרום לשיבושים באימון מחדש של מודל ייצור קריטי.
זהות ובקרת גישה החלת העקרונות של מודל אבטחה של אפס אמון והרשאות מינימליות ושימוש בחשבונות שירות ספציפיים לעומס העבודה. הענקת גישה באמצעות תפקידים מוגדרים מראש בניהול זהויות והרשאות גישה (IAM), כמו משתמש Vertex AI (roles/aiplatform.user). הגישה הזו עוזרת למנוע פעולות מקריות או זדוניות שעלולות לפגוע בניסויים.
אבטחת רשת בידוד תעבורת הרשת באמצעות רשתות של ענן וירטואלי פרטי (VPC) ואכיפת היקפי אבטחה באמצעות VPC Service Controls. הגישה הזו עוזרת להגן על נתונים רגישים ומונעת מתנועה ניסיונית להשפיע על שירותי הייצור.
בידוד נתונים אחסון נתונים ניסיוניים בקטגוריות נפרדות של Cloud Storage ובמערכי נתונים נפרדים ב-BigQuery. בידוד הנתונים מונע שינוי לא מכוון של נתוני הייצור. לדוגמה, בלי בידוד נתונים, ניסוי עלול לשנות בטעות את ערכי התכונות בטבלה משותפת ב-BigQuery, מה שעלול להוביל לירידה משמעותית ברמת הדיוק של המודל בסביבת הייצור.

לספק לצוותים כלים מתאימים

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

  • יצירת אב טיפוס אינטראקטיבי: כדי לחקור נתונים במהירות, לבדוק השערות וליצור אב טיפוס של קוד, אפשר להשתמש ב-Colab Enterprise או במופעים מנוהלים של JupyterLab ב-Vertex AI Workbench. מידע נוסף זמין במאמר בנושא בחירת פתרון למחברת.
  • אימון מודלים שניתן להרחבה: הפעלת משימות אימון בשירות מנוהל שתומך באימון מבוזר ובמשאבי מחשוב שניתנים להרחבה, כמו יחידות GPU ו-TPU. הגישה הזו עוזרת לקצר את זמן האימון מימים לשעות, ומאפשרת לבצע יותר ניסויים במקביל. מידע נוסף זמין במאמר בנושא שימוש ברכיבים מיוחדים לאימון.
  • למידת מכונה בתוך מסד הנתונים: אימון מודלים ישירות ב-BigQuery ML באמצעות SQL. הטכניקה הזו עוזרת למנוע העברת נתונים ומאיצה את תהליך הניסויים עבור אנליסטים ומשתמשים שמתמקדים ב-SQL.
  • מעקב אחרי ניסויים: כדי ליצור היסטוריה של נתוני ניסויים שאפשר לחפש ולהשוות, צריך לרשום ביומן את הפרמטרים, המדדים והארטיפקטים של כל הרצה של ניסוי. למידע נוסף, אפשר לקרוא את המאמר בנושא יצירת מערכת לשושלת נתונים ומודלים.
  • אופטימיזציה של AI גנרטיבי: כדי לשפר את הביצועים של אפליקציות AI גנרטיביות, צריך להתנסות בהנחיות, בבחירת מודלים ובכוונון עדין. כדי ליצור הנחיות במהירות, אפשר להשתמש ב-Vertex AI Studio. כדי להתנסות במודלים בסיסיים (כמו Gemini) ולמצוא מודל שמתאים לתרחיש השימוש וליעדים העסקיים שלכם, אפשר להשתמש בModel Garden.

סטנדרטיזציה לשיפור היעילות והשחזור

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

  • שימוש בקונטיינרים כדי להבטיח סביבות עקביות: אורזים את קוד האימון ואת התלויות כקונטיינרים של Docker. ניהול הקונטיינרים והצגתם באמצעות Artifact Registry. כך אפשר לשחזר בעיות במכונות שונות על ידי חזרה על ניסויים בסביבות זהות. ‫Vertex AI מספק מאגרי תגים מוכנים מראש לאימון ללא שרת.
  • אוטומציה של תהליכי עבודה של למידת מכונה כצינורות עיבוד נתונים: ארגון תהליך העבודה של למידת מכונה מקצה לקצה כצינור עיבוד נתונים מקודד באמצעות Vertex AI Pipelines. הגישה הזו עוזרת לאכוף עקביות, להבטיח שניתן יהיה לשחזר את התוצאות ולעקוב באופן אוטומטי אחרי כל הארטיפקטים והמטא-נתונים ב-Vertex ML Metadata.
  • אוטומציה של הקצאת משאבים באמצעות תשתית כקוד (IaC): הגדרה ופריסה של סביבות ניסוי סטנדרטיות באמצעות כלי IaC כמו Terraform. כדי לוודא שכל פרויקט עומד בסדרה סטנדרטית של הגדרות אבטחה, רשת וניהול, משתמשים במודולים של Terraform.

יצירה ואוטומציה של תשתית לאימון ולפריסה

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

שימוש ברכיבים ייעודיים לאימון

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

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

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

  • ארגון האימון: פריסת עומסי עבודה של אימון כשלבים בצינור עיבוד נתונים באמצעות Vertex AI Pipelines. השירות הזה מספק שירותים מנוהלים של Kubeflow ו-TFX. מגדירים כל שלב בצינור כרכיב שפועל במאגר. כל רכיב פועל כמו פונקציה, עם פרמטרים של קלט וארטיפקטים של פלט שהופכים לקלט של הרכיבים הבאים בצינור. כדי לייעל את היעילות של צינור המכירות, כדאי לעיין בהמלצות שבטבלה הבאה:

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

שימוש בתשתית ייעודית לחיזוי

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

המלצה טכניקות
הטמעת פריסה אוטומטית.
  • אחרי שמסיימים לאמן את המודל, אפשר להשתמש באוטומציה כדי לפרוס אותו. ‫Vertex AI Pipelines מספק רכיבים ייעודיים לפריסת מודלים בנקודות קצה של Vertex AI. אפשר לנהל פריסה אוטומטית באמצעות Kubeflow Control Flows.
  • כדי להחליט אם לפרוס מודל על סמך הערכה מול קבוצת נתונים לתיקוף, כדאי להשתמש ברכיבי ההערכה של צינור הנתונים. אפשר להשתמש ברכיבים מיוחדים של חיזוי באצווה ב-Vertex AI כדי להפוך את הפריסה של הסקת מסקנות באצווה לאוטומטית.
כדאי להשתמש בתכונות של שינוי גודל מנוהל.
אופטימיזציה של זמן האחזור וקצב העברת הנתונים בנקודות הקצה של Vertex AI.
אופטימיזציה של ניצול המשאבים.
  • כדי לבצע אופטימיזציה של ניצול המשאבים, אפשר לשתף משאבים בין פריסות של מודלים. במקום להשתמש במכונה וירטואלית נפרדת לכל מודל (התנהגות ברירת המחדל), אפשר לפרוס כמה מודלים במכונה וירטואלית אחת.
  • כדי להבטיח את זמינות המשאבים או לבצע אופטימיזציה שלהם, אפשר להשתמש בהזמנות, ב-Dynamic Workload Scheduler או ב-Spot VMs.
אופטימיזציה של פריסת המודל.
  • כדי להימנע משינויים שעלולים לשבור את התאימות, אפשר לבצע העברה הדרגתית וליישם בדיקות A/B על ידי פריסת כמה מודלים לאותה נקודת קצה באופן אוטומטי. ב-Vertex AI, שכבת נקודת הקצה מופרדת מהמודלים, כך שאפשר לפצל את התנועה בין גרסאות שונות של המודלים.
  • כדי להחליף מודל שפרסתם, צריך להשתמש בשיטת פריסה מתגלגלת.
מעקב אחרי הביצועים.
  • כדי לשפר את ביצועי ההצגה בסביבת הייצור, כדאי לעיין ביומנים ובמדדי הסקה של נקודות הקצה של Vertex AI. כדי להבין את ההתנהגות של מודלים בסביבת ייצור, צריך כלים למעקב אחר האיכות והביצועים. הכלי למעקב אחרי מודלים גרסה 2 מאפשר לכם לעקוב אחרי כמה גרסאות של מודל ולבצע איטרציות במהירות.

התאמת בחירות העיצוב לדרישות הביצועים

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

התמקדות בביצועים הוליסטיים של תהליך העבודה של למידת המכונה

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

  1. יצירת אשכול: הקצאת צמתים של עובדים.
  2. אתחול: האימון מאותחל בצמתי העובדים.
  3. הרצת אימון: המשאבים משמשים להעברה קדימה או אחורה.
  4. הפרעה: תהליך האימון מופרע במהלך יצירת נקודת ביקורת של המודל או בגלל הפסקות יזומות של צומתי עובדים.

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

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

אימוץ ומעקב אחרי מדדי קצב העברת נתונים

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

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

המדד 'קצב העברת נתונים נטו' מאפשר לכם להבין ברמה מפורטת את הפסדים הפוטנציאליים ביעילות באמצעות המדדים הבאים:

  • קצב העברת נתונים יעיל של תזמון הוא חלק הזמן שבו כל המשאבים שנדרשים לאימון או להצגת מודעות זמינים לשימוש.
  • Runtime goodput מייצג את שיעור השלבים המועילים של האימון שהושלמו במהלך תקופה נתונה.
  • התפוקה של התוכנית היא ביצועי החומרה המקסימליים או MFU שאפשר לחלץ מהמאיץ במשימת אימון. היא תלויה בשימוש יעיל במשאבי המחשוב הבסיסיים במהלך האימון.

אופטימיזציה של תפוקת התזמון

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

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

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

  • On-demand VMs: אתם מקצים מכונות וירטואליות ב-Compute Engine כשצריך אותן ומריצים את עומסי העבודה במכונות הווירטואליות. בקשת ההקצאה כפופה לזמינות של משאבים, כמו מעבדי GPU. אם אין מספיק משאבים מהסוג המבוקש, הבקשה תיכשל.
  • מכונות וירטואליות מסוג Spot: אתם יוצרים מכונות וירטואליות באמצעות קיבולת מחשוב לא מנוצלת. החיוב על מכונות וירטואליות במודל Spot מתבצע במחיר מוזל בהשוואה למכונות וירטואליות על פי דרישה, אבלGoogle Cloud יכול להיותשמכונות וירטואליות במודל Spot יידחקו בכל שלב. מומלץ להשתמש במכונות Spot VM לעומסי עבודה ללא מצב (stateless) שיכולים להיכשל בצורה מסודרת כשמכונות ה-VM המארחות נדחקות.
  • הזמנות: אתם מזמינים קיבולת כמאגר של מכונות וירטואליות. הזמנות מתאימות לעומסי עבודה שנדרשת בהם הבטחת קיבולת. כדי למקסם את קצב העברת הנתונים של התזמון, כדאי להשתמש בהזמנות כדי לוודא שהמשאבים זמינים כשצריך אותם.
  • Dynamic Workload Scheduler: מנגנון ההקצאה הזה מכניס לתור בקשות למכונות וירטואליות עם GPU במאגר ייעודי. הכלי Dynamic Workload Scheduler עוזר לכם להימנע מהמגבלות של מצבי הזמינות האחרים:

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

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

מוצר מכונות וירטואליות על פי דרישה מכונות וירטואליות של Spot הזמנות Dynamic Workload Scheduler
Compute Engine יצירת מכונה של Compute Engine והפעלה שלה מידע על מכונות VM במודל Spot מידע על הזמנות יצירת קבוצת מופעי מכונה מנוהלים (MIG) עם מכונות וירטואליות של GPU
GKE הוספה וניהול של מאגרי צמתים מידע על מכונות וירטואליות במודל Spot ב-GKE שימוש במשאבים שמורים בתחום מוגדר צריכת GPU,‏ TPU ו-H4D עם הקצאת משאבים בהפעלה גמישה
Cloud Batch יצירה והפעלה של משימה משימה באצווה עם מכונות וירטואליות במודל Spot איך מוודאים שהמשאבים זמינים באמצעות שמירת מקום ב-VM שימוש ביחידות GPU ובמכונות וירטואליות עם הפעלה גמישה
אימון של Vertex AI יצירת משימת אימון ללא שרת שימוש במכונות וירטואליות מסוג Spot למשימות אימון איך משתמשים בשמירת מקום לעבודות אימון תזמון של משימות אימון על סמך זמינות המשאבים
Vertex AI קבלת הסקת מסקנות באצווה והסקת מסקנות אונליין ממודלים שעברו אימון בהתאמה אישית. שימוש במכונות וירטואליות במודל Spot להסקת מסקנות איך משתמשים בהזמנות להסקת מסקנות אונליין שימוש במכונות וירטואליות עם הפעלה גמישה להסקת מסקנות
תכנון אירועי תחזוקה

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

אופטימיזציה של התפוקה הטובה של זמן הריצה

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

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

כדי לשפר את התפוקה של זמן הריצה, אפשר להשתמש בטכניקות הבאות:

טכניקה תיאור
הטמעת שמירת נקודות ביקורת אוטומטית.

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

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

שימוש בשיטות מתאימות לטעינת מאגרי תגים.

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

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

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

אופטימיזציה של התפוקה של התוכנית

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

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

האסטרטגיה תיאור
שימוש באפשרויות התאמה אישית ברמת המסגרת. מסגרות או קומפיילרים כמו Accelerated Linear Algebra (XLA) מספקים הרבה רכיבים חשובים של תפוקה טובה של תוכנית. כדי לבצע אופטימיזציה נוספת של הביצועים, אפשר להתאים אישית רכיבים בסיסיים של גרף החישוב. לדוגמה, Pallas תומך בקרנלים בהתאמה אישית עבור TPU ו-GPU.
הפחתת עומס הזיכרון ל-DRAM של המארח. לאימון בקנה מידה גדול, שדורש נפח זיכרון גבוה במיוחד ממאיצים, אפשר להפחית עומס של חלק מהשימוש בזיכרון ל-DRAM של המארח. לדוגמה, XLA מאפשר להפחית עומס של הפעלות מודלים מהמעבר קדימה לזיכרון המארח, במקום להשתמש בזיכרון של המאיץ. באמצעות האסטרטגיה הזו, אפשר לשפר את ביצועי ההדרכה על ידי הגדלת קיבולת המודל או גודל האצווה.
כדאי להשתמש בקוונטיזציה במהלך האימון.

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

מידע נוסף זמין במקורות המידע הבאים:

הטמעת מקביליות.

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

מידע על מקביליות של מודלים זמין במאמרים הבאים:

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

התמקדות בדרישות ספציפיות לעומסי עבודה

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

זיהוי דרישות ספציפיות לעומסי עבודה

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

אזור תיאור
דרישות לגבי משימות ואיכות

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

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

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

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

בחירת מודל מתאים

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

  • למשימות ספציפיות למודאליות כמו זיהוי תווים אופטי (OCR), הוספת תוויות וניהול תוכן, כדאי לבחור ממשקי ML API כמו אלה:

  • לשימוש באפליקציות של AI גנרטיבי, כדאי לשקול מודלים של Google כמו Gemini,‏ Imagen ו-Veo.

    אפשר לעיין בModel Garden ולבחור מתוך אוסף של מודלים בסיסיים ומודלים ספציפיים למשימות של Google. ב-Model Garden יש גם מודלים פתוחים כמו Gemma ומודלים של צד שלישי, שאפשר להריץ ב-Vertex AI או לפרוס בסביבות זמן ריצה כמו GKE.

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

שיפור האיכות באמצעות הנחיות טובות יותר

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

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

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

שיפור הביצועים של נקודות קצה של ML ו-AI גנרטיבי

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

שימוש בפתרונות עם תכנות מינימלי ובכוונון

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

  • AutoML הוא פתרון עם תכנות מינימלי לשיפור תוצאות ההיקש, עם מאמץ טכני מינימלי למגוון רחב של משימות. ‫AutoML מאפשר ליצור מודלים שעברו אופטימיזציה בכמה מימדים: ארכיטקטורה, ביצועים ושלב האימון (באמצעות יצירת נקודות ביקורת).
  • התאמה עוזרת לכם להשיג איכות גבוהה יותר, יצירה יציבה יותר וחביון נמוך יותר עם הנחיות קצרות וללא הרבה נתונים. מומלץ להתחיל את תהליך ההתאמה באמצעות ערכי ברירת המחדל של היפרפרמטרים. מידע נוסף זמין במאמר Supervised Fine Tuning for Gemini: A best practices guide (כוונון עדין מפוקח של Gemini: מדריך לשיטות מומלצות).

אופטימיזציה של הכשרה בניהול עצמי

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

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

  • משתמשים בתמונות או בקונטיינרים של למידה עמוקה (Deep Learning), שכוללים את יחסי התלות העדכניים של התוכנה ואת הספריות הספציפיות ל-Google Cloud.

  • הרצת אימון מודל באמצעות Ray ב- Google Cloud:

    • Ray on Vertex AI מאפשר לכם להשתמש במסגרת האימון המבוזרת של Ray ב-Compute Engine או ב-GKE, ומפשט את התקורה של ניהול המסגרת.
    • אתם יכולים לנהל בעצמכם את Ray ב-GKE באמצעות KubeRay על ידי פריסה של Ray operator באשכול קיים.
  • פריסת עומסי עבודה של אימון באשכול מחשוב שמוקצה באמצעות Cluster Toolkit בקוד פתוח. כדי להקצות ביעילות אשכולות שעברו אופטימיזציה לביצועים, משתמשים בתוכניות בסיס מבוססות YAML. ניהול האשכולות באמצעות מתזמנים כמו Slurm ו-GKE.

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

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

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

אופטימיזציה של הצגת מודעות בניהול עצמי

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

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

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

    • כימות אחרי אימון (PTQ) הוא משימה שניתנת לחזרה. ‫PTQ נתמך ב-frameworks מרכזיים של ML כמו PyTorch ו-TensorFlow.
    • אפשר לתזמן את ה-PTQ באמצעות צינור עיבוד נתונים ב-Vertex AI Pipelines.
    • כדי לייצב את ביצועי המודל וליהנות מהקטנת גודל המודל, אפשר להשתמש ב-Qwix.
  • מקביליות טנסור: שיפור תפוקת ההסקה על ידי חלוקת עומס החישוב בין כמה מעבדי GPU.

  • אופטימיזציה של הזיכרון: הגדלת התפוקה ואופטימיזציה של שמירת תשומת הלב במטמון, גודלי אצווה וגודלי קלט.

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

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

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

בחירת סוגי מעבדים מתאימים

לבחירה של פלטפורמת מחשוב יכולה להיות השפעה משמעותית על יעילות האימון של מודל.

אופטימיזציה של אימון והצגה ב-GPU

כדי לשפר את הביצועים של עומסי עבודה של אימון והסקת מסקנות שנפרסים ב-GPU, כדאי לפעול לפי ההמלצות הבאות:

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

יכול להיות שתצטרכו סוגים שונים של מכונות GPU לאימון ולשירות.

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

מומלץ להשתמש בסוגי מכונות גדולים לאימון ובסוגי מכונות קטנים וחסכוניים להסקת מסקנות. כדי לזהות בעיות בניצול המשאבים, משתמשים בכלי מעקב כמו NVIDIA DCGM agent ומתאימים את המשאבים בהתאם.

שימוש בשיתוף GPU ב-GKE.

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

  • Multi-instance GPU: הקצאת יחידת GPU אחת לכמה קונטיינרים בצומת.
  • שיתוף זמן GPU: הקצאת זמן GPU לכמה קונטיינרים. כל מאגר תגים מקבל משבצת זמן.
  • NVIDIA multi-process service (MPS): הפעלת עומסי עבודה מרובי-תהליכים בו-זמנית ב-GPU יחיד באמצעות הטמעה של CUDA שתואמת לקובץ בינארי.

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

אופטימיזציה של הניתוב ואיזון העומסים. כשפורסים כמה מודלים באשכול, אפשר להשתמש ב-GKE Inference Gateway כדי לבצע ניתוב אופטימלי ואיזון עומסים. ‫Inference Gateway מרחיב את מנגנוני הניתוב של Kubernetes Gateway API באמצעות היכולות הבאות:
שיתוף משאבים לנקודות קצה של Vertex AI. אפשר להגדיר כמה נקודות קצה של Vertex AI לשימוש במאגר משותף של משאבים. מידע נוסף על התכונה הזו ועל המגבלות שלה זמין במאמר שיתוף משאבים בין פריסות.

אופטימיזציה של אימון והצגה ב-TPU

TPU הם שבבים של Google שעוזרים לפתור אתגרים של קנה מידה עצום באלגוריתמים של ML. הצ'יפים האלה מספקים ביצועים אופטימליים לאימון AI ולעומסי עבודה של הסקת מסקנות. בהשוואה למעבדי GPU, מעבדי TPU מספקים יעילות גבוהה יותר לאימון ולשימוש בלמידה עמוקה. מידע על תרחישי שימוש שמתאימים ל-TPU זמין במאמר מתי כדאי להשתמש ב-TPU. מעבדי TPU תואמים ל-frameworks של ML כמו TensorFlow,‏ PyTorch ו-JAX.

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

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

אופטימיזציה של אימון ב-TPU והצגה ב-GPU

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

אופטימיזציה של שכבת האחסון

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

  • טעינה ועיבוד של נתונים.
  • שמירת נקודות ביקורת (checkpointing) של המודל במהלך האימון.
  • טעינה מחדש של קבצים בינאריים כדי להמשיך את האימון אחרי שהצמתים נדחקים.
  • טעינת המודל בצורה יעילה כדי לטפל בהסקת מסקנות בקנה מידה רחב.

הגורמים הבאים קובעים את הדרישות שלכם לגבי קיבולת אחסון, רוחב פס וזמן אחזור:

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

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

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

‫Compute Engine תומך בסוגים שונים של דיסקים לאחסון מתמיד. עם Google Cloud Hyperdisk ML, אתם יכולים להקצות את התפוקה וערכי ה-IOPS הנדרשים על סמך צורכי האימון. כדי לשפר את הביצועים של הדיסקים, מתחילים בשינוי הגודל של הדיסקים ואז שוקלים לשנות את סוג המכונה. מידע נוסף זמין במאמר בנושא אופטימיזציה של הביצועים של Persistent Disk. כדי לבדוק את הביצועים של קריאה וכתיבה ואת זמן האחזור בשכבת האחסון, אפשר להשתמש בכלים כמו Flexible I/O tester (FIO).

מידע נוסף על בחירה ואופטימיזציה של שירותי אחסון לעומסי עבודה של AI ו-ML זמין במאמרים הבאים:

אופטימיזציה של שכבת הרשת

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

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

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

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

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

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

הטמעה שמוגדרת כברירת מחדל: Vertex AI ML Metadata

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

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

כברירת מחדל, Vertex ML Metadata מתעד ועוקב אחרי כל פריטי הקלט והפלט של הרצת צינור עיבוד נתונים. הוא משלב את הארטיפקטים האלה עם Vertex AI Experiments,‏ מרשם המודלים וVertex AI managed datasets.

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

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

הטמעה חלופית: Dataplex Universal Catalog

‫Dataplex Universal Catalog מגלה מטא-נתונים ממשאביGoogle Cloud , כולל ארטיפקטים של Vertex AI. אפשר גם לשלב מקור נתונים מותאם אישית.

‫Dataplex Universal Catalog יכול לקרוא מטא-נתונים בכמה אזורים ובמאגרי נתונים ברמת הארגון, בעוד ש-Vertex ML Metadata הוא משאב ספציפי לפרויקט. בהשוואה ל-Vertex ML Metadata,‏ Dataplex Universal Catalog דורש יותר מאמץ בהגדרה. עם זאת, יכול להיות ש-Dataplex Universal Catalog יתאים לכם אם אתם צריכים לשלב אותו עם פורטפוליו הנתונים הרחב שלכם ב- Google Cloud ועם מאגרי נתונים שזמינים לכל הארגון.

‫Dataplex Universal Catalog מגלה ומאסף מטא-נתונים של פרויקטים שבהם מופעל Data Lineage API. המטא-נתונים בקטלוג מאורגנים באמצעות מודל נתונים שכולל פרויקטים, קבוצות רשומות, רשומות והיבטים. ‫Dataplex Universal Catalog מספק תחביר ספציפי שבעזרתו אפשר לגלות ארטיפקטים. אם צריך, אפשר למפות ארטיפקטים של מטא-נתונים של Vertex ML ל-Dataplex Universal Catalog.

שימוש בכלים להסבר

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

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

זיהוי הטיות בנתונים

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

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

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

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

הסבר על מאפייני המודל וההתנהגות שלו

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

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

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

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

  • לזהות הטיות ששלב האימות עלול לפספס.
  • אופטימיזציה של הביצועים על ידי זיהוי התכונות שהכי חשובות לחיזוי. כדי לשפר את האיכות והביצועים של מודל, מהנדסי ML יכולים להוסיף, להסיר או לתכנן תכונות באופן מכוון.
What-If Tool כלי ה-What-If פותח על ידי היוזמה People + AI Research (PAIR) של Google כדי לעזור לכם להבין ולראות את ההתנהגות של מודלים של תמונות וטבלאות. דוגמאות לשימוש בכלי זמינות בהדגמות האינטרנט של הכלי What-If Tool.
  • לנפות באגים ולמצוא את שורש הבעיה של תחזיות שגויות.
  • בדיקה של רמת הביצועים של מודל בקבוצות משנה שונות של נתונים באמצעות זיהוי הטיה באמצעות ניתוח הוגנות.
  • להבין את ההתנהגות של מודל, במיוחד את הקשר בין התחזיות של המודל לבין תכונות הקלט.
  • להשוות בין תחזיות באמצעות כלי להשוואה חזותית שנדרשים בו שני מודלים או בסיס השוואה של נתוני אמת.

שותפים ביצירת התוכן

מחברים:

תורמי תוכן אחרים: