יום שני, 19 באוגוסט 2024

476 ML Explainability and friends with Dagan from Citrusx


פרק 476 של רברס עם פלטפורמה, שהוקלט ב-25 ביולי 2024
(יומיים אחרי ההקלטה הקודמת). אורי ורן מארחים בשבוע ה-ML (הלא רשמי) את דגן מחברת Citrusx לשיחה על ארגונים ש-ML חשוב להם.reminder ribbon
 
00:45 דגן ו-Citrusx ורברס עם פלטפורמה (באמת)
(רן) אז לפני שנצלול לעסק - קצת עליך ועל החברה?
(אורי) . . . . אתה בחברה טובה . . . . לא מעוטף-עזה, אבל גם אנחנו, שנינו.
  • (דגן) . . . אז המקצוע הראשון שלי זה רפתן, ואחרי זה עבדתי עם . . . . 
(אורי) לא, אבל בוא נשאל את השאלה - מתי בפעם הראשונה עשית רברס עם פלטפורמה?
  • (דגן) אז אני הייתי ברפת יותר, זה פחות. זה יותר עם הטרקטור של החלוקת-מזון, ופחות עם הרברסים עם העגלה.
(אורי) . . . . חרא עד הברכיים הברכיים - קדימה . . . 
  • (דגן) זה כן . . . 
(רן) טוב, אז אתה בחברה טובה . . . . אוקיי, אז גדלת שם, ואחר כך?...
  • (דגן) אז גדלתי שם, ואחר כך בצבא הגעתי ל-8200, ליחידה מאוד טכנולוגית.
    • ושם נכנסתי לעולם הזה, של תוכנה ואלגוריתמיקה וכל הדברים “המדעיים".
  • ומפה לאוניברסיטה, כשלמדתי מדעי המחשב ומדעי המוח, איפשהו לחבר את שני העולמות של...
    • מדעי המחשב זה הכלי, מדעי המוח זה היעד שאליו רוצים להגיע.
    • ולהבין אותו, לדמות אותו, ל ...
(רן) . . . נשארת עם הכלי . . . 
  • (דגן) נשארתי עם הכלי - אבל תמיד איפשהו התעסקתי בדברים שקשורים.
    • אם זה ראייה ממוחשבת, Machine Learning - זה איפשהו בעולמות האלה.
  • אחרי התואר עבדתי גם ב-Mobileye ובעוד כל מיני סטארטאפים - תמיד סביב טכנולוגיה, דברים מוחשיים, על התפר שבין תוכנה לאלגוריתמיקה.
    • עם הרבה מאוד התעניינות באמת בעולם הזה של ה-Machine Learning, AI - השמות השתנו עם הזמן . . . 
    • “איך המחשב חושב” ואיך לגרום לו “לחשוב יותר טוב”.
(רן) כן. עוד יש כאלה שקוראים לזה אלגוריתמיקה . . . מעולה. והיום אתה נמצא בחברת CitrusX - באיזה Capacity? מה תפקידך שם?
  • (דגן) אז היום אני ב-CitrusX כבר שנתיים וחצי, אפילו קצת יותר.
    • בתפקיד של ה-VP R&D - בעצם מוביל את הצד הטכנולוגי, את הפיתוח של המוצרים.
(רן) אוקיי. אז CitrusX - מה עושים שם?
  • (דגן) אז CitrusX - קודם כל אנחנו סטארטאפ צעיר יחסית, היום 16 עובדים, נמצאים בתל אביב.
  • אז ארגונים רבים - כאילו, תעשיות של פיננסים וביטוח וכאלה - הם ממש לא שם.
    • הם עוד... 30 שנה, 40 שנה אחורה - והם מנסים להיכנס לעולמות של ה-Machine Learning הקלאסי.
(רן) עוד קשה להם עם הרגרסיה הלינארית . . . 
  • (דגן) הרגרסיה לינארית הם בסדר - קשה להם לעשות את הצעד הבא.
(אורי) זה לא GenAI, זה Gen-היי-הג’יפ . . . .
(רן) כן . . . אוקיי, אז אני מניח שרוב מי שמקשיב מבין, פחות או יותר - יש ארגונים שיש להם קושי לקחת מודל-שפה ולפרוש את זה בפני הלקוחות, נגיד כמו בנקים. אבל בואו נפרוס את זה לדברים קצת יותר פרקטיים - איזה קשיים? איזה אתגרים? איזה סכנות יש להם, שאתם בעצם עוזרים להם איתן?
  • (דגן) אז אני חושב שמילת-המפתח פה היא “אמון” - זאת אומרת, לקבל אמון “בקופסה השחורה” הזאת.
  • והצד ההפוך של זה זה ה-Risk, זה הסיכון - זאת אומרת, כל מיני קבוצות בארגון שמפחדות לקחת סיכונים, ומשליכות את זה על המפתחים, על האלגוריתמיקה.
(רן) כן. זאת אומרת, אם יש איש Machine Learning או Data Science או אלגוריתמיקה או איך שלא נקרא על זה, שעובד בבנק, והוא פיתח מודל נהדר לחיזוי של Whatever - מניה או ריסק בהלוואה או כל דבר כזה. אפילו אם המודל, יש לו ביצועים נהדרים - יכול להיות שהבנק יימנע מלהשתמש בו, בגלל סיבות של אקספלינביליות (Explainability), סיכון . . . 
  • (דגן) אז כל הדברים האלה - אקספלינביליות (Explainability), סיכון, רגולציות, ביצועים של המודל . . .  בעצם “לסמוך על המודל".
  • אז יש פה תסכול של שני הצדדים - ה-Data Scientist שעובד על המודל חצי שנה, תשעה חודשים, שנה . . .  כמה זמן שלוקח לפתח את המודל הנהדר שהזכרת קודם - ואז, בישורת האחרונה אומרים לו “לא, לא, לא, אתה לא יכול להתקדם”.
(אורי) למה? כי אין אמון.
  • (דגן) למה? כי אין אמון . . . “כי אני צריך שתוכיח לי שהמודל לא יפשל בזמן אמת” ו-”אני צריך שאני אוכל להסביר כל החלטה שהמודל מקבל” ו-”ויש לי רגולציות על הראש!” . . . .
    • אולי נדבר על זה עוד מעט, אבל עד לפני שנה-שנתיים זה היה בעיקר רגולציות פנימיות, כי החברות חוששות ולא רוצים שיתבעו אותן ולא רוצים “לעשות פאדיחות” או נזקים של מיליונים, ויש דוגמאות כאלה . . .
