יום ראשון, 24 בנובמבר 2024

483 Training of foundational models with Ofir Bibi Lightricks



פרק 483 של רברס עם פלטפורמה, שהוקלט ב-12 בנובמבר 2024. אורי ורן מארחים באולפן בכרכור את אופיר ביבי מחברת Lightricks לשיחה על למה הם כל כך מזוכיסטים, או במילים אחרות - למה ב-Lightricks החליטו שהם רוצים לאמן מודלי Foundational, ויותר מעניין מזה - איך?
reminder ribbon


01:04 אופיר ו-Lightricks
(רן)  אז קצת לפני שנצלול לשם - אופיר, ספר לנו קצת על עצמך.
  • (אופיר) אז אני אופיר. אני קודם כל נשוי ואבא שלושה. ב-Lightricks אני מנהל את מחלקת המחקר, אני שם כבר כמעט תשע שנים.
    • ובמחלקת המחקר שלנו, אנחנו עושים בעצם את כל “הקסם שמאחורי הקלעים” במוצרים של Lightricks.
  • והגעתי לשם מתוך המקום - חוץ מזה שבאמת הכרתי חלק מהפאונדרים, וכל הזמן ירון, שהוא ה-CTO שלנו, שאל אותי מתי אני מצטרף - אני רציתי לבנות את המצלמה הכי טובה שיש.
  • ובאתי מהמקום של Statistical Signal Processing וגם של Neural Computation, שזו בעצם התחלה האקדמית שלי.
  • אמרתי “טוב, די, יש חישובים שאפשר לעשות”, כולנו מסתובבים כבר עם המצלמות הכי טובות עלינו, כי הן פשוט בכיס שלנו
    • אבל הן לא באמת טובות - פיזית. בואו נעשה אותן טובות יותר.
    • וזה היה האתגר הגדול שרציתי לפתור.
    • וככה התגלגלתי ל-Lightricks, אחרי כל מיני דברים אחרים - כולל אנרגיה סולארית וכו’.
  • ובאמת בניתי את המוצר הראשון שכלל מוצר-מצלמה, אבל כמו שאני חושב שכולנו יודעים, מוצרי-מצלמה שזה לא ה-Stock Camera של הטלפון לא באמת שורדים . . . 
  • אז כמובן של-Lightricks יש הרבה מאוד מוצרים אחרים שבנינו והרבה דברים מעניינים שאנחנו עושים.
(רן) ורק למקרה שמישהו לא היה בכדור ולא מכיר את Lightricks, אז גם כמה מילים על החברה?
  • (אופיר) כן, אז Lightricks זו חברה שבעצם עושה כלים לעריכת תוכן ויצירת תוכן.
    • אנחנו נותנים הרבה יכולות וכלים ל-Creatives וגם ל-Brands שעובדים איתם ושצריכים להשיג Creatives.
  • יש לנו בסוף, כמו שאמרתי, הרבה מאוד מוצרים שונים. היום יש לנו שלושה מוצרים שהם בפוקוס.
    • בעולם ה-Mobile, שממנו גם הגענו, יש לנו את Facetune, שזה המוצר הראשון והכי גדול שלנו, לעריכת תמונות פורטרט, הידועות בשמן “Selfies”.
    • יש לנו את המוצר החדש שלנו שנקרא LTX Studio, נדבר גם עליו לא מעט.
      • שהוא מוצר ליצירת סיפורים, בסוף, ליצירת וידאו, ליצירת Story Board.
      • שהמנוע שלו זה כבר מנוע ממש מהדור החדש, מנוע גנרטיבי (Generative) כמעט לחלוטין.
        • בסוף הוא איזה שהוא “היברידי” של עולם ישן -  עולם חדש, אבל זה כבר לא “בואו נרנדר (Render) את כל התלת-ממד”, אלא מנוע הרינדור (Rendering Engine) המרכזי הוא Generative Models.
      • וזה גם מוצר שמבחינתנו היה חידוש גם בקהל שהוא פונה אליו, קהל יותר של Professionals, יותר אפילו של Studios, של Enterprises.
      • וגם ב-Web ולא ב-Mobile, אז זה חלק מהחידושים.
(אורי) . . . . ויצאתם בעצם מאפליקציה, נכון? כאילו - זה כבר לא בהכרח אפליקציה.
  • (אופיר) כן.  אפליקציה, מוצר - זה בסוף משהו שהיום הוא כבר “פתוח לעולם”.
    •  הוא מתחיל מ-Early Access - רשימת המתנה, המוני אנשים שנרשמו.
  •  ושוב,  יש לו באמת שתי פנים
    • צד אחד זה הצד שגם היינו רגילים אליו, של אותו Consumer - של פשוט אינדיבידואלים, Creator-ים, אנשים נלהבים שפשוט מגיעים למוצר ומשתמשים בו לצרכים שלהם.
    • ויש לנו בעצם את הצד החדש מבחינתנו, של ה-Businesses - של B2B, של שיווק המוצר ל-Enterprises, ל-Production Houses, שמנסים לעבוד בצוות ביחד על הדברים שמייצרים שם.
      •  זה עולם עולם ומלואו.
  • (רן) אז דיברת על Facetune, על LTX - והשלישי?
    • (אופיר) כן, אז LTX Studio, והשלישי זה מוצר שנקרא Popular Pays
    • המטרה שלנו שם זה לאפשר לכל ה-Creator-ים שנמצאים בפלטפורמות השונות שלנו להתחבר עם Brands.
      • ול-Brands לקבל בעצם את ה-Creator-ים ואת ה-Creatives הנכונים ביותר עבורם.
    •  גם שם אנחנו מכניסים המון המון חידושים עם AI ועם אלמנטים גם של Tooling ו-Generative AI.
    • ממש עכשיו גם הוספנו שם איזושהי יכולת-ניתוח, שבסוף כשאתה Brand ואתה בא לשתף פעולה עם איזה שהוא Creator אתה רוצה לדעת איזה סוגי-תכנים יש לו
      • האם הם עומדים בכל מיני דרישות שיש לך - אולי של Safety, אולי של סגנון
      • לקבל ממש דוח מאוד מעמיק - אבל מהר ואוטומטית, דברים שבעבר היו הרבה יותר קשים, אז . . . 

