צירוף של שיתוף במערכת קבצים ברשת

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

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

לפני שמתחילים

  1. יוצרים שיתוף NFS בענן וירטואלי פרטי (VPC). השיתוף צריך להיות נגיש ללא אימות.

    אתם יכולים להשתמש בשירות NFS מנוהל של צד ראשון כמו Filestore או Google Cloud NetApp Volumes כשיתוף NFS. אם אתם משתמשים ב-Filestore ומתכננים להשתמש ב-VPC peering בשביל Gemini Enterprise Agent Platform בשלב הבא, אתם צריכים לבחור באפשרות גישה פרטית לשירות כמצב החיבור כשאתם יוצרים מכונה. לדוגמה, אפשר לעיין במאמר יצירת מופעים במסמכי התיעוד של Filestore.

  2. כדי לחבר את Gemini Enterprise Agent Platform ל-VPC שמארח את שיתוף ה-NFS, פועלים לפי ההוראות במאמר שימוש בממשק Private Service Connect ל-Gemini Enterprise Agent Platform (מומלץ) או במאמר הגדרה של קישור בין רשתות VPC שכנות.

מידע על Network File System לאימון ללא שרת

כשיוצרים משימת אימון בלי שרת (serverless) שמטמיעה שיתוף NFS, צריך לציין את הפרטים הבאים:

  • שם הרשת שאליה Vertex AI ניגש. הדרך שבה מציינים את שם הרשת משתנה בהתאם לסוג של משימת אימון בלי שרת (serverless). פרטים נוספים זמינים במאמר בנושא ביצוע אימון ללא שרת.

  • הגדרת ה-NFS בשדה WorkerPoolSpec. כוללים את השדות הבאים:

    שדה תיאור
    nfsMounts.server כתובת ה-IP של שרת ה-NFS. הכתובת צריכה להיות כתובת פרטית ב-VPC.
    nfsMounts.path נתיב השיתוף של NFS. הנתיב חייב להיות מוחלט ולהתחיל ב-/.
    nfsMounts.mountPoint נקודת הטעינה המקומית. זה חייב להיות שם ספריה חוקי ב-UNIX. לדוגמה, אם נקודת הטעינה המקומית היא sourceData, צריך לציין את הנתיב /mnt/nfs/sourceData ממופע ה-VM של האימון.

    מידע נוסף זמין במאמר איפה מציינים משאבי מחשוב.

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

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

  2. יוצרים קובץ בשם config.yaml שמתאר את הגדרות ההרכבה של ממשק PSA או Private Service Connect עבור משימת האימון. משתמשים באחד מהפורמטים הבאים:

ממשק Private Service Connect

  1. כדי להשתמש בממשק Private Service Connect:

    pscInterfaceConfig:
         network_attachment: NETWORK_ATTACHMENT_NAME
    workerPoolSpecs:
        - machineSpec:
            machineType: MACHINE_TYPE
        replicaCount: 1
        pythonPackageSpec:
           executorImageUri: PYTHON_PACKAGE_EXECUTOR_IMAGE_URI or PRE_BUILT_CONTAINER_IMAGE_URI
           packageUris:
           -  PYTHON_PACKAGE_URIS
           pythonModule: PYTHON_MODULE
        nfsMounts:
          - server: NFS_SERVER_IP
          path: NFS_SHARE_NAME
          mountPoint: LOCAL_FOLDER
    

    מחליפים את מה שכתוב בשדות הבאים:

    • NETWORK_ATTACHMENT_NAME: השם של רכיב Network Attachment.

    • MACHINE_TYPE: המזהה של סוג המכונה הווירטואלית.

    • PYTHON_PACKAGE_EXECUTOR_IMAGE_URI או PRE_BUILT_CONTAINER_IMAGE_URI: ה-URI של קובץ אימג' של קונטיינר ב-Artifact Registry שיריץ את חבילת Python שצוינה. ב-Vertex AI יש מגוון רחב של תמונות של קובצי הפעלה עם חבילות שמותקנות מראש כדי לתת מענה לתרחישי שימוש שונים של המשתמשים.

    • PYTHON_PACKAGE_URIS: רשימה מופרדת בפסיקים של מזהי URI של Cloud Storage שמציינים את קובצי חבילת Python שמרכיבים את תוכנית האימונים ואת החבילות התלויות שלה. המספר המקסימלי של מזהי URI של חבילות הוא 100.

    • PYTHON_MODULE: השם של מודול Python שרוצים להריץ אחרי התקנת החבילות.

    • NFS_SERVER_IP: כתובת ה-IP של שרת ה-NFS.

    • NFS_SHARE_NAME: הנתיב לשיתוף NFS, שהוא נתיב מוחלט שמתחיל ב-/.

    • LOCAL_FOLDER: נקודת הטעינה המקומית (שם הספרייה ב-UNIX).

    מוודאים ששם הרשת בפורמט הנכון ושהשיתוף של NFS קיים ברשת שצוינה.

  2. יוצרים משימה בהתאמה אישית ומעבירים את קובץ config.yaml לפרמטר --config.

    gcloud ai custom-jobs create \
      --region=LOCATION \
      --display-name=JOB_NAME \
      --config=config.yaml
    

    מחליפים את מה שכתוב בשדות הבאים:

    • LOCATION: מציינים את האזור שבו רוצים ליצור את המשימה.

    • JOB_NAME: שם למשימה בהתאמה אישית.

