מבוא לכוונון של מודלים

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

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

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

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

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

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

מודלים נתמכים

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

  • Gemini 1.0 Pro
  • text-bison-001

תהליך עבודה לכוונון מודל

תהליך העבודה של כוונון המודל הוא:

  1. מכינים את מערך הנתונים.
  2. אם משתמשים ב-Google AI Studio, כדאי לייבא את מערך הנתונים.
  3. מתחילים עבודת כוונון.

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

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

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

פורמט

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

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

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

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

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

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

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

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

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

ספריית לקוח

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

קורל

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

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

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

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

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

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

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

עקומת הפסד

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

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

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

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

אימות

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

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

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

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

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