(אורי) אבל זה קצת, בוא נגיד ככה, “מובנה”. מכיוון שרוב - בוא נודה על האמת - רוב ה-Machine Learning ורוב ה-AI - בסוף הוא סטטיסטי. ובמשהו שהוא סטטיסטי, יש איזשהו סיכון. אני הייתי נוהג להגיד לאנשי Risk או כל מערכת טכנולוגית, “קחו את זה בחשבון כשאתם עולים על מטוס” . . . . אז צריך לדעת לנהל סיכונים בכל מקום.
  • (דגן) נכון, וזו בדיוק מילת המפתח פה - “ניהול סיכונים”.
  • צריך לדעת מתי זה בסדר לקחת את הסיכון ומתי זה לא בסדר לקחת את הסיכון.
    • ואם המודל Machine Learning, בתפיסה של הרבה מאוד אנשים, זה “קופסה שחורה”, אז “אני לא מתעסק עם זה”.
      • כי אני לא יודע מתי הוא יפשל, אני לא יודע איפה.
    • וכאן אנחנו נכנסים בתמונה, בעצם.
(רן) כן, אני מניח שעולם מקביל לזה זה עולם של נגיד מכוניות שנוהגות אוטונומית - שגם שם יש סיכונים, ומצד שני, אנחנו מבינים שגם לתת לבני אדם הגה בידיים זה מסוכן, ככה שזה לא . . . אין פה איזשהו משהו שהוא חד וחלק.

07:35 אז איך עוזרים?
(רן) אז איך אתם בעצם עוזרים לאותן חברות? נניח שפיתחתי איזשהו מודל לחיזוי של סיכון של מתן הלוואה ללקוח, אוקיי? איך אתם עוזרים לבנק לקבל ביטחון באותו מודל? 
(אורי) מה שבעצם זה “חיתום” . . .
  • (דגן) נכון. אז זה באמת דוגמא למודלים שאנחנו מתעסקים איתם ביום-יום.
  • אז בעצם אפשר להגיד שהמטרה שלנו היא להושיב סביב שולחן אחד את ה-Data Scientist ואת ה-Chief Data ואת ה-Risk Manager ואת ה-Compliance Executive.
    • להושיב אותם סביב שולחן אחד - ושכולם ידברו באותה שפה ויבינו אחד את השני.
  • והתפקיד שלנו זה לתרגם ביניהם - לקחת את הדאטה והסטטיסטיקות, שה-Data Scientist מפתח, ולתרגם את זה למסמך Legal שהאיש Compliance יודע להבין אותו ולהתייחס אליו.
    • ומהמסמך הזה הוא יכול להגיד מה בסדר ומה לא בסדר, מה הוא מוכן לספוג ומה הוא לא מוכן לספוג.
    • ואם צריך אז להחזיר את זה חזרה לשולחן השרטוטים - אבל מדויק.
      • נגיד, “בנקודה הזאת - את זה אני לא מוכן לקבל”, זאת אומרת...
(אורי) וכמה יוצא לכם, אתה יודע, כאלה שאומרים “אני לא מוכן לקבל כלום!” . . . “לא מוכן לקבל שום פאדיחה”.
  • (דגן) אז קודם כל - יש כאלה . . . תלוי בתחומים, אבל יש תחומים שהם עוד יותר שמרניים.
  • אבל מה שרואים היום בשוק זה שהחברות מבינות שאין להן ברירה - כי הם פשוט יישארו מאחורה.
(אורי) וגם בוא נודה על האמת - יש מגבלות Scale. כאילו, אתה יכול לעשות את הכל ידנית, אבל זה פשוט יעלה לך המון.
  • (דגן) נכון - וזו אחת הבעיות בעצם.
  • כי לקחת מודל אחד ולעשות עליו את הוולידציה (Validation) הזאת וכל התהליך הזה - אפשר לעשות את זה, ואנחנו רואים חברות שעושות את זה.
    • ומשיחות שלנו עם לקוחות - זה לוקח להן שישה חודשים, תשעה חודשים . . . 
    • לא הבנייה של המודל - מהרגע שהמודל הסתיים וה-Data Scientist “הניח את ההצעה שלו”, עד לרגע  שהבנק או איזה גוף שזה לא יהיה אישר את המודל ואמר “יאללה, אנחנו Good to go”.
    • אז זה בסדר כשיש לך מודל אחד - אם יש לך 20, 40, 50 מודלים, זה כבר לא Scalable-י.

10:14 איפה הטכנולוגיה?
(רן) כן. אוקיי - אבל זה נשמע כמו איזשהו מוצר . . . . אפילו לא נקרא לזה “מוצר” - זה נשמע כמו “בוא נושיב את האנשים סביב השולחן”. זאת אומרת, איפה הטכנולוגיה פה? אתם בסך הכל חברה טכנולוגית, נכון? אז מה הכלים הטכנולוגיים שמשרתים אתכם?
  • (דגן) אז אנחנו באמת חברה טכנולוגית שמייצרת מוצר - ואם תסתכל בשוק, אז השוק הזה הוא “חי”.
    • יש כל מיני כלים, אלגוריתמים, שבאים לפתור בעיות ספציפיות - אין איזשהו כלי אחד שמאחד את הכל.
      • כמו שאמרת - “להושיב את כולם ביחד ולדבר באותה שפה”.
  • והדרך שלנו לעשות את זה היא הטכנולוגיה - בעצם, לקחת את המודל הזה ולעשות לו “X-ray”, להראות בדיוק איך הוא עובד ומה הוא עושה, לפרק אותו לגורמים.
    • ולהצביע על איפה באמת יש בעיות ואיפה כדאי להסתכל - ואיפה זה לא מעניין ואפשר להמשיך הלאה.
