במאמר הזה מוסבר איך לכוונן מודל LLM של Translation באמצעות כוונון מפוקח (SFT).
לפני שמתחילים
לפני שמתחילים, צריך להכין מערך נתונים לכוונון מפוקח. הדרישות משתנות בהתאם לתרחיש לדוגמה.
- הכנת מערך נתונים של טקסט לכוונון: כוונון טקסט
מודלים נתמכים
-
translation-llm-002(תומך רק בכוונון טקסט)
יצירת משימת כוונון
אפשר ליצור משימת כוונון מפוקח באמצעות ה-API בארכיטקטורת REST או Google Gen AI SDK.
REST
כדי ליצור משימת כוונון של מודל, שולחים בקשת POST באמצעות ה-method tuningJobs.create. חלק מהפרמטרים לא נתמכים בכל המודלים. חשוב לכלול רק את הפרמטרים הרלוונטיים למודל שאתם מכווננים.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט. .
- TUNING_JOB_REGION: האזור שבו פועלת משימת הכוונון. זה גם האזור שבו המודל המכוונן מועלה כברירת מחדל. אזור נתמך:
us-central1. - BASE_MODEL: השם של מודל התרגום שרוצים לכוונן. ערכים נתמכים:
translation-llm-002. - TRAINING_DATASET_URI: ה-URI של מערך נתוני האימון ב-Cloud Storage. קבוצת הנתונים צריכה להיות בפורמט של קובץ JSONL. כדי לקבל את התוצאות הכי טובות, מומלץ לספק לפחות 100 עד 500 דוגמאות. מידע נוסף זמין במאמר מידע על מערך נתונים לכוונון מבוקר.
- VALIDATION_DATASET_URIאופציונלי: ה-URI של Cloud Storage של קובץ מערך הנתונים לאימות.
- TUNED_MODEL_DISPLAYNAMEאופציונלי: שם לתצוגה של המודל המכוונן. אם לא מגדירים שם, המערכת יוצרת שם אקראי.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent
גוף בקשת JSON:
{
"baseModel": "BASE_MODEL",
"supervisedTuningSpec" : {
"trainingDatasetUri": "TRAINING_DATASET_URI",
"validationDatasetUri": "VALIDATION_DATASET_URI",
},
"tunedModelDisplayName": "TUNED_MODEL_DISPLAYNAME"
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
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://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent"
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://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
דוגמה לפקודת curl
PROJECT_ID=myproject
LOCATION=us-central1
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
"https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/tuningJobs" \
-d \
$'{
"baseModel": "translation-llm-002",
"supervisedTuningSpec" : {
"training_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/gemini-2_0/text/sft_train_data.jsonl",
"validation_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/gemini-2_0/text/sft_validation_data.jsonl"
},
"tunedModelDisplayName": "tuned_translation_llm"
}'
Python
הצגת רשימה של משימות כוונון
כדי לראות את רשימת משימות הכוונון בפרויקט הנוכחי, אתם יכולים להשתמש במסוף Cloud de Confiance , ב-Google Gen AI SDK או לשלוח בקשת GET באמצעות ה-method tuningJobs.
REST
כדי להציג רשימה של משימות לכוונון מודלים, שולחים בקשת GET באמצעות ה-method tuningJobs.list.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט.
- TUNING_JOB_REGION: האזור שבו פועלת משימת הכוונון. זה גם האזור שבו המודל המכוונן מועלה כברירת מחדל.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent
כדי לשלוח את הבקשה אתם צריכים לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent"
PowerShell
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
Python
המסוף
כדי לראות את משימות הכוונון במסוף Cloud de Confiance , נכנסים לדף Agent Studio.
משימות הכוונון של מודל ה-LLM לתרגום מופיעות בטבלה שבקטע Translation LLM tuned models.
קבלת פרטים על משימת כוונון
כדי לקבל את הפרטים של משימת כוונון בפרויקט הנוכחי, אתם יכולים להשתמש במסוף Cloud de Confiance , ב-Google Gen AI SDK או לשלוח בקשת GET באמצעות ה-method tuningJobs.
REST
כדי לראות רשימה של משימות לכוונון מודלים, שולחים בקשת GET באמצעות ה-method tuningJobs.get ומציינים את TuningJob_ID.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט.
- TUNING_JOB_REGION: האזור שבו פועלת משימת הכוונון. זה גם האזור שבו המודל המכוונן מועלה כברירת מחדל.
- TUNING_JOB_ID: המזהה של משימת הכוונון.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent
כדי לשלוח את הבקשה אתם צריכים לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent"
PowerShell
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
Python
המסוף
כדי לראות את הפרטים של מודל מכוונן במסוף Cloud de Confiance , נכנסים לדף Agent Studio.
בטבלה Translation LLM tuned models, מאתרים את המודל ולוחצים על Details.
פרטי המודל מוצגים.
ביטול של משימת כוונון
אתם יכולים לבטל משימת כוונון בפרויקט הנוכחי באמצעות מסוף Cloud de Confiance , Google Gen AI SDK או שליחת בקשת POST באמצעות ה-method tuningJobs.
REST
כדי לראות רשימה של משימות לכוונון מודלים, שולחים בקשת GET באמצעות ה-method tuningJobs.cancel ומציינים את TuningJob_ID.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט.
- TUNING_JOB_REGION: האזור שבו פועלת משימת הכוונון. זה גם האזור שבו המודל המכוונן מועלה כברירת מחדל.
- TUNING_JOB_ID: המזהה של משימת הכוונון.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent
כדי לשלוח את הבקשה אתם צריכים לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent"
PowerShell
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
Python
המסוף
כדי לבטל משימת כוונון במסוף Cloud de Confiance , נכנסים לדף Agent Studio.
בטבלה Translation tuned models, לוחצים על Manage run.
לוחצים על ביטול.
בדיקת המודל המכוונן באמצעות הנחיה
כדי לבדוק משימת כוונון בפרויקט הנוכחי, אתם יכולים להשתמש ב-Google Gen AI SDK או לשלוח בקשת POST באמצעות ה-method tuningJobs.
בדוגמה הבאה, שולחים למודל את ההנחיה "Why is sky blue?".
REST
כדי לבדוק מודל מכוונן באמצעות הנחיה, שולחים בקשת POST ומציינים את ה-TUNED_ENDPOINT_ID.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: .
- TUNING_JOB_REGION: האזור שבו פועלת משימת הכוונון. זה גם האזור שבו המודל המכוונן מועלה כברירת מחדל.
- ENDPOINT_ID: מזהה נקודת הקצה של המודל המכוונן מ-GET API.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent
גוף בקשת JSON:
{
"contents": [
{
"role": "USER",
"parts": {
"text" : "English: Hello. Spanish:"
}
}
],
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
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://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent"
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://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
Python
מדדי כוונון ואימות
אתם יכולים להגדיר משימת כוונון מודל כדי לאסוף ולדווח על מדדי כוונון והערכה של המודל, ואז להציג אותם באופן חזותי ב-Agent Studio.
כדי לראות את הפרטים של מודל מכוונן במסוף Cloud de Confiance , נכנסים לדף Agent Studio.
בטבלה Tune and Distill, לוחצים על שם המודל המכוונן שרוצים לראות את המדדים שלו.
מדדי הכוונון מופיעים בכרטיסייה Monitor.
מדדים של כוונון מודל
משימת כוונון המודל אוספת באופן אוטומטי את מדדי הכוונון הבאים של translation-llm-002.
-
/train_total_loss: אובדן של מערך הנתונים לכוונון בשלב אימון. /train_fraction_of_correct_next_step_preds: דיוק האסימון בשלב אימון. הסקה אחת מורכבת מרצף של אסימונים חזויים. המדד הזה בודק את הדיוק של הטוקנים החזויים בהשוואה לאמת הקרקע (ground truth) במערך הנתונים לכוונון.-
/train_num_predictions:מספר הטוקנים החזויים בשלב אימון.
מדדי אימות של המודל:
אתם יכולים להגדיר משימת כוונון מודל כדי לאסוף את מדדי האימות הבאים של translation-llm-002.
-
/eval_total_loss: אובדן של מערך נתוני האימות בשלב אימות. -
/eval_fraction_of_correct_next_step_preds: דיוק הטוקן בשלב האימות. הסקה אחת מורכבת מרצף של אסימונים חזויים. המדד הזה בודק את הדיוק של הטוקנים החזויים בהשוואה לאמת הקרקע (ground truth) במערך הנתונים לאימות. /eval_num_predictions: מספר האסימונים החזויים בשלב אימות.
התרשימים של המדדים זמינים אחרי שמתחילים להריץ את משימת הכוונון. הוא יתעדכן בזמן אמת ככל שהכוונון יתקדם. אם לא תציינו קבוצת נתונים לאימות כשתצרו את משימת הכוונון, רק התצוגות החזותיות של מדדי הכוונון יהיו זמינות.
המאמרים הבאים
- במאמר פתרון התחלתי: מאגר ידע של AI גנרטיבי מוסבר איך להשתמש בכוונון מפוקח (SFT) בפתרון שיוצר מאגר ידע של AI גנרטיבי.