שימוש בכתובת IP פרטית כדי להתחבר למשימות האימון מספק אבטחת רשת טובה יותר וחביון רשת נמוך יותר מאשר שימוש בכתובת IP ציבורית. כדי להשתמש בכתובת IP פרטית, אתם משתמשים בענן וירטואלי פרטי (VPC) כדי לקשר את הרשת שלכם לכל סוג של משימת אימון ב-Vertex AI ללא שרתים. כך קוד האימון יכול לגשת לכתובות IP פרטיות בתוךGoogle Cloud או ברשתות מקומיות.
במדריך הזה מוסבר איך להריץ משימות הדרכה ללא שרת ברשת שלכם אחרי שכבר הגדרתם שיוך של רשתות VPC כדי לשייך את הרשת שלכם למשאב של Vertex AI CustomJob, HyperparameterTuningJob או TrainingPipeline מותאם אישית.
סקירה כללית
לפני ששולחים משימת אימון ללא שרת באמצעות כתובת IP פרטית, צריך להגדיר גישה לשירותים פרטיים כדי ליצור קישור בין הרשת שלכם לבין Vertex AI. אם כבר הגדרתם את זה, אתם יכולים להשתמש בחיבורי ה-Peering הקיימים.
במדריך הזה מוסבר איך לבצע את המשימות הבאות:
- הסבר על טווחי כתובות ה-IP שצריך לשריין לאימון בלי שרת (serverless).
- בודקים את הסטטוס של חיבורי ה-Peering הקיימים.
- לבצע אימון בלי שרת (serverless) ב-Vertex AI ברשת שלכם.
- לפני שמבצעים אימון ברשת אחרת, צריך לבדוק אם מתבצע אימון פעיל ברשת אחת.
- בודקים שלקוד האימון יש גישה לכתובות IP פרטיות ברשת.
שמירת טווחי כתובות IP לאימון בלי שרת (serverless)
כשמזמינים טווח כתובות IP לבעלי שירותים מנוהלים, אפשר להשתמש בטווח הזה ב-Vertex AI ובשירותים אחרים. בטבלה הזו מוצג המספר המקסימלי של משימות אימון מקבילות שאפשר להריץ עם טווחי כתובות שמורים מ-/16 עד /18, בהנחה שהטווחי הכתובות האלה משמשים כמעט רק את Vertex AI. אם אתם מתחברים לבעלים של שירותים מנוהלים אחרים באמצעות אותו טווח, הקצו טווח גדול יותר כדי למנוע מיצוי של כתובות IP.
| הגדרת המכונה למשימת אימון | טווח שמור | מספר מקסימלי של משימות מקבילות | |
|---|---|---|---|
| עד 8 צמתים. לדוגמה: עותק משוכפל ראשי אחד במאגר העובדים הראשון, 6 עותקים משוכפלים במאגר העובדים השני ועובד אחד במאגר העובדים השלישי (שישמש כשרת פרמטרים) |
/16 | 63 | |
| /17 | 31 | ||
| /18 | 15 | ||
| עד 16 צמתים. לדוגמה: עותק משוכפל ראשי אחד במאגר העובדים הראשון, 14 עותקים משוכפלים במאגר העובדים השני ועובד אחד במאגר העובדים השלישי (שישמש כשרת פרמטרים) |
/16 | 31 | |
| /17 | 15 | ||
| /18 | 7 | ||
| עד 32 צמתים. לדוגמה: עותק משוכפל ראשי אחד במאגר העובדים הראשון, 30 עותקים משוכפלים במאגר העובדים השני ועובד אחד במאגר העובדים השלישי (שישמש כשרת פרמטרים) |
/16 | 15 | |
| /17 | 7 | ||
| /18 | 3 | ||
מידע נוסף על הגדרת מאגרי עובדים לאימון מבוזר
בדיקת הסטטוס של חיבורי קישור בין רשתות שכנות (peering) קיימים
אם יש לכם חיבורי Peering קיימים שבהם אתם משתמשים עם Vertex AI, אתם יכולים לרשום אותם כדי לבדוק את הסטטוס:
gcloud compute networks peerings list --network NETWORK_NAME
הסטטוס של חיבורי ה-Peering אמור להיות ACTIVE.
מידע נוסף על חיבורי Peering פעילים
ביצוע אימון ללא שרת
כשמבצעים אימון בלי שרת (serverless), צריך לציין את שם הרשת שרוצים של-Vertex AI תהיה גישה אליה.
בהתאם לאופן שבו אתם מבצעים אימון ללא שרת, מציינים את הרשת באחד משדות ה-API הבאים:
אם יוצרים
CustomJob, מציינים את השדהCustomJob.jobSpec.network.אם אתם משתמשים ב-Google Cloud CLI, אתם יכולים להשתמש בדגל
--configבפקודהgcloud ai custom-jobs createכדי לציין את השדהnetwork.אם יוצרים
HyperparameterTuningJob, צריך לציין את השדהHyperparameterTuningJob.trialJobSpec.network.אם אתם משתמשים ב-CLI של gcloud, אתם יכולים להשתמש בדגל
--configבפקודהgcloud ai hpt-tuning-jobs createכדי לציין את השדהnetwork.אם אתם יוצרים
TrainingPipelineבלי כוונון של היפרפרמטרים, אתם צריכים לציין את השדהTrainingPipeline.trainingTaskInputs.network.אם אתם יוצרים
TrainingPipelineעם אופטימיזציה של היפר-פרמטרים, צריך לציין את השדהTrainingPipeline.trainingTaskInputs.trialJobSpec.network.
אם לא מציינים שם רשת, מערכת Vertex AI מריצה את האימון בלי שרת (serverless) בלי חיבור קישור בין רשתות שכנות (peering), ובלי גישה לכתובות IP פרטיות בפרויקט.
דוגמה: יצירת CustomJob באמצעות ה-CLI של gcloud
בדוגמה הבאה מוסבר איך לציין רשת כשמשתמשים ב-CLI של gcloud כדי להריץ CustomJob שמשתמש בקונטיינר מוכן מראש. אם אתם מבצעים אימון בלי שרת (serverless) בדרך אחרת, צריך להוסיף את השדה network כמו שמתואר לסוג של משימת אימון בלי שרת (serverless) שבה אתם משתמשים.
יוצרים קובץ
config.yamlכדי לציין את הרשת. אם אתם משתמשים ב-VPC משותף, צריך להשתמש במספר של פרויקט המארח ב-VPC.מוודאים ששם הרשת בפורמט הנכון:
PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)") cat <<EOF > config.yaml network: projects/PROJECT_NUMBER/global/networks/NETWORK_NAME EOFיוצרים אפליקציית אימון להרצה ב-Vertex AI.
יוצרים את
CustomJobומעבירים את קובץconfig.yaml:gcloud ai custom-jobs create \ --region=LOCATION \ --display-name=JOB_NAME \ --python-package-uris=PYTHON_PACKAGE_URIS \ --worker-pool-spec=machine-type=MACHINE_TYPE,replica-count=REPLICA_COUNT,executor-image-uri=PYTHON_PACKAGE_EXECUTOR_IMAGE_URI,python-module=PYTHON_MODULE \ --config=config.yaml
במאמר יצירת משימות אימון בהתאמה אישית מוסבר איך להחליף את ה-placeholders בפקודה הזו.
הפעלת משימות ברשתות שונות
אי אפשר לבצע אימון בלי שרת (serverless) ברשת חדשה בזמן שעדיין מתבצע אימון בלי שרת (serverless) ברשת אחרת. לפני שאתם עוברים לרשת אחרת, אתם צריכים לחכות עד שכל המשאבים שהוגשו מסוג CustomJob, HyperparameterTuningJob ו-TrainingPipeline (בהתאמה אישית) יסתיימו, או לבטל אותם.
בדיקת הגישה למשימת אימון
בקטע הזה מוסבר איך לבדוק אם משאב אימון בלי שרת (serverless) יכול לגשת לכתובות IP פרטיות ברשת.
- יוצרים מכונה של Compute Engine ברשת ה-VPC.
- בודקים את הכללים של חומת האש כדי לוודא שהם לא מגבילים את תעבורת הנתונים הנכנסת (ingress) מרשת Vertex AI. אם כן, צריך להוסיף כלל כדי לוודא שלרשת Vertex AI תהיה גישה לטווח כתובות ה-IP שהזמנתם ל-Vertex AI (ולספקי שירותים אחרים).
- מגדירים שרת מקומי במכונה הווירטואלית כדי ליצור נקודת קצה לגישה אל Vertex AI
CustomJob. - יוצרים אפליקציית אימון ב-Python להפעלה ב-Vertex AI. במקום קוד לאימון המודל, יוצרים קוד שנותן גישה לנקודת הקצה שהגדרתם בשלב הקודם.
- יוצרים
CustomJobלפי הדוגמה הקודמת.
בעיות נפוצות
בקטע הזה מפורטות כמה בעיות נפוצות בהגדרת קישור בין רשתות VPC שכנות (peering) עם Vertex AI.
כשמגדירים את Vertex AI לשימוש ברשת, מציינים את השם המלא של הרשת:
"projects/YOUR_PROJECT_NUMBER/global/networks/YOUR_NETWORK_NAME"
חשוב לוודא שלא מבצעים אימון בלי שרת (serverless) ברשת מסוימת לפני שמבצעים אימון בלי שרת (serverless) ברשת אחרת.
מוודאים שהקציתם טווח מספיק של כתובות IP לכל ספקי השירותים שהרשת שלכם מתחברת אליהם, כולל Vertex AI.
מידע נוסף על פתרון בעיות זמין במדריך לפתרון בעיות ב-VPC Network Peering.
המאמרים הבאים
- מידע נוסף על קישור בין רשתות VPC שכנות (peering)
- אפשר לעיין בדוגמאות לארכיטקטורות ושיטות מומלצות לתכנון VPC.