(רן) 06:23 מה זה Foundational Models?
(רן) אוקיי, עכשיו - לכל כל המוצרים שלכם יש צד ויזואלי מאוד חזק . . . . אז בחלק מהמקרים זה תמונות, בחלק מהמקרים זה וידאו.
והזכרת את המילה “ג'נרטיבי” (Generative): הרבה אנשים נתקלו במושג הזה כשהם פגשו את ChatGPT וחבריו, אבל פה אנחנו מדברים על מודל Generative-י שמג’נרט (Generates) או תמונות או וידאו - שזה קצת-קצת יותר מורכב, לפחות מבחינת . . .  טוב, לכל אחד יש את המורכביות שלו, אבל המורכביות פה הן שונות.
אז מה . . .  בעצם פה, אנחנו רוצים לדבר על מה זה Foundational Models - למה צריך אותם ואיך לעזאזל עושים את זה? כלומר, אם אני מחר בבוקר רוצה לקום ולהתחיל לאמן מודל כזה - מה כדאי שאדע לפני שאני מתחיל את זה?
(אורי) שאתה הולך לישון בערב של . . . 15-יום אחר כך.
(רן) אז בוא נתחיל אולי בקצת הגדרה, ככה בקטנה, של מה זה Foundational Model? במה הוא שונה מהאחרים?
  • (אופיר) כן, אז בסוף - Foundational Models, וזה שונה מ-Generative Models, אסור לבלבל בין השניים  . . . Foundational Models זה מודלים שהם כל כך רחבים בידע שלהם, במה שהכניסו לתוכם, שהמשימות שהם מסוגלים לבצע בסוף הן מאוד מאוד מאוד רחבות.
    • זאת אומרת, הידע שעצור בתוך מודל כזה מאפשר לך אחר כך לבוא עם משימות חדשות, ובין אם במה שנקרא Zero-Shot,  פשוט . . . .
    • שוב, למשל במודלים גנרטיביים (Generative Models) של טקסט
      • אז פשוט אני עורך את ה-Prompt קצת אומר לו “בוא, תענה לי על איזושהי בעיה” שהוא לא בהכרח אומן ספציפית לבעיה הזו.
      • והוא פותר לך את הבעיה.
      • למה? כי הידע כבר נמצא שם, מתוך תהליך האימון.
  • לפעמים זה גם לא הסתכלות של Zero-Shot אלא של Few-Shots או Fine-tuning - כמה, בעצם, מאמץ אני צריך לעשות כדי להביא אותו מאיפה שהוא נמצא לאיזושהי יכולת שאני רוצה להגיע אליה.
  • עכשיו, מאחורי הקלעים, מה שזה אומר זה שהמודלים האלה אומנו על כמויות “היסטריות” של Data.
    • הם ראו באמת כל כך הרבה Data, שתפיסת-העולם שלהם, תפיסת-ההתפלגות של ה-Data שעליו הם הסתכלו, בין אם זה טקסט בין אם זה Visuals, היא כל כך כל כך רחבה, שבסוף אם אתה בא, וגם אם אתה מתמקד באזור מאוד מאוד מסוים, רוב הסיכויים שהוא כבר למד משהו, אפילו באופן לא ישיר, על האיזור הזה של העולם.
      • ובמאמץ מאוד מאוד קטן אתה יכול לחלץ ממנו את הידע הזה.
(רן) כן, אז לפני כמה שנים - אני לא זוכר, כמה שנים - יצאו עם הקונספט של “בוא נאמן מודלים בשני שלבים”:  אחד זה
אימון של ה- Foundational Model עצמו, בין אם זה בעולם השפות, בעולם ה-Video ובמקומות אחרים, ואחר כך נוכל לעשות או להשתמש בו As-is, או בהרבה מקרים לעשות לו איזשהו Fine-tuning, אבל זו פעולה שהיא הרבה יותר קלה.
עכשיו, הרבה כאלה שנמצאים בעולם הזה, של מודלים גנרטיביים (Generative Models), פשוט לוקחים Off the Shelf איזה Foundational Model - ועושים לו קצת Fine-tuning, אם צריך. אתם החלטתם שלא. 
אתם החלטתם לייצר את ה-Foundational Model בעצמו - בעצמכם.
למה?
  • (אופיר) אז הרבה סיבות  . . . .
  • הסיבה אני חושב שהמרכזית ביותר זה שב-Domian שלנו, שזה ה-Domain הוויזואלי (Visual), כמעט תמיד
    • גם כשהיינו מדברים על הגרסאות הקודמות, של מודלים גדולים, ואם באמת לא בעולם הגנרטיבי (Generative), בעולם הדיסקרימינטיבי (Discriminative)
    • אז היו כל מיני מודלים שהם Pre-Trained, ואז היית מוסיף קצת Data ופתאום יש לך מודל קלסיפיקציה (Classification) או Detection או כל מיני דברים כאלה.
  • אז לבוא ולקחת את המודלים האלה Off-the-Shelf - היסטורית, פתר לנו 20% מהבעיות . . . 
    • בגלל שלמשל היינו ב-Mobile, ומאוד מאוד היה חשוב לנו שכל המודלים יהיו יעילים ומהירים
      • לא יגמרו את הסוללה, יעבדו מהר וכו’
    • אז מצאנו שאנחנו צריכים הרבה פעמים לבנות את המודלים בעצמנו
      • או לעשות תהליכים שהם יותר גדולים, יותר כבדים
      • כולל Distillation מלא, למשל, של מודלים, ולכן . . .
(רן) Distillation - זיקוק . . . 
  • (אופיר) זיקוק, בעברית צחה . . . 
(רן) . . . זה למעשה לקחת מודל גדול, שאולי עושה עבודה טובה, ולייצר ממנו - או על ידו - לייצר מודל יותר קטן, בטכניקה שקיימת שנקרא, Distillation.
(אורי) . . . אבל יותר “יעודי”, נכון?
  • (אופיר) אז לפעמים יותר יעודי - ולפעמים לא . . . 
(רן) לפעמים פשוט יותר “קומפקטי” . . . 
  • (אופיר) . . . לפעמים פשוט יותר “קומפקטי” - מה שקורה זה שלפעמים, המודל הגדול הוא מספיק גדול כדי ללמוד את הבעיה, שהיא קשה.
    • ואם היית מנסה ללמד מראש מודל קטן, פשוט בגלל כל אלמנטים של קמירות הבעיה, לא היית מצליח
      •  כי אין לך מספיק פרמטרים במודל הקטן.
    • אבל אחרי שהצלחת כבר לאמן מודל גדול - המודל הגדול הזה בכל זאת “חי ביקום של מודלים” - הוא כבר לא חי ביקום של ה-Data.
    • ואז, להוציא מהמודל הגדול את הידע שלו ולהכניס אותו למודל קטן יותר - זו כבר בעצם בעיה “קלה יותר”.
    • אז לפעמים אפשר לקבל מודל קטן בלי לאבד מהאיכות.
(אורי) אבל זה קורה על ידי זה שאתה בערך מאתר את “האזורים הטריוויאליים” במודל, ואתה אומר “אוקיי, זה טריוויאלי,” או “את זה אני יודע, את זה לא צריך, זה לא רלוונטי לבעיה”. או בוא נגיד ככה, כנראה שיש איזה מודל שיודע להוציא את הדברים האלה, הלא רלוונטיים, ולעשות את “הזיקוק”.
  • (אופיר) לא, אז הזיקוק נעשה בעיקר מתוך ניסיון לחקות את המודל הגדול.
    • אתה יכול להטות את מה שהמודל הקטן לומד, על ידי באמת לבחור סוג בעיות או סוג Data שאתה רוצה “לזקק החוצה”.
  • אתה יכול גם לבוא ולהגיד “אני רוצה לעבור על כל מרחב ה-Input-ים אי פעם”
    • ואז יכול להיות שזו תהיה בעיה באמת קשה מדי, והמודל הקטן - הוא ילמד משהו מאוד מאוד “טוב”, אבל הוא יאבד קצת באיכות
      • הדיוק יהיה קצת יותר נמוך או משהו כזה.
  • לפעמים - זה מפתיע - לפעמים לא מאבדים באיכות בכלל.
    • ולפעמים אפילו המודל הקטן משתפר לעומת המודל הגדול.
    • זה חלק ממה שקורה בתהליך הזה של זיקוק.
