במודלים טבלאיים של AutoML, במודלים של תמונות של AutoML ובמודלים שאומנו בהתאמה אישית, אפשר להפעיל או להשבית יומני מסקנות במהלך פריסת המודל או יצירת נקודת הקצה. בדף הזה מוסבר על הסוגים השונים של יומני מסקנות שזמינים, ואיך להפעיל או להשבית את היומנים האלה.
סוגים של יומני הסקה
יש כמה סוגים של יומני מסקנות שאפשר להשתמש בהם כדי לקבל מידע מצמתי המסקנות:
רישום ביומן של קונטיינרים, שבו נרשמים ביומן הזרמים
stdoutו-stderrמצמתי ההסקה אל Cloud Logging. היומנים האלה נדרשים לצורך ניפוי באגים.בנקודת הקצה של שירות
v1, רישום ביומן של מאגר מופעל כברירת מחדל. אפשר להשבית את האפשרות הזו כשפורסים מודל. אפשר גם להשבית או להפעיל את הרישום ביומן כשמשנים את המודל שפרסתם.בנקודת הקצה של השירות
v1beta1, רישום היומנים של הקונטיינר מושבת כברירת מחדל. אפשר להפעיל אותו כשפורסים מודל. אפשר גם להשבית או להפעיל את רישום היומנים כשמבצעים שינוי במודל הפרוס.
רישום גישה, שרושם מידע כמו חותמת זמן וזמן אחזור לכל בקשה ב-Cloud Logging.
רישום הגישה מושבת כברירת מחדל בנקודות הקצה של השירותים
v1ו-v1beta1. אפשר להפעיל רישום ביומן של הגישה כשפורסים מודל לנקודת קצה.רישום ביומן של בקשות ותגובות, שרושם ביומן דגימה של בקשות ותגובות של הסקת מסקנות אונליין בטבלה ב-BigQuery.
כדי להפעיל את הרישום ביומן של בקשות ותשובות, צריך ליצור או לתקן את נקודת הקצה של ההסקה.
אפשר להפעיל או להשבית כל סוג של יומן בנפרד.
הגדרות של יומן מסקנות
אתם יכולים להפעיל או להשבית את יומני ההסקה אונליין כשאתם יוצרים נקודת קצה, פורסים מודל בנקודת הקצה או משנים מודל שנפרס.
כדי לעדכן את ההגדרות של יומני הגישה, צריך להפסיק את הפריסה של המודל ואז לפרוס מחדש את המודל עם ההגדרות החדשות. אפשר לעדכן את ההגדרות של יומני הקונטיינר בלי לפרוס מחדש את המודל.
הסקת מסקנות אונליין בקצב גבוה של שאילתות לשנייה (QPS) יכולה ליצור מספר גדול של יומנים, שחלים עליהם תעריפי Cloud Logging. כדי לקבל אומדן של התמחור של יומני ההיסקים אונליין, אפשר לעיין במאמר אומדן החיובים בנושא רישום ביומן. כדי לצמצם את העלות הזו, אפשר להשבית את הרישום של מסקנות.
הפעלה והשבתה של יומני מסקנות
בדוגמאות הבאות אפשר לראות איפה צריך לשנות את הגדרות ברירת המחדל של היומן:
המסוף
כשפורסים מודל לנקודת קצה או יוצרים נקודת קצה חדשה במסוףGoogle Cloud , אפשר לציין אילו סוגים של יומני הסקה להפעיל בשלב Logging. מסמנים את תיבות הסימון כדי להפעיל את רישום הגישה או את רישום הפעילות של מאגר התגים, או מבטלים את הסימון בתיבות כדי להשבית את היומנים האלה.
משתמשים ב-API בארכיטקטורת REST כדי לעדכן את ההגדרות של יומני קונטיינרים.
משתמשים ב-REST API כדי להפעיל רישום ביומן של בקשות ותגובות.Google Cloud מסוף Google Cloud ו-CLI של gcloud לא תומכים בהגדרת רישום ביומן של בקשות ותגובות.
כדי לקבל מידע נוסף על פריסת מודלים, אפשר לקרוא את המאמר בנושא פריסת מודל באמצעות מסוף Google Cloud .
gcloud
כדי לשנות את התנהגות ברירת המחדל של היומנים שמופעלים במודלים שנפרסו, מוסיפים פלאגים לפקודה gcloud:
נקודת קצה של שירות v1
מריצים את gcloud ai endpoints deploy-model:
gcloud ai endpoints deploy-model ENDPOINT_ID\
--region=LOCATION \
--model=MODEL_ID \
--display-name=DEPLOYED_MODEL_NAME \
--machine-type=MACHINE_TYPE \
--accelerator=count=2,type=nvidia-tesla-t4 \
--disable-container-logging \
--enable-access-logging
נקודת קצה של שירות v1beta1
מריצים את gcloud beta ai endpoints deploy-model:
gcloud beta ai endpoints deploy-model ENDPOINT_ID\
--region=LOCATION \
--model=MODEL_ID \
--display-name=DEPLOYED_MODEL_NAME \
--machine-type=MACHINE_TYPE \
--accelerator=count=2,type=nvidia-tesla-t4 \
--enable-access-logging \
--enable-container-logging
משתמשים ב-API בארכיטקטורת REST כדי לעדכן את ההגדרות של יומני קונטיינרים.
משתמשים ב-REST API כדי להפעיל רישום ביומן של בקשות ותגובות.Google Cloud מסוף Google Cloud ו-CLI של gcloud לא תומכים בהגדרת רישום ביומן של בקשות ותגובות.
כדי לקבל מידע נוסף על פריסת מודלים, אפשר לקרוא את המאמר פריסת מודל באמצעות Agent Platform API.
REST
כדי לשנות את התנהגות ברירת המחדל של היומנים שמופעלים במודלים שנפרסו, צריך להגדיר את השדות הרלוונטיים לערך True:
נקודת קצה של שירות v1
כדי להשבית את הרישום ביומן של מאגר התגים, מגדירים את השדה disableContainerLogging לערך True כשקוראים לפונקציה projects.locations.endpoints.deployModel או projects.locations.endpoints.mutateDeployedModel.
כדי להפעיל רישום ביומן של הגישה, מגדירים את enableAccessLogging ל-True
כשפורסים את המודל באמצעות
projects.locations.endpoints.deployModel.
נקודת קצה של שירות v1beta1
כדי להפעיל רישום ביומן של מאגר התגים, מגדירים את השדה enableContainerLogging לערך True כשקוראים ל-projects.locations.endpoints.deployModel או ל-projects.locations.endpoints.mutateDeployedModel.
כדי להפעיל רישום ביומן של הגישה, מגדירים את enableAccessLogging ל-True
כשפורסים את המודל באמצעות
projects.locations.endpoints.deployModel.
כדי לקבל מידע נוסף על פריסת מודלים, אפשר לקרוא את המאמר פריסת מודל באמצעות Agent Platform API.
רישום ביומן של בקשות ותגובות
אפשר להפעיל רישום ביומן של בקשות ותגובות רק כשיוצרים נקודת קצה באמצעות projects.locations.endpoints.create או כשמבצעים תיקון של נקודת קצה קיימת באמצעות projects.locations.endpoints.patch.
רישום ביומן של בקשות ותגובות מתבצע ברמת נקודת הקצה, כך שבקשות שנשלחות לכל מודל שנפרס באותה נקודת קצה נרשמות ביומן.
כשיוצרים או מתקנים נקודת קצה, מאכלסים את השדה predictRequestResponseLoggingConfig של משאב נקודת הקצה בערכים הבאים:
enabled: הערך מוגדר ל-Trueכדי להפעיל רישום ביומן של בקשות ותגובות.
samplingPercentage: מספר בין 0 ל-1 שמגדיר את החלק היחסי של הבקשות שיירשמו ביומן. לדוגמה, מגדירים את הערך הזה ל-1כדי לרשום ביומן את כל הבקשות, או ל-0.1כדי לרשום ביומן 10% מהבקשות.
BigQueryDestination: הטבלה ב-BigQuery שתשמש לרישום ביומן. אם מציינים רק שם של פרויקט, נוצר מערך נתונים חדש עם השםlogging_ENDPOINT_DISPLAY_NAME_ENDPOINT_ID, כאשרENDPOINT_DISPLAY_NAMEהוא שם שתואם לכללי מתן השמות ב-BigQuery. אם לא מציינים שם טבלה, נוצרת טבלה חדשה בשםrequest_response_logging.הסכימה של טבלה ב-BigQuery צריכה להיראות כך:
שם השדה סוג מצב endpointמחרוזת יכול להיות ריק deployed_model_idמחרוזת יכול להיות ריק logging_timeTIMESTAMP יכול להיות ריק request_idNUMERIC יכול להיות ריק request_payloadמחרוזת מרובה ערכים response_payloadמחרוזת מרובה ערכים
דוגמה להגדרה:
{
"predict_request_response_logging_config": {
"enabled": true,
"sampling_rate": 0.5,
"bigquery_destination": {
"output_uri": "bq://PROJECT_ID.DATASET_NAME.TABLE_NAME"
}
}
}רישום ביומן של בקשות ושל תגובות של הסקת מסקנות לנקודות קצה ייעודיות ולנקודות קצה של Private Service Connect
בנקודות קצה ייעודיות ובנקודות קצה של Private Service Connect, אפשר להשתמש ברישום ביומן של בקשות ותשובות כדי לתעד את מטען הבקשה והתשובה בגודל של עד 10MB (מטען גדול יותר ידלג אוטומטית) עבור מודלים של TensorFlow, PyTorch, sklearn ו-XGBoost.
רישום ביומן של בקשות ותגובות זמין רק לשיטות predict ו-rawPredict.
כדי להפעיל רישום ביומן של בקשות ותגובות, מאכלסים את השדה predictRequestResponseLoggingConfig של משאב נקודת הקצה בערכים הבאים:
enabled: הערך מוגדר ל-Trueכדי להפעיל רישום ביומן של בקשות ותגובות.
samplingRate: השבר של הבקשות והתגובות שיירשמו ביומן. צריך להגדיר מספר שגדול מ-0 וקטן מ-1 או שווה ל-1. לדוגמה, מגדירים את הערך הזה ל-1כדי לרשום ביומן את כל הבקשות, או ל-0.1כדי לרשום ביומן 10% מהבקשות.
BigQueryDestination: המיקום ב-BigQuery של תוכן הפלט, כ-URI לפרויקט או לטבלה.
הדוגמה הבאה היא של הגדרה ליצירת נקודת קצה ייעודית עם רישום ביומן של בקשות ותגובות:
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer `gcloud auth print-access-token`" https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/endpoints \
-d '{displayName: "ENDPOINT_NAME", \
dedicatedEndpointEnabled: true, \
predictRequestResponseLoggingConfig: { \
enabled: true, \
samplingRate: 1.0, \
bigqueryDestination: { \
outputUri:"bq://PROJECT_ID" \
} \
} \
}'
מחליפים את מה שכתוב בשדות הבאים:
- LOCATION_ID: האזור שבו משתמשים ב-Agent Platform.
- PROJECT_NUMBER: מספר הפרויקט ב- Google Cloud.
- ENDPOINT_NAME: השם המוצג של נקודת הקצה.
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
הדוגמה הבאה היא של הגדרה ליצירת נקודת קצה (endpoint) מסוג Private Service Connect עם רישום ביומן של בקשות ותגובות:
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer `gcloud auth print-access-token`" https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/endpoints \
-d '{displayName: "ENDPOINT_NAME", \
privateServiceConnectConfig: { \
enablePrivateServiceConnect: true, \
projectAllowlist: ["ALLOWED_PROJECTS"] \
}, \
predictRequestResponseLoggingConfig: { \
enabled: true, \
samplingRate: 1.0, \
bigqueryDestination: { \
outputUri:"bq://PROJECT_ID" \
} \
} \
}'
מחליפים את מה שכתוב בשדות הבאים:
-
ALLOWED_PROJECTS: רשימה מופרדת בפסיקים של מזהי פרויקטים, כל אחד מהם מוקף במירכאות. Google Cloudלדוגמה:["PROJECTID1", "PROJECTID2"]. אם פרויקט לא מופיע ברשימה הזו, לא תוכלו לשלוח ממנו בקשות להסקת מסקנות לנקודת הקצה של Agent Platform. חשוב לכלול את VERTEX_AI_PROJECT_ID ברשימה הזו כדי שתוכלו להתקשר לנקודת הקצה מאותו פרויקט שבו היא נמצאת.
רישום ביומן של בקשות ותשובות ומעקב אחרי מודלים גרסה 1
רישום ביומן של בקשות ותגובות ומעקב אחרי מודלים גרסה 1 משתמשים באותה טבלה ב-BigQuery בקצה העורפי כדי לרשום ביומן בקשות נכנסות. כדי למנוע שינויים לא צפויים בטבלה ב-BigQuery הזו, מופעלות המגבלות הבאות כשמשתמשים בשתי התכונות בו-זמנית:
אם הפעלתם את התכונה 'מעקב אחר מודלים' בנקודת קצה, לא תוכלו להפעיל את התכונה 'רישום ביומן של בקשות ותשובות' באותה נקודת קצה.
אם מפעילים רישום ביומן של בקשות ותגובות ואז מפעילים את התכונה 'מעקב אחרי מודלים' באותה נקודת קצה, לא ניתן לשנות את הגדרות הרישום ביומן של בקשות ותגובות.
המאמרים הבאים
- הערכת התמחור עבור רישום ביומן של הסקה אונליין.
- פריסת מודל באמצעות מסוף Google Cloud או באמצעות Agent Platform API.
- איך יוצרים טבלה ב-BigQuery