קישור בין רשתות VPC שכנות (peering)

  1. משתמשים בקישור בין רשתות VPC שכנות אם רוצים שהעבודה תשתמש בקישור בין רשתות VPC שכנות או ב-PSA, או לא תשתמש בהם.

    network: projects/PROJECT_NUMBER/global/networks/NETWORK_NAME
    workerPoolSpecs:
        - machineSpec:
            machineType: MACHINE_TYPE
          replicaCount: 1
          pythonPackageSpec:
            executorImageUri: PYTHON_PACKAGE_EXECUTOR_IMAGE_URI or
                  PRE_BUILT_CONTAINER_IMAGE_URI
            packageUris:
              -  PYTHON_PACKAGE_URIS
            pythonModule: PYTHON_MODULE
          nfsMounts:
            - server: NFS_SERVER_IP
              path: NFS_SHARE_NAME
              mountPoint: LOCAL_FOLDER
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_NUMBER: מזהה הפרויקט ב- Google Cloud .

    • NETWORK_NAME: השם של ה-VPC הפרטי או המשותף.

    • MACHINE_TYPE: המזהה של סוג המכונה הווירטואלית.

    • PYTHON_PACKAGE_EXECUTOR_IMAGE_URI or PRE_BUILT_CONTAINER_IMAGE_URI: ה-URI של קובץ אימג' של קונטיינר ב-Artifact Registry שתפעיל את חבילת Python שסופקה. ב-Vertex AI יש מגוון רחב של תמונות של קבצים להרצה עם חבילות שהותקנו מראש כדי לענות על תרחישי שימוש שונים של משתמשים.

    • PYTHON_PACKAGE_URIS: רשימה מופרדת בפסיקים של מזהי URI של Cloud Storage שמציינים את קובצי חבילת Python שמרכיבים את תוכנית האימון ואת החבילות התלויות שלה. המספר המקסימלי של כתובות URI של חבילות הוא 100.

    • PYTHON_MODULE: השם של מודול Python שרוצים להריץ אחרי התקנת החבילות.

    • NFS_SERVER_IP: כתובת ה-IP של שרת ה-NFS.

    • NFS_SHARE_NAME: הנתיב לשיתוף NFS, שהוא נתיב מוחלט שמתחיל ב-/.

    • LOCAL_FOLDER: נקודת הטעינה המקומית (שם הספרייה ב-UNIX).

    מוודאים ששם הרשת בפורמט הנכון ושהשיתוף של NFS קיים ברשת שצוינה.

  2. יוצרים משימה בהתאמה אישית ומעבירים את קובץ config.yaml לפרמטר --config.

    gcloud ai custom-jobs create \
      --region=LOCATION \
      --display-name=JOB_NAME \
      --config=config.yaml
    

מחליפים את מה שכתוב בשדות הבאים:

  • LOCATION: מציינים את האזור שבו רוצים ליצור את המשימה.

  • JOB_NAME: שם למשימה בהתאמה אישית.

מגבלות

  • צריך לטעון את שיתוף ה-NFS באמצעות כתובת IP פנימית ל-VPC. אסור להשתמש בכתובות URL ציבוריות.

  • משימות אימון מפעילות שיתופי NFS ללא אימות, והן ייכשלו אם נדרשים שם משתמש וסיסמה.

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

  • אי אפשר להריץ שתי משימות אימון שמבצעות mount של שיתופי NFS מרשתות VPC שונות בו-זמנית. הסיבה לכך היא ההגבלה על שיוך רשתות.