מדוע אוגמנטציית נתונים נשברת על מערכי נתונים אמיתיים
אוגמנטציית נתונים נשברת בדרך כלל לא בשלב יצירת הדוגמאות, אלא קודם לכן — בניתוח הקורפוס. אם הטקסטים נאספו מערוץ אחד, למשל רק מהתכתובות עם התמיכה, מופיע במערך הטיית דגימה: משתנה אורך התגובות, שיעור הפניות הפורמליות ומעגל הנושאים. ניסוחים נדירים ומקרי גבול מהווים שברי אחוזים, ובחלוקה הם עוברים כמעט כולם לחלק הבקרה.
לאחר מכן פועלת למידת היתר של המודל, שאינה נראית בדוח המדדים. כאשר הנתונים מועטים מדי לאימון, המודל לומד מהר מכול תבנית ניסוח יציבה, ולא את משמעות השאילתה: הציבו נושא אחר באותו ביטוי — התשובה לא תשתנה. חלק הבקרה אינו מראה זאת, מפני שהוא נאסף מאותה התפלגות שממנה נאסף חלק האימון.
הכשל הטיפוסי השלישי — רעש במערך האימון. תמצות אוטומטי של תגובות קצרות משנה את המשמעות, שכפול של מחלקות נדירות נותן למודל מאפיין חליפי במקום המאפיין האמיתי, וערבוב הקטעים קורע את הלכידות של הדיאלוג. בפניות אמיתיות האיכות סוטה מהתוצאה בבקרה, והסטייה גדולה יותר ככל שהיצירה הייתה אגרסיבית יותר.
בהמשך נפרט כיצד זה נסגר: סטרטיפיקציה של הדגימה, בחירת דוגמאות לפי פער ההתפלגויות ובקרת רעש לפני ההזנה לאימון.
מה משתנה לאחר ההטמעה: אפקט במדדים מדידים
את האפקט של אוגמנטציה מבוקרת רואים על מערך מושהה של פניות אמיתיות, שבו חלק מהשאלות מנוסחות מחדש במכוון. את מדדי האיכות של המודל מחשבים לפי קבוצות משמעות, ולא כמספר כולל אחד: כך רואים היכן המודל מבין את השאילתה והיכן הוא מנחש ניסוח מוכר.
עמידות לפרפרזה נבדקת ישירות — מציגים שאלה אחת בכמה ניסוחים ומסתכלים על פיזור התשובות. Easy Data Augmentation — החלפת מילים נרדפות, תמורה והשמטת מילים — נותן במדידה זו את התוספת הזולה ביותר: המודל מפסיק להיות תלוי בסדר המילים ובביטוי מוצלח אחד במערך האימון.
היקף הסימון הידני מצטמצם לא מפני שמסמנים פחות נתונים, אלא מפני שמסמנים אחרים. מקרים טיפוסיים נסגרים על ידי אוגמנטציה, ולכן אנשים משקיעים את הזמן בדוגמאות שנויות במחלוקת ובבקרת ההסכמה. שיעור המשימות הדורשות אדם יורד, וההסכמה בין המסמנים עולה.
יציבות האימון נמדדת כפיזור האיכות בין ריצות על אותו מערך. אוגמנטציה מאוזנת מסירה עיוותים במחלקות נדירות, שבגללם המודל קפץ מריצה לריצה. כללי היצירה והרכב הדגימה מקובעים — ריצה חוזרת משחזרת את אותה התמונה.
לסיכום: התשובות מפסיקות להיות תלויות בניסוח השאלה, שיעור הסימון הידני מצטמצם, ועדכוני המודל מפסיקים להיות לוטו. אפשר לשפר את הפתרון באיטרציות, בלי להרכיב מחדש את מערך האימון מאפס.
השוואת גישות: כללים, מודלים וסינתטיקה
שיטות הרחבת הקורפוס נבדלות לא במורכבות אלא במחיר הטעות: חלקן מוסיפות מגוון ניסוחים אך לא משמעויות חדשות, ואחרות יוצרות דוגמאות חדשות — יחד עם רעש חדש. להלן השוואה לפי ישימות ומגבלות, כדי לבחור שיטה בהתאם לנפח ולסוג הנתונים.
| שיטה | מתי מתאימה | מגבלות |
|---|---|---|
| כללי החלפה ותבניות | תחום תוכן צר ופורמט קשיח: מספרי פניות, תאריכים, מזהים. מילון מילים נרדפות ומיסוך ישויות נותנים רווח מהיר בנפחים קטנים | משמעויות חדשות אינן נוצרות: הדגימה גדלה, ההתפלגות נשארת כשהייתה. המילון מתוחזק ידנית |
| תמורה של קטעי טקסט | חילוץ וסיווג, שבהם סדר המשפטים בעל חשיבות מועטה: כותרות, תגיות, ביקורות קצרות | שוברת את הלכידות: אינה מתאימה ליצירת טקסט לכיד ודיאלוגים |
| סינתזה גנרטיבית של דוגמאות | מעט דוגמאות של מחלקה נדירה, נדרשים ניסוחים שאינם בנתוני המקור: פרפרזה, השלמת תשובות | נדרשת בקרה: המודל משכפל את שגיאותיו ומוסיף עובדות שאינן קיימות. סינון לפי כללים בתוספת סימון ידני |
| הרחבת הקורפוס בטקסטים חיצוניים | קיימים מקורות ענפיים עם רישיון מתאים: תיעוד, תקנות, פורומים ענפיים | היסט בנושא ובסגנון; סיכון לחפיפה עם המערך המושהה |
מה לקחת בחשבון בבחירה
בפועל משלבים שיטות, אך לא יותר משתיים-שלוש לקורפוס אחד: כללים נותנים נפח בהתחלה, וסינתזה גנרטיבית — מגוון ניסוחים. לפני ההוספה לאימון מסירים כפילויות מהדגימה ובודקים חפיפה עם החלק המושהה, אחרת הערכת האיכות מפסיקה להראות דבר.
שיעור הסינתטיקה נשמר בתוך שליש — מעבר לכך המודל מתחיל ללמוד מהניסוחים של עצמו, והאיכות על נתונים אמיתיים יורדת.
כיצד נבנית אוגמנטציית נתונים: שלבי העבודה ההנדסית
אוגמנטציית נתונים אינה «לשכפל דוגמאות», אלא הרחבה מבוקרת של הקורפוס עם בקרת איכות והיעדר חפיפות בין הדגימות. העבודה מתנהלת בשלבים: כל אחד מסתיים בארטיפקט ובקריטריון בדיק, ולא בדוח «עשינו יותר נתונים».
- ביקורת הקורפוס. מלאי של המקורות: נפח, שפות, דומיינים, שיעור הכפילויות והדוגמאות הפגומות, מצב הסימון. בפלט — דוח ורשימה של מחלקות דוגמאות חסרות שאכן יש לסנתז.
- תרשים קו העיבוד של ההכנה. מקבעים את סדר השלבים: נרמול, הסרת כפילויות, הרחבה, סינון, חלוקה לחלקי אימון, ולידציה ובדיקה. התרשים מאושר לפני ההרצה: תיקונים בשלב זה עולים שעות, ואחריו — מחזורי אימון מחדש.
- הגדרת כללים ויצירה. טרנספורמציות דטרמיניסטיות (תבניות, תמורות, תרגום חוזר) בתוספת יצירה סינתטית על ידי מודל. קובעים מגבלות של אורך, שפה וסגנון, ומגבלה לשיעור הסינתטיקה — בדרך כלל 20–30%, אחרת המודל משחזר את הארטיפקטים של המחולל.
- קריטריוני קבלה לאיכות. את הספים מקבעים מראש: שיעור הדוגמאות שנפסלו במסנן, שיעור הכפילויות, הסכמת הסימון, שמירת התפלגות המחלקות.
- בדיקת זליגות. מחפשים חפיפות בין חלק האימון לחלק הוולידציה לפי קטעי טקסט וקרבת אמבדינגים, ואת מה שנמצא גוזרים החוצה. בלי שלב זה המדד בוולידציה מנופח, ובפועל האיכות צונחת.
- מדידת האפקט. אימון בקרה על הקורפוס המקורי ועל הקורפוס המורחב עם אותם מערכי בקרה. מסתכלים לא רק על המדד הכולל, אלא גם על תת-דגימות שבהן מלכתחילה היו מעט נתונים.
- מסירה. קונפיגורציות, סקריפטים לשחזור, תרשים קו העיבוד ודוח עם מדדים; ניהול גרסאות של הקורפוס והכללים, כדי שהרצה הבאה תחזור על עצמה בלי הרכבה ידנית.
ארטיפקטים של מסירה: תרשימי קו עיבוד, כללי איכות, נהלים
לאחר מסירת העבודה אמור להישאר אצל הלקוח לא דוח-מצגת, אלא ערכה עובדת שלפיה הצוות ממשיך בלעדינו. כל ארטיפקטי הפרויקט נמצאים לצד הקוד, מנוהלים בגרסאות ועוברים סקירה בדיוק כמו קוד המקור — אחרת בעוד חודש איש לא יזכור מדוע סף הסינון הוגדר דווקא כך.
- תרשימי קו עיבוד — גרף של שלבי האוגמנטציה כקונפיגורציה (YAML/JSON): תלויות בין השלבים, נקודות הסתעפות, פורמטי קלט ופלט בכל שלב.
- תיעוד הנתונים — דרכון מערך הנתונים: מקורות ורישיונות, סכמת השדות, התפלגות המחלקות והכפילויות, שיעור הדוגמאות הסינתטיות ביחס למקוריות.
- כללי סימון — הנחיה עם מקרי גבול, דוגמאות מנותחות וסדר הסלמה של קטעים שנויים במחלוקת; מסמן חדש נכנס למשימה בלי הסברים בעל פה.
- נוהל בקרת איכות — מדדי הסכמה בין המסמנים, שיעור הדוגמאות לבדיקה חוזרת וסף שמתחתיו אצווה נשלחת לתיקון.
- קונפיגורציות סינון — כללי הסרת כפילויות, ספים לקרבה בין ייצוגים וקטוריים, רשימות שחורות; הפרמטרים מוצאים החוצה, ותיקון אינו דורש שינוי בקוד.
- סקריפטים לשחזור — סביבות וזרעי מחולל מקובעים: הרצה חוזרת נותנת את אותו מערך, וסטייה מוסברת ולא מחפשים אותה.
- דוח מדידות — השוואה של המודל לפני ואחרי האוגמנטציה על המערך המושהה, עם פילוח לפי תת-קבוצות וציון כן היכן האפקט לא אושש.
- יומן החלטות — אילו גישות ניסינו, אילו נדחו ומדוע.
מקרה בוחן: עמידות המודל בניסוחים נדירים וברעש
הלקוח — שירות עם עוזר קו ראשון: בשאלות טיפוסיות האיכות הייתה מספקת, אך די היה שהמשתמש ינסח מחדש את השאלה, יוסיף סלנג או שגיאת כתיב, ושיעור התשובות הנכונות צנח.
על מערך מושהה של ניסוחים נדירים הוא נע בטווח 61-72% מריצה לריצה, וכשליש מהתשובות נדרשו לתיקון ידני — התמיכה עבדה כמעגל שני של המודל.
את הניסוחים הנדירים הוציאו מיומני הפניות וסימנו בשכבה נפרדת, בלי לערבב עם הזרם הטיפוסי. האוגמנטציה התנהלה בכמה מעברים: תרגום חוזר, פרפרזות בשימור משמעות, החלפת ישויות ומספרים, יצירת דוגמאות לתבניות נדירות.
כל דוגמה עברה מסנן — התאמת התווית, היעדר כפילויות, מגוון לקסיקלי; מחלקות נדירות אוזנו, כדי שאוגמנטציית הנתונים לא תטשטש את הנפוצות.
מדדים לפני ואחרי: שיעור התשובות הנכונות בניסוחים נדירים 61-72% → 88-91%, הפיזור בין ריצות אימון 11 → 3 נקודות, תיקונים ידניים 32% → 8%. בהערכה הכוללת, כולל RussianSuperGLUE, לא הייתה נסיגה — העמידות לא נקנתה במחיר שאר האיכות.
את הפרוטוקול קיבעו: המערך מקובע יחד עם כללי הסינון, המדידה נעשית על המערך המושהה בחמש ריצות, והשינויים בנתונים נראים בהשוואה ולא בתחושות.
במה נבדל אימון נוסף על סימון חלש ממחזור מלא
אימון נוסף של המודל על סימון שכבר נאסף הוא כיוונון של ייצוגים מוכנים לדומיין שלכם ולפורמט התשובה. דרך זו מתאימה כשהמשימה קרובה לזו שהמודל למד עליה, והתוויות בתוך המחלקה עקביות זו לזו: המודל אינו לומד את השפה מחדש, אלא מזיז את התפלגות התשובות. העבודה מספיקה לימים ספורים, ונדרשים רק קורפוס מסומן ומערך מושהה לבקרה.
סימון חלש מפסיק לשמש בסיס כאשר הכללים עצמם חלוקים. אם המסמנים משרטטים את גבול המחלקה באופן שונה, ומקרים נדירים נדחסים לקטגוריית «אחר» כללית, האימון הנוסף משחזר נאמנה את הרעש: המדד על המערך המושהה עולה, ובזרם האמיתי האיכות יורדת. אוגמנטציית נתונים אינה מועילה כאן — היא משכפלת את התווית השגויה בניסוחים חדשים.
מחזור אימון מלא מתחיל בהרכבה מחדש של הקורפוס: בחינה מחדש של סכמת המחלקות, הנחיה למסמנים, דוגמאות בקרה, מדידת ההסכמה בין בני האדם. בקלט שימושיות סכמות של פיקוח חלש — Snorkel עם סט של פונקציות-כללים נותן תוויות גולמיות והערכה של מהימנותן, אך השכבה הסופית בכל זאת עוברת בדיקה ידנית.
בחירת האסטרטגיה היא אבחון, לא עניין של טעם. אנחנו מחשבים הסכמה בין המסמנים, מנתחים שגיאות לפי מחלקות ובודקים את הרווח על מערך הבקרה: כל עוד האימון הנוסף נותן רווח, אין צורך במחזור מלא. כשהמודל נתקל בתקרה שנקבעה על ידי איכות התוויות, רק הרכבה מחדש של הנתונים מזיזה אותו קדימה.
מבחינת מאמץ העבודה ההסתעפות נראית כך: אימון נוסף — ימים ונסיגה בטוחה לגרסה הקודמת, ומחזור מלא — שבועות וסכמת סימון מבוקרת שמשמשת שוב באיטרציות הבאות.
ספקות טכניים: רעש, זליגות, בקרת איכות
אוגמנטציה נבדקת על דגימה קטנה, והשאלות לגביה מתעוררות מאוחר יותר — כשהמערך המורחב יוצא לאימון. להלן ארבעה ספקות טכניים שאנחנו מסירים בבדיקות, ולא בהבטחות.
איך המערך המורחב לא יזלוג למערך הבקרה?
את החלוקה מבצעים לפני האוגמנטציה ולפי קבוצות מקור: עותקים ופרפרזות של אותו קטע נשארים באותו חלק. לאחר מכן מחשבים את קרבת האמבדינגים בין חלק האימון לחלק המושהה — זוגות מעל הסף נגזרים החוצה. פער בין המדדים על מערך הבקרה למערך העיוור מאותת על זליגה.
כיצד מסננים רעש וחזרות?
כפילויות מדויקות נתפסות לפי האשים, וקרובות — לפי מרחק בין אמבדינגים עם סף שנבחר על דגימה מסומנת. מסנן מבוסס מודל מעריך את הלכידות ואת התאמת התשובה לשאלה, ודוגמאות גבול עוברות לבדיקה ידנית. שיעור הכפילויות מנוהל כמדד נפרד: עלייתו מעידה שהמחולל מתדרדר.
מה נכלל בבקרת האיכות של המערך?
בכל ריצה מחשבים את שיעור המסונן, התפלגות האורכים, החפיפה עם חלק הבקרה ואת ההסכמה בין הסימון המבוסס מודל לזה הידני על תת-דגימה מסודרת. הספים מקובעים בקונפיגורציה, ולא «לפי העין»: מערך שלא עבר את הבדיקות אינו נכנס לאימון.
האם האוגמנטציה לא תעוות את התפלגות המחלקות?
כדאי לאזן מחלקות נדירות, אך לא לשכתב את התדירות האמיתית: אחרת המודל עונה בביטחון על מה שכמעט אינו מופיע בעבודה. שומרים על סטרטיפיקציה לפי מקור, אורך וסוג שאילתה, ומשווים את השיעורים לפני ואחרי ההרחבה — היסט מעבר למותר עוצר את המערך.
נדון במשימה: מהיכן להתחיל לעבוד על הקורפוס שלכם
אוגמנטציית נתונים מתחילה לא בבחירת השיטות, אלא בניתוח הקורפוס: ממה שכבר מצוי במאגר תלוי אם נדרשים פרפרזה, תרגום חוזר או יצירה סינתטית. ביקורת הקורפוס גוזלת פחות זמן מהדיבוג שלאחריה — בה רואים היכן הסימון סותר, והיכן כפילויות מנפחות את הדגימה ומעוותות את המדדים.
כדי לחזור עם הערכה ותוכנית הטמעה, ולא עם שאלות הבהרה, אנו זקוקים לנתוני הפתיחה שלהלן. הדיון במשימה — בצורה חופשית: לכל סעיף מספיק מה שיש בהישג יד.
- מטרה ומדד: איזו משימה פותר המודל ולפי איזה מדד תראו שהאיכות עלתה.
- נפח ומבנה הקורפוס: כמה דוגמאות, באיזו שפה, ובאיזה פורמט נשמרים הטקסטים והסימון.
- מקור הסימון: כמה נתונים סומנו ידנית ולפי איזו הנחיה — זה קובע אם הסימון מתאים לשמש כאמת מידה.
- מחלקות וחוסר איזון: אילו קטגוריות נדירות עד כדי כך שבלי אוגמנטציה המודל לא ילמד אותן.
- מגבלות תחום התוכן: מה אסור לשנות בטקסטים — שמות, מונחים, ניסוחים משפטיים, מספרים.
- ריצות קודמות: על אילו נתונים כבר אימנו, איזו תוצאה התקבלה וכיצד הריצה משוחזרת.
- הרשאות וקבלה: היכן מאוחסן הקורפוס, האם יש מגבלות על ייצוא ומי מקבל את התוצאה.
תחילת העבודה — לאחר ניתוח זה: מקבעים אילו שיטות אוגמנטציה מיישמים, על איזה חלק מהנתונים עורכים ולידציה וכיצד מודדים את הרווח על המערך המושהה. בפלט תקבלו תרשים עבודה וקריטריוני קבלה, מאושרים לפני ריצת האימון הראשונה.