(רן) כלומר- בואו נעשה את זה רגע ציורי - נלך עם הדוגמא שלי, של מודל של “האם כדאי להלוות ללקוח כסף או לא”. מסתכלים על, נגיד, רקע, השכלה, גיל, מצב משפחתי, תעסוקה וכו’ . . . מסתכלים על כל מיני מיני פרמטרים. ויכול להיות שהמודל אומן כבר על אלף או מיליון כאלה, אז הוא פחות או יותר יודע מה התשובה.
אבל אם אתה מקבל פתאום איזשהו Outlier - לצורך עניין, השכלה ממדינה שונה, שאתה לא יודע להגיד עליה כלום, או מישהו שהוא צעיר במיוחד ושמעולם לא ראית - פה למעשה יש לך איזשהו Blind-spot, נכון? אתה לא יודע מה המודל הולך לענות עליו. איך פותרים את זה?
  • (דגן) נכון, וזו באמת אחת הבעיות - מה יקרה כשיגיע הדאטה שהמודל לא ראה?
  • אז איך פותרים את זה? אז עכשיו אולי קצת ניכנס ונצלול קצת לטכנולוגיה, ואז נבין איך אפשר בעצם להתמודד גם עם הבעיה הזאת.
(רן) אין בעיה.
  • (דגן) אז בעצם, הדבר הראשון שהמערכת שלנו עושה, בהינתן מודל של הלקוח וה-Training Data Set של הלקוח, זה למפות את המרחב.
    • אתה דיברת קודם על מודל שמקבל חמישה פרמטרים - במציאות יש מאות.
    • אז למפות את זה ידנית זה לא אפשרי.
  • אז בעצם הדבר הראשון שהמערכת עושה זה היא לפרוש את המרחב הזה, ולהבין מה לא מעניין.
    • למפות את כל האזורים שלא קורה בהם כלום - אין לקוחות כאלה ולא מעניין אף אחד - ולצמצם את זה, קודם כל, ולהתמקד באזורים המעניינים.
(רן) לצורך העניין, לקוח שנולד באוקיינוס - גם אם יש אחד כזה, זה כנראה לא מעניין את המודל הזה של הבנק. אפשר לחשוב על מרחב, סליחה על המילה, מרחב-וקטורי בגודל מאה מימדים - יש במרחב הזה הרבה מאוד אזורים לא מעניינים, שעליהם פשוט לא צריך להתעכב, בסדר.
  • (דגן) נכון, אז זה הדבר הראשון - וכבר הורדת את החישוביות שלך בהמון.
(רן) כן. לצורך העניין, ילד בן שלוש עם עשרים שנות ניסיון בעבודה - לא קיים, אז לא צריך להתייחס.
  • (דגן) נכון. והדבר השני זה עכשיו להסתכל על החלקים היותר מעניינים - ולהתחיל לאפיין אותם, ולהתחיל בעצם לנתח אותם.
    • ופה זה קצת דומה לעולמות של עיבוד-תמונה - כשאני בא לדחוס תמונה, אז יש אזורים בתמונה שהם . . . שקורה בהם משהו, אבל הם לא כל כך מעניינים.
    • אם יש לי זברה שעומדת על דשא וברקע שמיים כחולים, אני יכול לייצג את השמיים הכחולים האלה במעט מאוד מידע, כי אין שם שום דבר מעניין . . .
      • יש שם איזה גרדיאנט (Gradient) מתכלת לכחול, אבל קל מאוד לאפיין אותו - והוא משעמם.
      • (רן) כשדוחסים את התמונה . . .
      • (דגן) נכון.
  • (דגן) אז בעצם, אם אני מסתכל שוב על המרחב הזה שדיברנו עליו קודם, אז אפשר להגיד שכל מי שהוא מתחת לגיל 18, אז זה טווח גילאים מאוד גדול אבל זה לא מעניין, לא קורה שם כלום.
(רן) כן. זאת אומרת לעשות איזשהו . . . לייצר איזשהו Bucket כזה. במקום להגיד “לא!”, זה מרחב רציף - לבוא ולהגיד “יש לי פה Bucket ‘מתחת לגיל 18’, וכולם מבחינתי אותו דבר, ב-Bucket הזה”.
  • (דגן) אותו דבר, או שקל לי לאפיין אותם באיזשהו קירוב פשוט.
(רן) כן, אוקיי. אז אתה כאילו מקטין את המרחב שלו.
  • (דגן) נכון. אז אני לוקח בעיה גדולה מאוד ומאוד מורכבת, עם המון מימדים - ואני מתחיל לפרק אותה לבעיות יותר קטנות.
  • והחוכמה פה היא בעצם לדעת מה גודל הבעיה האופטימלי.
(אורי) בעיות יותר קטנות - או בעיות, בעלות סיבוכיות קטנה יותר?
  • (דגן) שניהם.
  • בעצם, המודל - יש לו סיבוכיות מאוד גבוהה, כי הוא יכול להיות בצורות מאוד משונות.
    • הוא בכל נקודה במרחב הוא נותן פרדיקציה - וזה יוצר איזושהי פונקציה מורכבת.
    • זה היתרון שלו גם - לכן אנחנו אוהבים אותו, כי הוא יכול לתפוס ניואנסים קטנים.
  • אבל עכשיו, מה שאנחנו בעצם באים לעשות בשלב הראשון, זה להתחיל לפרק אותו 
    • ולנסות, קודם כל, למצוא Chunk-ים כאלה כמה שיותר גדולים, אבל איפה שאי אפשר - אנחנו נצטמצם.
    • אז אם אני חוזר עוד פעם לזברה - 
      • השמיים יהיו אזור מאוד גדול, שאני מאפיין אותו מאוד בקלות ואני יכול לתת עליו המון מידע.
      • איפה שהזברה נמצאת אני כבר מתחיל לחלק את זה לאזורים הרבה יותר קטנים - כדי לתפוס באמת את הניואנסים האלה.
    • (אורי) חלקם שחורים וחלקם לבנים . . . .
    • (דגן) חלקם שחורים וחלקם לבנים - ומה שמעניין זה המעבר. 
      • בסופו של דבר זה המעבר, כמו בעיבוד תמונה.
    • (רן) “קווי המיתאר”, ה-Contour . . . 
    • (דגן) מעניין אותי איפה שקורה השינוי.
  • אז החוכמה בעצם היא להצליח למצוא את האזורים האלה - שהם מספיק גדולים כדי שתיהיה להם משמעות.
      • בסוף, אני לא רוצה להגיע לקוביה שמייצגת בן אדם אחד בלבד.
    • אבל מספיק קטנים כדי שאני אוכל לאפיין אותם.
  • ואז בעצם מה שקורה בדרך שאנחנו עושים את זה, זה שנוצרים אזורים שהם Interpretable by Design . . .
