שירות הזיקוק של Gemini (זיקוק) מאפשר למשתמשים לאמן מודל קטן ויעיל יותר מסוג 'תלמיד' שמשתמש בתפוקות ובדפוסי החשיבה הרציונלית של מודל גדול יותר מסוג 'מורה' עם יכולות גבוהות יותר. מודלים פורצי דרך מגדירים את חוד החנית של ה-AI, אבל יכול להיות שהם מוקצים יתר על המידה לתרחישי שימוש ספציפיים בארגונים. הזיקוק מגשר על הפער הזה ומאפשר יעילות ברמת הייצור (חביון נמוך יותר ועלות נמוכה יותר), תוך מתן אפשרות למודלים קטנים יותר להשיג רמת חשיבה רציונלית עמוקה יותר.
בניגוד לשיטת הכוונון העדין הרגילה בפיקוח (SFT) שמשתמשת רק בפלט הטקסט הסופי, בזיקוק נעשה שימוש ב:
- תשובות המורה: הפלט הסופי בטקסט.
- מחשבות גולמיות: נתיבי ההיגיון הפנימיים שנוצרו על ידי מודל המורה.
מודלים נתמכים
המודלים הבאים נתמכים בזיקוק במהלך שלב הגישה המוקדמת:
- מודל מורה:
gemini-3.1-pro - מודל סטודנט:
gemini-2.5-flash

