שימוש בחשבון שירות מותאם אישית

במדריך הזה מוסבר איך להגדיר את Gemini Enterprise Agent Platform לשימוש בחשבון שירות בהתאמה אישית בתרחישים הבאים:

מתי כדאי להשתמש בחשבון שירות בהתאמה אישית

כש-Agent Platform פועלת, היא בדרך כלל פועלת עם ההרשאות של אחד מכמה חשבונות שירות ש-Google יוצרת ומנהלת בשביל הפרויקט שלכם ב- Cloud de Confiance by S3NS . כדי לתת ל-Agent Platform גישה רחבה יותר לשירותים אחרים של Cloud de Confianceבהקשרים מסוימים, אתם יכולים להוסיף תפקידים ספציפיים לסוכני השירות של Agent Platform.

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

  • הענקת פחות הרשאות למשימות ולמודלים ב-Agent Platform. לסוכן השירות של Agent Platform שמוגדר כברירת מחדל יש גישה ל-BigQuery ול-Cloud Storage.
  • מתן גישה למשאבים שונים למשימות שונות. יכול להיות שתרצו לאפשר למשתמשים רבים להפעיל משימות בפרויקט אחד, אבל לתת למשימות של כל משתמש גישה רק לטבלה מסוימת ב-BigQuery או לקטגוריה מסוימת ב-Cloud Storage.

לדוגמה, יכול להיות שתרצו להתאים אישית כל משימת אימון בהתאמה אישית שאתם מריצים, כדי שתהיה לה גישה לCloud de Confiance משאבים שונים מחוץ לפרויקט.

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

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

הרשאות גישה המוגדרות כברירת מחדל

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

קונטיינרים לאימון

כשיוצרים CustomJob, HyperparameterTuningJob או TrainingPipeline בהתאמה אישית, מאגר האימון פועל באמצעות סוכן השירות של Gemini Enterprise Agent Platform Custom Code בפרויקטCloud de Confiance כברירת מחדל.

מידע נוסף על סוכן השירות Gemini Enterprise Agent Platform Custom Code Service Agent, כולל איך לתת לו גישה למשאבים נוספים של Cloud de Confiance .

מאגרי חיזוי

כשפורסים Model שעבר אימון בהתאמה אישית ב-Endpoint, קונטיינר החיזוי פועל באמצעות חשבון שירות שמנוהל על ידי Agent Platform. חשבון השירות הזה שונה מסוכני השירות של Agent Platform.

לחשבון השירות שמשמש את קונטיינר החיזוי כברירת מחדל יש הרשאה לקרוא פריטי מידע שנוצרו בתהליך הפיתוח (Artifact) של המודל, שפלטפורמת Agent הופכת לזמינים ב-URI שמאוחסן במשתנה הסביבה AIP_STORAGE_URI. אל תסתמכו על כך שלחשבון השירות יהיו הרשאות אחרות. אי אפשר להתאים אישית את ההרשאות של חשבון השירות.

הגדרת חשבון שירות בהתאמה אישית

בקטעים הבאים מוסבר איך להגדיר חשבון שירות בהתאמה אישית לשימוש עם Agent Platform, ואיך להגדיר CustomJob, HyperparameterTuningJob, TrainingPipeline או DeployedModel לשימוש עם חשבון השירות. שימו לב שאי אפשר להגדיר חשבון שירות בהתאמה אישית כדי לשלוף קובצי אימג' מ-Artifact Registry. פלטפורמת הסוכנים של Gemini Enterprise משתמשת בחשבון השירות שמוגדר כברירת מחדל כדי לשלוף תמונות.

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