(רן) כן, אז אתה אומר כאילו שעכשיו לעשות לזה QA זה כבר הרבה יותר פיזיבילי (Feasible) - כי מקודם אם היה מרחב “אינסופי", או “אינסופי בחזקת 100”, אז עכשיו יש לך מרחב של אולי הרבה Bucket-ים, אבל זה כבר הרבה הרבה יותר פיזיבילי, ושם אתה יכול לקחת, נגיד, מייצג אחד מכל Bucket, ולבוא ולבדוק מה קורה איתו, או אולי לגלות שאין לך כיסוי ל-Bucket הזה, ואז לייצר כיסוי.
  • (דגן) אז שם, עכשיו אני יכול לגלות המון דברים על כל Bucket כזה.
    • אני יכול לגלות מה משפיע על המודל - בגלל שהצורה שבה בניתי את האיזור הזה, אז קל לאפיין אותו.
    • אני יכול להגיד “אוקיי - באזורים האלה, מה שמשפיע על החלטה של המודל זה רק המשכורת והגיל של הבנאדם, וכל שאר הדברים הם יותר זניחים”.
    • אז כבר...
(אורי) אתם עושים את זה בניסוי וטעייה, או... זאת אומרת, מריצים את המודל, משנים כל מיני פרמטרים ורואים מה ההשפעה, או שמראש בהתבוננות על “ב-X-ray” הזה של המודל, אתם יודעים להגיד מה משפיע ומה לא משפיע?
  • (דגן) אז . . . . קצת שניהם.
  • קודם כל, אנחנו מסתכלים מראש על הצורה של המודל, וככה אנחנו מפרקים אותו לחלקים יותר ויותר קטנים.
    • אבל לא תמיד יש מספיק מידע - זה בדיוק מה שאמרתם לפני דקה.
      • לפעמים הגעתי לאיזשהו אזור - והוא מעניין, אני מאוד מאוד רוצה לאפיין אותו, אבל אין לי מספיק נתונים בו.
    • ואז נכנס לחלק השני של להוסיף “Data סיננטי” - בעצם, לסמלץ (Simulate) נקודות חדשות, אבל בצורה חכמה.
      • שהן מתאימות להתפלגות המקומית.
      • זאת אומרת “באיזור הזה - ככה ה-Data נראה”, אז עכשיו אני אייצר עוד הרבה דוגמאות כאלה בתוך האזור הזה, ועכשיו יש לי עוד המון מידע רלוונטי בשביל להגיד איך המודל מתנהג באזור הזה.
  • וזה עוזר גם בשביל לדעת מה הצורה של המודל - אבל גם אפשר להשתמש באותו כלי בשביל דברים מאוד ספציפיים.
    • למשל, אם אני רוצה לדעת  . . . אחת הבעיות שמאוד מעסיקות חברות, אם זה מתן הלוואה, אז זה אולי ה-Top, זה “הוגנות”.
      • אני צריך להוכיח שהמודל שלי “הוגן”.
      • ואם הוא לא הוגן אז יתבעו אותי - וזה בעיה מאוד גדולה.
    • (רן) מה שנקרא בעברית Fairness ו-Bias . . . 
    • (דגן) בדיוק.
  • אז אחד הדברים שהכלי הזה מאפשר לנו להגיד זה, אוקיי, אם עכשיו אני מסתכל על Bucket מסוים, שזה “אנשים בגיל ארבעים ומטה שגרים באלסקה”.
    • אין לי נשים שם . . . .ב-Database שלי אין נשים.
    • והבעיות בתחומים האלה שאי אפשר “לייצר” . . . 
      • זה לא כמו בתחומים שאנחנו יכולים להגיד “אז לכו תאספו עוד נקודות ותעשירו את המודל”
      • אין - אין לי מה לעשות.
  • אז פה אנחנו כן יכולים לעשות זה, כי נגיד . . . 
(אורי) . . .  כי ה-Data סינטטי  . . . 
  • (דגן) נכון. אני רוצה לדעת האם באיזור הזה של אלסקה, מתחת לגיל ארבעים, יש אפליה? יש לי רק גברים, אז אני “אייצר נשים” שם.
    • אני “אפזר נשים” במרחב הזה, ובוא נראה איך המודל מגיב - האם הוא הוגן או לא הוגן.
(רן) כן, אז נזכיר, כאנקדוטה, נגיד סיפור מפורסם שהיה נגיד - כש-Amazon ניסו לפתח מודל של Hiring, ולהבין האם ה-Hire הבא מתאים או לא מתאים, אז הם למדו על Data היסטורי שלהם. שזה נשמע הגיוני, זאת אומרת - ההגיון של “אנשים שקיבלנו לחברה ונגיד החזיקו מעמד חמש שנים או עשר שנים, ואולי גם עוד הצליחו בתפקיד שלהם - אנשים עם מאפיינים דומים כנראה יהיו מועמדים טובים”. בסך הכל נשמע הגיוני. אבל ברגע שבאו להפעיל את המודל הזה, גילו שהרבה הרבה מאוד נשים מסוננות החוצה . . . עכשיו, זה לא שלמודל היה משהו נגד נשים, אלא שבמידע שעליו הוא התאמן, לצערנו - וכנראה גם לצערם - פשוט היו הרבה פחות נשים, וזה למעשה יצר איזשהו Bias, איזשהו Unfairness מאוד מאוד משמעותי, וכמובן שהם הסירו את המודל הזה ולא השתמשו בו יותר באותו רגע.
אבל זו דוגמה שכבר קרתה, אולי אפילו בתום לב - ויכולה לקרות בכל בנק . . . 
[זה לא משהו שמודלי-AI המציאו - דוגמא של Daryl Morey, מפספס את Jeremy Lin מאחד הפרקים האחרונים של  Freakonomics - Here’s Why You’re Not an Elite Athlete]
  • (דגן)  נכון, וזו דוגמה מצוינת - והבעיה פה היא קצת יותר חריפה.
    • כי בסוף, מודלים של Machine Learning רוצים למקסם (Maximize) - אז אם היה לי Bias קטן לטובת גברים, עכשיו המודל יכול לקבל נטייה למקסם את הדבר הזה . . . .
      • כי בסוף הוא רוצה להוציא את התוצאות הכי טובות, ולגבר יש סיכוי יותר טוב מאשר לאישה - אז הוא “ידחוף” לשם כדי לקבל בסוף תוצאות “יותר טובות”.
  • אז לגבי מה שדיברנו עליו קודם, על ה-Data הסינתטי - הוא בדיוק נועד בשביל, בין היתר, לטפל במקרים האלה.
    • בשביל להחזיר את הנשים “שנעלמו”.

