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

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

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

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

קבוצת נתונים לאימון

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

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

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

מגבלות

במאמר מידע על כוונון מבוקר של מודלים של 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 מובנה שמכיל את הפלט מהבקשה להפעלת הפונקציה. הוא משמש כהקשר למודל.

מידע נוסף על קריאה להפעלת פונקציות

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

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

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

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

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

העלאת מערכי נתונים לכוונון ל-Cloud Storage

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

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

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

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

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