
כריית דוגמאות שליליות קשות: איך מלמדים מודל לזהות את ה"כמעט נכון"
מאמר טכני ב-dev.to מאת המהנדס Shrijith Venkatramana מסביר את hard negative mining: מדוע מודל לומד מעט מדוגמאות שגויות בבירור, כיצד מאתרים דוגמאות שליליות קשות בעזרת המודל עצמו, ומדוע false negatives מגבילים את השיפור.
מודל לומד מעט מאוד מדוגמאות שהן בבירור שגויות. במאמר טכני שפורסם ב-dev.to מסביר המהנדס Shrijith Venkatramana את הרעיון של hard negative mining בעזרת דוגמה פשוטה מחיפוש. אם מציגים למודל את השאילתה "How do I rotate an AWS IAM access key?" לצד טקסט על שינוי גודל pod ב-Kubernetes, הוא יבדיל ביניהם בקלות. לעומת זאת, הצירוף עם השאילתה "How do I create an AWS IAM access key?" נושא אוצר מילים ואובייקט זהים, אבל תשובה שונה לחלוטין.
דוגמאות שליליות קלות הן זולות ולעיתים חסרות תועלת
באימון קונטרסטיבי המודל מתוגמל כאשר מסמך רלוונטי (d+) מקבל ציון גבוה יותר ממסמך לא רלוונטי (d-). צירוף קל, 0.82 מול 0.12, כמעט אינו נושא אות, כי המודל כבר יודע שהשניים שונים. צירוף קשה, 0.82 מול 0.76, מאלץ אותו למצוא את התכונה המבדילה. מערכות אחזור נכשלות לעיתים רחוקות בהחזרת משהו לא קשור; הטעות הרגילה היא גרסת ספרייה שגויה או מדריך התקנה במקום מדריך תצורה. אותו היגיון חל בכל מקום שבו המערכת צריכה לדרג או להבדיל: reranker שרואה ארבעה קטעים על PostgreSQL צריך להבין מדוע אחד עונה לשאילתה ואחר רק קשור בנושא.
רעיון שקדם למודלי שפה
השיטה התגבשה בראייה ממוחשבת. FaceNet, שפורסם ב-2015 על ידי Florian Schroff, Dmitry Kalenichenko ו-James Philbin, מיפה פנים למרחב embedding והשתמש ב-online triplet mining, תוך העלאת הקושי של השלשות ככל שהרשת השתפרה. עבודת Dense Passage Retrieval של Karpukhin ועמיתיו העבירה את אותו היגיון לחיפוש טקסטואלי, ו-ANCE של חוקרי Microsoft, ובהם Lee Xiong ו-Chenyan Xiong, הרחיק לכת: אינדקס approximate-nearest-neighbour מאתר דוגמאות שליליות קשות בעזרת המודל עצמו. RocketQA הוסיף denoised hard negatives ל-dense passage retrieval.
כרייה בפועל
נוהל בסיסי שולף את k המועמדים המובילים לכל שאילתה, מסיר את החיובי הידוע ושומר את השאר. המלכודת היא שקשה אינו אומר שגוי: מסמך דומה מאוד עשוי דווקא להיות רלוונטי, ודחיפתו החוצה פוגעת במרחב האחזור. לכן צינורות ייצור מעבירים מועמדים דרך cross-encoder או שופט LLM כדי להסיר false negatives סבירים. העלות היא האילוץ השני: מיליון שאילתות אימון עם 20 דוגמאות שליליות קשות לכל אחת נותנות כ-20 מיליון קשרים מועמדים. המחבר ממליץ על שלב אחזור ראשון וזול, על כרייה תקופתית ועל ציוני מורה שתחום התועלת שלהם באמצע, בערך 0.4 עד 0.8.
מדוע זה עובד
בפונקציה קונטרסטיבית המודל מתוגמל כאשר החיובי לוקח את רוב מסת ההסתברות. כאשר שלילי מקבל 0.87 מול חיובי של 0.90, הפונקציה מפיקה גרדיאנט גדול בהרבה מאשר כאשר השלילי הטוב ביותר עומד על 0.20. דוגמאות שליליות קלות מלמדות אזורים רחבים במרחב, קשות מלמדות את גבול ההחלטה. כרייה חוזרת אחרי כל סבב סוגרת את המעגל: מודל טוב יותר מייצר טעויות טובות יותר, ואלה הופכות לנתוני אימון טובים יותר.
SiTech — פיתוח אתרים בכוח ה-AI
אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.