(רן) כן, אתה יכול לשפר את הOverfitting . . . אני אוהב לחשוב על זה כעל מורה ותלמיד: זאת אומרת, “המודל הגדול” זה מישהו “בא בימים”, שכבר ראה הרבה הרבה דברים בחייו, ובסופו של דבר הגיע לכמה מסקנות חשובות, ורק אותן הוא מעביר לתלמיד. אז התלמיד יכול להיות יותר קטן, יותר “קומפקטי” . . . .
  • (אופיר) כן.

13:35 אוקיי, אז איך עושים את זה?
(רן) אוקיי, אז זאת אומרת, ניסיתם כמה דברים. בחלק מהמקרים זה פשוט היה מודל שהוא צרך יותר מדי חשמל, או אולי יותר מדי זיכרון - ובסופו של דבר לא התאים לטלפונים. זו, נגיד, סיבה אחת למה אולי אתם כן רוצים לייצר מודלי-Foundational בעצמכם. ואני מניח שיש עוד - אבל בואו נמשיך הלאה ונדבר על “אוקיי, אז איך עושים את זה?”
זאת אומרת, דיברת על (1) יכול להיות שזה מודל שהוא מאוד גדול ו-(2) הוא צריך המון המון Data, וכנראה הרבה מאוד שעות-אימון.
  • (אופיר) כן, אז הרבה מאוד שעות-אימון.
    • ושוב, תמיד מחשבים את זה בשעות כפול כמות החישוב שנכנס פנימה, וצריך הרבה מאוד Data.
  • האתגר אני חושב הוא, שוב - הוא כפול.
    • הדבר הראשון הוא באמת החסמים האלה, של להבין איך מארגנים - ברמה הטכנית, ברמה ההנדסית - את כל הדברים האלה שהם יעבדו.
      • זה דברים שככל שהזמן עובר הופכים להיות יותר קלים, כי גם החומרה וגם התוכנה משתפרות.
    • אבל זה עדיין אתגר מאוד מאוד מאוד גדול, לגרום להרבה GPUs או הרבה TPUs לעבוד ביחד.
      • חומרה נופלת, כי בעולם האמיתי לא הכל עובד כל הזמן . . . 
      • בתוכנה יש מגבלות שאם צריך לעבור אותן, אז צריך לכתוב הרבה דברים Custom מעל זה.
  • ואני חושב שבצד האלגוריתמי, מה שקורה זה שכשאתה מאמן איזשהו מודל קטן יותר, וסדר-הגודל של אימון הוא בין שעות לבין ימים בודדים, אתה מקבל כל מיני החלטות החלטות.
    • ואתה צריך לבחון האם ההחלטות האלה היו טובות.
  • אז אתה יכול להסתכל על האימון, לעשות לו Babysitting, אולי אפילו לבוא ולהגיד באמצע אם זה כן עובד לך או לא עובד לך.
    • אבל אתה יכול הרבה פעמים - במקרה של מודלים מאוד קטנים, אפילו לפעמים תוך דקות, או תוך כמה שעות - אתה יכול להגיד “אוקיי, זה מתכנס לי, לא מתכנס לי - אני אחליט משהו אחר, אני אמשיך ככה”.
    • כהשניסויים קטנים, אז אפשר אולי להריץ גם עשרה ניסויים במקביל.
  • כהשניסויים גדולים, אתה מקבל החלטה - והיכולת שלך לשנות אותה היא כבר לא בסדר- גודל של שעות.
    • היא בסדר-גודל של יום, יומיים, לפעמים אפילו שבוע.
(רן) . . . זה, אני חושב דרך אגב, משהו שכל מפתח-תוכנה יכול להזדהות איתו: ה-Cycle Time הוא קריטי. אם הזמן  שבין הזמן שביצעת שינויים  בקוד ועד אתה רואה את התוצאה - אם הוא נמדד בשניות בודדות או מילי-שניות, אז זה יופי, “החיים דבש”, אתה פשוט משנה, בודק, משנה, בודק, משנה, בודק - עד שאתה מגיע לדבר נכון.
אם זה ימים, אז אתה בבעיה . . . אתה כבר לא זוכר מה עשית. אתה צריך להתחיל לנהל את זה, לרשום לעצמך, “מה זה הניסוי הזה ומה זה הניסוי ההוא”. ואתה צריך להחליט, כיוון שיש לך משאבים מוגבלים - אתה לא יכול לנסות את כל המטריצה הגדולה, אז אתה צריך להמר או לקחת איזשהו ניחוש-מושכל של מה אתה מוכן לנסות ומה אתה לא מוכן לנסות.
  • (אופיר) כן, כן, לגמרי.
  • וללא ספק, אנחנו רואים שיש לנו דברים שאין מה לעשות - בלי לנסות אותם, אי אפשר להחליט מראש.
    • אנחנו טועים, אנחנו חוזרים אחורה, אנחנו משנים - וזה עולה בלא מעט זמן.
    • וזה הופך להיות מורגש . . . 
(אורי) הרבה קפה? . . .
  • (אופיר) הרבה קפה, הרבה קפה . . . 
(אורי) . . . .זה כמו ה-Complier-ים ש . . . 
  • (אופיר) זה באמת הצוות, שאתה יודע - גם כשהם לא עושים Babysitting, הם עושים Babysitting לאימונים האלה . . . .
    • הם כל הזמן חושבים על זה.
    • אני רואה את הגלגלים בראש - “רגע, אולי אני לא צריך מחר בבוקר, אולי היום, לא יודע מה, ב 11 בלילה, אני אוכל לראות אם האימון הזה מתכנס או לא” . . .
    • “ . . . - ואם לא, אז אני עוצר אותו ואני אעשה את השינוי שחשבתי עליו כבר אתמול, אבל לא יכולתי אפילו לבדוק אותו, ואני אתחיל אותו מחדש” . . . .
    • זה דברים שבאמת אתה רואה אותם גם קורים בפועל, כל הזמן.

17:50 איך מתחילים?
(רן) כן, אז אוקיי, אז כאילו - איך מתחילים? זאת אומרת, איך אתה בונה? רשתות נוירונים - הרי יש להן מיליארדים של
פרמטרים, ואיך אתה מתחיל עם זה? כאילו מה, אתה מתחיל עם ארכיטקטורה מאפס? אתה לוקח ממישהו אחר? אתה מתחיל לקרוא מאמרים? איך מתחילים?
  • (אופיר) כן, אז ללא ספק מתחילים מלקרוא מאמרים, כמו כמעט כל דבר שאנחנו עושים.
  • וקצת חזרה לבעצם למה . . . בסוף, כשהייתה את ההכרזה הגדולה של OpenAI על Sora
    • מוצר שבעצם הוא לא מוצר היום - כי הוא לא פתוח, הוא לא חשוף, הוא לא מוצר. . . .
  • זה התניע הרבה מאוד תהליכים בקהילה, של גם לנסות להבין ומה קורה, ולעשות השערות.
  • ובאיזשהו מקום זה גם מגדיל את הביטחון של “אוקיי, רגע - אנחנו כל הזמן חשבנו, ואולי כן ואולי לא, ואולי אפשר לעשות את זה, ואולי אי אפשר”
    • ואז “רגע, אם עשו את זה, אז אפשר לעשות את זה” . . . 
