שיעורי אימון

ערכת ה-SDK של Vertex AI כוללת כמה מחלקות שבהן משתמשים כשמאמנים את המודל. רוב הכיתות לאימון משמשות ליצירה, לאימון ולהחזרה של המודל. משתמשים בפרמטר HyperparameterTuningJob כדי לכוונן את ההיפר-פרמטרים של משימת האימון. אפשר להשתמש ב-PipelineJob כדי לנהל את תהליך העבודה של למידת מכונה (ML), וכך לבצע אוטומציה של מערכות ה-ML ולעקוב אחריהן.

בנושאים הבאים מופיע תיאור כללי של כל מחלקה שקשורה לאימון ב-Vertex AI SDK.

שיעורי אימון של AutoML לנתונים מובְנים

‫Vertex AI SDK כולל את המחלקות הבאות שמשמשות לאימון מודל AutoML מובנה.

AutoMLForecastingTrainingJob

המחלקות AutoMLForecastingTrainingJob משתמשות בשיטת האימון AutoML כדי לאמן ולהפעיל מודל חיזוי. שיטת האימון AutoML היא בחירה טובה לרוב תרחישי השימוש בתחזיות. אם תרחיש השימוש שלכם לא נהנה משיטת האימון Seq2seq או משיטת האימון Temporal fusion transformer שמוצעות בכיתות SequenceToSequencePlusForecastingTrainingJob ו-TemporalFusionTransformerForecastingTrainingJob בהתאמה, סביר להניח ש-AutoML היא שיטת האימון הטובה ביותר לחיזויים שלכם.

קוד לדוגמה שמראה איך להשתמש ב-AutoMLForecastingTrainingJob זמין במאמר יצירת דוגמה לתחזית של צינור עיבוד נתונים לאימון ב-GitHub.

AutoMLTabularTrainingJob

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

בקטע קוד לדוגמה הבא אפשר לראות דוגמה לשימוש ב-Vertex AI SDK כדי ליצור ולהריץ AutoML מודל טבלאי:

dataset = aiplatform.TabularDataset('projects/my-project/location/us-central1/datasets/{DATASET_ID}')

job = aiplatform.AutoMLTabularTrainingJob(
  display_name="train-automl",
  optimization_prediction_type="regression",
  optimization_objective="minimize-rmse",
)

model = job.run(
    dataset=dataset,
    target_column="target_column_name",
    training_fraction_split=0.6,
    validation_fraction_split=0.2,
    test_fraction_split=0.2,
    budget_milli_node_hours=1000,
    model_display_name="my-automl-model",
    disable_early_stopping=False,
)

SequenceToSequencePlusForecastingTrainingJob

במחלקת SequenceToSequencePlusForecastingTrainingJob נעשה שימוש בשיטת האימון Seq2seq+ כדי לאמן ולהפעיל מודל חיזוי. שיטת האימון Seq2seq+ היא בחירה טובה לניסויים. האלגוריתם שלה פשוט יותר והיא משתמשת במרחב חיפוש קטן יותר מאשר האפשרות AutoML. ‫Seq2seq+ היא אפשרות טובה אם רוצים לקבל תוצאות מהירות וקבוצות הנתונים קטנות מ-1GB.

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

TemporalFusionTransformerForecastingTrainingJob

המחלקות TemporalFusionTransformerForecastingTrainingJob משתמשות בשיטת האימון Temporal Fusion Transformer (TFT) כדי לאמן ולהפעיל מודל חיזוי. שיטת האימון של TFT מיישמת מודל של רשת נוירונים עמוקה (DNN) שמבוסס על תשומת לב ומשתמש במשימת חיזוי רב-אופקית כדי ליצור תחזיות.

קוד לדוגמה שמראה איך להשתמש ב-TemporalFusionTransformerForecastingTrainingJob זמין בדוגמה ליצירת צינור עיבוד נתונים לאימון של Temporal Fusion Transformer לחיזוי ב-GitHub.

TimeSeriesDenseEncoderForecastingTrainingJob

המחלקות TimeSeriesDenseEncoderForecastingTrainingJob משתמשות בשיטת האימון Time-series Dense Encoder ‏ (TiDE) כדי לאמן ולהפעיל מודל חיזוי. ‫TiDE משתמש בפרספטרון רב-שכבתי (MLP) כדי לספק את המהירות של מודלים ליניאריים לחיזוי עם משתנים מסבירים ותלות לא ליניארית. מידע נוסף על TiDE זמין במאמר Recent advances in deep long-horizon forecasting ובפוסט הזה בבלוג בנושא TiDE.

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