איור 1. איור של המערכת שמראה איך Gemini Distillation Service פועל.
תרחישים מתאימים לשימוש
מומלץ להשתמש בזיקוק במקום בהנחיות רגילות או בשיטת כוונון עדין מפוקחת (SFT) בתרחישים הבאים:
- אפליקציות עם נפח גבוה ורגישות לזמן האחזור: אם האפליקציה שלכם דורשת את יכולות החשיבה הרציונלית של מודל ברמת Pro, אבל צריכה לעמוד בהסכמי רמת שירות (SLA) מחמירים של זמן אחזור או במגבלות תקציב שמחייבות שימוש במודל ברמת Flash.
- אין נתוני אמת בסיסיים (SFT לא אפשרי): אם יש לכם מערך נתונים גדול של הנחיות או שאילתות של משתמשים, אבל אין לכם את המשאבים לסמן ידנית או ליצור תשובות אמת בסיסיות באיכות גבוהה שנדרשות ל-SFT רגיל.
- משימות מורכבות של חשיבה רציונלית: משימות שכוללות לוגיקה מרובת שלבים, סיכום של מאמרי עזרה טכניים מאוד או משימות מורכבות של תכנות, שבהן מודל Flash הבסיסי מתקשה אבל מודל Pro מצליח.
- פערים משמעותיים בביצועים: כשהמודל של המורה עולה באופן משמעותי על המודל הבסיסי של התלמיד במשימה הספציפית שלכם, ומספק מרווח ידע ברור להעברה במהלך הזיקוק.
דרישות מוקדמות והגדרת הפרויקט
לפני שמתחילים בעבודת זיקוק, צריך לוודא שהסביבה מוגדרת בצורה נכונה: Google Cloud
- שליחת בקשה לגישה לרשימת ההיתרים: מוודאים שמזהה הפרויקט Google Cloud שלכם נוסף לרשימת ההיתרים לגישה מוקדמת לשירות הזיקוק של Gemini. כדי להוסיף את הפרויקט לרשימת ההיתרים, צריך לפנות לנציג המכירות של Google.
- מפעילים את ה-API: מפעילים את Agent Platform API ב Google Cloud פרויקט.
- הגדרת הרשאות לתפקיד ב-IAM: אתם צריכים להיות בעלי התפקיד אדמין של Agent Platform (
roles/aiplatform.admin) ב-IAM. - הגדרת האזור: צריך להריץ את משימות הזיקוק באזור
us-central1.
הכנת קבוצת נתונים
תכונה מרכזית בשירות הזה היא השימוש במערכי נתונים שמבוססים על הנחיות בלבד. כי מודל המורה יוצר את פלט היעד במהלך תהליך הזיקוק, ולכן לא צריך לספק את התשובות הצפויות.
הדרישות לגבי מערך הנתונים
מערכי הנתונים צריכים להיות בפורמט JSON Lines (JSONL) ולאחסן אותם בדלי ב-Cloud Storage. כל רשומה צריכה להיות בפורמט של מערך נתונים להתאמה אישית של Gemini, בנוסף לפורמט הבא:
- הוראות למערכת: אפשר לכלול שדה אופציונלי
systemInstruction(עם תפקיד 'מערכת') כדי להגדיר הנחיות למערכת. - קלט: שדה התוכן (עם התפקיד 'משתמש') נדרש לקלט הראשי.
הנחיות מרובות תורות: אפשר להחליף בין התפקידים 'משתמש' ו 'מודל', בתנאי שהערך האחרון ברצף הוא 'משתמש'.
שתי דוגמאות לקובצי dataset.jsonl:
{
"contents": [
{
"role": "user",
"parts": [
{
"text": "You're the artist here. Choose as many strands of thread as you like, as long as you're using three or more. Go for color combinations that you think would make a pretty pattern. Get creative! If you only use one color of thread, you won't be able to create a pattern.\n\nProvide a summary of the article in two or three sentences:\n\n"
}
]
}
]
},
{
"contents": [
{
"role": "user",
"parts": [
{
"text": "You're the artist here. Choose as many strands of thread as you like, as long as you're using three or more. Go for color combinations that you think would make a pretty pattern. Get creative! If you only use one color of thread, you won't be able to create a pattern.\n\nProvide a summary of the article in two or three sentences:\n\n"
}
]
},
{
"role": "model",
"parts": [
{
"text": "Choose several strands of embroidery thread in a variety of colors."
}
]
},
{
"role": "user",
"parts": [
{
"text": "You will need one egg (raw or hard boiled but hard boiled is best) and one spoon for each person participating in the race. You might even like to use dyed Easter eggs as something special for Easter. It's best to have this race on grass or some other soft surface, to give dropped eggs a chance!"
}
]
}
]
}
שיטות מומלצות
כשיוצרים את מערך הנתונים, צריך לפעול לפי ההנחיות הבאות:
- גודל: מומלץ לספק לפחות 1,000 דוגמאות כדי לראות שיפור ניכר באיכות.
- גיוון: חשוב לוודא שההנחיות כוללות מקרים חריגים ואורכים שונים שצפויים בתנועת הגולשים שלכם.
הגדרת בקשת הזיקוק
כדי להריץ משימת זיקוק, צריך להגדיר את התנהגות היצירה של מודל המורה ואת היפרפרמטרים של האימון של מודל התלמיד.
הגדרת אופן הפעולה של המודל של המורה
אתם צריכים להגדיר איך מודל המורה מגיב למערך הנתונים. האיכות של מודל התלמיד תלויה ישירות באיכות הפלט של מודל המורה. כדי להגדיר את התנהגות היצירה של מודל המורה, צריך להגדיר את candidateCount:
candidateCount: מספר וריאציות התשובה שיווצרו. (דוגמה:4. טווח[1, 5]). אם לא מציינים אותו בבקשה, המערכת תשתמש בערך ברירת המחדל4.
הגדרת היפרפרמטרים של זיקוק
ההיפר-פרמטרים של הזיקוק שולטים בתהליך האימון של מודל התלמיד. מידע נוסף על היפרפרמטרים ב-Gemini Enterprise Agent Platform זמין בקטע יצירת משימת כוונון במדריך לכוונון מפוקח (SFT).
כשיוצרים משימת זיקוק, צריך להגדיר את ההיפר-פרמטרים הבאים:
epochCount: מספר הפעמים שהמודל של התלמיד יחזור על מערך הנתונים. (דוגמה:20. טווח[1, 100]). אם לא מציינים ערך, המערכת משתמשת בערך ברירת המחדל4.-
learningRateMultiplier: שינוי קצב הלמידה הבסיסי של מודל התלמיד. (דוגמה:2.0. טווח[0.25, 4]). אם לא מציינים ערך, המערכת משתמשת בערך ברירת המחדל1.
התחלת משימת הזיקוק
במהלך תקופת הגישה המוקדמת, אפשר לשלוח ולעקוב אחרי משימות זיקוק באמצעות גרסת ה-REST של Agent Platform API. אפשר ליזום משימת זיקוק חדשה או לבצע כוונון מתמשך בנקודת ביקורת של מודל שכבר עבר זיקוק.
יצירת משימת זיקוק חדשה
יוצרים קובץ JSON בשם request.json שמכיל את הגדרות העבודה. בדוגמה הבאה, הגדרת הדור של המורה מוטמעת בשדה hyperParameters:
{
"description": "Distillation testing job.",
"baseModel": "gemini-2.5-flash",
"tunedModelDisplayName": "flash-distillation-run-1",
"distillationSpec": {
"promptDatasetUri": "gs://your-bucket/path/to/prompt_dataset.jsonl",
"validationDatasetUri": "",
"base_teacher_model": "gemini-3.1-pro-preview",
"hyperParameters": {
"epochCount": "20",
"learningRateMultiplier": 2.0,
"generation_config": {
"candidateCount": 5
}
}
}
}
שולחים את העבודה באמצעות curl:
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://us-central1-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/us-central1/tuningJobs \
-d @request.json
ביצוע כוונון מתמשך
אם רוצים להמשיך את תהליך ההתאמה ממחסום דרכים של מודל מזוקק קודם, צריך לכלול את הבלוק preTunedModel בקובץ request.json. התאמה מתמשכת נתמכת רק במחסומי דרכים של מודלים מזוקקים קודמים, עם אותו מודל בסיס של תלמיד. מחסומי דרכים של מודלים שעברו כוונון עדין מפוקח (גם עם אותו מודל בסיס של תלמיד) לא נתמכים.
הדוגמה הבאה מראה איך מגדירים כוונון רציף לנקודת ביקורת של מודל שעבר זיקוק:
{
"description": "Continuous distillation testing job.",
"preTunedModel": {
"tunedModelName": "projects/YOUR_PROJECT_ID/locations/us-central1/models/PRETUNED_MODEL_ID@1",
"checkpointId": "1",
"baseModel": "gemini-2.5-flash"
},
"tunedModelDisplayName": "flash-distillation-continuous",
"distillationSpec": {
"promptDatasetUri": "gs://your-bucket/path/to/prompt_dataset.jsonl",
"validationDatasetUri": "",
"base_teacher_model": "gemini-3.1-pro-preview",
"hyperParameters": {
"epochCount": "20",
"learningRateMultiplier": 2.0,
"generation_config": {
"candidateCount": 5,
}
}
}
}
שולחים את מטען הייעודי באמצעות curl:
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://us-central1-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/us-central1/tuningJobs \
-d @request.json
מעקב אחרי משימת הזיקוק
התשובה של הבקשה תחזיר שם של עבודה שמכיל את JOB_ID. אפשר לבדוק את סטטוס העבודה (state, שגיאות והיפרפרמטרים סופיים) על ידי שליחת בקשת GET:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
https://us-central1-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/us-central1/tuningJobs/JOB_ID
אפשר גם לעקוב אחרי ההתקדמות באופן חזותי במסוף Google Cloud . כדי לעשות את זה, עוברים אל Agent Platform > Tuning ובוחרים את האזור us-central1.
בגרסת הגישה המוקדמת הזו, לממשק המשתמש של Agent Platform Console יש את המגבלות הידועות הבאות:
- התקדמות הדגימה של מודל המורה: אין ווידג'ט התקדמות לתהליך הדגימה של מודל המורה. יכול להיות שהסטטוס יהיה "הכנה להרצת התאמה", אבל העבודה תתבצע ברקע כרגיל.
- תרשימי התאמה של מודל התלמיד: במהלך שלב ההתאמה של מודל התלמיד, ממשק המשתמש מספק תרשימים של עקומת ההפסד ושל אסימוני הטקסט הכוללים של ההדרכה.
- טבלת נקודות ביקורת: בממשק המשתמש מוצגת טבלה של נקודות ביקורת ביניים וקישורים לנקודת הקצה של התחזית שנוצרה ב-Agent Platform לצורך הערכה. בעמודה Epoch בטבלה הזו מוצג הערך 0 בגלל בעיה ידועה.
ביטול משימת הזיקוק
כדי לבטל משימת זיקוק שמתבצעת כרגע, אפשר לבצע אחת מהפעולות הבאות:
משתמשים במסוף ומשנים את כתובת ה-URL הבאה: Google Cloud
https://console.cloud.google.com/agent-platform/tuning/managed?project=YOUR_PROJECT_ID&vertex_ai_region=us-central1מחליפים את YOUR_PROJECT_ID במזהה הפרויקט.
משתמשים ב-
curlכדי לשלוח בקשת POST לביטול העבודה:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ https://us-central1-aiplatform.googleapis.com/v1beta1/projects/YOUR_PROJECT_ID/locations/us-central1/tuningJobs/YOUR_JOB_ID:cancelמחליפים את מה שכתוב בשדות הבאים:
YOUR_PROJECT_IDבמזהה הפרויקט.-
YOUR_JOB_IDמחליפים במזהה המשרה.
הערכת התוצאה
אחרי שמשימת הזיקוק מסתיימת בהצלחה, מודל התלמיד החדש נרשם אוטומטית במרשם המודלים של Gemini Enterprise Agent Platform, ונוצרות נקודות קצה ייעודיות אחת או יותר כדי להכניס לשימוש בסביבת הייצור תחזיות. כדי להעריך את התוצאה, מאתרים את נקודת הקצה, שולחים בקשת תחזית ומבצעים הערכה.
כדי להעריך את התוצאה:
שולחים את בקשת ה-GET הבאה כדי לראות את הסטטוס של משימת ההתאמה.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ https://us-central1-aiplatform.googleapis.com/v1beta1/projects/YOUR_PROJECT_ID/locations/us-central1/tuningJobs/YOUR_JOB_IDמחליפים את מה שכתוב בשדות הבאים:
YOUR_PROJECT_IDבמזהה הפרויקט.-
YOUR_JOB_IDמחליפים במזהה המשרה.
משרות שהושלמו מציגות שדה
endpointמקונן בתוך אובייקטtunedModel. מחפשים אתENDPOINT_IDבסוף מחרוזת הנתיב שמוחזרת (לדוגמה,projects/.../endpoints/YOUR_ENDPOINT_ID). רושמים את מזהה נקודת הקצה.חשוב לוודא שפעולת הכוונון הסתיימה בהצלחה, כי נקודת הקצה לא זמינה בזמן שפעולת הכוונון עדיין פועלת או נכשלה. אם השדה
endpointחסר, צריך לנפות באגים במשימת ההתאמה על ידי הצגת המפתחותstateאוerrorשל המשימה.יוצרים בקשת מטען ייעודי (payload) בפורמט JSON בשם
generate_content_request.jsonשמכילה את ההנחיה:{ "contents": { "role": "user", "parts": [ { "text": "hi, say something" } ] } }בדוגמה הבאה של בקשת POST מוצג אופן השליחה של בקשת חיזוי:
curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://us-central1-aiplatform.googleapis.com/v1beta1/projects/YOUR_PROJECT_ID/locations/us-central1/endpoints/YOUR_ENDPOINT_ID:generateContent \ -d @generate_content_request.jsonמחליפים את מה שכתוב בשדות הבאים:
YOUR_PROJECT_ID: מזהה הפרויקט.-
YOUR_JOB_ID: מזהה המשימה. -
ENDPOINT_ID: מזהה נקודת הקצה.
כדי להעריך את התוצאות:
מריצים קבוצת נתונים לבדיקה במצב holdout, באמצעות הנחיות שלא נכללות בנתוני האימון, מול המודל החדש שזוקק.
משווים את הפלט למודל הבסיסי
gemini-2.5-flashכדי למדוד את השיפורים באיכות.משווים את הפלט למודל
gemini-3.1-proכדי לקבוע עד כמה הסטודנט קרוב לנימוקים של המורה.
מגבלות
בטבלה הבאה מתוארות המגבלות של זיקוק:
הזיקוק כפוף למגבלות הבאות:
- מגבלות של המודל:
- הגבלות על מערך הנתונים:
- מגבלות על נפח:
- הקיבולת המקסימלית של קבוצת נתונים לאימון היא 50,000 דוגמאות.
- גודל קובץ ה-JSONL של המקור לא יכול לחרוג מ-1GB.
- מפרט חלון ההקשר:
- השירות יכול לקבל עד 8,000 טוקנים של קלט לכל רשומה. אם יותר מ-10% מהרשומות שסופקו חורגות מהסף הזה, משימות הזיקוק מופסקות.
- הדגימה של מודל המורה מוגבלת לפלט של עד 24,000 טוקנים. במקרים שבהם מודל המורה יוצר יותר מ-24,000 טוקנים, התוכן נחתך במגבלה הזו, מה שעשוי להשפיע על הביצועים של מודל התלמיד.
- מודליות: מוגבל לנתונים מבוססי-טקסט. אין תמיכה בקלט מולטימודאלי, כולל סרטונים, תמונות או בקשות להפעלת פונקציות.
- מגבלות על נפח:
- מגבלות על הגדרות והיפר-פרמטרים
- כשמגדירים את distillationSpec ואת הפרמטרים המשויכים שלו, צריך לפעול לפי המגבלות הבאות:
- הצפנה: אי אפשר להשתמש ב-CMEK למשימות זיקוק שכוללות מודלים מאינטראקציה ישירה של Google.
-
epochCount: הערך חייב להיות מספר שלם בין 1 ל-100. -
learningRateMultiplier: הערכים צריכים להיות בטווח של נקודה צפה0.25-4.0.
- כשמגדירים את distillationSpec ואת הפרמטרים המשויכים שלו, צריך לפעול לפי המגבלות הבאות:
- זיקוק בשלב אחד: הדגימה של מודל המורה והכוונון של מודל התלמיד מתבצעים בקריאה ל-API אחת. אם יש לכם כמות גדולה של נתונים לדגימה, צריך לדגום את אותם נתונים שוב במהלך הכוונון הבא.
קבלת גישה
אם אתם רוצים להתנסות בשירות Gemini Distillation Service, אתם יכולים לפנות לצוות Tuning Service בכתובת cloud-ai-tuning-service-support@google.com כדי לבקש גישה והוספה לרשימת ההיתרים של הפרויקט.
כדי להבטיח ביצועים אופטימליים וניהול משאבים יעיל, מומלץ ליצור פרויקט ייעודי למשימות הזיקוק. Google Cloud כשפונים לצוות שלנו, כדאי לציין את מזהה הפרויקט או את מספר הפרויקט כדי להאיץ את תהליך הוספת הרשימה הלבנה.
מדיניות בנושא מכסות וגישה
מכסות האחסון ומדיניות הגישה הבאות תקפות:
קיבולת: לפרויקטים שנוספו לאחרונה לרשימת ההיתרים שלנו מוקצה מכסת ברירת מחדל של 4 בקשות בו-זמניות. כדי למנוע תחרות על משאבים, מומלץ להשתמש בפרויקט נפרד ולא בפרויקט שכבר מריץ משימות אחרות של התאמה אישית של Gemini.
תקופת הגישה: הגישה ניתנת לתקופה ראשונית של 30 יום.