שימוש בכתובת IP פרטית לאימון ללא שרתים ב-Gemini Enterprise Agent Platform

שימוש בכתובת IP פרטית כדי להתחבר למשימות האימון מספק אבטחת רשת טובה יותר וחביון רשת נמוך יותר מאשר שימוש בכתובת IP ציבורית. כדי להשתמש בכתובת IP פרטית, משתמשים ב-Virtual Private Cloud ‏ (VPC) כדי ליצור קשר בין הרשת לבין כל סוג של משימת אימון ללא שרתים ב-Gemini Enterprise Agent Platform. כך קוד האימון יכול לגשת לכתובות IP פרטיות בתוךGoogle Cloud או ברשתות מקומיות.

במדריך הזה מוסבר איך להריץ משימות אימון ללא שרת ברשת שלכם אחרי שכבר הגדרתם שיוך של רשתות VPC כדי לשייך את הרשת שלכם למשאב של Agent Platform CustomJob, HyperparameterTuningJob או משאב מותאם אישית TrainingPipeline.

סקירה כללית

לפני ששולחים משימת אימון של serverless באמצעות כתובת IP פרטית, צריך להגדיר גישה לשירותים פרטיים כדי ליצור חיבורי peering בין הרשת שלכם לבין Agent Platform. אם כבר הגדרתם את זה, אתם יכולים להשתמש בחיבורי ה-peering הקיימים.

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

  • הסבר על טווחי כתובות ה-IP שצריך לשריין לאימון ללא שרת.
  • בודקים את הסטטוס של חיבורי ה-Peering הקיימים.
  • ביצוע אימון ללא שרת (serverless) של Gemini Enterprise Agent Platform ברשת שלכם.
  • לפני שמבצעים אימון ברשת אחרת, בודקים אם מתבצע אימון פעיל ברשת מסוימת.
  • בודקים שלקוד האימון יש גישה לכתובות IP פרטיות ברשת.

שמירת טווחי כתובות IP לאימון בלי שרת (serverless)

כשמזמינים טווח כתובות IP לספקי שירותים, הפלטפורמה של הסוכן ושירותים אחרים יכולים להשתמש בטווח הזה. בטבלה הזו מוצג המספר המקסימלי של משימות אימון מקבילות שאפשר להריץ עם טווחים מוזמנים מ-‎ /16 עד ‎ /18, בהנחה שהפלטפורמה של הסוכן משתמשת בטווח כמעט באופן בלעדי. אם מתחברים לספקי שירותים אחרים באמצעות אותו טווח, צריך להקצות טווח גדול יותר כדי למנוע מיצוי של כתובות ה-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 קיימים שבהם אתם משתמשים עם Agent Platform, אתם יכולים להציג אותם כדי לבדוק את הסטטוס:

gcloud compute networks peerings list --network NETWORK_NAME

הסטטוס של חיבורי ה-Peering אמור להיות ACTIVE. מידע נוסף על חיבורי Peering פעילים

ביצוע אימון ללא שרת

כשמבצעים אימון בלי שרת (serverless), צריך לציין את שם הרשת שרוצים של-Agent Platform תהיה גישה אליה.

בהתאם לאופן שבו מבצעים אימון בלי שרת (serverless), מציינים את הרשת באחד משדות ה-API הבאים:

אם לא מציינים שם רשת, Agent Platform מריצה את האימון ללא שרת בלי חיבור קישור בין רשתות שכנות (peering), ובלי גישה לכתובות IP פרטיות בפרויקט.

דוגמה: יצירת CustomJob באמצעות ה-CLI של gcloud

בדוגמה הבאה אפשר לראות איך מציינים רשת כשמשתמשים ב-CLI של gcloud כדי להריץ CustomJob שמשתמש בקונטיינר מוכן מראש. אם אתם מבצעים אימון בלי שרת (serverless) בדרך אחרת, צריך להוסיף את השדה CustomJob כמו שמתואר לסוג של משימת אימון בלי שרת (serverless) שבה אתם משתמשים.network

  1. יוצרים קובץ 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
    
  2. יצירת אפליקציית אימון להפעלה ב-Agent Platform.

  3. יוצרים את 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 בפקודה הזו.

הפעלת משימות ברשתות שונות

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

בדיקת הגישה למשימת אימון

בקטע הזה מוסבר איך לבדוק שלמשאב אימון בלי שרת (serverless) יש גישה לכתובות IP פרטיות ברשת.

  1. יוצרים מכונה של Compute Engine ברשת ה-VPC.
  2. בודקים את כללי חומת האש כדי לוודא שהם לא מגבילים את התנועה הנכנסת מהרשת של Agent Platform. אם כן, מוסיפים כלל כדי לוודא שלרשת של Agent Platform יש גישה לטווח כתובות ה-IP שהזמנתם עבור Agent Platform (ועבור בעלים של שירות מנוהל אחרים).
  3. מגדירים שרת מקומי במכונה הווירטואלית כדי ליצור נקודת קצה לגישה ל-Agent Platform CustomJob.
  4. יצירת אפליקציית אימון ב-Python להפעלה ב-Agent Platform. במקום קוד לאימון המודל, יוצרים קוד שמאפשר גישה לנקודת הקצה שהגדרתם בשלב הקודם.
  5. פועלים לפי הדוגמה הקודמת כדי ליצור CustomJob.

בעיות נפוצות

בקטע הזה מפורטות כמה בעיות נפוצות שקשורות להגדרת קישור בין רשתות VPC שכנות (peering) באמצעות Agent Platform.

  • כשמגדירים את Agent Platform לשימוש ברשת, מציינים את השם המלא של הרשת:

    "projects/YOUR_PROJECT_NUMBER/global/networks/YOUR_NETWORK_NAME"

  • חשוב לוודא שלא מבצעים אימון בלי שרת (serverless) ברשת מסוימת לפני שמבצעים אימון בלי שרת (serverless) ברשת אחרת.

  • מוודאים שהקציתם טווח IP מספיק לכל ספקי השירותים שהרשת שלכם מתחברת אליהם, כולל Agent Platform.

מידע נוסף על פתרון בעיות זמין במדריך לפתרון בעיות ב-VPC Network Peering.

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