יום ראשון, 30 ביולי 2023

463 Synthetic data generation at ActiveFence


פודקאסט מספר 463 של רברס עם פלטפורמה - הוקלט בתאריך ה-25 ביולי 2023. אורי ורן מארחים באולפן בכרכור, בשיא גל החום, את אייר ואת מאיה מ-ActiveFence לשיחה על Data Science - ובעיקר, ספציפית, על איך מג’נרטים (Generate) דאטה - ולמה, עם כל ה-Data שכבר יש בעולם . . .



01:23 מאיה ואייר 
(רן) אז כמה מילים עליכם, מאיה ואייר ,ואחר כך גם על החברה  - Shoot:
  • (מאיה) אז אני מאיה, אני Data Scientist-ית ב ActiveFence כבר שנתיים וחצי בערך
    • כשל-ActiveFence הגעתי ככה ישר מהטכניון - סיימתי שם את המאסטר שלי בתחום NLP.
    • וזהו . . . אייר?
  • (אייר) אני עם מסלול קצת דומה - גם עשיתי תואר שני ב- Data Science בטכניון
    • אחרי זה עבדתי שנתיים באינטל בתור Data Scientist
    • ואז הצטרפתי ל-ActiveFence - גם עם היכרות מוקדמת עם מאיה.
    • (מאיה) אני הבאתי אותך ל-ActiveFence  . . . 
    • (אייר) לגמרי, לגמרי
    • (רן) ונראה שקיבלת את מה שהיית צריכה
    • (מאיה) לגמרי.
02:07 ו-ActiveFence
(רן) אוקיי, ו- ActiveFence, למי שלא מכיר?
  • (אייר) אז ActiveFence זה סטארט-אפ ישראלי, שבעצם מתעסק בניטור של תכנים זדוניים ברשתות שיתוף-תוכן
  • אפשר לחשוב בקלות על רשת שיתוף-תוכן - לא ניכנס פה לשמות ספציפיים וכאלה, אבל כל רשת שמאפשרת ללקוחות הקצה שלה להעלות תכנים
    • אם זה תכנים טקסטואלים או ויזואלים - סרטונים, תמונות
    • בעצם חשופה, באיזושהי מידה, לתכנים פוגעניים - תכנים שעלולים לפגוע
      • גם במשתמשים האחרים
      • וגם, כמובן, ב-Lag הבא - גם במפרסמים, שהם מתקשרים לכל מיני דברים כאלה
    • ולכן הפלטפורמות האלה רוצות להימנע מתכנים זדוניים אצלן במערכת.
  • וכאן בעצם אנחנו - החברה, ActiveFence - נכנסים לתמונה
    • אנחנו יודעים לזהות תכנים כאלה - ואם אנחנו רוצים לעשות את זה ב-Scale, אנחנו צריכים גם להשתמש בשיטות של AI, Machine Learning, כדי לזהות את התכנים האלה.
(רן) והן [החברות] לא עושות את זה בעצמן? זאת אומרת, למה הן צריכות אתכם כדי לעשות את זה?
  • (אייר) זו שאלה מצוינת . . . 
  • יש לנו בעצם כמה סוגים של לקוחות
    • יש לקוחות גדולים, שיש להם גם כל מיני דברים שהם עושים בעצמם - ועדיין נעזרים באנו בתחומים שבהם אנחנו באמת איזשהו . . . 
      • (מאיה)  . . . יש לנו מומחיות בהם . . . 
    • (אייר) . . . ויש חברות יותר קטנות - לא ”ענקיות הטכנולוגיה” - שעדיין יש להן מאות-אלפי ולפעמים מיליונים של משתמשים
      • החברה עצמה היא לא גדולה, והם לא מתעסקים בעצמם בדברים כאלה - של ניתוח-תוכן ורמת הפוגעניות שבו
      • ולכן הם צריכים חברה חיצונית שתעשה את זה.
(אורי) ובתוכן - אנחנו מדברים על טקסט, וידאו ותמונה?
  • (אייר) ו . . . .
  • (מאיה) נכון, וגם תכנים מורכבים - זאת אומרת, שמכילים גם איזושהי תמונה; גם איזשהו Title לתמונה; גם Comment-ים על התמונה או על הVideo; ה-User שהעלה את התמונה, לדוגמא . . . .
  • (אורי) זאת אומרת, האם ה-User עצמו הוא . . .
  • (מאיה) נכון - אם יש לנו איזשהו ידע מוקדם על ה-User, או כל מיני Feature-ים כאלה ואחרים . . . . כן, לגמרי.
  • (אייר) וגם ה-Audio - זה עוד Media-type שאנחנו מתעסקים בו לא מעט גם
      • ב-Video יש כמובן גם את ה-Audio Track - אבל גם יש Audio לבד, שגם שם יכול להיות . . .
    • (אורי) Speech-to-Text או כאלה . . .
    • (אייר) לגמרי . . . . גם דברים שאנחנו מתעסקים
  • אני יכול להסביר גם קצת על מה זה בכלל אומר “תוכן פוגעני” - כמובן לא ניכנס לדוגמאות ספיציפיות, אבל . . .
    • (אורי) בגבולות הפוגעניות של הפודקאסט . . . 
    • (אייר) אז זה יכול להיות באמת קידום של אלימות, של טרור
    • זה יכול להיות קידום של פגיעה בילדים
    • גזענות, אלימות . . . 
    • ובאמת - מגוון די רחב של פגיעה.
