כיוונון עדין ORPO ל-LLM: SFT ואופטימיזציית העדפות ללא מודל ייחוס

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

תחומי פיתוח AI

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1365
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

אימון המשך ORPO: היכן נשבר המחזור הקלאסי של הכוונון

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

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

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

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

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

מה נותן הוויתור על שלב נפרד של יישור העדפות

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

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

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

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

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

השוואת תוכניות: אימון המשך מלא, SFT ו-ORPO

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

תוכנית מתי מתאימה מגבלות
אימון המשך מלא תחום חדש, טרמינולוגיה משלו, שינוי ברמת הליבה של המודל נדרשים קורפוסים מתויגים גדולים, עותק משקלים נפרד לכל הרצה, חזרה לאחור יקרה ואיטית
אימון המשך על הוראות (SFT) יש לקבע את פורמט התשובה ואת הפעולה לפי המשימה המודל מעתיק דוגמאות, אך אינו מבחין בין «מקובל» ל«טוב יותר» — בהעדפות ההתנהגות כמעט אינה זזה
SFT + אופטימיזציה לפי העדפות קיימים זוגות «תשובה מוצלחת / תשובה לא מוצלחת» ונדרש שינוי בהערכות האיכות לצידו מוחזק מודל ייחוס: צריכת הזיכרון עולה, הקונפיגורציה מסתבכת, האימון נעשה בשני מעברים
ORPO אותם זוגות העדפות, אך פחות משאבים מודל ייחוס אינו נדרש, אך הרגישות לאיכות הזוגות גבוהה יותר: תיוג חלש גורר את היישור אחריו
אדפטרים במקום אימון המשך מלא כמה משימות על בסיס אחד, עדכונים תכופים, חזרה לאחור מהירה תקרת האיכות בתחומים מורכבים נמוכה יותר, יש לתעד גרסאות של האדפטרים ולטעון אותם בנפרד

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

כיצד בנויה העבודה: מביקורת נתונים ועד מסירת המודל

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

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

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

  2. תיוג זוגות העדפות. יוצרים זוגות «תשובה טובה יותר / גרועה יותר» לפי כללים שתואמו מראש, ומקבעים אותם בהוראות למתייגים. מחלוקות מיושבות על מדגם בקרה — כך לא חודר לנתונים טעם אישי של מבצע בודד.

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

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

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

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

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

ארטיפקטים וקונפיגורציות שנשארים בידי הלקוח

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

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

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

מקרה בוחן: מחזור האימון מחדש התקצר, מודל ייחוס אינו נדרש

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

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

מה שינו

עברנו ל-ORPO על הענף העדכני של Hugging Face TRL: יישור התשובות עם ההעדפות נעשה בשלב אימון אחד, ומודל ייחוס נפרד אינו נדרש. את הזיכרון שהתפנה הפנינו לגודל אצווה גדול יותר ולהקשר ארוך יותר, ואת זמן המהנדסים שהתפנה — להרחבת מערך הבדיקות האוטומטיות.

מדד לפני אחרי
זמן שחרור גרסת המודל 19–21 ימים 6–7 ימים
שיעור ההמשכים הלא רצויים במערך הבדיקה המוחזק 11,4 % 3,1 %
עותקי מודל בזיכרון בזמן האימון 2 (ראשי וייחוס) 1
תיוג ידני של זוגות העדפות לאיטרציה ~4 000 ~1 200

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

ספקות טכניים: מה מבררים לפני תחילת העבודה

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

כמה נתוני העדפות דרושים?

לא גודלו של הקורפוס חשוב, אלא העקביות של זוגות «תשובה טובה יותר / גרועה יותר» לאותה שאילתה. אם המתייגים חלוקים ביותר מחמישית מהזוגות, המודל ילמד רעש: תחילה מתקנים את ההוראות ומתייגים מחדש את השנוי במחלוקת.

כיצד נשלט הסיכון ללמידת יתר?

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

האם ניתן לאמן במתחם סגור?

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

מה עם שאילתות גבול?

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

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

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

  • דוגמאות של שאילתות ותשובות — 50–100 זוגות אמיתיים: מהם רואים את הפורמט, האורך, הסגנון והשגיאות האופייניות של המודל.
  • מגבלות על הנתונים: מה אסור להוציא מחוץ למתחם, האם נדרש אנונימיזציה, איזה היקף קורפוס זמין.
  • תרשים האימון הנוכחי: מה כבר הורץ, על אילו נתונים, אילו מדדים נלקחו ומה יצא בפועל.
  • דרישות להתנהגות: טון, מבנה התשובה, התמודדות עם קלט חלקי, אילו נושאים המודל צריך לדחות.
  • תיוג העדפות: האם קיימים זוגות «תשובה טובה יותר / גרועה יותר» — עליהם אימון המשך ORPO מתבצע ללא מודל ייחוס נפרד.
  • תנאי ההפעלה: היכן פועל המודל, זמן התגובה המותר, היקף הפניות הצפוי.
  • קריטריוני קבלה: איזה שיעור של תשובות נכונות נחשב לתוצאה ואילו סוגי שגיאות חייבים להיעלם.

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

מעבר ל-ORPO אם המודל כבר מכוונן על העדפות

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

בגישה ORPO: Monolithic Preference Optimization without Reference Model מודל הייחוס והשלב הנפרד של ההעדפות נעלמים: האות של התשובה הנבחרת והנדחית מוזן באותו מחזור שבו מתבצע הכוונון על הוראות.

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

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

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

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

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

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