20:37 הוגנות
(רן) בוא נדבר קצת על Fairness - אילו עוד דרכים יש לבוא ולתקן הוגנות של מודל? או בוא נתחיל - לבדוק האם המודל הוגן, ואולי אחר כך גם לתקן אותו? 
אז אמרת - דרך אחת זה לבוא ולייצר Data סינתטי, במקומות שאנחנו רואים שיש Under-Representation. אוקיי, זו דרך אחת. יש עוד דרכים?
  • (דגן) אז קודם כל, אנחנו מדברים כרגע, בתור שלב ראשון, על לזהות את זה.
    • ואני אגיד גם שאיפשהו, אחד הדברים שאנחנו למדנו, הוא . . . אנחנו - מאוד בער לנו להגיד “אוקיי, אנחנו מזהים בעיה - בוא נתקן אותה.”
    • ועצרו אותנו - כי אמרו לנו “לא לא - אתם לא יכולים גם להיות ‘ה-Validator ההוגן‘, וגם לגעת במודל” . . .
    • (רן) . .  יש רגולציה . . . אל תיגע לי במודל”.
    • (דגן) רגולציה . . . 
  • אז אני אגיד - אנחנו מתעסקים בלזהות את הדברים, ומשאירים את המיטיגציה (Mitigation) ללקוחות.
    • אבל אנחנו כן אומרים להם מה אפשר לעשות.
    • זאת אומרת, אני לא נוגע - אבל אני יכול להגיד לך מה כדאי לך לעשות.
    • (רן) Fair enough . . . 
  • (דגן)  ובעצם, החלוקה הזאת היא ל-Bucket-ים, שתיארנו קודם - היא מאפשרת פתרון יותר חזק מאשר הפתרון הסטנדרטי, שאתה תגיד “אוקיי, המודל מפלה נשים, אז תיתן העדפה לנשים!”.
    • כי אז אתה בעצם פוגע בביצועים של המודל . . . 
    • ופה אתה יכול לעשות משהו שהרבה יותר גרנולרי (Granular).
    • אני לא צריך לתת העדפה לכל הנשים באשר הן - אני אזהה את המקומות שבהם יש בעיה ואני אטפל ספציפית בנקודות האלה.
      • זה יכול להיות שידנית מישהו מהבנק יעבור על המקרים האלה.
      • או אוטומטית - טיפול שונה באזור אחד, טיפול שונה באזור אחר.
(אורי) יש פה . . .  לתקן או להעשיר Data לאימון - זה לא בדיוק אפליה מתקנת. זה לא אותו דבר.
  • (דגן) נכון. אז קודם כל, אני אגיד שאנחנו לא מעשירים את ה-Data של האימון - אנחנו משתמשים ב-Data הזה בשביל לבדוק את המודל.
    • בשביל להצליח לבחון אותו בצורה יותר טובה.
(אורי) . . .  כדי להצביע ש”שם יש בעיה” .  . .
  • (דגן) נכון, כן. אחד השימושים בטכנולוגיה הזאת זה שאנחנו יכולים גם להגיד איפה חסר מידע, ודיברתם על זה גם קודם.
    • יכול להיות שיש לי איזורים שבכלל חסר שם ייצוג.
    • אז אני צופה - ואני יכול לבדוק את זה - שהמודל, יהיו לו ביצועים פחות טובים שם.
  • אז אחד ה-Output-ים הנוספים שאנחנו יכולים לתת הוא איפה כדאי לך להוסיף Sample-ים, במידה וזה
אפשרי.

23:07 אתה יכול להסביר את זה?
(רן) אוקיי, בואי נדבר רגע על נושא אחר - נושא האקספליינביליות (Explainability). לצורך העניין, אני פקיד בבנק ואני רוצה עכשיו לבחון את האם ללקוח מגיע . . . אני רוצה לתת לו הלוואה, ואני מריץ את הנתונים במחשב - והמחשב אומר לי לא. אוקיי, מה אני עושה עם זה עכשיו? . . . אני רוצה איזשהו הסבר - למה הוא אמר לי לא? קודם כל, כדי  להבין, אולי זה טעות, ודבר שני - אולי אני גם צריך לנמק את זה, מתישהו. אוקיי?
עכשיו מקודם, אורי - אתה הצעת איזושהי שיטה של אולי לנסות ערכים שונים ולראות מה יצא. להזיז קצת ימינה, להזיז קצת שמאלה - לשיטה הזאת יש שם. קוראים לזה SHAP, פחות או יותר. זאת אומרת, יש שיטה ב-Machine  ,Learning שבעצם מנסה להסביר התנהגות של מודל על ידי ניסיונות. היא קצת יותר משוכללת מזה, אבל
בגדול היא יודעת לעשות את זה.
אבל מי שאי פעם ראה SHAP, יודע שזה לא משהו שהוא רוצה להציג לפקיד בבנק. אוקיי? . . . . השאלה היא איך כן
מסבירים מודל עם 100 . . . עם וקטור באורך 100 של Input ואיזשהו Output שהוא לא יודע, איזשהו מספר Float או Whatever. איך אתה בכל אופן מנגיש אקספליינביליות (Explainability) של מודלים כאלה ללקחות-קצה, שהם לא אנשי Machine Learning או Data Science?
  • (דגן) אז אם אנחנו חוזרים ל-Bucket-ים של קודם, אז אנחנו יכולים להגיד בדיוק באיזה Bucket הלקוח הזה נופל.
    • גם אם זה לקוח חדש, שלא ראיתי אותו באימון ולא ראיתי אותו בשום שלב אחר.
  • ואני יודע מה מאפיין את ה-Bucket הזה - 
    • אני יודע איזה פיצ'רים חשובים שם, אני יודע איזה פיצ'רים לא חשובים שם.
  • אני גם יודע להגיד יותר מזה, כי אני בעצם אומר “אוקיי, אני רואה איפה נקודה של ה-Sample הזה, של הלקוח הנוכחי, נפל” - והוא באמת לא קיבל משכנתא.
    • אבל אני יכול מאוד בקלות להסתכל מסביב, ולראות מה הוא צריך לשנות כדי כן לקבל את המשכנתא הזאת.
    • זאת אומרת, מה המסלולים - מסלולים בגרף הזה - ההכי קצרים, בשביל להגיע מ”לא” ל”כן”.
