מדריך למתחילים בנושא אימון בהתאמה אישית

המדריך הזה למתחילים הוא מבוא לאימון מותאם אישית ב-Vertex AI. אימון מותאם אישית מתייחס לאימון מודל באמצעות framework של למידת מכונה, כמו TensorFlow, ‏ PyTorch או XGBoost.

יעדי למידה

רמת הניסיון ב-Vertex AI: מתחילים

זמן קריאה משוער: 15 דקות

מה תלמדו:

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

למה כדאי להשתמש בשירות הדרכה מנוהל?

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

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

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

סקירה כללית של אימון בהתאמה אישית

אימון מודלים בהתאמה אישית ב-Vertex AI מתבצע לפי תהליך העבודה הסטנדרטי הבא:

  1. יוצרים חבילה של קוד אפליקציית האימון.

  2. מגדירים ושולחים משימת אימון בהתאמה אישית.

  3. מעקב אחרי משימת אימון בהתאמה אישית.

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

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

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

‫Vertex AI מספקת קונטיינרים מוכנים מראש ל-TensorFlow,‏ PyTorch,‏ XGBoost ו-Scikit-learn. המיכלים האלה מתעדכנים באופן קבוע וכוללים ספריות נפוצות שאולי תצטרכו בקוד האימון. אתם יכולים להריץ את קוד האימון עם אחד מהקונטיינרים האלה, או ליצור קונטיינר בהתאמה אישית שבו קוד האימון והתלויות מותקנים מראש.

יש שלוש אפשרויות לאריזת הקוד ב-Vertex AI:

  1. שולחים קובץ Python יחיד.
  2. יוצרים הפצה של מקור ב-Python.
  3. שימוש במאגרי תגים מותאמים אישית.

קובץ Python

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

הפצת מקור של Python

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

מאגר תגים בהתאמה אישית

האפשרות הזו שימושית כשרוצים יותר שליטה באפליקציה, או כשרוצים להריץ קוד שלא נכתב ב-Python. במקרה כזה, תצטרכו לכתוב Dockerfile, ליצור את האימג' המותאם אישית ולהעביר אותו בדחיפה ל-Artifact Registry. דוגמה לאריזת אפליקציית אימון בקונטיינר מופיעה במדריך Profile model training performance using Profiler (ניתוח ביצועי אימון מודלים באמצעות Profiler).

אם בוחרים לארוז את הקוד כהפצה של קוד מקור ב-Python או כקונטיינר בהתאמה אישית, מומלץ לבנות את האפליקציה במבנה הבא:

training-application-dir/
....setup.py
....Dockerfile
trainer/
....task.py
....model.py
....utils.py

יוצרים ספרייה לאחסון כל קוד האפליקציה של האימון, במקרה הזה, training-application-dir. הספרייה הזו תכיל קובץ setup.py אם אתם משתמשים בהפצת מקור של Python, או קובץ Dockerfile אם אתם משתמשים במאגר מותאם אישית.

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

אימון בהתאמה אישית

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

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

  1. נכנסים לדף Training במסוף Google Cloud .

    להדרכה

  2. לוחצים על Train new model (אימון מודל חדש).

  3. בקטע 'מודל', בוחרים באפשרות שיטת אימון ואז באפשרות אימון מותאם אישית (מתקדם).

    ציון שיטת ההכשרה

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

    ציון מאגר תגים לאימון

  5. בקטע Compute and pricing (חישוב ומחיר), מציינים את החומרה של משימת האימון. באימון של צומת יחיד, צריך להגדיר רק את Worker Pool 0. אם אתם רוצים להריץ אימון מבוזר, תצטרכו להבין את מאגרי העובדים האחרים. מידע נוסף זמין במאמר בנושא אימון מבוזר.

    עיבוד נתונים לאימון

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

מעקב אחרי משימות אימון

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

לוח הבקרה של האימונים

מחשבים ניידים

וידאו