(רן)  כן, Sora, רק למי שלא מכיר, זה מודל שמחולל וידאו. זאת אומרת, כאילו איזשהו Prompt טקסטואלי “תעשה לי סצנה של המערב הפרוע בעיירה, וסוסים וזה” - והוא פשוט עושה את זה.
  • (אופיר) נכון, נכון.
  • ואחרי שיצא לנו לעבוד הרבה עם מודלים גנרטיביים (Generative) של תמונות, ואפילו התחלנו לעבוד עם מודלים גנרטיביים (Generative) של וידאו, אבל שהם היו בסדר-גודל הרבה הרבה יותר קטן,
    • אז הגענו להבנה שאם אנחנו רוצים מודל שיביא אותנו - יום אחד, לא היום - ל-Production-Grade Quality, אז אנחנו צריכים להתחיל.
    • ושיש לנו דרך שבה “כמות הסיכון” היא עדיין מאוד גדולה - אבל זה לא “אוקיי, אף אחד לא ראה כזה דבר, לא חשב על כזה דבר”.
  • אז אני חושב שבשלב הזה זה התניע - זה התניע את זה בהרבה קבוצות, כולל בקבוצות אקדמיות.
  • ולמזלנו גם באמת אותו חוקר שבנה את Sora, היה רגע לפני זה ב-NYU, באיזושהי קבוצה אקדמית שהיא אחת מהבודדות במערב שבאו והשתמשו בכמות Compute מאוד מאוד גדולה כדי לאמן מודלים כאלה.
  • אז הסתכלנו על העבודה הזו בתור הבסיס.
    • תוך כדי תנועה, כמות העבודות המשיכה בשטף כמו שיש היום בקהילה - וזה הכניס עוד ועוד אינפורמציה. 
      • לפעמים זה רגע לפני שבאנו לעשות ניסוי - ואז הכנסנו את זה פנימה.
      • לפעמים אחרי שאנחנו כבר חשבנו על הרעיון הזה - ואז היה לזה שם.
    • אבל באמת, כמות האינפורמציה מבחוץ היא מאוד גדולה ומשמעותית.
  • ועדיין,  אני חייב להגיד שזה אחד מהניסיונות שאני מרגיש, בלי צל של ספק, שעד שאתה לא “מלכלך את הידיים” בדבר זה, אין לך מושג.
    • זה הכל תיאוריה, זה ממש ממש הכל תיאוריה.
(אורי) אז לי יש שאלה - אתה מדבר פה על זה שיש הרבה תיאוריה וצריך כל מיני מחקרים ואני צריך שיתוף-פעולה עם גופים אקדמיים ובכלל לעשות ניסוי של של אימון כזה לוקח הרבה זמן . . . .  וגם אמרת “אנחנו רצים למרחק הרחוק”.
והשאלה שלי - האם יש Feature או מוצר של Lightricks, שאתם אומרים “אנחנו צריכים בשבילו את הדבר הזה בעוד X זמן, כדי לצאת לשוק” - והאם הדבר הזה הוא בכלל “מתחת לאופק”? זאת אומרת, אתם רואים אותו או שאתם אומרים “וואו, יש עוד כל כך הרבה זמן של פיתוח של הדבר הזה” . . . והשקעה ומחקרים וכאילו - פרויקט-מחקרי הוא . . . אתה יודע מתי אתה מתחיל, אתה לא יודע מתי זה יסתיים.
  • (אופיר) נכון, אבל שוב: אני חושב שפרויקט-מחקרי בתעשייה - כמעט אף פעם אי אפשר לבוא ולהגיד “אני יודע מתי זה מתחיל” . . . 
    • אפשר להגיד “איך” זה נגמר, אבל מתי זה נגמר או Milestones - תמיד חשוב שיהיו.
    • במקרה הזה, LTX Studio היה לנגד עינינו.
  • עכשיו, קודם כל רגע מבחינה מוצרית - המוצר לא מכוון כרגע לייצר Production Videos.
    • עשינו את זה, שמנו פרסומת באולימפיאדה - של eToro, שיצרו מההתחלה ועד הסוף בתוך המוצר,
    • האיכות הוויזואלית שם היא טובה,
    • להגיד לך שזה נראה כאילו צילמו שחקנים בחוץ בעולם האמיתי? זה לא.
  • המטרה של LTX Studio הייתה קודם כל לייצר את ה-Storyboarding ואת ה-Pre-Production, את השלבים האלה.
    • ובתוך הדבר הזה, אחד הדברים הכי משמעותיים מבחינתנו היה לבוא ולראות שאנשים שעובדים עם המוצר, יכולים לעשות איטרציות מאוד מאוד מהירות.
    • בסוף אנחנו נתנים את זה לאנשים שצריכים להיות יצירתיים - חושבים על רעיון, רואים תוצאה, עושים איטרציה (Iteration), משנים אותה וכו’ וכו’.
  • בגלל זה המהירות הייתה מאוד מאוד חשובה לנו - אמנם הפעם זה דברים שרצים ב-Backend, על שרתים מאוד מאוד גדולים ולא ב-Mobile,
    • ועדיין המהירות הייתה מאוד חשובה.
  • זה, יחד עם שוב - לטווח הרחוק אנחנו רוצים להגיע גם ל-Production Grade Quality, ברמת הווידאו שאנחנו מייצרים.
    • היום זו לא הייתה המטרה המרכזית.
    • המטרה המרכזית הייתה שיהיה וידאו שהוא נראה איכותי, קונסיסטנטי (Consistent).
      • שהוא מסוגל לייצר וידאו יותר ארוך - תנועה יותר “מעניינת”.
    • המודלים הראשונים של וידאו יצרו תנועות מאוד עדינות, שנראו טוב - וככל שהתנועה הלכה וגדלה זה נראה פחות מציאותי.
  • וכן, ללכת ולהרים את הרמה באופן המשכי - ובאותו הזמן גם שוב: השתמשנו במודלים גם שפיתחנו פנימית, שהם הרחבות של מודלי-תמונה.
    • השתמשנו בדברים שהגיעו באמת מהקהילה של הקוד הפתוח, מ-Stability, עם רישיונות וכו’ וכו’,
    • אבל דברים שהתחילו להיות מפורסמים, מחברות יותר גדולות - לא היה נראה שזה הולך להיות משהו פתוח.
  • ולכן האמונה שלנו הייתה א' - יש לנו צרכים ספציפיים שלנו.
    • אנחנו מבינים את המוצר שלנו, אנחנו מבינים מה אנחנו רוצים לבנות.
  • והדבר השני זה שאנחנו לא רואים מישהו שפשוט מגיש לנו את זה על מגש של כסף
    • גם אם במחיר של License כזה או אחר.
  • דרך אגב, היום כל מיני חברות כאלו ואחרות שמציעות את המודלים הגנרטיביים (Generative models) שלהם לוידאו ב-APIs - העלויות שם הן אסטרונומיות.
    • לייצר וידאו ב-APIs שלהם מאוד מאוד יקר.
  • אם היינו מגלגלים את כל הדברים האלה ללקוחות שלנו, היינו פוגעים בסוף בחוויה שלהם ובמוצר - ועל הדרך, גם אף אחד מהם לא עושה את זה מהר.
    • אז הם לא נתנו את הפתרון הזה.
  • ברגע שזה גם היה הפוקוס שלנו, יכולנו לקחת צוות שלם - שהפוקוס שלו זה עכשיו לקחת את כל הידע שהם הביאו מבחוץ.
    • וכן הלכנו על דברים סטנדרטיים, מבנים שמשתמשים ב-Transformer-ים, שזה היה הדור החדש של מודלי דיפוזיה (Diffusion Models).
    • והיה מאוד מאוד חשוב לנו לוודא שכל הדבר הזה הוא יעיל, מהיר - ועונה על הצרכים שלנו.
      • מסוגל לייצר וידאו “שנראה טוב” - שעונה ל-Prompt בטקסט, שמסוגל להתחיל מתמונה אולי שהביאו מבחוץ גם.
      • כי בסוף שוב - אנשים קריאיטיביים, יש להם חזון. הם הרבה פעמים מייצרים Asset-ים גם אולי במקומות אחרים.
      • וממש לענות על כל הצרכים שלנו.

