אתם יכולים להעריך את הביצועים של מודלים בסיסיים ושל מודלים של AI גנרטיבי שעברו כוונון ב-Gemini Enterprise Agent Platform. המודלים נבדקים באמצעות קבוצה של מדדים ביחס למערך נתונים של הערכה שאתם מספקים. בדף הזה מוסבר איך פועלת הערכת מודלים מבוססת-חישוב באמצעות שירות צינור ההערכה, איך ליצור ולעצב את מערך נתוני ההערכה ואיך לבצע את ההערכה באמצעות מסוף Google Cloud , Agent Platform API או Agent Platform SDK ל-Python.
איך פועלת הערכת מודלים שמבוססת על חישובים
כדי להעריך את הביצועים של מודל, קודם יוצרים קבוצת נתונים להערכה שמכילה זוגות של הנחיות ואמיתות בסיסיות. בכל זוג, ההנחיה היא הקלט שרוצים להעריך, והאמת הבסיסית היא התגובה האידיאלית להנחיה הזו. במהלך ההערכה, ההנחיה בכל זוג במערך נתוני ההערכה מועברת למודל כדי להפיק פלט. הפלט שנוצר על ידי המודל והנתונים האמיתיים ממערך נתוני ההערכה משמשים לחישוב מדדי ההערכה.
סוג המדדים שמשמשים להערכה תלוי במשימה שאתם מעריכים. בטבלה הבאה מוצגות המשימות הנתמכות והמדדים שמשמשים להערכת כל משימה:
| משימה | מדד |
|---|---|
| סיווג | מיקרו-F1, מאקרו-F1, F1 לכל מחלקה |
| סיכום | ROUGE-L |
| מענה לשאלות | התאמה מדויקת |
| יצירת טקסט | BLEU, ROUGE-L |
מודלים נתמכים
הערכת מודלים נתמכת במודלים הבאים:
text-bison: גרסאות בסיסיות וגרסאות מותאמות.Gemini: כל המשימות חוץ מסיווג.
הכנת מערך נתונים להערכה
מערך נתוני ההערכה שמשמש להערכת המודל כולל צמדים של הנחיות ואמיתות בסיסיות שתואמים למשימה שרוצים להעריך. מערך הנתונים צריך לכלול לפחות זוג אחד של הנחיה ונתוני אמת בסיסיים, ולפחות 10 זוגות כדי לקבל מדדים משמעותיים. ככל שתספקו יותר דוגמאות, כך התוצאות יהיו משמעותיות יותר.
פורמט מערך הנתונים
מערך הנתונים להערכה צריך להיות בפורמט JSON Lines (JSONL), שבו כל שורה מכילה צמד של הנחיה ונתוני אמת בסיסיים שצוינו בשדות input_text ו-output_text, בהתאמה. השדה input_text מכיל את ההנחיה שרוצים להעריך, והשדה output_text מכיל את התשובה האידיאלית להנחיה.
האורך המקסימלי של טוקן עבור input_text הוא 8,192, והאורך המקסימלי של טוקן עבור output_text הוא 1,024.
העלאת מערך נתונים להערכה ל-Cloud Storage
אפשר ליצור קטגוריה של Cloud Storage או להשתמש בקטגוריה קיימת כדי לאחסן את קובץ קבוצת הנתונים. הקטגוריה צריכה להיות באותו אזור שבו נמצא המודל.
אחרי שהקטגוריה מוכנה, מעלים את קובץ מערך הנתונים לקטגוריה.
ביצוע הערכת מודל
אפשר להעריך מודלים באמצעות ה-API בארכיטקטורת REST או מסוף Google Cloud .
REST
כדי ליצור משימת הערכת מודל, שולחים בקשת POST באמצעות השיטה pipelineJobs.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: הפרויקט Google Cloud שבו מופעלים רכיבי הצינור.
- PIPELINEJOB_DISPLAYNAME: שם מוצג ל-PipelineJob.
- LOCATION: האזור שבו יופעלו רכיבי צינור עיבוד הנתונים.
בשלב הזה יש תמיכה רק ב-
us-central1. - DATASET_URI: ה-URI של מערך הנתונים להשוואה ב-Cloud Storage. אפשר לציין URI אחד או יותר. הפרמטר הזה תומך בתווים כלליים לחיפוש. מידע נוסף על הפרמטר הזה זמין במאמר בנושא InputConfig.
- OUTPUT_DIR: ה-URI של Cloud Storage שבו מאוחסן פלט ההערכה.
- MODEL_NAME: מציינים מודל של בעל תוכן דיגיטלי או משאב של מודל שעבר התאמה אישית באופן הבא:
- המודל של בעל התוכן הדיגיטלי:
publishers/google/models/MODEL@MODEL_VERSIONלדוגמה:
publishers/google/models/text-bison@002 - מודל שעבר התאמה:
projects/PROJECT_NUMBER/locations/LOCATION/models/ENDPOINT_IDלדוגמה:
projects/123456789012/locations/us-central1/models/1234567890123456789
הפעלת משימת ההערכה לא משפיעה על פריסות קיימות של המודל או על המשאבים שלהן.
- המודל של בעל התוכן הדיגיטלי:
- EVALUATION_TASK: המשימה שרוצים להעריך את המודל לגביה. משימת ההערכה מחשבת קבוצה של מדדים שרלוונטיים למשימה הספציפית הזו. הערכים הקבילים כוללים את האפשרויות הבאות:
summarizationquestion-answeringtext-generationclassification
- INSTANCES_FORMAT: הפורמט של מערך הנתונים.
בשלב הזה יש תמיכה רק ב-
jsonl. מידע נוסף על הפרמטר הזה זמין במאמר בנושא InputConfig. - PREDICTIONS_FORMAT: הפורמט של
פלט ההערכה. בשלב הזה יש תמיכה רק ב-
jsonl. מידע נוסף על הפרמטר הזה זמין במאמר בנושא InputConfig. - MACHINE_TYPE: (אופציונלי) סוג המכונה להרצת עבודת ההערכה. ערך ברירת המחדל הוא
e2-highmem-16. רשימה של סוגי מכונות נתמכים זמינה במאמר סוגי מכונות. - SERVICE_ACCOUNT: (אופציונלי) חשבון השירות שישמש להרצת משימת ההערכה. במאמר הגדרת חשבון שירות עם הרשאות גרנולריות מוסבר איך ליצור חשבון שירות בהתאמה אישית. אם לא מציינים, המערכת משתמשת ב Gemini Enterprise Agent Platform Custom Code Service Agent.
- NETWORK: (אופציונלי) השם המלא של רשת Compute Engine שאליה רוצים לבצע שיוך של משימת ההערכה. הפורמט של שם הרשת הוא
projects/PROJECT_NUMBER/global/networks/NETWORK_NAME. אם מציינים את השדה הזה, צריך להגדיר VPC Network Peering for Gemini Enterprise Agent Platform. אם לא מציינים רשת, עבודת ההערכה לא מחוברת לשום רשת. - KEY_NAME: (אופציונלי) השם של מפתח ההצפנה בניהול הלקוח (CMEK). אם מוגדר, המשאבים שנוצרו על ידי עבודת ההערכה מוצפנים באמצעות מפתח ההצפנה שסופק. הפורמט של שם המפתח הוא
projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY. המפתח צריך להיות באותו אזור שבו נמצאת משימת ההערכה.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/pipelineJobs
גוף בקשת JSON:
{
"displayName": "PIPELINEJOB_DISPLAYNAME",
"runtimeConfig": {
"gcsOutputDirectory": "gs://OUTPUT_DIR",
"parameterValues": {
"project": "PROJECT_ID",
"location": "LOCATION",
"batch_predict_gcs_source_uris": ["gs://DATASET_URI"],
"batch_predict_gcs_destination_output_uri": "gs://OUTPUT_DIR",
"model_name": "MODEL_NAME",
"evaluation_task": "EVALUATION_TASK",
"batch_predict_instances_format": "INSTANCES_FORMAT",
"batch_predict_predictions_format: "PREDICTIONS_FORMAT",
"machine_type": "MACHINE_TYPE",
"service_account": "SERVICE_ACCOUNT",
"network": "NETWORK",
"encryption_spec_key_name": "KEY_NAME"
}
},
"templateUri": "https://us-kfp.pkg.dev/vertex-evaluation/pipeline-templates/evaluation-llm-text-generation-pipeline/1.0.1"
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
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-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/pipelineJobs"
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-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/pipelineJobs" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו: שימו לב שהערך pipelineSpec
קוצר כדי לחסוך במקום.
דוגמה לפקודת curl
PROJECT_ID=myproject
REGION=us-central1
MODEL_NAME=publishers/google/models/text-bison@002
TEST_DATASET_URI=gs://my-gcs-bucket-uri/dataset.jsonl
OUTPUT_DIR=gs://my-gcs-bucket-uri/output
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
"https://${REGION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${REGION}/pipelineJobs" -d \
$'{
"displayName": "evaluation-llm-text-generation-pipeline",
"runtimeConfig": {
"gcsOutputDirectory": "'${OUTPUT_DIR}'",
"parameterValues": {
"project": "'${PROJECT_ID}'",
"location": "'${REGION}'",
"batch_predict_gcs_source_uris": ["'${TEST_DATASET_URI}'"],
"batch_predict_gcs_destination_output_uri": "'${OUTPUT_DIR}'",
"model_name": "'${MODEL_NAME}'",
}
},
"templateUri": "https://us-kfp.pkg.dev/vertex-evaluation/pipeline-templates/evaluation-llm-text-generation-pipeline/1.0.1"
}'
Python
במאמר התקנת Vertex AI SDK ל-Python מוסבר איך להתקין או לעדכן את Vertex AI SDK ל-Python. מידע נוסף מופיע ב מאמרי העזרה של Python API.
המסוף
כדי ליצור משימת הערכת מודל באמצעות Google Cloud המסוף:
- במסוף Google Cloud , נכנסים לדף Gemini Enterprise Agent Platform מרשם המודלים.
- לוחצים על שם המודל שרוצים להעריך.
- בכרטיסייה הערכה, לוחצים על יצירת הערכה ומגדירים אותה כך:
- יעד: בוחרים את המשימה שרוצים להעריך.
- עמודת יעד או שדה יעד: (סיווג בלבד) מזינים את עמודת היעד לחיזוי. דוגמה:
ground_truth. - נתיב המקור: מזינים או בוחרים את ה-URI של קבוצת הנתונים להערכה.
- פורמט פלט: מזינים את הפורמט של פלט ההערכה.
בשלב הזה יש תמיכה רק ב-
jsonl. - נתיב Cloud Storage: מזינים או בוחרים את ה-URI לאחסון הפלט של ההערכה.
- שמות כיתות: (סיווג בלבד) מזינים את רשימת שמות הכיתות האפשריים.
- מספר צמתי מחשוב: מזינים את מספר צמתי המחשוב להרצת משימת ההערכה.
- Machine type: בוחרים את סוג המכונה שבה רוצים להשתמש להרצת משימת ההערכה.
- לוחצים על התחלת ההערכה.
צפייה בתוצאות ההערכה
תוצאות ההערכה נמצאות בספריית הפלט של Cloud Storage שציינתם כשייצרתם את משימת ההערכה. שם הקובץ הוא evaluation_metrics.json.
בנוסף, אפשר לראות את תוצאות ההערכה של מודלים שעברו התאמה במסוף Google Cloud :
בקטע Agent Platform במסוף Google Cloud , עוברים לדף Gemini Enterprise Agent Platform מרשם המודלים.
לוחצים על שם המודל כדי לראות את מדדי ההערכה שלו.
בכרטיסייה Evaluate (הערכה), לוחצים על השם של ההרצה של ההערכה שרוצים לראות.