בדף הזה מוסבר תהליך העבודה מקצה לקצה של כוונון עדין של מודלים של Gemini באמצעות למידת חיזוק: יצירת משימת כוונון, בדיקת הסטטוס שלה, אחזור נקודת הקצה של המודל המכוונן והפעלת הסקה לגביה.
לפני שמתחילים, כדאי לעיין במאמר מידע על כוונון עדין של למידת חיזוק כדי לקבל סקירה כללית על התכונה, על המודלים הנתמכים ועל האזורים הנתמכים.
יצירת משימת כוונון עדין של למידת חיזוק
כדי ליצור משימת כוונון עדין של מודל לחיזוק למידה, שולחים בקשת POST לנקודת הקצה tuningJobs.create. לסכימת הבקשה המלאה ולכל השדות שניתנים להגדרה, אפשר לעיין בדף Reinforcement learning fine-tuning job.
בדוגמאות שבדף הזה נעשה שימוש ב-us-central1 כאזור הכוונון. המודל המכוונן שמתקבל מוגש מנקודת הקצה us במספר אזורים. רשימה מלאה של האזורים הנתמכים לאימון ולשימוש במודלים זמינה בקטע מודלים ואזורים נתמכים.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json" \
"https://us-central1-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/us-central1/tuningJobs" \
-d \
$'{
"tunedModelDisplayName": "dai-image-test",
"baseModel": "gemini-3.5-flash",
"reinforcementTuningSpec": {
"trainingDatasetUri": "gs://path/to/your/training_dataset.jsonl",
"validationDatasetUri": "gs://path/to/your/eval_dataset.jsonl",
"hyperParameters": {
"epochCount":15,
"learningRateMultiplier":1.0,
"samplesPerPrompt":16,
"adapterSize":"ADAPTER_SIZE_SIXTEEN",
"maxOutputTokens":32768,
"batchSize":32,
"evaluateInterval":5,
"checkpointInterval":5,
"thinkingLevel":"HIGH"
},
"singleRewardConfig": {
"rewardName": "your_reward_function_name",
"parseResponseConfig": {"parseType":"IDENTITY"},
"cloudRunRewardScorer": {
"cloudRunUri":"https://your.cloud.run.uri"
}
}
}
}'
מחליפים את מה שכתוב בשדות הבאים:
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
בדיקת הסטטוס של משימת כוונון עדין של למידת חיזוק
בדף Agent Platform > Model > Tuning במסוף Google Cloud , אפשר לעקוב אחרי ההתקדמות, הביצועים והאיכות של משימת כוונון באמצעות למידת חיזוק. לכל משימת התאמה יש תצוגת מעקב ייעודית שבה מוצג סטטוס ההתאמה הבסיסי עם תרשימים של תגמולים על אימון והערכה, אורך יצירה ומדדי התאמה אחרים. הרשימה המלאה של המדדים שמוצגים והסבר על המשמעות שלהם מופיעים בדף מדדים וניטור.
זמן האימון
זמן האימון מושפע מהגורמים הבאים:
- הגודל של מערך הנתונים לאימון ולאימות. פרטים נוספים זמינים במאמר בנושא ערכת נתונים להתאמה.
- היפר-פרמטרים – כולל
samplesPerPrompt, גודל אצווה, מספר האפוקות ומכפיל קצב הלמידה. פרטים נוספים מופיעים בדף היפרפרמטרים.
בהתאם להגדרה, עבודת כוונון עדין של Gemini באמצעות למידת חיזוק יכולה להימשך שעות או ימים.
קבלת נקודת הקצה של המודל שעבר התאמה
אחרי שמשימת ההתאמה מגיעה ל-JOB_STATE_SUCCEEDED, שולפים את נקודת הקצה של המודל המותאם שפרסנו על ידי שליחת בקשת GetTuningJob וקריאת השדה tunedModel.endpoint בתשובה.
curl -X GET \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
"https://us-central1-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/us-central1/tuningJobs/TUNING_JOB_ID"
מחליפים את מה שכתוב בשדות הבאים:
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
- TUNING_JOB_ID: המזהה של משימת ההתאמה.
דוגמה לתשובה (מקוצרת):
{
"name": "projects/{PROJECT_ID}/locations/us-central1/tuningJobs/{TUNING_JOB_ID}",
"tunedModelDisplayName": "my-rl-tuned-model",
"state": "JOB_STATE_SUCCEEDED",
"tunedModel": {
"model": "projects/{PROJECT_ID}/locations/us-central1/models/{MODEL_ID}",
"endpoint": "projects/{PROJECT_ID}/locations/us/endpoints/{ENDPOINT_ID}"
},
"reinforcementTuningSpec": { ... }
}
אחרי שפעולת הכוונון תצליח, endpoint מהנקודה האחרונה לבדיקה תוצג בתגובה.
הרצת הסקה בנקודת הקצה של המודל שעבר כוונון
המודל שעבר אופטימיזציה מציג תחזיות באמצעות generateContent API רגיל בנקודת הקצה שמוחזרת. מכיוון שעבודת ההתאמה בוצעה ב-us-central1, המודל שעבר התאמה מוגש מנקודת הקצה של us במספר אזורים.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json" \
"https://aiplatform.us.rep.googleapis.com/v1beta1/projects/PROJECT_ID/locations/us/endpoints/ENDPOINT_ID:generateContent" \
-d \
$'{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Why is the sky blue?" }
]
}
]
}'
מחליפים את מה שכתוב בשדות הבאים:
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
- ENDPOINT_ID: מזהה נקודת הקצה שמוחזר בשדה
tunedModel.endpointשל התשובהGetTuningJob.