במדריך הזה מוסבר איך לייבא מודלים אל מרשם המודלים ב-Gemini Enterprise Agent Platform. אחרי שמייבאים את המודל, הוא מופיע ב-מרשם המודלים. ממרשם המודלים, אתם יכולים לפרוס את המודל המיובא בנקודת קצה (endpoint) ולהריץ הסקות.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות לייבוא מודלים, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד משתמש בפלטפורמת הסוכנים (roles/aiplatform.user) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
קונטיינרים מובנים או בהתאמה אישית
כשמייבאים מודל, משייכים אותו לקונטיינר כדי ש-Agent Platform תוכל להריץ בקשות להסקת מסקנות. אתם יכולים להשתמש בקונטיינרים מוכנים מראש שסופקו על ידי Agent Platform, או להשתמש בקונטיינרים בהתאמה אישית שאתם בונים ומעבירים ל-Artifact Registry.
אתם יכולים להשתמש בקונטיינר מוגדר מראש אם המודל עומד בדרישות הבאות:
- המודל אומן ב-Python 3.7 ואילך
- אימון באמצעות TensorFlow, PyTorch, scikit-learn או XGBoost
- מיוצא כדי לעמוד בדרישות הספציפיות ל-framework של אחד מהקונטיינרים המוכנים מראש להסקת מסקנות.
אם אתם מייבאים מודל AutoML טבלאי שייצאתם בעבר, אתם צריכים להשתמש בקונטיינר מותאם אישית ספציפי שסופק על ידי Agent Platform.
אחרת, יוצרים מאגר בהתאמה אישית חדש או משתמשים במאגר בהתאמה אישית קיים ב-Artifact Registry.
העלאת פריטי מידע שנוצרו באופן אוטומטי של מודלים ל-Cloud Storage
אתם צריכים לאחסן את פריטי המידע שנוצרו במודל בקטגוריה של Cloud Storage, שבה האזור של הקטגוריה תואם לנקודת הקצה של המיקום שבו אתם משתמשים.
אם הקטגוריה של Cloud Storage נמצאת בפרויקט אחר ב- Cloud de Confiance, צריך לתת ל-Agent Platform גישה לקריאת פריטי המידע שנוצרו מהמודל.
אם אתם משתמשים בקונטיינר מובנה, ודאו ששמות הקבצים של פריטי המידע שנוצרו מהמודל תואמים בדיוק לדוגמאות הבאות:
- TensorFlow SavedModel:
saved_model.pb - PyTorch:
model.mar - scikit-learn:
model.joblib - XGBoost:
model.bstאוmodel.joblib
מידע נוסף על ייצוא פריטי מידע שנוצרו בתהליך הפיתוח (Artifact) של מודלים להסקת מסקנות
ייבוא מודל באמצעות מסוף Cloud de Confiance
כדי לייבא מודל באמצעות מסוף Cloud de Confiance :
במסוף Cloud de Confiance , נכנסים לדף Models ב-Agent Platform.
לוחצים על Import.
כדי לייבא מודל חדש, בוחרים באפשרות ייבוא כמודל חדש.
בוחרים באפשרות ייבוא כגרסה חדשה כדי לייבא מודל כגרסה של מודל קיים. מידע נוסף על ניהול גרסאות של מודלים
שם ואזור: נותנים שם למודל. בוחרים את האזור שתואם לאזור של הקטגוריה ולנקודת הקצה של המיקום של פלטפורמת הסוכן שבה משתמשים. לוחצים על Continue.
אם מרחיבים את Advanced options, אפשר להוסיף מפתח הצפנה בניהול הלקוח.
בהתאם לסוג מאגר התגים שבו אתם משתמשים, בוחרים את הכרטיסייה המתאימה למטה.
מאגר מוכן מראש
בוחרים באפשרות Import model artifacts into a new prebuilt container.
בוחרים את Model framework ואת Model framework version שבהם השתמשתם כדי לאמן את המודל.
אם רוצים להשתמש במעבדי GPU להסקת מסקנות, מגדירים את Accelerator type ל-GPUs.
אתם בוחרים את סוג ה-GPU בשלב מאוחר יותר, כשאתם פורסים את המודל בנקודת קצה (endpoint).
מציינים את הנתיב ב-Cloud Storage לספרייה שמכילה את פריטי המידע שנוצרו מהמודל.
לדוגמה,
gs://BUCKET_NAME/models/.משאירים את השדה Predict schemata ריק.
כדי לייבא את המודל בלי ההגדרות של Vertex AI ניתן להסברה, לוחצים על Import.
בסיום הייבוא, המודל יופיע בדף Models.
אחרת, ממשיכים להגדיר את המודל על ידי הזנת הגדרות ההסבר בכרטיסייה Explainability. מידע נוסף על הגדרות ההסבר
מאגר תגים בהתאמה אישית
בוחרים באפשרות ייבוא של מאגר תגים קיים בהתאמה אישית.
מגדירים את ה-URI של קובץ האימג' של הקונטיינר.
אם רוצים לספק פריטי מידע שנוצרו במודל בנוסף לקובץ אימג' של קונטיינר, צריך לציין את הנתיב ב-Cloud Storage לספרייה שמכילה את פריטי המידע שנוצרו במודל.
לדוגמה,
gs://BUCKET_NAME/models/.מציינים ערכים בשדות האחרים.
כדי לייבא את המודל בלי ההגדרות של Vertex AI ניתן להסברה, לוחצים על Import.
בסיום הייבוא, המודל יופיע בדף Models.
אחרת, ממשיכים להגדיר את המודל על ידי הזנת הגדרות ההסבר בכרטיסייה Explainability. מידע נוסף על הגדרות ההסבר
קונטיינר של טבלאות AutoML
בוחרים באפשרות ייבוא של מאגר תגים קיים בהתאמה אישית.
בשדה קובץ אימג' של קונטיינר, מזינים את הערך
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.
בסיום הייבוא, המודל יופיע בדף Models. אתם יכולים להשתמש במודל הזה בדיוק כמו במודלים אחרים של טבלאות 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-, תואמים לשדות של containerSpec ב-Model.
REST
כדי להעלות מודל באמצעות השיטה upload של המשאב model, אפשר להשתמש בדוגמת הקוד הבאה.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION_ID: האזור שבו אתם משתמשים ב-Agent Platform.
- PROJECT_ID: מזהה הפרויקט. .
-
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. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Node.js במדריך למתחילים של Agent Platform באמצעות ספריות לקוח.
כדי לבצע אימות ב-Agent Platform, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
Python
במאמר התקנת Vertex AI SDK ל-Python מוסבר איך להתקין או לעדכן את Vertex AI SDK ל-Python. מידע נוסף מופיע ב מאמרי העזרה של ה-API מבוסס-Python.
כדי לייבא מודל AI עם הגדרות מופעלות של Vertex AI ניתן להסברה, עיינו בדוגמאות לייבוא מודלי AI של Vertex AI ניתן להסברה.
קבלת סטטוס הפעולה
חלק מהבקשות מפעילות פעולות ממושכות שלוקח זמן להשלים אותן. הבקשות האלה מחזירות שם פעולה, שבו אפשר להשתמש כדי לראות את סטטוס הפעולה או לבטל אותה. ב-Agent Platform יש שיטות עזר לשליחת קריאות לפעולות ממושכות. מידע נוסף זמין במאמר עבודה עם פעולות ממושכות.
מגבלות
- הגודל המקסימלי של מודל שנתמך ב-מרשם המודלים הוא 1TB.
המאמרים הבאים
- פורסים את המודל בנקודת קצה, באופן פרוגרמטי או באמצעות Cloud de Confiance מסוף.