26:10 מדברים מדע בכמה מימדים
(רן) בוא נדבר קצת מדע: הזכרת את המילה Transformer-ים, ואני בטוח שהרבה נתקלו בזה לפני זה - אבל דווקא בעולם השפות. 
(אורי) גם פה, בפודקאסט, הסתובב איזה Transformer אחד או שניים . . . .
(רן) בטוח, בטוח, כן [נגיד לאחרונה - 475 Jamba with Hofit from AI21].
אז בעולם מודלי השפה, Transformer-ים זה אלה שיודעים לתת תשומת לב לכל מילה [Attention Is All You Need], ו-Transformer-ים בעצם עובדים מ-Sequence אחד ל-Sequence הבא.
עכשיו, כשמדובר על משפטים, אז אתה יכול לחשוב על תרגום, אתה יכול לחשוב על יצירה של טקסט, אתה יכול לחשוב על דברים כאלה. Transformer-ים הם מאוד נוחים, והם עובדים על Token-ים, שאפשר לחשוב על זה כמו על מילים. אוקיי . . .
אבל פה זה תמונות, זה לא משפט. זה לא מערך חד-מימדי - זה מערך דו-מימדי.
וכשזה וידאו, אז מה זה? זה תלת-מימדי? לא יודע איך מתייחסים לזה . . . .
אז איך אתה מתרגם Input שעכשיו הוא דו-מימדי? אוקיי, במקרה הטוב, אולי תלת-מימדי . . .  איך אתה מתרגם Input כזה ל-Transformer, שבכל אופן למיטב-ידיעתי עדיין רוצה משהו שהוא חד-מימדי.
זאת אומרת, איך אתה לוקח תמונה, והופך אותה לאוסף של Token-ים שה-Transformer-ים ידעו . . . Sequence של Token-ים שה-Transformer “ידעו לדבר איתם"?
  • (אופיר) כן, אז המהלך הזה קרה כבר כמה שנים אחורה, עם מודלים שנקראו ViT, שזה Visual Transformer
  • אבל כשאתה מסתכל רגע על מה המודל עושה, אז הוא פשוט “מאפשר לך יותר”.
    • זה גם עולה יותר - הוא ריבועי באורך ה-Sequence, יש שם אינסוף מקומות שהיום מנסים לגרום לדברים האלה לעבוד גם בצורה יעילה יותר ברמה המתימטית או האלגוריתמית, על אותו Attention מלא.
  • אבל בעצם באו ואמרו רגע - יש לנו פה Sequence. זו לא פעם ראשונה שניקח סיגנל דו-מימדי - במקרה שלנו תמונות - ונכניס אותו לאיזשהו חד-מימד.
    • אפילו שאין איזשהו Cardinality, כן? איך אני עובר על התמונה - מימין לשמאל, מלמעלה למטה? אם אני הופך את הסדר, מה זה עושה?
(רן) כן, זאת אומרת, לצורך העניין - אם אתה מסתכל על התמונה כאל Bitmap, פשוט לקחת את הפיקסלים, מאחד עד מיליון, זה כנראה לא יעבוד . . .  כי יש איזשהו מבנה לתמונה.
  • (אופיר) נכון, נכון, אז יש איזשהו מבנה לתמונה.
  • ובעצם, המודלים הראשונים שעשו, הם היו דיסקרימינטיביים (Discriminative) - הם באו לעשות קלאסיפיקציה (Classification), או לעשות . . . 
    • לפעמים, באיזשהו שלב נכנסו כבר לאיזורים גם של סגמנטציה (Segmentation), שזה גם ממש לייצר תמונה בצד השני.
    • אבל שם השתמשו ב-Patch-ים - לקחו Patch-ים של התמונה.
  • ואחד המאמרים הראשונים, אם לא ממש הראשון, היה נקרא A Token is Worth a Thousand Pixels [הכוונה ל-An Image is Worth More Than 16x16 Patches?]
    • ובעצם שם ממש הסתכלו על איך לוקחים Patch-ים של התמונה, ועושים להם טוקניזציה (Token).
    • במקום מילה - או חלקי מילה, נכון, לפעמים זה גם שתי מילים ביחד, שהופכות לאיזשהו Token - אז פה גם איזשהו Field of View על התמונה.
      • דו-מימדי, במקרה של תמונות, וכן - תלת מימדי במקרה של וידאו - הופך ל-Token.
  • היה שם מחקר שלם, על מה גודל ה-Patch המתאים ביותר - במשימות שונות, גדלי Patch-ים שונים, היו . . . 
(רן) כלומר - לוקחים מלבן, או אולי אפילו ריבוע מהתמונה, ורואים כל ריבוע, נגיד הפינה השמאלית העליונה? זה Token אחד. אחר כך ניקח אחד ימינה - זה Token שתיים. Token שלוש - אולי יש חפיפה ביניהם אם זה הגיוני, אבל 
בגדול, אתה אומר “ככה אתה עושה טוקניזציה” (Tokenization) של התמונה. ומסתבר שזה עובד לא רע עם  Transformer-ים.
  • (אופיר) זה עובד לא רע.
  • מה שהוסיפו לזה . . . הדבר הראשון שהוסיפו מעל זה זה מה שנקרא Positional Encoding.
    • שזה עוד איזשהו מידע, שאתה מכניס ב-Input כדי להגיד רגע מאיפה הגיע אותו . . . .