כדי להגדיר חשבון שירות בהתאמה אישית:

  1. יוצרים חשבון שירות שמנוהל על ידי משתמש. חשבון השירות שמנוהל על ידי המשתמש יכול להיות באותו פרויקט כמו המשאבים של Agent Platform, או בפרויקט אחר.

  2. מקצים לחשבון השירות החדש תפקידי IAM שנותנים גישה לשירותים ולמשאבים של Cloud de Confiance שאתם רוצים ש-Agent Platform יוכל להשתמש בהם במהלך אימון או חיזוי בהתאמה אישית.

  3. אופציונלי: אם חשבון השירות בניהול המשתמש נמצא בפרויקט אחר מזה של משימות האימון, צריך להקצות את התפקיד "יצירת אסימונים בחשבון שירות" (roles/iam.serviceAccountTokenCreator) לסוכן השירות של Agent Platform בפרויקט שבו משתמשים ב-Agent Platform.

    gcloud iam service-accounts add-iam-policy-binding \
        --role=roles/iam.serviceAccountTokenCreator \
        --member=serviceAccount:AI_PLATFORM_SERVICE_AGENT \
        CUSTOM_SERVICE_ACCOUNT
    
  4. אופציונלי: אם אתם מתכננים להשתמש בחשבון השירות בניהול המשתמש גם לחיזויים, אתם צריכים להקצות את התפקיד "אדמין של חשבון שירות" (roles/iam.serviceAccountAdmin) לסוכן השירות של Agent Platform בפרויקט שבו אתם משתמשים ב-Agent Platform:

    gcloud iam service-accounts add-iam-policy-binding \
      --role=roles/iam.serviceAccountAdmin \
      --member=serviceAccount:AI_PLATFORM_SERVICE_AGENT \
      CUSTOM_SERVICE_ACCOUNT
    

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

    • ‫AI_PLATFORM_SERVICE_AGENT: כתובת האימייל של סוכן השירות של Agent Platform בפרויקט, בפורמט הבא:

      service-PROJECT_NUMBER@gcp-sa-aiplatform.s3ns-system.iam.gserviceaccount.com

      כדי למצוא את סוכן השירות של Agent Platform, נכנסים לדף IAM במסוף Cloud de Confiance .

      כניסה לדף IAM

    • ‫CUSTOM_SERVICE_ACCOUNT: כתובת האימייל של חשבון השירות החדש בניהול המשתמש שיצרתם בשלב הראשון של החלק הזה.

הגדרת חשבון שירות מותאם אישית למשאבים של Agent Platform

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

צירוף חשבון שירות למשאב אימון בהתאמה אישית

כדי להגדיר את Agent Platform לשימוש בחשבון השירות החדש במהלך אימון בהתאמה אישית, ציינו את כתובת האימייל של חשבון השירות בשדה serviceAccount של הודעת CustomJobSpec כשאתם מתחילים אימון בהתאמה אישית. בהתאם לסוג המשאב לאימון בהתאמה אישית שאתם יוצרים, המיקום של השדה הזה בבקשת ה-API משתנה:

  • אם אתם יוצרים CustomJob, ציינו את כתובת האימייל של חשבון השירות בשדה CustomJob.jobSpec.serviceAccount.

    מידע נוסף על יצירת CustomJob

  • אם אתם יוצרים HyperparameterTuningJob, ציינו את כתובת האימייל של חשבון השירות ב-HyperparameterTuningJob.trialJobSpec.serviceAccount.

    מידע נוסף על יצירת HyperparameterTuningJob

  • אם אתם יוצרים TrainingPipeline בהתאמה אישית בלי כוונון היפר-פרמטרים, ציינו את כתובת האימייל של חשבון השירות ב-TrainingPipeline.trainingTaskInputs.serviceAccount.

  • אם אתם יוצרים TrainingPipeline בהתאמה אישית עם כוונון היפר-פרמטרים, ציינו את כתובת האימייל של חשבון השירות ב-TrainingPipeline.trainingTaskInputs.trialJobSpec.serviceAccount.

צירוף חשבון שירות לקונטיינר שמספק חיזויים אונליין

כדי להגדיר קונטיינר חיזוי של Model באימון בהתאמה אישית לשימוש בחשבון השירות החדש, מציינים את כתובת האימייל של חשבון השירות כשפורסים את ה-Model ב-Endpoint:

המסוף

פועלים לפי ההוראות במאמר פריסת מודל באמצעות מסוףCloud de Confiance . כשמציינים את הגדרות המודל, בוחרים את חשבון השירות ברשימה הנפתחת Service account.

gcloud

פועלים לפי ההוראות במאמר פריסת מודל באמצעות Agent Platform API. כשמריצים את הפקודה gcloud ai endpoints deploy-model, משתמשים בדגל --service-account כדי לציין את כתובת האימייל של חשבון השירות.

לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:

  • ‫ENDPOINT_ID: המזהה של נקודת הקצה.
  • ‫LOCATION_ID: האזור שבו אתם משתמשים ב-Agent Platform.
  • ‫MODEL_ID: המזהה של המודל לפריסה.
  • ‫DEPLOYED_MODEL_NAME: שם ל-DeployedModel. אפשר להשתמש בשם המוצג של Model גם בשביל DeployedModel.
  • ‫MACHINE_TYPE: אופציונלי. משאבי המכונה שמשמשים לכל צומת בפריסה הזו. הגדרת ברירת המחדל היא n1-standard-2. מידע נוסף על סוגי מכונות
  • ‫MIN_REPLICA_COUNT: המספר המינימלי של הצמתים לפריסה הזו. אפשר להגדיל או להקטין את מספר הצמתים בהתאם לעומס ההסקה, עד למספר המקסימלי של הצמתים, אבל אף פעם לא פחות מהמספר הזה.
  • ‫MAX_REPLICA_COUNT: המספר המקסימלי של הצמתים בפריסה הזו. אפשר להגדיל או להקטין את מספר הצמתים בהתאם לעומס ההסקה, עד למספר הצמתים הזה, ולא פחות ממספר הצמתים המינימלי.
  • ‫CUSTOM_SERVICE_ACCOUNT: כתובת האימייל של חשבון השירות. לדוגמה: SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com.

