למה Inference טוב לא מנסה להיות חכם
למה Inference טוב לא מנסה להיות חכם
יש פיתוי טבעי להפוך מערכות Inference ל”חכמות”: בחירה דינמית של מודל, התאמת batch בזמן אמת ועוד.
זה מרגיש מתקדם. אבל במציאות - זה יקר.
כי תחכום הוא חוב תפעולי.
החלטות “חכמות” הן החלטות שמתקבלות בזמן ריצה
בהתבסס על מצב משתנה:
- עומס נוכחי
- זמינות משאבים
- תזמון רגעי
- או ניחושים על מה שיקרה עוד רגע
הבעיה היא לא שההחלטות שגויות. הבעיה היא שהן קשות לחיזוי.
ומה שקשה לחיזוי - קשה לשלוט בו.
Inference טוב צריך להיות צפוי
כשהמערכת:
- בוחרת מודל שונה בכל רגע
- משנה batch sizes תוך כדי תנועה
- או “מנצלת הזדמנות” על סמך מצב רגעי
קשה לדעת:
- מה יהיה ה-latency הבא
- איך תיראה התנהגות תחת burst
- ואיך להסביר תקלה בדיעבד
המערכת אולי אופטימלית ברגע מסוים - אבל לא אמינה לאורך זמן.
אופטימליות לעומת פשטות התנהגותית
אופטימליות מנסה:
- לסחוט עוד אחוז ביצועים
- להתאים את עצמה לכל מצב
פשטות התנהגותית אומרת:
- אותו קלט → אותה התנהגות
- אותם תנאים → אותה תוצאה
במערכות Inference, פשטות כזו שווה זהב.
Inference הוא לא משחק של הברקה
הוא תהליך שחוזר על עצמו מיליוני פעמים.
בחזרה כזו:
- חריג קטן הופך לבעיה מערכתית
- החלטה “חכמה” אחת יוצרת שרשרת אפקטים
- ו-edge case הופך לנורמה
התחכום לא נעלם - הוא מצטבר.
זו הסיבה ש-Inference הוא קודם כול בעיה של אמינות, לא של חוסר תחכום.
מערכת טובה שואלת:
- האם אפשר לסמוך על ההתנהגות
- האם אפשר לנבא latency
- והאם קל להסביר מה קרה כשמשהו השתבש
לא: “האם היינו חכמים מספיק ברגע מסוים”.
המשל
טייס אוטומטי שמנסה להיות יצירתי בכל תנאי רוח. לעומת אחד שמחזיק מסלול יציב, גם אם הוא לא הכי קצר.
השני פחות מבריק. אבל הרבה יותר בטוח.
סיום
Inference טוב לא מנסה להיות חכם. הוא מנסה להיות:
- צפוי
- יציב
- קל להבנה
כי כל טיפת תחכום מיותרת היא חוב שתצטרך לשלם - בעומס, בתקלה, או בשעה שלוש בלילה.
במערכות, פחות חוכמה הרבה פעמים שווה יותר אמינות.