ה-Vertex AI SDK כולל את המחלקות הבאות לאימון מודלים של תמונות לא מובנות:

AutoMLImageTrainingJob

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

דוגמה לשימוש במחלקה AutoMLImageTrainingJob מופיעה במדריך בנושא סיווג תמונות ב-AutoML.

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

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

חבילת ה-SDK של Vertex AI כוללת שלוש מחלקות שיוצרות צינור עיבוד נתונים מותאם אישית לאימון. צינור אימון מקבל כקלט מערך נתונים מנוהל של Vertex AI שמשמש לאימון מודל. לאחר מכן, היא מחזירה את המודל אחרי שפעולת האימון מסתיימת. כל אחת משלוש המחלקות של צינורות אימון בהתאמה אישית יוצרת צינור אימון באופן שונה. ‫CustomTrainingJob משתמש בסקריפט Python,‏ CustomContainerTrainingJob משתמש במאגר מותאם אישית ו-CustomPythonPackageTrainingJob משתמש בחבילת Python ובמאגר מוכן מראש.

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

CustomContainerTrainingJob

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

דוגמה לשימוש במחלקה CustomContainerTrainingJob מופיעה במדריך PyTorch Image Classification Multi-Node Distributed Data Parallel Training on GPU using Vertex AI Training with Custom Container (אימון מקביל מבוזר של נתונים בסיווג תמונות ב-PyTorch בכמה צמתים ב-GPU באמצעות Vertex AI Training עם קונטיינר בהתאמה אישית) ב-notebook.

CustomJob

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

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

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

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

בדוגמת הקוד הבאה אפשר לראות איך ליצור ולהריץ משימה בהתאמה אישית באמצעות מפרט לדוגמה של מאגר עובדים. הקוד כותב את המודל שאומן לקטגוריה של Cloud Storage בשם artifact-bucket.

# Create a worker pool spec that specifies a TensorFlow cassava dataset and
# includes the machine type and Docker image. The Google Cloud project ID
# is 'project-id'.
worker_pool_specs=[
     {
        "replica_count": 1,
        "machine_spec": { "machine_type": "n1-standard-8",
                          "accelerator_type": "NVIDIA_TESLA_V100",
                          "accelerator_count": 1
        },
        "container_spec": {"image_uri": "gcr.io/{project-id}/multiworker:cassava"}
      },
      {
        "replica_count": 1,
        "machine_spec": { "machine_type": "n1-standard-8",
                          "accelerator_type": "NVIDIA_TESLA_V100",
                          "accelerator_count": 1
        },
        "container_spec": {"image_uri": "gcr.io/{project-id}/multiworker:cassava"}
      }
]

# Use the worker pool spec to create a custom training job. The custom training
# job artifacts are stored in the Cloud Storage bucket
# named 'artifact-bucket'.
your_custom_training_job = aiplatform.CustomJob(
                                      display_name='multiworker-cassava-sdk',
                                      worker_pool_specs=worker_pool_specs,
                                      staging_bucket='gs://{artifact-bucket}')

# Run the training job. This method doesn't return the trained model.
my_multiworker_job.run()

CustomPythonPackageTrainingJob

אפשר להשתמש במחלקה CustomPythonPackageTrainingJob כדי להשתמש בחבילת Python להפעלת צינור אימון בהתאמה אישית ב-Vertex AI.

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

CustomTrainingJob

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

דוגמה לשימוש במחלקה CustomTrainingJob מופיעה במדריך Custom training image classification model for online prediction with explainability (מודל סיווג תמונות לאימון בהתאמה אישית לצורך חיזוי אונליין עם יכולת הסבר) במחברת.

Hyperparameter training class

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

HyperparameterTuningJob

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

במדריך Hyperparameter tuning ב-GitHub מוסבר איך להשתמש במחלקה HyperparameterTuningJob כדי ליצור מודל שאומן בהתאמה אישית ולכוונן אותו.

כדי ללמוד איך להשתמש במחלקה HyperparameterTuningJob כדי להריץ משימת כוונון היפר-פרמטרים ב-Vertex AI למודל TensorFlow, אפשר לעיין במדריך הרצת כוונון היפר-פרמטרים למודל TensorFlow ב-GitHub.

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

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

PipelineJob

מופע של המחלקה PipelineJob מייצג צינור עיבוד נתונים של Vertex AI.

יש כמה מחברות הדרכה שמדגימות איך להשתמש במחלקה PipelineJob:

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

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