מריצים את הפקודה gcloud ai endpoints deploy-model:

‫Linux,‏ macOS או Cloud Shell

gcloud ai endpoints deploy-model ENDPOINT_ID \
  --region=LOCATION \
  --model=MODEL_ID \
  --display-name=DEPLOYED_MODEL_NAME \
  --machine-type=MACHINE_TYPE \
  --min-replica-count=MIN_REPLICA_COUNT \
  --max-replica-count=MAX_REPLICA_COUNT \
  --traffic-split=0=100 \
  --service-account=CUSTOM_SERVICE_ACCOUNT

‏Windows (PowerShell)

gcloud ai endpoints deploy-model ENDPOINT_ID `
  --region=LOCATION `
  --model=MODEL_ID `
  --display-name=DEPLOYED_MODEL_NAME `
  --machine-type=MACHINE_TYPE `
  --min-replica-count=MIN_REPLICA_COUNT `
  --max-replica-count=MAX_REPLICA_COUNT `
  --traffic-split=0=100 `
  --service-account=CUSTOM_SERVICE_ACCOUNT

Windows‏ (cmd.exe)

gcloud ai endpoints deploy-model ENDPOINT_ID ^
  --region=LOCATION ^
  --model=MODEL_ID ^
  --display-name=DEPLOYED_MODEL_NAME ^
  --machine-type=MACHINE_TYPE ^
  --min-replica-count=MIN_REPLICA_COUNT ^
  --max-replica-count=MAX_REPLICA_COUNT ^
  --traffic-split=0=100 ^
  --service-account=CUSTOM_SERVICE_ACCOUNT
 

API

פועלים לפי ההוראות במאמר פריסת מודל באמצעות Agent Platform API. כששולחים את הבקשה projects.locations.endpoints.deployModel, מגדירים את השדה deployedModel.serviceAccount לכתובת האימייל של חשבון השירות.

צירוף חשבון שירות לבקשת CopyModel

כדי להגדיר את Agent Platform להשתמש בחשבון השירות החדש כשמעתיקים מודל, מציינים את כתובת האימייל של חשבון השירות בשדה customServiceAccount של ההודעה CopyModelRequest. חשבון השירות הזה צריך להיות שייך לפרויקט היעד שאליו המודל מועתק, וצריכה להיות לכם ההרשאה iam.serviceAccounts.actAs בחשבון השירות הזה.

REST

פועלים לפי ההוראות במאמר העתקת מודל באמצעות Agent Platform API, ומוסיפים את השדה customServiceAccount לגוף ה-JSON של הבקשה.

API

כששולחים את בקשת projects.locations.models.copy, מגדירים את השדה customServiceAccount לכתובת האימייל של חשבון השירות.

גישה לשירותי Cloud de Confiance בקוד

אם תגדירו את Agent Platform לשימוש בחשבון שירות בהתאמה אישית לפי ההוראות שבקטעים הקודמים, למאגר האימון או למאגר החיזוי תהיה גישה לכל השירותים והמשאבים של- Cloud de Confiance יש גישה אליהם.

כדי לגשת לשירותי Cloud de Confiance , צריך לכתוב את קוד האימון או את קוד הצגת החיזוי כך שישתמשו בApplication Default Credentials ‏ (ADC), ולציין במפורש את מזהה הפרויקט או את מספר הפרויקט של המשאב שאליו רוצים לגשת. איך כותבים קוד כדי לגשת לשירותים אחרים של Cloud de Confiance

מגבלות

לחשבונות שירות בהתאמה אישית ב-Gemini Enterprise Agent Platform יש את המגבלות הבאות:

  • בהסקת מסקנות באצווה, סוכן השירות של Gemini Enterprise Agent Platform עדיין ישמש לגישה ל-BigQuery ול-Cloud Storage, גם אם מוגדר חשבון שירות בהתאמה אישית.
  • אפשר ליצור עד 20 חשבונות שירות בהתאמה אישית לכל פרויקט, לכל אזור ולכל שירות (לדוגמה, Vertex AI Inference).

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