(רן) אבל אני מניח שיש קטיגוריות ספציפיות שאותן אתם מחפשים -זאת אומרת, לא משהו ש”בוא -  נחפש מי נפגע!”
  • (אייר) לגמרי, לגמרי, יש מגוון
  • אבל גם שם - הדרישה היא למגוון של . . . אנחנו קוראים לזה Violations שונים
    •  זאת אומרת, מה הפגיעה?
    • כי גם לקוחות, פלטפורמות מסוימות, מסכימות לאיזשהו סוג של פגיעה
      • אם היא אולי קלה יותר
    • אבל לא מסכימים לדבר אחר
      • זאת אומרת - אם זה פלטפורמות של נגיד ילדים, אז שם ברור שהרף הוא הרבה יותר מחמיר
  • (מאיה) כל לקוח - מעניין אותו למנוע סוג תכנים שונה בפלטפורמה שלו
    • לדוגמא, פלטפורמה שמתעסקת בתכנים למבוגרים, אז פחות מעניין אותה לתפוס תוכן מיני כזה או אחר
    • ופלטפורמות אחרות לא רוצות שתוכן כזה . . . . סתם, לדוגמא הכי פשוטה
(רן) כן, וצריך היה גם לומר בהגינות שיש חלק מהפלטפורמות שאולי דווקא נהנות מהתוכן הזה, באיזה אופן מסוים

06:05 רגולציה? Fake News?
(רן) מעניין, יש רגולציה בעולם הזה? זאת אומרת, יש משהו שגורם להם להסיר את התוכן הזה?
(אורי) יש רגולציות - יש ממש קטגוריות,  של תכנים מסוימים ל . . . 
  • (אייר) אז לגמרי - זה עולם.
    • אנחנו לא המומחים בו - אנחנו מתעסקים באלגוריתמיקה . . . .
(רן) תיכף נכנס לטכנולוגיה . . . .
  • (אייר) . . . אבל לגמרי - זה עולם שמתפתח
      • ויש יותר ויותר רגולציה ממש על כל . . .  
    • אני חושב שחייבים לספק יכולת למשתמש-הקצה, לדווח על תוכן בעייתי
      • ויש איזושהי רגולציה שאומרת תוך כמה זמן צריך להסיר את התוכן הזה
      • (מאיה) לפי הגודל של הפלטפורמה, כל מיני. . .
    • (אייר) . . . . וזה משהו שעכשיו באירופה מתפתח - ומשם אולי גם לשאר העולם
(רן) בסדר גמור . . . . אני מודה שבשבועות האחרונים אני לוחץ על כפתור ה-”Report” ב-Twitter [התכוונת X . . . ] לפחות עשר פעמים ביום . . . .
(אורי) אז זה אתה, שנמצא ב-Twitter? . . . .
(רן) גם שם   . . . .

(אורי) אבל יש אתגר חדש, של השנים האחרונות - שזה תוכן שהוא Fake News, לא אמיתי . . . 
(רן) סיפור אחר . . . . עולם אחר, אני מנחש . . . .
(אורי) אתם שם גם או . . . 
  • (מאיה) נכון, האמת שאחד ה-Violation-ים שלנו זה באמת מיס-אינפורמציה, דיס-אינפורמציה (Misinformation, Disinformation)
    • לדוגמה, בתקופת הקורונה זה היה דבר מאוד חזק
    • בתקופת הבחירות בארצות הברית . . . 
  • יש לנו גם ממש מחלקות שלמות ב-Delivery של מומחים, שמתעסקים בדברים האלה
    • זאת אומרת, שמתמקצעים על כל איזשהו טרנד כזה - ונכנסים אליו חזק
    • ואם צריך - מעבירים גם את הידע אלינו.
  • יש לנו גם מודלים כאלה, כן
    • יש לנו, נגיד, מודל של מיס-אינפורמציה (Misinformation) שמנסה לתת התראה על תכנים כאלה, שמפורסמים ברשות.

