הכנת נתונים לכוונון מפוקח (SFT) של מודלים של Gemini

במסמך הזה מוסבר איך להגדיר קבוצת נתונים של כוונון מפוקח (SFT) למודל Gemini. אפשר לבצע כוונון עדין של נתונים מסוג טקסט, תמונה, אודיו, סרטון ומסמך.

מידע על מערכי נתונים לכוונון מפוקח (SFT)

מערך נתונים של כוונון מפוקח (SFT) משמש לכוונון עדין של מודל שאומן מראש למשימה או לתחום ספציפיים. נתוני הקלט צריכים להיות דומים לנתונים שהמודל צפוי להיתקל בהם בשימוש בעולם האמיתי. תוויות הפלט צריכות לייצג את התשובות או התוצאות הנכונות לכל קלט.

מערך נתונים לאימון

כדי לכוונן מודל, צריך לספק קבוצת נתונים לאימון. כדי להשיג את התוצאות הטובות ביותר, מומלץ להתחיל עם 100 דוגמאות. אפשר להגדיל את מספר הדוגמאות לאלפים אם צריך. איכות קבוצת הנתונים חשובה הרבה יותר מהכמות.

ערכת אימות

מומלץ מאוד לספק מערך נתונים לאימות. מערך נתוני אימות עוזר למדוד את האפקטיביות של משימת התאמה.

מגבלות

למידע על מגבלות של קבוצות נתונים, כמו מספר מקסימלי של טוקנים של קלט ופלט, גודל מקסימלי של קבוצת נתוני אימות וגודל מקסימלי של קובץ של קבוצת נתוני אימון, אפשר לעיין במאמר מידע על כוונון מפוקח (SFT) של מודלים של Gemini.

פורמט מערך הנתונים

אנחנו תומכים בפורמטים הבאים של נתונים:

דוגמה למערך נתונים ל-Gemini

{
  "systemInstruction": {
    "role": string,
    "parts": [
      {
        "text": string
      }
    ]
  },
  "contents": [
    {
      "role": string,
      "parts": [
        {
          // Union field data can be only one of the following:
          "text": string,
          "fileData": {
            "mimeType": string,
            "fileUri": string
          }
        }
      ]
    }
  ]
}

פרמטרים

הדוגמה מכילה נתונים עם הפרמטרים הבאים:

פרמטרים

contents

חובה: Content

התוכן של השיחה הנוכחית עם המודל.

בשביל שאילתות של תור יחיד, זוהי דוגמה יחידה. עבור שאילתות רב-שלביות, זהו שדה חוזר שמכיל את היסטוריית השיחות ואת הבקשה האחרונה.

systemInstruction

Content (אופציונלי)

רשימת המודלים הנתמכים

הוראות למודל כדי לשפר את הביצועים. לדוגמה, "תענה בצורה תמציתית ככל האפשר" או "אל תשתמש במונחים טכניים בתשובה שלך".

מחרוזות text נכללות במגבלת האסימונים.

המערכת מתעלמת מהשדה role של systemInstruction, והוא לא משפיע על הביצועים של המודל.

tools

זה שינוי אופציונלי. קטע קוד שמאפשר למערכת ליצור אינטראקציה עם מערכות חיצוניות כדי לבצע פעולה או סדרת פעולות, מחוץ לידע ולטווח של המודל. ראו בקשה להפעלת פונקציה.

תוכן עניינים

סוג הנתונים המובְנים הבסיסי שמכיל תוכן של הודעה שמורכב מכמה חלקים.

המחלקות האלה מורכבות משני מאפיינים עיקריים: role ו-parts. המאפיין role מציין את האדם שיצר את התוכן, והמאפיין parts מכיל כמה רכיבים, שכל אחד מהם מייצג פלח נתונים בהודעה.

פרמטרים

role

string (אופציונלי)