(רן)  . . . בדיוק, שתדע שזה מהפינה השמאלית העליונה, ואז מהפינה ליד וכו'.
  • (אופיר) בדיוק. ואז מה שראו זה שהתכונה הכי גדולה של Transformer-ים זה שהם Scalable, אוקיי?
    • הם באמת רפיטטיביים (Repetitive), יחסית, באיך שהם עובדים.
    • הם אפשרו, במודלי השפה, להכניס יותר Data, יותר פרמטרים - ולהגדיל אותם.
  • וממש הראו שזה עובד אותו הדבר על Token-ים שהגיעו מ-Modality אחר - לא של טקסט, אלא של תמונות
    • ומאוד מהר הם היו ה-Benchmark של התוצאות הטובות ביותר מבחינת מודלים דיסקרימינטיביים (Discriminative).
    • ואחרי - אני בעצם קצת קופץ קדימה - פריצת מודלי הדיפוזיה (Diffusion Models) . . . 
(רן) כן, בואו רק נתרגם - דיסקרימינטיביים (Discriminative), כלומר: “אפשר לסווג תמונות של חתול וכלב” וכו’, זאת אומרת, השימושים האולי יותר “קלאסיים” של מודלי השפה. לזהות פנים, לזהות זה - אבל עדיין לא לייצר תמונות  חדשות.
  • (אופיר) עדיין לא לייצר תמונות, כשבעצם, שוב, איך עשו את זה?
  • אם, נכון ב-GPT רגיל - אתה מאמן אותו ל-Next-Word Prediction? 
    • אז אתה מכניס את ה-Sequence שלך, ושואל אותו “אוקיי, מה ה-Token הבא שאתה רוצה לייצר?”
    • אז פה הכניסו את ה-Sequence של התמונה - ויצרו עוד איזשהו Token כאילו . . . .
    • (רן) “החביאו חלק מהתמונה?”
    • (אופיר) כן . . . לא. אז בגנרטיבי (Generative), “החביאו” חלק מהתמונה, וכך יצרו את זה - אבל עוד בדיסקרימנטיבי (Discriminative), בעצם באו ואמרו “יש Token ‘אחרון’, שבמקום להיות הנקודה בסוף המשפט, הוא “תגיד לי איזה Class זה’”, נגיד של קלאסיפיקציה (Classification).
  • עכשיו, במקום להגיד “אוקיי, תן לי רק עוד Token אחד שהוא כמו הסוף משפט”, החליפו אותו בקלאסיפיקציה (Classification) . . . 
(רן) מה שנקרא Surrogate Task, כמו שמאמנים Embeder-ים.
  • (אופיר) בדיוק.
  • אז באו ואמרו, אוקיי - עכשיו אני, יש לי איזושהי אינפורמציה שנכנסת, “בוא תיתן לי את הדבר הבא”.
    • אז המודל של השלמת מילה, עובד אותו דבר ב-Inpainting, מה שנקרא “מילוי חורים בתמונות”
      • זה ממש אחד לאחד.
  • באיזשהו שלב גם נכנס הסיפור המולטי-מודלי (Multi-Modal)
  • זאת אומרת, אני נותן לו Input טקסטואלי - ומצפה ממנו לייצר בעצם תמונות.
(רן) שזה למעשה מה שאתם צריכים, כנראה, במוצר, נכון? בסופו של דבר, ה-User לא נותן לך תמונה ומצפה לקבל תמונה, הוא רוצה לתת תיאור . . . .
  • (אופיר) לאו דווקא . . . גם וגם.
  • זאת אומרת, הרבה פעמים רוצים לתת תיאור, אבל אם אתה תשאל את רוב האנשים, זאת אומרת, רוב ה-Use-Cases-ים, דרך אגב, של Lightricks, היו “תן לי תמונה - ותייצר לי תמונה ממנה
    • כשיש איזשהם Instructions . . .
(רן) זאת אומרת איטרציה (Iterations) על תמונה - שיפורים לתמונה, ניקויים וכאלה . . . 
(אורי) זה מה שקורה כשאתה מבקש וריאציות על Image.
(רן) כן. אז למעשה המודל צריך גם להבין את ה-Input מה-Modality של תמונה, וגם את ה-Input מה-Modality של הטקסט, ולהבין, בהינתן שניהם, מה הולכת להיות התמונה הבאה.
  • (אופיר) נכון, נכון.
(אורי) והטקסט הוא יהיה Prompt? בצורה של Prompt?
  • (אופיר) כן. אז הטקסט הוא, שוב - זה מאוד תלוי איך מאמנים את המודלים.
  • זאת אומרת, למשל, במודל הוידאו שאנחנו מאמנים עכשיו, ה-Prompt הוא מאוד דיסקריפטיבי (Descriptive), כן?
    • הוא מתאר את הסצנה, את הפעולות שקורות, את התנועה של המצלמה, כל מיני דברים . . .
(אורי) האם יגיע יום שאפשר . . . שנוכל לדלג על כל ה-Production, ופשוט ניתן את ה-Script למודל, את “התסריט” שאנחנו רוצים, ו...
  • (אופיר) . . . ולקבל משהו . . . אז אנחנו, אני חושב שהיום ה-Flow שיש, למשל, ב-LTX Studio, מאפשר לך את זה, ברמה מסוימת.
  • אני לא חושב שאנחנו, או, נגיד אותם אנשים שהיום אתה סומך עליהם להיות ה-Creatives, שמייצרים את הדבר שאתה תרצה לראות גם
    • הם אוהבים את דרגות-השליטה שלהם.
    • ולא רק כי זה כיף להם, אלא כי בסוף אתה יכול לתת Script, ואז אתה רואה את התוצאה, ואתה רוצה לשנות קצת כל מיני דברים, ואתה רוצה לשנות דברים, לפעמים, ברמת ה-Pixel, אוקיי? . . . 
      • זה באמת חבר’ה שהם אובססיביים לגבי ה-Pixel-ים שלהם - ולגבי הסיפור שהם מספרים, והעוויתות בפנים של הדמות שיצרת. 
  • אז כבר היום, אחד ה-Flow-ים שיש ב-LTX Studio זה “תן לי Script”.
    • “תן לי Script” - ואני מייצר לך סצנות, ו-Shot-ים בתוך הסצנות, וממש את הכל.
