במדריך הזה מוסבר איך לייבא מודלים ל-Gemini Enterprise Agent Platform Model Registry. אחרי שמייבאים את המודל, הוא מופיע במאגר המודלים. מתוך מרשם המודלים, אפשר לפרוס את המודל המיובא לנקודת קצה ולהריץ מסקנות.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות לייבוא מודלים, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד משתמש בפלטפורמת הסוכנים (roles/aiplatform.user) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
מאגרי תגים מוכנים מראש או מותאמים אישית
כשמייבאים מודל, מקשרים אותו למאגר כדי ש-Agent Platform יוכל להריץ בקשות הסקה. אתם יכולים להשתמש במאגרי תגים מוכנים מראש שסופקו על ידי Agent Platform, או להשתמש במאגרי תגים בהתאמה אישית שאתם יוצרים ומעלים ל-Artifact Registry.
אפשר להשתמש במאגר מוכן מראש אם המודל עומד בדרישות הבאות:
- המודל אומן ב-Python 3.7 ואילך
- עברו אימון באמצעות TensorFlow, PyTorch, scikit-learn או XGBoost
- הייצוא מתבצע כדי לעמוד בדרישות ספציפיות למסגרת של אחד ממכלי ההסקות (inference) המובנים מראש
אם אתם מייבאים מודל טבלאי של 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.
כדי לייבא מודל חדש, בוחרים באפשרות ייבוא כמודל חדש.
בוחרים באפשרות ייבוא כגרסה חדשה כדי לייבא מודל כגרסה של מודל קיים. מידע נוסף על ניהול גרסאות של מודלים זמין במאמר ניהול גרסאות של מודלים.
שם ואזור: מזינים שם למודל. בוחרים את האזור שתואם לאזור של דלי האחסון ולנקודת הקצה של מיקום Agent Platform שבה אתם משתמשים. לוחצים על Continue.
אם מרחיבים את אפשרויות מתקדמות, אפשר להוסיף מפתח הצפנה בניהול הלקוח.
בהתאם לסוג מאגר התגים שבו אתם משתמשים, בוחרים את הכרטיסייה המתאימה למטה.
מאגר מוכן מראש
בוחרים באפשרות ייבוא של ארטיפקטים של מודל למאגר חדש שנבנה מראש.
בוחרים את הפורמט של המודל ואת הגרסה של הפורמט של המודל שבהם השתמשתם כדי לאמן את המודל.
אם רוצים להשתמש ב-GPU להצגת מסקנות, מגדירים את סוג המאיץ ל-GPU.
תצטרכו לבחור את סוג ה-GPU בהמשך, כשפורסים את המודל לנקודת קצה.
מציינים את הנתיב ב-Cloud Storage לספרייה שמכילה את ארטיפקטים של המודל.
לדוגמה,
gs://BUCKET_NAME/models/.משאירים את השדה Predict schemata (חיזוי סכימות) ריק.
כדי לייבא את המודל בלי הגדרות של Vertex AI ניתן להסברה, לוחצים על ייבוא.
אחרי שהייבוא יסתיים, המודל יופיע בדף מודלים.
אחרת, ממשיכים להגדיר את המודל על ידי הזנת הגדרות ההסבר בכרטיסייה Explainability (הסבר). מידע נוסף על הגדרות ההסבר
מאגר תגים בהתאמה אישית
בוחרים באפשרות ייבוא מאגר תגים קיים בהתאמה אישית.
מגדירים את ה-URI של קובץ אימג' של קונטיינר.
אם רוצים לספק ארטיפקטים של מודל בנוסף לתמונת קונטיינר, צריך לציין את הנתיב ב-Cloud Storage לספרייה שמכילה את הארטיפקטים של המודל.
לדוגמה,
gs://BUCKET_NAME/models/.מציינים ערכים בשדות אחרים.
כדי לייבא את המודל בלי הגדרות של Vertex 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 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: האזור שבו משתמשים ב-Agent Platform.
-
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: האזור שבו משתמשים ב-Agent Platform.
- 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 באמצעות ספריות לקוח.
כדי לבצע אימות ב-Agent Platform, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsההוראות להגדרה במאמר מדריך למתחילים של Agent Platform באמצעות ספריות לקוח.
כדי לבצע אימות ב-Agent Platform, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
במאמר התקנת Vertex AI SDK ל-Python מוסבר איך להתקין או לעדכן את Vertex AI SDK ל-Python. מידע נוסף מופיע ב מאמרי העזרה של Python API.
כדי לייבא מודל עם הגדרות של Vertex AI ניתן להסברה, אפשר לעיין בדוגמאות לייבוא מודלים של Vertex AI ניתן להסברה.
קבלת סטטוס פעולה
חלק מהבקשות מפעילות תהליכים ארוכים שדורשים זמן להשלמה. הבקשות האלה מחזירות שם פעולה, שאפשר להשתמש בו כדי לראות את הסטטוס של הפעולה או לבטל אותה. Agent Platform מספקת שיטות עזר לביצוע קריאות לפעולות ממושכות. מידע נוסף זמין במאמר בנושא עבודה עם פעולות ממושכות.
מגבלות
- הגודל המקסימלי של מודל שנתמך על ידי מרשם המודלים הוא 1TB.
המאמרים הבאים
- פריסת המודל לנקודת קצה, באמצעות תכנות או באמצעות מסוף Google Cloud .