07:55 עוד תוכן פוגעני? Welcome to the Machine
(רן) אוקיי, אז בואו נדבר קצת ונצלול לטכנולוגיה - אתם, למעשה, מוצאים את עצמכם כשאתם צריכים לג'נרט (Generate) תוכן. עכשיו, כאילו שחסר תוכן פוגעני ברשת . . . . 
אז מה בעצם גורם לכם . . . או אולי תתארו לנו קצת את ה-Pipeline של איך שאתם מלמדים את המכונה - ואיפה חסר Data או איזה סוגים של Data חסרים.
  • (אייר) לגמרי . . .  אז אולי נתחיל באמת באיפה שאנחנו נכנסים, כקבוצת Data, לסיפור של החברה
  • אז באמת, החברה התחילה כאיזושהי חברה שיש בה יותר צד של Professional Services
    • אבל שרוצים לעבוד ב-Scale, אז חייבים קבוצה חזקה של R&D ו-Data ואלגוריתמיקה - שזה בעצם מה שהקבוצה שלנו עושה בחברה.
  • בעצם, יש לנו מודלים שצריכים - רוצים - לתת ציון של [עד] כמה תוכן מסוים
    • בין אם הוא תמונה או בין אם הוא טקסט
      • או תוכן מורכב, כמו שמאיה אמרה - שמכיל כמה סוגי Media
    • [עד] כמה הוא פוגעני ללקוח
    • ואנחנו בעצם מאמנים את המודלים האלה
  • ובאמת, פה נכנס העניין של “למה בכלל לג'נרט (Generate)?” יש Data, אפשר “לאסוף אותו מהאינטרנט” ולהשתמש בו כדי לללמד את המודלים . . . 
  • בעצם, אנחנו פגשנו את זה בשתי סיטואציות שונות - את הצורך לג'נרט דאטה (Data Generation)
    • נתחיל אולי בתמונות - בתמונות, אנחנו מנתחים תמונה, ואחד הדברים שאנחנו מנתחים בתמונה ומחפשים זה Logo-אים של ארגונים מסוימים, שמפיצים תוכן בעייתי
    • (רן) ארגוני טרור, לדוגמא, אני מניח . . . .
    • (אייר) לדוגמא - ארגוני טרור, ארגוני שנאה . . .
      • (מאיה)  . . . כשארגונים כאלו אוהבים להפיץ את התכנים שלהם עם איזושהי  “סטמפה” (Stamp) כזאת . . . 
      • (רן) כן, הם רוצים שידעו שזה שלהם - לא רוצים “סתם” . . . .
      • (מאיה) לגמרי
    • (אייר) לגמרי . . . ולפעמים זה מה שעוזר מאוד - גם להבין שהתוכן הוא בעייתי וגם להסביר לאותה פלטפורמה למה -
      • למה אנחנו חושבים שהתוכן בעייתי
      • סוג של Explainability, של ה-Score של המודל
      • (רן) “תראה לי את הלוגו” . . . .
      • (אייר) כן - מצאנו לוגו, ומה זה הלוגו הזה? לוגו של איזשהו ארגון, שאנחנו כבר מכירים אצלנו
    • מאיה אמרה את השם [המפורש!] “Delivery” - זה מין ארגון כזה, שהוא מקביל ל-R&D, של ה- Professional Services
      • שם יושבים ה- Domain Experts
      • שבעצם עוזרים לנו לפתח מומחיות ולאסוף Data בתחומים כאלה
      • (רן)  . . . שהם מכירים את כל ה-Bad Guys בעולם . . . 
      • (אייר) לגמרי, הם מכירים מקרוב . . . 
    • ובעצם, אנחנו רוצים למצוא עכשיו, ב-Scale, את ה-Logo-אים האלה - בתמונות
      • יש Logo-אים שיותר קל - יותר קל למצוא Data עבורם
        • למשל, צלב-קרס זה אחד ה . . . 
    • (רן) אז לפעמים פשוט “לא מעניין אותך” להבין מה יש בתמונה - בין אם זה בנאדם, כלב, מכונית או רצח כלשהו . . . . כל מה שמעניין זה אם יש את ה-Logo או לא
    • (מאיה) נכון - וזה נכנס בעצם כ-Feature
      • זאת אומרת, כן יש עוד דברים שגורמים לנו לתת את ה-Score
      • כמו מה שציינתי מקודם, או שאייר ציין, אני לא זוכרת - שיש באמת אלגוריתמים של זיהוי פרצופים בתמונה או ניתוח של הטקסט, של ה-ה-Title של התמונה, של ה-User שהעלה . . . 
      • והלוגו הוא בעצם אחד מה-Feature-ים האלה, שיעזרו לנו לשקלל את הציון הכולל של המודל.
    • (אייר) כן, אנחנו קוראים לזה בעצם אינדיקטורים (Indicators) - זאת אומרת, משהו “שמדליק נורה אדומה” על אותו תוכן
      • ובסוף יושבת עוד שכבה של מודל, שמתייחס לכל האינדיקציות האלה - ונותנת Score משוקלל.
  • (אורי) אבל זה ברמה של יש / אין -  הלוגו?
    • (מאיה)  - ואיזה . . .
    • (אורי) ברור
    • (אייר) לגמרי . . . .
    • (רן) למרות שגם צלב-קרס במזרח זה סיפור אחר, עניין של תרבות כמובן . . . .
    • (אייר) יפה, על ההיכרות והאבחנה . . . .
      • לגמרי, אז נכון צלב-קרס - יש פה איזושהי מורכבות, אבל בסך הכל אנחנו מדברים על Logo שמאוד קל לאסוף עבורו מספיק תמונות, לתייג כמו שצריך, לתייג לאותו אלגוריתם - וללמד אותו איך נראה צלב-קרס.
(רן) אבל למה לג'נרט (Generate)?
  • (מאיה) כי בניגוד ל-Logo-אים כאלה, שהם מאוד מוכרים ואפשר למצוא גם בחיפוש פשוט ברחבי האינטרנט, Logo-אים  של קבוצות או ארגוני-טרור יותר איזוטריים [שעוד אין להם איש Social . . . .] או של הפקות של תכנים אלימיים, שככה באמת לא הרבה אנשים מכירים
    • ואלה באמת Logo-אים שיותר קשה למצוא תמונות או מופעים שלהם ברחבי האינטרנט.
    • ואז אנחנו צריכים לייצר תמונות עם Logo-אים כאלה - כדי לתת לאלגוריתם שלנו בעצם Data, שידע לזהות את אותם Logo-אים.
(אורי) לדעת מהו ה-Logo אתם כנראה תדעו, או שתיהיה לכם דוגמא - אבל לא יהיו לכם מספיק דוגמאות . . .
  • (מאיה)  נכון - תיהינה דוגמאות בודדות, במקרה הטוב.
  • (רן) כן, אז פה אולי צריך להסביר למי שלא מתעסק ב-Computer Vision או ב-Machine Learning באופן כללי
    • אם תראו לילד דוגמא פעם אחת, אז הוא כנראה יבין - זה מה שנקרא One-Shot Learning
    • אבל מחשב ברוב המקרים לא יודע ללמוד מדוגמא אחת - הוא צריך המון דוגמאות
      • זה יכול להיות אלפים, לפעמים מאות-אלפים או מיליונים
      • בזוויות-תאורה שונות והיטלים שונים וכו' וכו'
  • (אייר) בדיוק, בדיוק . . .  אז באמת, מספר דוגמאות בודדות זה לא מספיק לנו
    • אנחנו כמובן רוצים לאמן מודל וגם לבדוק אותו . . .
    • (רן) אולי הסתרה מסוימת של ה-Logo, הסתרה חלקית . . . 
    • (אייר) כן, זה נכנס, בדיוק - אנחנו רוצים באמת לבחון אותו בכל מיני מצבים, לאמן אותו בכל מיני מצבים
    • ופה בעצם - עבור אותם Logo-אים שהם לא  . . .  נקרא לזה ה-” First Tier”, זאת אומרת המאוד מוכרים בעולם - אז פה אנחנו צריכים לצלול ובעצם לייצר למודל דוגמאות כאלה
      • בשביל שילמד - ובשביל שבסוף, ב-Production, נצליח לזהות
    • ופה בעצם יש גם איזשהו . . . שאלת קודם אם יש חברות, שעושות כל מיני דברים - אז פה בעצם בא איזשהו יתרון-תחרותי שלנו, עם היכרות של המרחב [באופן] רחב יותר של אותו . . . . 
    • (רן) כן, זאת אומרת - למדתם על רשת אחת או איזשהו לוגו-שנאה מסוג אחד, אז אתם יכולים להפעיל אותו על כל הרשתות האחרות.
    • (מאיה) נכון, ויש לנו ממש קבוצה של אנשים, שזו המומחיות שלהם - זאת אומרת, שעשו את המחקר שלהם בתחומים האל ולגמרי יודעים להכווין אותנו בצורה מעולה.

