במדריך הזה מוסבר איך לייבא מודלים ל-Model Registry ב-Gemini Enterprise Agent Platform. אחרי שמייבאים את המודל, הוא מופיע במאגר המודלים. מתוך מרשם המודלים, אפשר לפרוס את המודל המיובא לנקודת קצה ולהריץ מסקנות.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות לייבוא מודלים, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד משתמש בפלטפורמת הסוכנים (roles/aiplatform.user) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
מאגרי תגים מוכנים מראש או מותאמים אישית
כשמייבאים מודל, מקשרים אותו למאגר כדי ש-Agent Platform יוכל להריץ בקשות הסקה. אתם יכולים להשתמש במאגרי תגים מוכנים מראש שסופקו על ידי Agent Platform, או להשתמש במאגרי תגים בהתאמה אישית שאתם יוצרים ומעלים ל-Artifact Registry.
אפשר להשתמש במאגר מוכן מראש אם המודל עומד בדרישות הבאות:
- המודל אומן ב-Python 3.7 ואילך
- עברו אימון באמצעות TensorFlow, PyTorch, scikit-learn או XGBoost
- הייצוא מתבצע בהתאם לדרישות ספציפיות למסגרת של אחד ממכלי ההסקות שנבנו מראש
אם אתם מייבאים מודל טבלאי של AutoML שייצאתם בעבר, אתם צריכים להשתמש במאגר מותאם אישית ספציפי שסופק על ידי Agent Platform.
אפשרות אחרת היא ליצור מאגר מותאם אישית חדש או להשתמש במאגר מותאם אישית קיים שנמצא ב-Artifact Registry.
העלאת ארטיפקטים של מודלים ל-Cloud Storage
צריך לאחסן את ארטיפקטים של המודל בקטגוריה של Cloud Storage, שבה האזור של הקטגוריה תואם לנקודת הקצה המיקומית שבה אתם משתמשים.
אם הקטגוריה של Cloud Storage נמצאת בפרויקט אחר ב- Google Cloud, צריך לתת גישה ל-Agent Platform כדי לקרוא את הארטיפקטים של המודל.
אם אתם משתמשים במאגר תגים מוכן מראש, צריך לוודא ששמות הקבצים של פריטי המודל זהים בדיוק לדוגמאות הבאות:
- TensorFlow SavedModel:
saved_model.pb - PyTorch:
model.mar - scikit-learn:
model.joblib - XGBoost:
model.bstאוmodel.joblib
מידע נוסף על ייצוא של פריטי מידע של מודל לצורך הסקה
ייבוא מודל באמצעות Google Cloud מסוף
כדי לייבא מודל באמצעות מסוף Google Cloud :
נכנסים לדף Models של Agent Platform במסוף Google Cloud .
לוחצים על Import.
כדי לייבא מודל חדש, בוחרים באפשרות ייבוא כמודל חדש.
בוחרים באפשרות ייבוא כגרסה חדשה כדי לייבא מודל כגרסה של מודל קיים. מידע נוסף על ניהול גרסאות של מודלים זמין במאמר ניהול גרסאות של מודלים.
שם ואזור: מזינים שם למודל. בוחרים את האזור שתואם לאזור של דלי האחסון ולנקודת הקצה של מיקום פלטפורמת הסוכן שבה אתם משתמשים. לוחצים על Continue.
אם מרחיבים את אפשרויות מתקדמות, אפשר להוסיף מפתח הצפנה בניהול הלקוח.
בהתאם לסוג מאגר התגים שבו אתם משתמשים, בוחרים את הכרטיסייה המתאימה למטה.
מאגר מוכן מראש
בוחרים באפשרות ייבוא של ארטיפקטים של מודל למאגר חדש שנבנה מראש.
בוחרים את הפורמט של המודל ואת הגרסה של הפורמט של המודל שבהם השתמשתם כדי לאמן את המודל.
אם רוצים להשתמש ב-GPU להצגת מסקנות, מגדירים את סוג המאיץ ל-GPU.
תצטרכו לבחור את סוג ה-GPU בהמשך, כשפורסים את המודל לנקודת קצה.
מציינים את הנתיב ב-Cloud Storage לספרייה שמכילה את ארטיפקטים של המודל.
לדוגמה,
gs://BUCKET_NAME/models/.משאירים את השדה Predict schemata (חיזוי סכימות) ריק.
כדי לייבא את המודל בלי הגדרות של Vertex Explainable AI, לוחצים על ייבוא.
אחרי שהייבוא יסתיים, המודל יופיע בדף מודלים.
אחרת, ממשיכים להגדיר את המודל על ידי הזנת הגדרות ההסבר בכרטיסייה Explainability (הסבר). מידע נוסף על הגדרות ההסבר
מאגר תגים בהתאמה אישית
בוחרים באפשרות ייבוא מאגר תגים קיים בהתאמה אישית.
הגדרה של ה-URI של קובץ האימג' של הקונטיינר.
אם רוצים לספק ארטיפקטים של מודל בנוסף לתמונת קונטיינר, צריך לציין את הנתיב ב-Cloud Storage לספרייה שמכילה את הארטיפקטים של המודל.
לדוגמה,
gs://BUCKET_NAME/models/.מציינים ערכים בשדות אחרים.
כדי לייבא את המודל בלי הגדרות של Vertex Explainable AI, לוחצים על ייבוא.
אחרי שהייבוא יסתיים, המודל יופיע בדף מודלים.
אחרת, ממשיכים להגדיר את המודל על ידי הזנת הגדרות ההסבר בכרטיסייה Explainability (הסבר). מידע נוסף על הגדרות ההסבר
מאגר AutoML לנתונים טבלאיים
בוחרים באפשרות ייבוא מאגר תגים קיים בהתאמה אישית.
בשדה Container image (תמונת קונטיינר), מזינים
MULTI_REGION-docker.pkg.dev/vertex-ai/automl-tabular/prediction-server-v1:latest.מחליפים את
MULTI_REGIONב-us, ב-europeאו ב-asiaכדי לבחור מאיזה מאגר Docker רוצים לשלוף את תמונת Docker. כל מאגר מספק את אותו קובץ אימג' של Docker, אבל בחירה במאגר מרובה אזורים של Artifact Registry שקרוב למחשב שבו מריצים את Docker עשויה להפחית את זמן האחזור.בשדה Package location (מיקום החבילה), מציינים את הנתיב ב-Cloud Storage לספרייה שמכילה את ארטיפקטים של המודל.
הנתיב ייראה כמו בדוגמה הבאה:
gs://BUCKET_NAME/models-MODEL_ID/tf-saved-model/TIMESTAMP/משאירים את כל שאר השדות ריקים.
לוחצים על Import.
אחרי שהייבוא יסתיים, המודל יופיע בדף מודלים. אפשר להשתמש במודל הזה בדיוק כמו במודלים אחרים של טבלאות של AutoML, אבל מודלים של טבלאות של AutoML שיובאו לא תומכים ב-Vertex Explainable AI.
ייבוא מודל באופן פרוגרמטי
בדוגמאות הבאות אפשר לראות איך מייבאים מודל באמצעות כלים שונים:
gcloud
בדוגמה הבאה משתמשים בפקודה gcloud ai models upload:
gcloud ai models upload \
--region=LOCATION \
--display-name=MODEL_NAME \
--container-image-uri=IMAGE_URI \
--artifact-uri=PATH_TO_MODEL_ARTIFACT_DIRECTORY
מחליפים את מה שכתוב בשדות הבאים:
- LOCATION_ID: האזור שבו משתמשים בפלטפורמת הסוכנים.
-
MODEL_NAME: שם מוצג ל-
Model. -
IMAGE_URI: ה-URI של קובץ האימג' בקונטיינר שמשמש להצגת מסקנות.
לדוגמה,
us-docker.pkg.dev/vertex-ai/prediction/tf2-cpu.2-1:latest. משתמשים במאגר מוכן מראש או במאגר בהתאמה אישית. -
PATH_TO_MODEL_ARTIFACT_DIRECTORY: ה-URI של Cloud Storage (מתחיל ב-
gs://) של ספרייה ב-Cloud Storage שמכילה את הארטיפקטים של המודל.
בדוגמה שלמעלה מוצגים כל הסימונים שנדרשים לייבוא של רוב המודלים. אם אתם לא משתמשים בקונטיינר מוכן מראש להסקת מסקנות, סביר להניח שתצטרכו לציין כמה אפשרויות נוספות כדי ש-Agent Platform יוכל להשתמש בתמונת הקונטיינר שלכם. הדגלים האלה, שמתחילים ב---container-, תואמים לשדות של ModelcontainerSpec.
REST
בדוגמת הקוד הבאה מוסבר איך להעלות מודל באמצעות השיטה upload של משאב model.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION_ID: האזור שבו משתמשים בפלטפורמת הסוכנים.
- PROJECT_ID: [מזהה הפרויקט](/resource-manager/docs/creating-managing-projects#identifiers). .
-
MODEL_NAME: שם מוצג ל-
Model. - MODEL_DESCRIPTION: אופציונלי. תיאור של המודל.
-
IMAGE_URI: ה-URI של קובץ האימג' בקונטיינר שמשמש להצגת מסקנות.
לדוגמה,
us-docker.pkg.dev/vertex-ai/prediction/tf2-cpu.2-1:latest. משתמשים במאגר מוכן מראש או במאגר בהתאמה אישית. -
PATH_TO_MODEL_ARTIFACT_DIRECTORY: ה-URI של Cloud Storage (מתחיל ב-
gs://) של ספרייה ב-Cloud Storage שמכילה את הארטיפקטים של המודל. המשתנה הזה והשדהartifactUriהם אופציונליים אם אתם משתמשים במאגר תגים מותאם אישית. -
labels: אופציונלי. כל קבוצה של צמדי מפתח/ערך לארגון המודלים. לדוגמה:- "env": "prod"
- "tier": "backend"
- מציינים את LABEL_NAME ואת LABEL_VALUE לכל התוויות שרוצים להחיל על צינור האימון הזה.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/models:upload
גוף בקשת JSON:
{
"model": {
"displayName": "MODEL_NAME",
"predictSchemata": {},
"containerSpec": {
"imageUri": "IMAGE_URI"
},
"artifactUri": "PATH_TO_MODEL_ARTIFACT_DIRECTORY",
"labels": {
"LABEL_NAME_1": "LABEL_VALUE_1",
"LABEL_NAME_2": "LABEL_VALUE_2"
}
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/models:upload"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/models:upload" | Select-Object -Expand Content
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaההוראות להגדרה במאמר התחלה מהירה של פלטפורמת הסוכנים באמצעות ספריות לקוח.
כדי לבצע אימות ב-Agent Platform, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsההוראות להגדרה במאמר התחלה מהירה של פלטפורמת הסוכנים באמצעות ספריות לקוח.
כדי לבצע אימות ב-Agent Platform, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
במאמר התקנת Vertex AI SDK ל-Python מוסבר איך להתקין או לעדכן את Vertex AI SDK ל-Python. מידע נוסף מופיע ב מאמרי העזרה של Python API.
כדי לייבא מודל עם הגדרות של Vertex Explainable AI מופעלות, אפשר לעיין בדוגמאות לייבוא מודלים של Vertex Explainable AI.
קבלת סטטוס פעולה
חלק מהבקשות מפעילות תהליכים ארוכים שדורשים זמן להשלמה. הבקשות האלה מחזירות שם פעולה, שאפשר להשתמש בו כדי לראות את הסטטוס של הפעולה או לבטל אותה. פלטפורמת הסוכנים מספקת שיטות עזר לביצוע קריאות לפעולות ממושכות. מידע נוסף זמין במאמר בנושא עבודה עם פעולות ממושכות.
מגבלות
- הגודל המקסימלי של מודל שנתמך ב-Model Registry הוא 1TB.
המאמרים הבאים
- פריסת המודל לנקודת קצה, באמצעות תכנות או באמצעות מסוף Google Cloud .