סקירה כללית
לפני שמשתמשים בנקודות קצה פרטיות כדי להפעיל הסקה אונליין, צריך להגדיר גישה לשירותים פרטיים כדי ליצור חיבורי קישור בין הרשת לבין Vertex AI. אם כבר הגדרתם את זה, אתם יכולים להשתמש בחיבורי ה-Peering הקיימים.
במדריך הזה מוסבר איך לבצע את המשימות הבאות:
- אימות הסטטוס של חיבורי ה-Peering הקיימים.
- בודקים שממשקי ה-API הנדרשים מופעלים.
- יצירת נקודת קצה פרטית.
- פריסת מודל לנקודת קצה פרטית.
- יש תמיכה רק במודל אחד לכל נקודת קצה פרטית. זה שונה מנקודת קצה ציבורית של Vertex AI, שבה אפשר לפצל את התנועה בין כמה מודלים שנפרסו בנקודת קצה אחת.
- נקודת קצה פרטית תומכת במודלים של AutoML לנתונים טבלאיים ובמודלים שעברו אימון בהתאמה אישית.
- שליחת היקש לנקודת קצה פרטית.
- ניקוי משאבים
בדיקת הסטטוס של חיבורי קישור בין רשתות שכנות (peering) קיימים
אם יש לכם חיבורי Peering קיימים שבהם אתם משתמשים עם Vertex AI, אתם יכולים לרשום אותם כדי לבדוק את הסטטוס:
gcloud compute networks peerings list --network NETWORK_NAME
הסטטוס של חיבורי ה-Peering אמור להיות ACTIVE.
מידע נוסף על חיבורי Peering פעילים
הפעלת ממשקי ה-API הנדרשים
gcloud services enable aiplatform.googleapis.com
gcloud services enable dns.googleapis.com
יצירת נקודת קצה פרטית
כדי ליצור נקודת קצה פרטית, מוסיפים את הדגל --network כשיוצרים נקודת קצה באמצעות Google Cloud CLI:
gcloud beta ai endpoints create \
--display-name=ENDPOINT_DISPLAY_NAME \
--network=FULLY_QUALIFIED_NETWORK_NAME \
--region=REGION
מחליפים את NETWORK_NAME בשם הרשת המוגדר במלואו:
projects/PROJECT_NUMBER/global/networks/NETWORK_NAME
אם יוצרים את נקודת הקצה בלי לציין רשת, נוצרת נקודת קצה ציבורית.
מגבלות של נקודות קצה פרטיות
חשוב לשים לב למגבלות הבאות שחלות על נקודות קצה פרטיות:
- נקודות קצה פרטיות לא תומכות בפיצול תעבורה. כפתרון עקיף, אפשר ליצור פיצול תנועה באופן ידני על ידי פריסת המודל לכמה נקודות קצה פרטיות, ופיצול התנועה בין כתובות ה-URL של ההסקה שמתקבלות לכל נקודת קצה פרטית.
- נקודות קצה פרטיות לא תומכות ב-SSL/TLS.
- כדי להפעיל רישום ביומן של גישה לנקודת קצה פרטית, צריך לפנות לכתובת vertex-ai-feedback@google.com.
- אפשר להשתמש רק ברשת אחת לכל נקודות הקצה הפרטיות בפרויקט Google Cloud. אם רוצים לעבור לרשת אחרת, צריך לפנות אל
vertex-ai-feedback@google.com. - מומלץ מאוד לנסות שוב בצד הלקוח במקרה של שגיאות שניתנות לתיקון. השגיאות האלה יכולות לכלול את השגיאות הבאות:
- תשובה ריקה (קוד שגיאת HTTP
0), יכול להיות שהסיבה היא חיבור זמני לא תקין. - קודי שגיאה של HTTP
5xxשמציינים שהשירות לא זמין באופן זמני.
- תשובה ריקה (קוד שגיאת HTTP
- במקרה של קוד שגיאת HTTP
429שמציין שהמערכת עמוסה מדי, מומלץ להאט את התנועה כדי לפתור את הבעיה במקום לנסות שוב. - אין תמיכה בבקשות הסקה משירותי חיזוי (כמו
PredictionServiceClientו-PredictionServiceClient). - נקודת הקצה של Private Service Access לא תומכת במודלים בסיסיים שעברו התאמה. כדי לפרוס מודל בסיס שעבר התאמה, צריך להשתמש בנקודת קצה מסוג Private Service Connect.
מעקב אחרי נקודות קצה פרטיות
אפשר להשתמש בלוח הבקרה של המדדים כדי לבדוק את הזמינות ואת זמן האחזור של התעבורה שנשלחת לנקודת קצה פרטית.
כדי להתאים אישית את המעקב, שולחים שאילתות על המדדים הבאים ב-Cloud Monitoring:
aiplatform.googleapis.com/prediction/online/private/response_countמספר התשובות של ההסקה. אפשר לסנן את המדד הזה לפי
deployed_model_idאו קוד תגובת HTTP.aiplatform.googleapis.com/prediction/online/private/prediction_latenciesזמן האחזור של בקשת ההסקה באלפיות השנייה. אפשר לסנן את המדד הזה לפי
deployed_model_id, רק לבקשות מוצלחות.
כאן אפשר לקרוא איך בוחרים את המדדים האלה, שולחים שאילתות לגביהם ומציגים אותם ב-Metrics Explorer.
פריסת מודל
אתם יכולים לייבא מודל חדש או לפרוס מודל קיים שכבר העלתם. כדי להעלות מודל חדש, משתמשים ב-gcloud ai models upload.
מידע נוסף זמין במאמר בנושא ייבוא מודלים ל-Vertex AI.
כדי לפרוס מודל לנקודת קצה פרטית, אפשר לעיין במדריך בנושא פריסת מודלים. בנוסף לפיצול תנועה והפעלה ידנית של רישום גישה, אפשר להשתמש בכל אחת מהאפשרויות האחרות שזמינות לפריסת מודלים שעברו אימון בהתאמה אישית. מידע נוסף על ההבדלים בין נקודות קצה פרטיות לנקודות קצה ציבוריות מופיע במאמר בנושא הגבלות של נקודות קצה פרטיות.
אחרי שפורסים את נקודת הקצה, אפשר לקבל את ה-URI של ההסקה ממטא-הנתונים של נקודת הקצה הפרטית.
אם יש לכם את השם המוצג של נקודת הקצה הפרטית, מריצים את הפקודה הבאה כדי לקבל את מזהה נקודת הקצה:
ENDPOINT_ID=$(gcloud ai endpoints list \ --region=REGION \ --filter=displayName:ENDPOINT_DISPLAY_NAME \ --format="value(ENDPOINT_ID.scope())")אחרת, כדי לראות את מזהה נקודת הקצה ואת השם לתצוגה של כל נקודות הקצה, מריצים את הפקודה הבאה:
gcloud ai endpoints list --region=REGIONלבסוף, כדי לקבל את ה-URI של ההסקה, מריצים את הפקודה הבאה:
gcloud beta ai endpoints describe ENDPOINT_ID \ --region=REGION \ --format="value(deployedModels.privateEndpoints.predictHttpUri)"
פורמט ה-URI של הסקה פרטית
מזהה ה-URI של ההיסק נראה שונה בנקודות קצה פרטיות בהשוואה לנקודות קצה ציבוריות של Vertex AI:
http://ENDPOINT_ID.aiplatform.googleapis.com/v1/models/DEPLOYED_MODEL_ID:predict
אם בוחרים לבטל פריסה של המודל הנוכחי ולפרוס מחדש מודל חדש, שם הדומיין משמש שוב אבל הנתיב כולל מזהה שונה של מודל שנפרס.
שליחת היקש לנקודת קצה פרטית
יוצרים מכונה של Compute Engine ברשת ה-VPC. חשוב ליצור את המכונה באותה רשת VPC שנוצר עבורה שיתוף פעולה עם Vertex AI.
מתחברים באמצעות SSH למכונת Compute Engine ומתקינים את לקוח ההסקה, אם רלוונטי. אחרת, אפשר להשתמש ב-curl.
כשמבצעים חיזוי, משתמשים בכתובת ה-URL של ההסקה שמתקבלת מפריסת המודל. בדוגמה הזו, אתם שולחים את הבקשה מלקוח ההסקה במכונת Compute Engine באותה רשת VPC:
curl -X POST -d@PATH_TO_JSON_FILE http://ENDPOINT_ID.aiplatform.googleapis.com/v1/models/DEPLOYED_MODEL_ID:predictבדוגמה הזו של הבקשה, PATH_TO_JSON_FILE הוא הנתיב לבקשת ההסקה שלכם, שנשמרה כקובץ JSON. לדוגמה,
example-request.json.
פינוי משאבים
אפשר לבטל פריסה של מודלים ולמחוק נקודות קצה פרטיות באותה דרך שבה עושים זאת במודלים ובנקודות קצה ציבוריות.
דוגמה: בדיקת נקודות קצה פרטיות ב-VPC משותף
בדוגמה הזו נעשה שימוש בשני Google Cloud פרויקטים עם רשת VPC משותפת:
- הפרויקט המארח מארח את רשת ה-VPC המשותפת.
- פרויקט הלקוח מארח מכונה של Compute Engine שבה מריצים לקוח הסקה, כמו curl, או לקוח REST משלכם במכונה של Compute Engine, כדי לשלוח בקשות הסקה.
כשיוצרים את מכונת Compute Engine בפרויקט הלקוח, היא צריכה להיות בתת-הרשת המותאמת אישית ברשת ה-VPC המשותפת של פרויקט המארח, ובאותו אזור שבו נפרס המודל.
יוצרים את חיבורי ה-peering לגישה לשירותים פרטיים בפרויקט המארח. מריצים את
gcloud services vpc-peerings connect:gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --network=HOST_SHARED_VPC_NAME \ --ranges=PREDICTION_RESERVED_RANGE_NAME \ --project=HOST_PROJECT_IDיוצרים את נקודת הקצה בפרויקט הלקוח באמצעות שם הרשת של פרויקט המארח. מריצים את
gcloud beta ai endpoints create:gcloud beta ai endpoints create \ --display-name=ENDPOINT_DISPLAY_NAME \ --network=HOST_SHARED_VPC_NAME \ --region=REGION \ --project=CLIENT_PROJECT_IDשליחת בקשות להסקת מסקנות באמצעות לקוח ההסקה בפרויקט הלקוח.