(אורי) אבל זה, כאילו, “חומר הגלם” שעליו אתה מתחיל את העבודה אחר כך, נכון?
  • (אופיר) נכון, אבל בסוף זה בדיוק העניין, אני נותן לו את ה-Shot-ים - וזה Still Photos, ואז הוא יכול להחליט איך התנועת מצלמה נראית.
    • עכשיו, זה, אם הוא נתן לי את ה-Shot-ים כבר, והוא נתן לי גם תנועת מצלמה, מה שבתהליך Production די ארוך מגיעים אליו בסוף, גם בסרטים.
    • זאת אומרת, כשאני בא לצלם Shot מסוים, האיש מאחורי המצלמה יודע מה הוא אמור לעשות.
      • הוא לא כזה “טוב, אני אחליט תוך כדי תנועה אם אני אזוז ימינה או שמאלה, או אעשה Dolly”.
      • הוא יודע מה הוא אמור לעשות באותו Shot, הוא קיבל את ההוראות האלה מראש. 
  • אז התהליך של הבנייה זה - אם עשית את כל העבודה מראש, איכשהו, “עם נייר ועט” - מצוין, תכניס לנו את הדבר הזה, ואז זה גם יוכל להגיע.
    • אם לא - המטרה של המוצר, זה בדיוק . . . .
    • זה בדיוק הסיפור של מוצר מעל Foundational Models, כי Foundational Models יודע לייצר
      •  יש אחד שיודע לייצר תמונות, אחד שיודע לייצר Video-ים
        • ידיע לייצר Video-ים מטקסט, יודע לייצר Video-ים מטקסט ותמונה, ידיע לייצר Video-ים מ-Video-ים, כן . . . 
      • אבל כל הדברים האלה צריכים להיכנס איכשהו לתוך Flow - שאנשים מבינים מה הם עושים, מה הם מקבלים, במה הם שולטים, במה הם לא שולטים.
      • ושם אני חושב שנשאר.

[(אופיר) לשאלת ה"מה עושים עם זה?" - האינטרו עשוי ב LTX Studio והסצינה הראשונה, עם עריכות של הבמאי: ארץ נהדרת עונה 22, פרק 1, 06.11.24  -  המושבה הישראלית ביוון]

36:40 על חומרה, כסף ותרומה ל-Open Source
(רן) אוקיי. בואי נדבר קצת על חומרה וכסף, מה שאפשר לספר . . .  אז כמה בעצם מודלים כאלה אימנתם, Foundational? אחד? יותר?
  • (אופיר) אז שוב - היסטורית, אימנו הרבה, בעיקר בהתחלה של תמונות.
  • באיזשהו שלב אני חושב ש”הבעיה”, נקרא לזה, של Foundational Models ליצירת תמונות הפכה להיות יחסית “Commodity”.
    • ושם באמת עברנו לעשות דברים יותר שדומים ל-Finetunes ודברים מעל מודלים אחרים.
(רן) ובעולם הוידאו?
  • (אופיר) ובעולם הוידאו, אימנו מודל אחד מרכזי - יש לו הרבה גרסאות מאחורי הקלעים
    • כמו שאמרתי, זה הרבה “דם, יזע, דמעות ו-Compute” . . . 
    • (רן) “לכל Checkpoint יש שם” . . . 
    • (אופיר) “לכל Checkpoint יש שם” . . . ולמודל יהיה איזשהו שם, שנחליט עליו כשאנחנו מוציאים אותו.
  • אבל היום יש לנו בעצם מודל אחד שאנחנו רוצים גם להוציא ל-Open Source [הנה - LTXV - The First Real-Time AI Video Generation Open Source Model]
    • שהמטרה שלו זה באמת לאפשר לקהילה, שאנחנו מרגישים שאנחנו נתרמים ממנה המון - ולתרום חזרה 
      • ולאפשר להם לבנות דברים מעל זה.
  • וגם הצרכים שלנו הם יחסית תואמים
    • זאת אומרת, אנחנו רצינו מודל שיהיה מאוד מאוד יעיל ומהיר
    • בקהילה הרבה פעמים, אתה רואה שיוצאים כל מיני מודלים שיודעים לרוץ על חומרה “גדולה” של nVIDIA כזה, A100, H100 וכו’.
    • ואז אנשים יושבים בבית שלהם ושואלים “רגע, איך אני מריץ את זה על ה-4090 שלי?”, או “איך אני מריץ את זה” - חס וחלילה - “על 3080?” . . .
    • ופתאום הם מתקשים עם זה.
  •  אז המודל שאנחנו רוצים להוציא לקהילה הוא מודל של שני מיליארד פרמטרים, שזה מודל יחסית קטן
(רן) גם בעולם השפות זה נחשב קטן . . .
  • (אופיר) זה נחשב מאוד מאוד קטן . . . 
(רן) בדרך כלל “שבע” [7 מיליארד פרמטרים] זה “קטן”, 1-2 [מיליארד פרמטרים] זה “קטנצ’יק” . . . .
  • (אופיר) כן . . . 
(רן) . . .  והגדולים הם באזור המאות-מיליארדים או יותר.
  • (אופיר) נכון.
  • אז מודל 2B, שדווקא החלק החשוב והמשמעותי בו זה ה-Autoencoder שלו.
    • אנחנו ממש בנינו אותו מ-0 לצרכנו, את כל המודל.
    • וב-Autoencoder אנחנו ראינו שהתייחסות לוידאו כוידאו - לא לקחת Autoencoder שהיה של תמונות, וקצת “לנפח אותו”, קצת להוסיף עליו ולעשות לו Patching.
  • בעצם להסתכל על זה - ממש כמו ששאלת קודם - כתלת-מימד.
    • יש לנו מימד שלישי, שהוא מימד הזמן, אנחנו רוצים לעשות דחיסה בצורה שהיא מאוד מאוד יעילה
    •  גם כדי שכל המודל יהיה יעיל, גם כדי שהלמידה תיהיה יעילה, כדי שלא תיהיה יתירות במידע שמגיע מה-Autoencoder.
    • וכל הדבר הזה יצר בעצם איזשהו Autoencoder עם יחס-דחיסה מאוד מאוד מאוד גדול . . . 
(רן) כלומר לקחת את ה - Raw Video ולהפוך את זה ל-Stream של משהו שעליו אפשר להתאמן?
  • (אופיר) כן. זה מה שנקרא בעצם Latent Code, זה לעבור מה Image Domain או הVideo Domain ל-Latent Code
    • במקרה שלנו, בגלל שבנינו את זה ייעודית לצרכים שלנו, ה-Autoencoder ממש מוציא את ה-Token-ים שנכנסים לתוך ה-Transformer, שעושה את ה-Diffusion ישר אחריו.
    • (רן) אז Video2Vec, פחות או יותר . . . .
    • (אופיר) Video2Vec.
