כוונון בעזרת Gemini API

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

בדף הזה מפורטות הנחיות לכוונון עדין של מודל הטקסט מאחורי שירות הטקסט של Gemini API.

איך פועל כוונון עדין

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

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

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

הכנת מערך הנתונים

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

פורמט

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

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

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

גודל נתונים לאימון

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

משימה מספר הדוגמאות במערך הנתונים
סיווג יותר מ-100
סיכום 100-500+
חיפוש מסמכים יותר מ-100

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

הנתונים מועברים בתוך השורה באמצעות ה-API או דרך קבצים שהועלו ב-Google AI Studio.

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

ספריית לקוח

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

cURL

כדי לקרוא ל-API ל-REST באמצעות cURL, צריך לספק לארגומנט training_data דוגמאות אימון בפורמט JSON. כדי להתחיל, עיינו במדריך למתחילים לכוונון עם cURL.

הגדרות כוונון מתקדמות

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

  • תקופות: מעבר אימון מלא לאורך כל ערכת האימון, כך שכל דוגמה תעובד פעם אחת.
  • גודל באצווה: קבוצת הדוגמאות שנעשה בהן שימוש באיטרציה אחת של אימון. גודל הפריטים באצווה קובע את מספר הדוגמאות באצווה.
  • קצב למידה:מספר בנקודה צפה (floating-point) שמגדיר לאלגוריתם עד כמה חשוב לשנות את הפרמטרים של המודל בכל איטרציה. לדוגמה, קצב למידה של 0.3 ישנה את המשקולות וההטיות, פי 3, יותר מאשר קצב למידה 0.1. לשיעורי למידה גבוהים ונמוכים יש יתרונות ייחודיים להם, וצריך לשנות אותם בהתאם לתרחיש לדוגמה שלכם.
  • מכפיל קצב הלמידה: מכפיל התעריפים משנה את קצב הלמידה המקורי של המודל. ערך 1 משתמש בקצב הלמידה המקורי של המודל. ערכים גדולים מ-1 משפרים את קצב הלמידה והערכים בין 1 ל-0 מקטינים את קצב הלמידה.

בטבלה הבאה מוצגות ההגדרות המומלצות לכוונון עדין של מודל בסיס:

היפר-פרמטר ערך ברירת המחדל התאמות מומלצות
תקופה 5

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

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

גודל הקבוצה 4
קצב למידה 0.001 צריך להשתמש בערך קטן יותר למערכי נתונים קטנים יותר.

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

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

בדיקת הסטטוס של עבודת הכוונון

אפשר לבדוק את הסטטוס של עבודת הכוונון ב-Google AI Studio בכרטיסייה הספרייה שלי או באמצעות המאפיין metadata של המודל המכוונן ב-Gemini API.

פתרון בעיות במקרה של שגיאות

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

אימות

כדי לכוונן באמצעות ה-API וספריית הלקוח, נדרש אימות משתמש. לא מספיק להשתמש במפתח API בלבד. אם מופיעה השגיאה 'PermissionDenied: 403 Request had insufficient authentication scopes', צריך להגדיר אימות משתמש.

כדי להגדיר פרטי כניסה של OAuth בשביל Python, אפשר לעיין במדריך להגדרת OAuth.

מודלים שבוטלו

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

מה עושים אחר כך