(רן) אם זה נגיד שינוי ברמת ההכנסה, לצורך העניין, או שינוי באזור המגורים, או הורדה קלה בערך או בעלות המשכנתא, או משהו כזה.
  • (דגן) וזה כבר הסבר שבנק יכול להבין - ויכול להנגיש אותו ללקוח.
(רן) כן - וזה גם Actionable-י. זאת אומרת, הלקוח יכול כנראה לעשות עם זה משהו . . .

(אורי) . . . יש לו מה לעשות עם זה, כן. אבל אני רוצה לדבר על הנושא של ה-Auditing, בסדר? שינוי במודל, או ב-Training של המודל, יכול פתאום לגרום לבנק או לחברת ביטוח לשנות את מדיניות החיתום שלה. ובסך הכל מה קרה? אימנו מודל . . . עכשיו, בחוקים של Auditing, של בקרות - זה “Big No-No”.
אז איך מתמודדים עם זה?
  • [דגן] אז קודם כל אני אגיד שזו אחד הסיבות שהגופים האלה - הם לא יכולים לעשות, נגיד, מודלים שלומדים On” the Fly”. 
    • הם לא יכולים לעשות Online Learning משום סוג - כי אסור להם, בשורה התחתונה.
      • אבל גם אם היה מותר להם - הם לא היו עושים את זה, בדיוק מהסיבות האלה.
    • אני לא רוצה לגלות יום אחד שהמודל שלי טעה, והיו דוגמאות ל...
(אורי) פשוט אין לי את מי להאשים . . . .
  • (דגן) אתה מאשים את ה-Data Scientist בסוף . . . 
(אורי) לא, המודל טעה”, כאילו...
  • (דגן) נכון, וזה באמת פחד מאוד גדול של כל החברות האלה.
    • וזה לא רק בבנקים - זה באופן כללי.
    • הרצון לדעת איפה אני יכול לסמוך על המודל - ואיפה אני פחות יכול לסמוך על המודל.
    • וזה מאוד חשוב.
    • ושוב, מאותם כלים שדיברנו עליהם קודם - זה עוד מידע שאפשר להפיק אותו.
  • הפתרון שלנו, או פתרונות דומים, “ממפים את המרחב” בעצם
    • ויכולים להגיד לך “באיזור הזה יש לך סיכון יותר גבוה”
      • “סיכון” במובן “שהמודל יטעה”, או שהמודל יעשה את מה שלא חשבת.
    • באיזורים אחרים, אתה יכול לסמוך על המודל.
      • כי למרות שזה איזור מורכב - מבחינת הצורה של המודל וכו - הוא אמין באיזורים האלה.
      • “כשהוא אומר אז הוא צודק במה שהוא אומר”
  •  עכשיו אתה שואל “אבל איך אני יודע שההסבר או הצורה שבה המודל חושב היא נכונה, ושהיא תואמת את מה שאני רוצה ואת המדיניות חיתום שלי”?
    • ופה עוד פעם נכנס ה-Explainability הזה לתמונה - ואחד הדברים שאפשר לעשות . . . 
    • אם אתה עכשיו ממפה את כל המרחב ויש לך את ה-Explainability עבור כל נקודה במרחב, אחד הדברים שאפשר לעשות זה להסתכל עכשיו על כל ההסברים האלה ולראות האם הם הגיוניים.
    • אז אני למשל יכול לקבץ אותם ל-Cluster-ים ולהסתכל על כל Cluster ולהגיד “אוקיי, זאת המדיניות שלי בעצם - ה-Explainability של ה-Cluster זה המדיניות”.
      • זה אומר “ גיל מעל ככה וככה והשכלה כזאת וכזאת” - וזה מה שמשפיע על החיתום, “כן” או “לא”.
      • זה Cluster אחר - הוא מתנהג אחרת.
    • ואם עכשיו יש לי Sample-ים שהם לא מתאימים לזה
      • אז א' - אני יכול לראות שה-Explainability שלהם שונה, שיש לי פה איזו אנומליה, משהו שהוא חורג ממה שאני מכיר
  • (אורי) ואת זה גם אפשר לבדוק אוטומטית . . . 
      • (דגן) ואת זה אפשר לבדוק גם אוטומטית וגם ידנית - זאת אומרת, יש לי משהו חורג, אז א' - אני יכול להגיד “רגע רגע רגע -  בוא נעצור”, ובמקרה “הקיצוני” נקרא לזה, יבוא הבנאדם, יבוא הבנקאי, ה-Domain Expert, יסתכל על ההסבר ויגיד “הגיוני” או  “לא הגיוני”, “אני מקבל את זה” או  “אני לא מקבל את זה”
  • (אורי) . . . או שבעצם המטרה של האימון של המודל הייתה לתקן את הבעיה הזאת והזאת - זה באמת קרה, ולא נגרם שום נזק אגבי אחר.
      • (דגן) נכון.
  • (דגן) ואגב, גם בדרישות של הרגולציה, והיום זה ניהיה נושא מאוד חם, הרגולציות שיוצאות - האם זה טוב לשלוט על ה-AI, האם זה לא טוב לשלוט על ה-AI - דיון סוער בכל העולם, אבל בפועל זה קורה, רגולציות קורות.
  • אז אחד הדברים שאומרים שם ברגולציה זה לא שאסור לך לעשות שום דבר ולא שאסור לך להפלות אף אחד באוכלוסייה - אבל “אתה צריך להראות לנו את ה-Tradeoff”.
    • אתה צריך להראות לנו “מה היה קורה אם” -  כי אם עכשיו היית מפלה אנשים פחות, כמה אתה היית מפסיד מזה? כמה העסק שלך היה נפגע מזה?
    • ויש להם איזה כללים, למתי זה בסדר ומתי זה לא בסדר.
    • ועכשיו אתה צריך להוכיח שזה באמת המצב . . . 