14:22 איך עושים את זה?
(רן) כן, אוקיי - אז זה Use Case אחד של Data Generation: לוגו מסוים שאין לו מספיק מופעים באינטרנט, ואתם רוצים לייצר.
איך עושים את זה, בכמה מילים?
  • (אייר) אז בגדול - נכנסנו, ראינו איך נראה ה-Data,
  • וראינו שהרבה מה-Logo-אים האלה שאנחנו מחפשים - ההופעה שלו “בעולם האמיתי” היא די פשוטה
    • בעצם, באה על ידי איזושהי עריכה מראש
    • סונתזה (Synthesized) לתוך ה-Media
    • זאת אומרת,  אפשר לחשוב עכשיו על Video כזה, עם ה-Logo של החברת-חדשות
    • ופה, כאשר “העולם האמיתי” הוא יחסית פשוט בהימצאות של ה-Logo, אז גם הג'ינרוט (Generation) פשוט יותר
      • ואפשר, בשיטות שאפשר לקרוא להן “Computer Vision קלאסי” או אפילו “עריכת תוכן בסיסית”, לשלב את ה-Logo הזה לתוך תמונות שהן לא התמונות מקוריות שבהן זה הופיע . . . 
    • (רן) זאת אומרת שלא צריך Midjourney בשביל הסיפור הזה . . . 
    • (אורי) כמו הכנסה של Watermark או . . . .
    • (אייר, מאיה) לגמרי . . . .
    • (אייר) ושאם עושים את זה עם איזושהי רנדומיזציה (Randomization) - של מיקום, של הבלטה, של צבעוניות - אז זה כבר מצליח, המודל, ללמוד מאוד טוב ולתפוס את הדוגמאות
      • ב-Production וב-Test שהוא בעצם הדוגמאות האמיתיות.
      • וזה כבר הצעיד אותנו מאוד קדימה בלזהות Logo-אים.
  • כן יש אתגר ב-Logo-אים שהם מופיעים בצורה שהיא לא . . . . שהיא בעצם חלק מהסצנה
    • אנחנו קראנו לזה “3D Logos” או . . . . 
    • (מאיה) Logo-אים על דגלים, Logo-אים שממש מוטמעים ככה בתמונה . . . .
      • (אורי) על בגד . . . 
      • (מאיה)  בדיוק - על חולצות, נכון.
    • (אייר) ופה בעצם יש עבודה הרבה יותר מאתגרת - של בעצם לעשות תמונות שהן גם “אמיתיות”
      • ושאני אומר “אמיתיות” זה בסוג “מרכאות” . . . 
      • (מאיה) “בעירבון מוגבל”, כן
      • (אייר)  . . .  כי בסוף, אנחנו לא משחררים את התמונות האלה למשתמש - אנחנו . . .  
      • לא כזה חשוב לנו שבנאדם יחשוב שזו תמונה אמיתית - אנחנו רק רוצים שהמודל ילמד מזה ויצליח להיות  . . . “ללמוד מספיק טוב” וייקח את זה לדוגמאות אמיתיות.