(רן) אוקיי, אז רגע - עוד לא דיברנו על כסף . . . . אז יש פה מודל, שאמרת שהוא יחסית קטן, אבל בכל אופן אני מניח
שעלה לא מעט לאמן אותו. אז על איזה גודל Cluster צריך לאמן את זה? כמה זמן זה רץ? ואם יש לך גם בסוף דולרים לספר לנו, אז זה גם יהיה מעניין למי שירצה לעשות את זה בבית . . . 
  • (אופיר) כן, אז דווקא נתחיל מהסוף - אני חושב שקודם כל, את הדולרים הספציפיים אני לא אחלוק.
  • אני כן יכול להגיד שכדי להגיע מהמקום שאתה מתחיל מאפס למודלים איכותיים, עובדים, זה “מיליוני-דולרים רבים”, בסדר?
    •  זה דברים שיש שם איזשהו חסם-כניסה.
  • אבל בסוף, ככל שהדברים האלה מתקדמים, כן תהיה את האופציה בדיוק לאנשים לקחת מודל כמו המודל שאנחנו משחררים.
    • לעשות עליו אדפטציות (Adaptations), לעשות באמת לא רק “Finetunes פשוטים” אלא לעשות דברים הרבה יותר גדולים ומשמעותיים.
    • וגם לדעת שהארכיטקטורה שהם קיבלו היא ארכיטקטורה שיכולה לעבוד - זאת אומרת, הם לא עכשיו “יורים בחשיכה”.
  • ברגע שאתה כן עושה את כל הניסויים האלה ומנסה להגיע לאותן רמות, שאתה לא מקבל סתם ככה “מהמדף” מה-Open Source, אז יש הרבה ניסוי וטעייה
    • וכמו שאמרנו בהתחלה - הם לוקחים הרבה זמן, על הרבה Compute.
  • עכשיו, כשאני אומר “הרבה Compute”, אז גם - זה לא . . . .
    • בלי להיכנס למספרים הספציפיים, אנחנו - את רוב האימונים הגדולים שלנו עשינו דווקא על TPUs, שזו החומרה של Google.
    • זאת אומרת, השתמשנו הרבה גם ב-GPUs לאימונים קטנים יותר - להכנה של ה-Data, עושים הרבה Captioning של ה-Data כדי שה-Input-ים ללמידה יהיו “נקיים”.
      • כי אני אם אתה מביא וידאו ואת התיאור שמישהו כתב - זה בדרך כלל יהיה חצי-קשור למציאות.
      • והיום יש מודלים - שוב, דיסקרימינטיביים (Discriminative) בסופו של דבר, אנליטיים - שיכולים לתת Caption מאוד מאוד איכותי.
    • וברגע שמסתכלים על האימון “הגדול” - באימון הגדול אתה צריך הרבה מאוד Tera-flops, אתה צריך הרבה מאוד Core-ים.
      • זה ברמת המאות של Chip-ים - כשבעצם, לכל Chip יש לא מעט גם Cores פנימיים . . .
      • אבל הסדרי-גודל זה “עשרות” לניסויים “קטנים”, “מאות” לניסויים “גדולים".
  • ובסוף - זה הכל עניין גם של קצב: ברגע שאתה פורץ את מחסום ה-Scale, אז ככל שאתה נותן לי יותר Chip-ים, אני פשוט מגיע לתוצאות יותר טובות יותר מהר.
(רן) אז יש כמובן את האתגרים הנדסיים, שקצת-קצת הזכרת בהתחלה, אבל לא היה לנו זמן להיכנס אליהם - של איך לנהל Cluster כזה, איך לעשות Redundancy, איך לטפל בשגיאות - כי אתה לא רוצה שברגע שיש שגיאה אחת אתה צריך להתחיל מחדש ימים או אולי שבועות של אימון . . . אתה רוצה להיות מסוגל להתאושש בקלות משגיאות כאלה. ודיברת על זה שלפעמים אתם עושים לתוכנה או לחומרה “יותר ממה שהתכוון המשורר" שתעשו לה - ואז צריך לכתוב
דברים קצת, “לתפור את הדברים ידנית” כדי שזה יתאים למגבלות הזיכרון ושאר מגבלות החומרה.
כל זה שריר ונכון - אבל לא נוכל להיכנס לזה, כי זמננו עוד מעט נגמר . . .

44:02 אז איך מתחילים?
(רן) אבל אולי ככה מילה אחרונה - אז ברגע שתשחררו את זה, או שאולי בזמן שאנחנו נפרסם את הפודקאסט כבר שיחררתם את זה [שוחרר! LTXV - The First Real-Time AI Video Generation Open Source Model] - מה בעצם אנחנו - זאת אומרת “ההדיוטות בבית” - יכולים לעשות? זאת אומרת, מורידים את המודל הזה, מוצאים GPU מספיק חזק, וכמו שאמרת לא צריך נורא חזק אבל מוצאים GPU מספיק חזק, שיודע להריץ את זה, ואפשר מה -  פשוט לייצר Video-ים?
  • (אופיר) כן, אפשר יהיה לתת לזה פשוט טקסט ב-Prompt - ולקבל וידאו שתואם ל-Prompt.
  • אפשר יהיה לתת לזה תמונה בתור ה-Frame הראשון שאתה רוצה וגם איזשהם Directions של לאן ללכת משם. 
  • ואפשר יהיה לתת וידאו ולהגיד לו איך לערוך את הוידאו הזה בעצם.
(אורי) אבל אנחנו נצטרך להריץ אותו - אצלנו?
  • (אופיר) או בשירות בענן, שיהיו הרבה שירותים שיריצו את זה.
(אורי) כן - אבל זה לא שירות, אתם לא מתכוונים לתת שירות כזה . . .
  • (אופיר) לא, אז אנחנו ניתן את זה בתוך המוצר שלנו - איזושהי גרסה, שיהיו בה גם דברים נוספים.
(אורי) אבל אם לקחתי את ה-Open Source הזה ואני רוצה עכשיו לשפר אותו ולאמן אותו, אז אני כנראה אצטרך
לעשות, כאילו . . . יש איזשהו Barrier to Entry מאוד גדול בכסף, נכון?
  • (אופיר) אז אם זה רק אימון של Finetunes ו-LoRAs, כל הדברים שבעצם באים ומוסיפים מעל המודל הזה, אז ה-Barrier הוא לא כזה גדול.
    • זאת אומרת, זו המטרה גם בלשחרר מודל כזה לקהילת ה-Open Source - שהם בדיוק יוכלו לעשות את  האימונים האלה.
      • שהם יותר קטנים והם ב-Scale הרבה יותר קטן.
    • גם מבחינת Data - זאת אומרת, אם אנחנו רואים עשרות-מיליוני Data Points, אנשים עושים Finetunes למודלים עם עשרת-אלפים Data Points . . .
(אורי) כן.

45:57 סיום וגיוסים
(רן) אוקיי אז קודם כל תודה על התרומה חזרה לקהילה! אני מקווה שיהנו מזה.
וכאן אנחנו מסיימים . . . אולי רק לפני זה, עוד כמה מילים על Lightricks? אז מה - אני מניח שכמו הרבה חברות אחרות, אתם תשמחו לפגוש אנשים . . . .
  • (אופיר) כן בוודאי - אנחנו מגייסים ב-Lightricks  כל הזמן, להרבה מאוד משרות.
    • ספציפית גם אצלי בקבוצה אנחנו מגייסים חוקרים, גם כדי לעבוד על האתגרים של אימון מודלי-Foundational
    • גם לצוותים שעובדים על המוצרים שלנו ועל ממש State of the Art שימוש ב-Generative AI לכל דבר כמעט שאנחנו עושים.
  • תמיד עשינו Generative AI, גם לפני שזה היה Buzzword מאוד מאוד גדול - ואנחנו שמים את זה בחזית אצלנו.
(רן) “שמים את ה-”Gen” ב-”GenAI”” . . . 
[והנה המודל והתיעוד וכל מה שאתם צריכים - LTXV - The First Real-Time AI Video Generation Open Source Model]

טוב - אז תודה רבה, אופיר, והצלחה!

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

אין תגובות:

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