הזהות של הישות שיצרה את ההודעה. יש תמיכה בערכים הבאים:

  • user: מציין שההודעה נשלחה על ידי אדם אמיתי, בדרך כלל הודעה שנוצרה על ידי משתמש.
  • model: הסימן הזה מציין שההודעה נוצרה על ידי המודל.

הערך model משמש להוספת הודעות מהמודל לשיחה במהלך שיחות רב-שלביות.

בשיחות לא רב-שלביות, אפשר להשאיר את השדה הזה ריק או לא מוגדר.

parts

part

רשימה של חלקים מסודרים שמרכיבים הודעה אחת. יכול להיות שלחלקים שונים יהיו סוגי MIME שונים של IANA.

במאמר מודלים של Google מפורטות המגבלות על הקלט, כמו מספר הטוקנים המקסימלי או מספר התמונות.

כדי לחשב את מספר הטוקנים בבקשה, אפשר לעיין במאמר בנושא קבלת מספר הטוקנים.

חלקים

סוג נתונים שמכיל מדיה שהיא חלק מהודעה Content מרובת חלקים.

פרמטרים

text

string (אופציונלי)

הנחייה טקסטואלית או קטע קוד.

fileData

fileData (אופציונלי)

נתונים שמאוחסנים בקובץ.

functionCall

אופציונלי: FunctionCall.

הוא מכיל מחרוזת שמייצגת את השדה FunctionDeclaration.name ואובייקט JSON מובנה שמכיל את כל הפרמטרים של הקריאה לפונקציה שהמודל ניבא.

ראו בקשה להפעלת פונקציה.

functionResponse

אופציונלי: FunctionResponse.

פלט התוצאה של FunctionCall שמכיל מחרוזת שמייצגת את השדה FunctionDeclaration.name ואובייקט JSON מובנה שמכיל את כל הפלט מקריאת הפונקציה. הוא משמש כהקשר למודל.

ראו בקשה להפעלת פונקציה.

שיטות מומלצות

בקטעים האלה מפורטות שיטות מומלצות להכנת נתוני כוונון מפוקח (SFT).

שמירה על עקביות עם נתוני הייצור

הדוגמאות במערכי הנתונים צריכות להתאים לתנועת הייצור הצפויה. אם מערך הנתונים שלכם מכיל פורמט, מילות מפתח, הוראות או מידע ספציפיים, נתוני הייצור צריכים להיות בפורמט זהה ולכלול את אותן הוראות.

לדוגמה, אם הדוגמאות במערך הנתונים כוללות "question:" ו-"context:", התנועה בייצור צריכה להיות מעוצבת כך שתכלול "question:" ו-"context:" באותו סדר שבו הם מופיעים בדוגמאות של מערך הנתונים. אם לא תכללו את ההקשר, המודל לא יזהה את התבנית, גם אם השאלה המדויקת הייתה בדוגמה במערך הנתונים.

העלאת מערכי נתונים לשיפור הביצועים ל-Cloud Storage

כדי להריץ משימת כוונון, צריך להעלות מערך נתונים אחד או יותר לקטגוריה של Cloud Storage. אפשר ליצור קטגוריה חדשה ב-Cloud Storage או להשתמש בקטגוריה קיימת כדי לאחסן קובצי מערכי נתונים. האזור של דלי האחסון לא משנה, אבל מומלץ להשתמש בדלי שנמצא באותוGoogle Cloud פרויקט שבו אתם מתכננים לכוונן את המודל.

אחרי שהבאקט מוכן, מעלים את קובץ מערך הנתונים לבאקט.

פועלים לפי השיטות המומלצות לעיצוב הנחיות

אחרי שיש לכם מערך נתונים לאימון ואימנתם את המודל, הגיע הזמן לעצב הנחיות. חשוב לפעול לפי השיטה המומלצת לעיצוב הנחיות במערך הנתונים לאימון כדי לתת תיאור מפורט של המשימה שצריך לבצע ושל האופן שבו הפלט צריך להיראות.

המאמרים הבאים