מהי רגרסיה - ולמה זה מושג קריטי בבדיקות תוכנה ובנצ'מרקינג?
תוכן עניינים
מהי רגרסיה - ולמה זה מושג קריטי בבדיקות תוכנה ובנצ’מרקינג?
כאשר משפרים מערכת תוכנה, מודל AI או רכיב ביצועים, המטרה תמיד זהה: להשתפר.
אבל לעיתים, דווקא שינוי שנועד לשפר - גורם לירידה בביצועים או באיכות. את התופעה הזו מכנים רגרסיה.
מהי רגרסיה?
רגרסיה (Regression) היא מצב שבו:
פעולה, שינוי, עדכון או גרסה חדשה - גורמים למערכת להתנהג פחות טוב ממה שהתנהגה בעבר.
במילים פשוטות: שדרגנו → החמרנו.
דוגמאות לרגרסיה
1. רגרסיה בביצועים
גרסה חדשה של מודל:
- רצה יותר לאט
- צורכת יותר זיכרון
- מפיקה פחות FPS
- יוצרת פלט פחות יציב
בעוד הגרסה הקודמת הייתה מהירה יותר.
2. רגרסיה פונקציונלית
קוד חדש ש:
- שבר יכולת שעבדה
- מחזיר תוצאות שונות מבעבר
- מפספס מקרים שהגרסה הישנה טיפלה בהם נכון
3. רגרסיה באיכות מודל
מודל חדש:
- מזהה פחות אובייקטים
- מפספס תוויות
- מציג פחות דיוק
למרות שאמור היה להשתפר.
למה נוצרת רגרסיה?
- שינוי קוד שלא נבדק מכל הכיוונים
- אופטימיזציה שפגעה במשהו אחר
- שינוי לוגיקה שהשפיע לרעה
- שגיאות קטנות שמצטברות לביצועים גרועים
מערכות מורכבות רגישות מאוד לשינויים.
למה חשוב לזהות רגרסיות?
כי בלי לזהות אותן:
- מערכת יכולה להיות “גרועה יותר” בלי שאף אחד ישים לב
- ביצועים יכולים לרדת בהדרגה
- מודלים יכולים לאבד דיוק עם הזמן
- צוותים יתקשו להבין למה “משהו לא עובד כמו פעם”
בדיוק בגלל זה קיימים:
- בדיקות רגרסיה
- מספרי רפרנס
- בנצ’מרקים חוזרים
- בדיקות זהות פלט (Golden Outputs)
הכול נועד לוודא - שלא חזרנו אחורה בלי לשים לב.
משל
חשבו על רץ שמנסה לשפר זמן. הוא משנה את שיטת האימון, אבל פתאום נעשה איטי יותר. זו רגרסיה.