(רן) קודם כל שבדקת . . . 
  • (דגן)  . . . קודם כל שבדקת . . .  ופה עוד פעם, אם אני חוזר לסימולציה - פה עוד פעם נכנסת הסימולציה הזאת לתמונה - אני יכול לסמלץ (Simulate)
    • פעם אחת את המקרה הזה ופעם אחת את המקרה הזה - ולהראות ממש סטטיסטית את ה-Tradeoff הזה.
  • בסוף, אנחנו נותנים מספרים, נתונים . . . . כל מה שאנחנו עושים בזה בסוף זה חישובים מתמטיים, זה סטטיסטיקות
    • ואנחנו מוצאים את הדוחות האלה כפירוט-טכני, שאחר-כך אפשר לתרגם את זה לכל מיני שפות
      • לשפה של עורך הדין, לשפה של מי שזה לא יהיה . . . .

30:54 תקרת-הזכוכית והדברים היותר “Cool-יים”
(רן) אני שם רגע את הכובע של איש ה-Data Science או ה-Machine Learning - ונשמע לי שהפתרון הזה יכול לעבוד בפועל על מודלים יחסית פשוטים, מה שנקרא מודלים של Machine Learning “קלאסי” - אם זה עצי-סיווג
או רגרסיה-לוגיסטית או דברים בסגנון הזה, ואולי גם לדברים קצת יותר מתוחכמים. אבל “אין מצב” שזה יעבוד עבור Deep Neural Networks או כל הדברים ה-Cool-יים שפועלים היום. זאת אומרת, אם אני בתור בנקאי, ורוצה לשים איזשהו מודל Chat שיבוא ויסביר ללקוח האם הוא זכאי או לא זכאי ומה הוא צריך לעשות כדי כן להיות זכאי למשכנתא, כנראה שהכלים שלכם לא יכולים לעזור לי שם . . . 
(אורי) אבל השאלה, רן, האם צריך כלים כאלה? . . . 
(רן) לא משנה, עזוב, אני לא איש-המוצר כרגע - אני איש ה-Machine Learning . . . 
(אורי) . . . אתה מחפש משהו Cool לעבוד עליו? . . . 
(רן) כן . . . . לא, אז מה שאני שואל בעצם זה מהי כרגע תקרת-הזכוכית שלכם? זאת אומרת, לאיזה סוג של מודלים זה יכול לעבוד ואיפה אתם יודעים שפשוט לא כדאי לנסות אפילו?
  • (דגן) אז קודם כל אני אתחיל בזה שזה בעצם תלוי בהגדרת הבעיה ולא באיךאתה פותר את הבעיה.
  • זאת אומרת, אם הבעיה שלך היא לקחת כמה עשרות או מאות פיצ'רים (Features), ולקבל בסוף פרדיקציה (Prediction), כמו שדיברנו קודם - אז “לא אכפת לנו” אם אתה תפתור את זה עם Deep Neural Network או עם רגרסיה-לינארית או עם “קבוצה של הודים” שידנית מהר-מהר-מהר נותנים לך תשובה [הם מריצים מודל בעצמם . . . .]
    • מבחינתנו, יש Input, יש Output - ואנחנו נדאג לכל מה שקורה באמצע.
  • אז במקרה הזה, הטכנולוגיה היא . . .  ה-Framework שאיתו בנית את המודל לא מעניין אותנו.
  • אבל כמו שאמרת, יש... 
(רן) אז ה-Output הוא סיווג - “כן” או “לא”, או אולי איזשהו מדד Risk, מספר Float - אבל לא יותר מזה.  
אבל אם ה-Output הוא רצף של Token-ים, כמו שה-LLM מוציא - אז זה כבר סיפור אחר . . .
  • (דגן) נכון - וזה בעצם מוצר אחר לגמרי.
  • כל מה שדיברנו עד עכשיו זה מוצר מסוג א’ - ויש גם מוצר בעולמות האלה של ה-Generative AI.
    • ופה באמת הגדרת הבעיה ישנה וגם ההגדרת הפתרון ישנה - וגם הרגולציה ישנה . . .
    • זאת אומרת, אנשים - במקרה הזה לא מעניין אותם להגיד איזה Feature גרם לך להגיד מילה מסוימת.
      • האקספלנביליות (Explainability) פה היא בצורה אחרת.
    • פה בעצם מעניין אותך דברים כמו Hallucinations - איך אני יודע שמה שהמודל הוציא עכשיו זה אמיתי וזה לא סתם איזו המצאה שהוא”הזה”?
      • אני רוצה לדעת על מה זה מבוסס - נתת לי איזושהי תשובה בנית Chatbot או איזה דוגמה שאני לא ארצה - על מה זה מסתמך? איפה הרפרנסים (References) האמיתיים לדבר הזה?
(רן) הנה, אתה רואה, אורי -  זה לא רק אני! הם בונים מוצרים, זה לא רק אני מדמיין . . . 
  • (דגן) וזה . . . בוא נגיד שאם הגופים המאוד Regulated הם עדיין בעולם של ה-Machine Learning “הקלאסי”, אז הרבה חברות אחרות הן באמת כבר מאמצות טכנולוגיות יותר מתקדמות.
    • ויש להן סט של בעיות אחרות - והתמודדות היא גם שונה.
  • ואגב - זה יכול להיות אותו גוף. 
    • כאילו, אותו “בנק דמיוני” שדיברנו עליו קודם - כשהוא צריך לתת הלוואה, אז הוא משתמש במודל המאוד פשוט . . . 
(אורי) . . . כי התשובה שם היא “כן” או “לא”.
  • (דגן) כי התשובה שם היא “כן” או “לא”.