(רן) זאת אומרת, נניח לצורך העניין שאתה מייצר תמונה שבן אדם, כשהוא מסתכל עליה, הוא לא יראה Logo - אבל המודל כן יראה לוגו, וזה עדיין ישפר את יכולת הלמידה שלו, את יכולת ההכללה שלו . . . 
      • [בהקשר הזה - שיחה מעולה בגיקונומי בהקשר של תמונות וההבדל בין הייצוג של תמונה ע”י מוח אנושי לבין גלי האור עצמם שמגיעים לעין - פרק #754 – אמנון כהן-תדהר]
  • (אייר) נכון
(אורי) או שאפילו, כאילו . . . . בנאדם יגיד “רגע, מה?” . . .  או שלבנאדם זה יהיה מוזר
(אורי) האמת שזה מזכיר לי - פעם ב-Outbrain רצינו לעשות סיווגים של טקסטים לקטגוריות, ואמרנו “אוקיי, עובד לנו מעולה טקסט באנגלית, נהדר - מה קורה עכשיו בכל מיני שפות איזוטריות אחרות?”
ומה שעשינו [זה ש]העברנו טקסט - בעברית או קוריאנית או לא משנה מה - דרך Google Translate. וזה ברור, כי כולנו קראנו טקסטים ארוכים שעברו Google Translate ואתה רואה שזה לא . . . . “לא לזה התכוון המשורר”, בלשון המעטה - אבל המודל עדיין “תפס” את הדברים החשובים בתוך הדבר הזה, ולא כל כך אכפת לו שש אצבעות . . . .
[אגב, מאוד מזכיר חווייה של בניית תמלול של רברסים על בסיס Output של Whisper . . . .]
  • (אייר) בדיוק - אני חושב שזה . . . . בסוף, אנחנו רוצים למדוד ולהצליח במשימת-קצה, שהיא פה זיהוי ה-Logo - ולא בג'ינרוט (Generation)
    • אז פה זה איזשהו שלב באמצע שבאמת שימש אותנו
    • וכן . . . 

18:04 המקרה המוזר של מודלי-שפה
(רן) אוקיי, אז Use Case של נגיד Logo ו”השתלה” של Logo-אים זה Use Case אחד מעניין.
אולי נדבר על דוגמא מעולם ה-NLP? איפה שם רוצים לג'נרט (Generate) ואיך זה עוזר?
  • (מאיה) כן, אז האמת ששם ג'ינרטנו (We Generated), בעצם כחלק מפרויקט של לבנות מודל Hate-Speech, שתופס Hate-Speech
    • עכשיו, מה זה Hate-Speech אצלנו? זה בעצם דברי-שנאה נגד קבוצות מסוימות - נגד יהודים, נגד מוסלמים, נגד השחורים, נגד קבוצת הלהט”בים . . . .
      • (אורי) כמה דוגמאות מהשבוע, אנחנו יכולים . . . .
    • (מאיה) כן . . . .לא, זה בכלל לא חסר לך באינטרנט, אתה אומר . . . . כאילו לג'נרט (Generate) מה קרה  לך, איפה את? . . . .
      • (רן) אין מספיק טוב באינטרנט, שצריך לג’נרט . . . .
    • (מאיה) לגמרי, לגמרי . . . .
    • אז כמו שאתם אומרים, אז כאילו אוקיי - פרויקט Hate-Speech, צריך מודל
    • חיפוש קצר בגוגל מביא אתכם לעשרות Data-אות - באמת, המחקר בתחום הזה פורה
    • אחלה, אנחנו אוספים Data Set ממש גדול, רובסטי (Robust) - ויוצאים לדרך
      • מאמנים איזשהו מודל ובעצם מתחילים לעשות איווליואציה (Evaluation) למודל - לראות איפה המודל טוב ואיפה המודל פחות טוב
      • ורואים דברים מאוד מוזרים, כמו לדוגמה זה שהמודל יחזיר לנו על כל משפט ש”הקהילה היהודית” מופיעה בו שזה Hate-Speech . . . 
      • המודל יחזיר לנו  . . . . זאת אומרת יש משפט “אני מאוד גאה להיות חלק מקהילת הלהט”בים” -  Hate-Speech!
      • “אני מאוד לא אהבתי את המסעדה הסינית הזאת” - Hate-Speech!
  • (אייר) כן, זה . . .  אחת הסיבות זה באמת ש Data-Set-ים בדרך כלל נאספים - זאת אומרת, מראש, לאיזושהי מטרה
    • ואם פה המטרה זה סיווג Hate של משפט מסוים, אז הם מראש נאספו לאיזושהי מטרה
    • ולכן הם מתקשים לייצג את העולם האמיתי בכללותו
(רן) כן . . .  זאת אומרת, במילים אחרות - הפיזור הסטטיסטי או היחס הסטטיסטי בין המילים שונה לחלוטין ב-Data Set שעליו התאמנתם עליו, מאשר ה-Data Set שאתם כרגע מריצים . . . 
  • (מאיה) לגמרי, לגמרי . . . .
(רן) אוקיי, אז מה עושים? אז איך מג’נרטים (Generating) משהו שהוא כן מייצג, סטטיסטית-נכון?
  • (מאיה) אז השתמשנו בכל מיני פתרונות
  • הפתרון הכי פשוט היה בעצם ממש לייצר Template-ים - לייצר בעצם משפטים
    • משפטים חיוביים, משפטים ניטרליים
    • שבהם אפשר יהיה להשתיל באופן גנרי (Generic) קהילות שונות
      • לדוגמא - “אני מאוד אוהב אוכל _____ ”
      • וככה, לעבור על הקהילות שאנחנו רוצים לתמוך בהן, ולהכניס אותן - להשתיל אותן במשפט.
(רן) אוקיי, זאת אומרת זה מייצר לך  דוגמאות שליליות . . . .
  • (מאיה) נכון, זה בעצם . . . . באמצעות הכנסת הדוגמאות אלה ל-Data-Set, אנחנו מקווים שהמודל שלנו “ילמד” להסתכל על ה-Context
  • (רן) זאת אומרת, הטכניקה היא בעצם “לתגבר” את ה-Data, “לאזן אותו”, באיזשהו מובן . . .
  • (מאיה) בדיוק - אנחנו רוצים לפתור את ה-Bias-ים האלה ב-Data, כדי שה-Bias-ים שהמודל למד - יפתרו. לגמרי . . . .
  • (אייר) כן, אז הראשון - קראנו זה “תיקון הטיות” - Biases - שיש לנו ב-Data המקורי - וזו הייתה השיטה הראשונה
  • כן אפשר להבין מה החסרונות שלה - היא כן . . . . 
    • (א) היא דורשת יד-אדם, שמייצר את הדבר הזה
    • ו(ב) - היא מוגבלת גם ע”י היצירתיות של האדם וגם בעצם היא . . . . כאילו אנחנו מכניסים למודל איזה סוג מסוים של טקסטים, וזה יכול בעצם כאילו, גם . . . .
      • שוב פעם - שאנחנו נצא מאיזון, לאיזשהו כיוון אחר, וככה נפגע במודל . . . 
(רן) כן, אז כאילו את המסעדות הצלתם - אבל את ברכות השחייה עוד לא, ואת המתנ”סים גם לא . . .  זאת אומרת, זה קשה . . .
  • (אייר) לגמרי, בדיוק - זה קשה לתקל ככה את כל המצבים
  • ואז בעצם עברנו לשיטה קצת שונה, של “אוקיי, יש לנו כבר לא מעט Data - בואו נשתמש בו ונעשה בעצם פרמוטציות (Permutations) שלו, בצורה חכמה, כדי לייצר מגוון רחב יותר של דוגמאות . . . 
  • (מאיה) . . . . זאת אומרת, לדוגמא - אנחנו רואים שה-Data שלנו, שממנו התאמנו, דווקא לא מוטה על איזושהי קהילה מסוימת
    • דווקא בקהילת המוסלמים, לצורך העניין, יש לנו מספיק דוגמאות חיוביות ושליליות שדי מייצגות את העולם האמיתי
    • אז בואו נשתיל שם, בקהילות שונות, במשפטים שהם מדברים על קהילת המוסלמים, נשתיל קהילות אחרות
  • וזה באמת כאילו להשתמש ב-Data שכבר אספנו וכבר תייגנו (Tagged)
    • זה (א) חסכוני . . . 
    • (מאיה ) . . . . פחות עבודה מאשר לייצר . . .
    • (רן) . . . . סוג של “Search and Replace”? איפה שכתוב “Muslim” הופכים ל-”Indian”, או משהו אחר, ו . . . . ?
    • (אייר) ויש פה . . .  שוב, כל שיטה היא לא מושלמת בפני עצמה - איזושהי בעיה שלא תמיד . . . . לפעמים, החלפה כזאת -  היא פוגעת בעצם ב-Label של המשפט, או פוגעת בהקשר שלו . . . .
      • (רן) אולי לפני זה זה היה פוגעני - ועכשיו זה לא, בגלל שהחלפת? . . . .
      • (אייר) בדיוק, או שינה Label או איבד קשר למציאות באופן כללי . . . .
    • ופה אנחנו נעזרנו בתיוג - אבל תיוג שהוא בעצם . . . .
      • (מאיה) . . . בינארי . . .
      • (אייר) בדיוק - בתיוג, ולא ב”יצירה” של אדם, אז זו משימה שהיא “יותר פשוטה”, ואפשר לזה . . .
      • גם זה עדיין לא היה מושלם . . .

23:46 הבדלים בתרבות-השיח ובעיות Cold-Start
(רן) אבל יש גם עניין של תרבות-שיח ברשתות שונות - זאת אומרת, למשל ב(רשת שהייתה ידועה בשם)-Twitter, תרבות -השיח, האורך של הטקסטים וגם סוג הטקסטים, שונה לחלוטין מזה שב-Facebook ושונה לחלוטין מהרשתות האחרות.
איפה זה . . . איך זה יכול יכול להילקח בחשבון?
  • (אייר)  לגמרי . . .
  • (מאיה) ה-Data-Set-ים שלנו - אנחנו משתדלים שהם יהיו כמה שיותר רובסטים (Robust)
    • זאת אומרת, שהם יכללו כמה שיותר Data-אות וכמה שיותר סוגי Data-אות
    • זאת אומרת, אנחנו לא מוציאים איזשהו Data שהוא “Open-Source-י כזה, באינטרנט הפתוח” ומשתמשים בו
      • גם אם יש בו אלפי דוגמאות, עשרות-אלפי דוגמאות או מאות-אלפי דוגמאות
      • ואומרים “יאללה - יש לנו מודל Hate-Speech!” 
    • אנחנו עושים עבודת-איסוף מאוד נרחבת ומאוד קשה - בדיוק בגלל הדברים האלה.
(רן) כן, אבל אם מגיע אליכם לקוח, חדש עם רשת יחסית קטנה - יש לכם את בעיית ה-Cold-Start, נכון? כי יכול להיות ששם, במקרה, המגבלה זה “50 אותיות, ולא יותר משתי אותיות במילה!” - כי הם כולם מדברים בקיצורים [Data מהצבא?] . . .  איך מטפלים בבעיית ה-Cold-Start הזו?
  • (אייר) אז עם הזמן, וזה באמת משהו שאנחנו בעצם שנינו, אבל גם החברה, כבר עובדים על זה תקופה
    • ועם הזמן, המודל הבסיסי, שכולם חולקים אותו, משתפר.
  • וזה גם משהו שאנחנו מייצגים ללקוחות - שכמה שתיהיה יותר איתנו, ככה אנחנו נדע להשתפר באופן ספציפי יותר על ה-Data, על סוג ה-Data כמו שלך.
    • זה איזשהו שילוב.

25:06 עתיות - בע’
(אורי) יש לי עוד שאלה - עוד אתגר - שמאוד קשור לדבר הזה, והוא גם בעיה שבאה מעולם התוכן, וזה עתיות - בע’ -  Timeliness - של ביטויים, בסדר? 
דוגמאות? - אנחנו כולנו חיים בסערה הנוכחית, בסדר? אני אהיה קצת פחות פוליטיקלי-קורקט  . . . 
(רן) תגיד רפורמה . . . 
(אורי) לא, אני לא אגיד רפורמה - אבל הרפורמה הוציאה כמה ביטויים ודוגמאות מאוד טובות, ש . . . סתם, תיקחו אמירה נוראה של גלית גוטמן שהייתה, על החרדים. אז ברור לי ש . . . . סליחה פה אם אני, זה כאילו . . . . “עלוקות, מוצצי דם “ - זה תמיד יהיה Hate,  נכון? זה - אין פה . . . .
אבל מילים כמו “רולקסים!” ו”טייסים!” - לא תמיד היו Hatred, ופתאום . . . . אז עכשיו מה? כל שבוע אנחנו מאמנים מודל, או? . . . .
זה, אגב - שם סוגריים על הדוגמאות ואנחנו חוזרים לדיון של Machine Learning . . . .
  • (אייר) אז זו נקודה מעניינת, ואולי אני אוסיף לזה אפילו - זאת אומרת, זה לא רק ה . . .  אני לא סגור על הביטוי “עתיות”   . . . 
    • (רן) הרגת אותם [ואת Whisper] עם העברית שלך, אורי . . . .
  • זאת אומרת שבאמת המילים שמשתמשים בהם ברשת משתנות, וצריך להתאים את עצמך
  • לא רק זה - אנחנו גם נלחמים פה נגד סוכנים, שיש להם מטרה - והמטרה שלהם זה שלא נתפוס אותם . . . .
    • ולכן הם, אפילו אם הם רוצים להגיד את אותן מילים . . . .
    • (רן) . . . מחליפים אותי!ת? . . . .
    • (אייר) בדיוק - הם ישתמשו בצורה שונה כדי להגיד אותן, או לפרסם את עצמם או לפגוע באחרים.
  • אז בגלל זה בעצם אתה לא יכול לנוח בתחום הזה על זרי הדפנה
    • וכן - אנחנו חוזרים ומאמנים את המודלים שלנו באמצעות Feedback
    • שאנחנו גם עושים באופן אקטיבי - וגם מקבלים מהלקוחות שלנו.
  • (מאיה) השאיפה היא באמת לעדכן את ה-Data, כל פעם להיות, כאילו, הכי מעודכנים והכי . . . 
(אורי) כל כמה זמן מאמנים מודל?
  • (מאיה) זה מאוד תלוי במודל, בלקוחות שמשתמשים בו . . . .
  • שוב, אנחנו עושים בקרה שוטפת למודלים שלנו
    • והאימון הוא - אם יש צורך - זה נע בין שבועות לחודשים
    • זאת אומרת, מאוד תלוי . . . . מאוד תלוי במודל עצמו
(אורי) וסתם שאלה - יש מודל פר-לקוח?
  • (מאיה) אז יש לנו גם Customized Models, שזה באמת מודל פר-לקוח
    • ואז גם אם לקוח בא ומבקש לתפוס ברשת שלו איזשהו Violation או איזשהו משהו שאתה לא בדיוק מוכר בסל-מוצרים הבסיסי שלך - אז אנחנו מסוגלים לספק לו את זה.
    • זאת אומרת, כבר אין לנו איזשהו סל-מוצרים כזה, שרק ממנו אנחנו יכולים למכור מודלים ללקוחות.
  • אז כן - יש מודלים פר-לקוח - וגם יש מודלים כלליים
    • אז אנחנו מאוד מתאימים את זה ללקוח.

(רן) אז אנחנו למעשה מדברים פה הרבה מאוד על Data - אני בטוח שיש גם הרבה חוכמה וטכניקה בתוך המודלים עצמם, אבל חוט-השני פה - זרמתי עם העברית שלך [אורי - ד”ש לאבשלום] . . . . - זה ש-Data הוא חשוב לנו.
 זה קצת מביא אותנו לעלות למעלה ולדבר על הנושא של Data-Centric Machine Learning - שזו גישה.
 אז בואו קצת נדבר על זה: מה המשמעות של Data-Centric Machine Learning - מה זה אומר מבחינתכם? איך אתם רואים את זה ככה בשאר העולם?
  • (אייר) כן, אז אני חושב שבאמת כמו שאמרת - כאילו בלי לדבר על זה, בעצם כל השיחה וגם הנושא של לג'נרט דאטה (Data Generation) בעצם תלוי בזה שאנחנו מדברים בעיקר על ה-Data ופחות על שינוי המודלים והטכניקות.
  • רואים את זה גם בהרבה מאמרים שמתפרסמים גם בתחום שלנו
    • שהחידושים בהם זה בעצם איך שאתה משתמש ב-Data שיש לך, איך אתה יוצר Data
    • וקצת פחות באמת במודל עצמו
(רן) אני אביא ציטוט, ככה רק כדי להראות שאני יודע אותו - אמר פעם ה-Head of AI ב-Google - “זה לא שהמודל שלי יותר טוב - פשוט יש לי יותר Data” . . . .
אבל כמה שנים אחר כך הוא אמר ש”זה לא שיש לי יותר Data - יש לי Data יותר טוב” . . . . אז זה גם איזושהי אבולוציה שהתעשייה עברה.
  • (אייר) ממש - ומה שהם גם מאפשר לנו את זה זה השיתופיות של המודלים
  • (מאיה) אם זה, אגב, לתייג Data-אות מחדש, גם אם זה Data-אות שמגיעים כבר מתויגים
    • לתייג אצלנו ב-ActiveFence
      • עם ה-Policy שלנו, עם הדקויות שלנו
    •  כי לאו דווקא מה שאנחנו חושבים ש-Hate-Speech זה מה שאותו Data מתויג לפיו
  • ואם זה שוב - להשקיע בתהליך האיסוף, כמו שאמרתי - שזה תהליך מאוד מאוד ארוך אצלנו ויסודי.
  • לגמרי אנחנו שם . . . .

31:06 פיל ה-GPT שבחדר
(רן) אוקיי, אנחנו מדברים הרבה על ג'ינרוט של דאטה (Data Generation) - ועוד לא דיברנו על הפיל שבחדר . . .  זאת אומרת, כן הזכרנו Midjourney אבל את מי לא הזכרנו? GPT!
(אורי) מה זה?!
(רן) אז למי ששומע את זה כמה שנים אחר כך - GPT היה  . . . .
(אורי) אז תגידו - GPT היה כשקבענו את הראיון?
(רן) לא בטוח  . . . .
[לפני שנה? כנראה שכן, אולי לא Public - אבל בטח כבר האזין . . . ]
אבל כן, זאת אומרת - אני סקרן לשמוע האם מודלים ג'נרטיביים (Generative Models) מהסוג הזה . . .  זאת אומרת, עכשיו דיברתם על יכולת יצירה של Data בצורה שהיא יחסית פשוטה, דוגמטית - יש שם גם מורכבות, אני בטוח, אבל האם אתם משתמשים במודלים ג'נרטיביים עמוקים (Deep Generative Models) שכאלה?
  • (מאיה) אז התשובה היא “בטח”  . . . 
  • אנחנו משתמשים בכל מיני פרויקטים - עכשיו אי אפשר להתעלם מזה
    • זאת אומרת, שזה שם, בכל מקום
  • לדוגמא, בפרויקט הזה של ה-Hate-Speech, של ליצור איזשהו מודל שם איזה Hate-Speech וחוסרים ב-Data
    • אז ChatGPT הוא ממש קלאסי בשביל זה
    • או כל LLMs אחרים . . . 
  • (רן) והוא מסכים? 
  • (מאיה) מה? . . . 
  • (רן) לג’נרט Hate . . . .
  • (מאיה) אז האמת שעם ChatGPT ספציפית זה לאו דווקא מה שאנחנו משתמשים בו - אנחנו משתמשים בכל מיני סוגים של LLMs
    • יש גם LLMs שיש מעליהם שכבת מודרציה (Moderation layer), בדיוק מה שאתה אמרת
      • זאת אומרת, אפשר בניסיון קל להבין שהם לא יג’נרטו (Generate) לך טקסטים עם מילים כאלה ואחרות
      • אבל כן, לדוגמא - מה שדיברנו, שזה דווקא הג'ינרוט (Generation) של הטקסטים הנייטרליים והחיוביים - זה קלאסי בשביל זה.
    • זאת אומרת - “ תן לי 20 דוגמאות או תן לי 20 טקסטים על ההיסטוריה היהודית”, או “תכתוב לי  . . . “, כאילו, “תן לי ביקורות על אוכל סיני כזה או אחר” . . . 
      • (רן) כן, זאת אומרת - כדי לעשות De-Biasing ל-Data, לעשות איזון של ה-Data . . . 
    • (מאיה) לגמרי, לגמרי.
    • מה שכן צריך להגיד שגם הדברים האלה עדיין דורשים איזושהי שכבת-תיוג ואיזושהי שכבת-ולידציה (Validation)
      • לוודא מה ג’ונרט (Generated) ע”י “המכונות האלה” [הן עלולת לזהות את הביטוי הזה כ-Offensive . . . . ] ולוודא שאנחנו, כחברה, יכולים להשתמש
    • (רן) אפשר לקחת מודל אחר שיעשה את זה, לא? . . . . זאת אומרת, חלק מהעניין של היכולת לייצר את ה-LLMs זה מה שנקרא Self-Supervision - היכולת “שלהם””לבוא ולג'נרט (Generate) לעצמם דוגמאות - וזה נתן להם בעצם יכולות לעשות Scale משמעותי, הרבה יותר ממה שמתייגים היו יכולים לעשות.
(רן) אני סקרן לדעת אם גם אתם חושבים על כיוונים כאלה - ואם אתם חושבים על זה ואסור לכם לדבר על זה - זה גם בסדר [זו הייתה קריצה?] . . . . אבל כן, בכל אופן זה נושא מעניין. 

33:30 האויב מאזין (ומג’נרט)
(רן) אבל מה שכן רציתי לשאול זה - כמו שאתם משתמשים במודלים ג'נרטיביים (Generative Models) - ככה גם “האויב” יכול להשתמש במודלים . . . . זאת אומרת, “המשתמשים הרעים” של אותן רשתות גם יכולים לבוא ל-ChatGPT או לאחרים ולבקש מהם שיג'ינרטו להם טקסט ש . . . Whatever, לא יודע - שינוי מילים, שינוי ניסוחים - שכן יעבור את זה . . . 
  • (אייר) אז זה לגמרי מה שיש עכשיו וזה חלק מהשינויים שאנחנו כל הזמן צריכים לעקוב אחריהם, כמו שדיברנו.
  • אז עכשיו בעצם זה כבר לא אנשים שמשנים את סוג השיח שלהם - זה בעצם אנשים שמשתמשים בזה . . . 
  • אני לא זוכר גם ציטוט או איפשהו, שעד 95% מהטקסטים ברשת - זה לא בנאדם כתב או משהו כזה . . 
  • אגב - יש פה בכלל שאלות Policy לפעמים - זאת אומרת, אם הבנאדם בתמונה הוא לא בנאדם אמיתי, האם עדיין יש פה את אותה הפרה שדיברנו עליה . . . .
    • בין אם זה Adult Sexual Content, אם זה פגיעה בילדים . . . .
    • אז זה משהו שככה מתעסקים איתם - גם מומחי-התוכן שלנו בחברה וגם אלה שאחראים על ה-Policy
    • וגם אנחנו מתעסקים ב-Data הזה ומנסים . . . 
  • יש איזשהו יתרון לפעמים, שה-Data הזה הוא פחות, עדיין, אולי, יצירתי מאנשים - ולכן הוא קצת יותר קל לזיהוי
    • לאו דווקא לזהות שהוא תוכן שנוצר על ידי מחשב, אלא לזהות שהוא פוגעני בצורה הזאת.
(אורי) מעניין עם מה שיקרה זה שכאילו . . . תוכן יתחיל להיות מג'ונרט (Generated) כדי לעקוף את המודלים שאמורים לזהות שהוא עושה Violation - ואז, נגיד, המודלים שלכם יתחזקו ויזהו גם את זה, אז הוא ימתח עוד את הג'ינרוט (Generation) כדי לעקוף אתכם . . . .
 ובסוף, התוצר של התוכן יהיה תוצר לא קריא, או אתה יודע . . . סליחה, אבל זה יהיה פורנו שאתה ממש לא תרצה לראות . . . .
  •  (אייר) זה עולם שבאמת עכשיו אנחנו אולי כבר לא בצעדים הראשונים, אולי כבר לא הראשון אלא, לא יודע, קצת מתקדמים בו
    • אבל אנחנו לגמרי כל הזמן לומדים אותו
  • וזה בדיוק מה שדיברתי על זה - האם תוכן שכבר לא נראה כזה אמיתי, אבל אפשר להבין שהוא יוצר כדי לפגוע - האם הוא עדיין פוגעני, בהגדרות שלנו? האם הוא פוגע במשתמשים האחרים . . . .
(אורי) לא, הוא פשוט לא קריא, או לא . . . .
  • (אייר) לגמרי. אז שוב, לא ראיתי עדיין דוגמאות ספציפיות או התעסקות עם זה, אבל אם הוא לא קריא או לא מובן, אז אולי הוא כבר לא פוגעני? . . .  זה בעצם אולי השאלה.
    • אבל זה לגמרי עולם שאנחנו ניתקל בו יותר ויותר . . . 
(אורי) אתה יודע, פילוסופית אפשר גם להיכנס לוויכוח שאולי ה-Humans  ישנו את הצריכה שלהם של תוכן, כי כל מה שהם יצרכו זה תוכן מג'ונרט (Generated) - ואז, כאילו, למה זה צריך להיות . . . .
  • (מאיה) כמו שהמודלים הג'נרטיביים (Generative Models) ילמדו מעצמם - זה גם . . . 
(אורי) כן, זה אותו Drift . . . . נכון, נכון.
(רן) טוב, בגדול - כל מה שהיה כבר לכתוב - כתבו, אז כל מה שנשאר לעשות זה רק לשחזר . . . .

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

 האזנה נעימה ותודה רבה לעופר פורר על התמלול!