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

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

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

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

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

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

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

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

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

פורמט

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

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

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

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

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

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

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

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

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

ספריית לקוח

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

cURL

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

אימות

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

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

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

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

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