(אורי) . . . לא צריך פה לכתוב נאום לקונגרס . . .
  • (דגן) . . . וכשהוא מפעיל שירות-לקוחות, אז הוא רוצה איזשהו Chat Bot GenAI מתוחכם - וגם שם יש עכשיו כבר  . . .
    • הרשת מלאה בדוגמאות של לקוח ששכנע את ה-Chatbot למכור לו רכב בדולר אחד - וברגע שה”Computer says Yes”, אז הוא מקבל את הרכב שלו בדולר אחד. 
    • (דגן) נכון . . .
  • אז יש - הדוגמאות הולכות ומצטברות, לדברים האלה - והחברות באמת נלחצות מזה, ובצדק.
    • זאת אומרת, הבעיות הן אחרות, הפתרונות הם אחרים - אבל המהות היא אותה מהות: “אמון”. 
    • “איך אני יכול לסמוך על המודל הזה, ששחררתי אותו לחופשי, שלא ימכור לי כרטיס טיסה במחיר מופחת או כל מיני דברים אחרים” . . .
    • שלא יקנה בית . . . אחת הדוגמאות המוכרות - שלא יתחיל עכשיו לקנות בתים ולגלות שאין משהו שעומד מאחורי זה ואני אפסיד מיליונים . . . 
    • (רן) איך קראו לחברה הזאת? חברת הנדל”ן הזו? שכחתי . . .  
    • (דגן) Zillow?
    • (רן) כן, Zillow . [ד”ש - Why the iBuying algorithms failed Zillow, and what it says about the business world’s love affair with AI]

35:10 עוד סוגי חברות ו-Domains
(רן)  אוקיי אנחנו ככה כבר לקראת הסוף בואו נעשה איזשהו סיכום. אז דיברת על חברות שיש להן מודל Risk גבוה,
ודיברנו בעיקר על פיננסים - במקרה, סתם -  אני משכתי לשם. אבל מה עוד יש שם ב-Domain הזה? איזה עוד סוגי חברות?
  • (דגן) אז כל חברה שיש לה סיכון גבוה, בעצם. 
    • זה יכול להיות חברות ביטוח, זה יכול להיות חברות ביטחוניות, זה יכול להיות חברות רפואיות . . . .
    • מפעלים שהם, שוב - ב-High risk.
(רן) ובשבילכם זה Same-Same? כאילו, אתם יכולים לעבוד עם כולם? אתם לא צריכים אדפטציות (Adaptions)?אתם-עצמכם לא צריכים להיות Domain-Experts בכל אחד מהם?
  • (דגן) אז יש פה שני אספקטים. באספקט של ה-Deep Tech - מספרים.
    • יש לי Data-set אחד עם מספרים, שקראתי לזה “מודל חיתום”, ו-Data-set אחד עם מספרים שקראתי לו . . . לא יודע מה, “Digital Health” . . .
(אורי) אבל במקום הזה, ה-Domain העיקרי שהמודלים האלה מתעסקים בהם זה הערכת ריסק? או לא קשור?
  • (דגן) לא, לא קשור. 
  • אבל אז אני אומר - מבחינת הטכנולוגיה, “מתחת למכסה-המנוע”, “לא אכפת לי” מה המודל אומר, לא אכפת לי הסמנטיקה.
    • אני יודע מה נכנס, אני יודע מה יוצא - זה מספיק.
  • כמוצר - זה כבר מעניין.
    • כי בסוף, אם אתה מדבר על בנקאי - הוא רוצה לדבר בשפה של בנקאים . . . 
(רן) צריך להבין מי הלקוח, גם לדעת איך למכור לו .. . 
  • (דגן) נכון, ואנחנו סטרטאפ קטן, אתה לא יכול “להתפזר על כל העולם”.
    • ופה אתה רוצה כן לעשות את הספציפיקציה (Specification) הזאת.
  • כאילו, כמוצר אתה תגיד “אוקיי, אני עכשיו אתן אתן מוצר ל-Fair-Lending: הוא מתאים לרגולציה של Fair-Lending, הוא בודק ריסקים (Risks) של Fair-Lending, וכו’.
    • או לחילופין, מוצר שהוא . . . לא יודע מה - ביטוח סייבר!
(רן) אוקיי, והלקוחות שלכם, שאתם עובדים איתם - הם בישראל? חו”ל? מה?
  • (דגן) בעיקר בחו”ל, בעיקר צפון אמריקה. זה ה-Go-To Market.
  • הסיבה לזה היא כוח אדם - צריך להתמקד, שגם לנו יהיה את ה-Expertise הזה.
    • בסוף, אני בצוות הטכנולוגי - אבל צוות של ה-Business, חוץ מהדברים הרגילים שצוותי Business עושים, הם גם צריכים להיות מאוד מאוד עם היד על הדופק.
      • במובן של איזה רגולציות יוצאות, איזה רגולציות עומדות לצאת.
  • ואם עכשיו פתאום בכמה חודשים אחרונים, פתאום ה-EU-AI Act, שזה “ה-GDPR החדש” - הרגולציות בעצם על Machine Learning של האיחוד האירופי - יצאו כבר, בעצם זה כבר שהמדינות חתמו עליהם.
    • עכשיו בונים איזשהו Timeline ליישום שלהם,
  • אז “פתאום כולם קופצים” . . .
(רן)  כולם מחפשים פתרונות - ואתם מגיעים עם מוצר חם לשוק.
  • (דגן) נכון. אז אם לפני שנה-שנתיים, אנחנו היינו צריכים להסביר מה זה, ולמה זה טוב, ולמה צריך את זה - אז עכשיו באים אלינו, ואומרים “רגע, יש לכם פתרון עבור הדבר הזה, שהולך ליפול לנו על הראש?”

38:14 יש מתכנתים ברפת?
(רן) אוקיי, אז אתם מגייסים? מחפשים אנשים? מחפשים עובדים?
(אורי) אם אתם רפתנים לשעבר, אז...
  • (דגן) רפתנים שיודעים לתכנת . . .
(רן) איפה אתם יושבים?
(רן) יפה. אז תודה רבה - ושיהיה בהצלחה.
מי שמעניין אותו לעשות Machine Learning קצת יותר בטוח, לעולם בטוח יותר - אז דברו עם דגן.
להתראות, תודה רבה.
 האזנה נעימה ותודה רבה לעופר פורר על התמלול!

אין תגובות:

הוסף רשומת תגובה