Episode Transcript
Available transcripts are automatically generated. Complete accuracy is not guaranteed.
(00:00):
ברוכים הבאים לפודקאסט
הטכנולוגיה מדברים
פתוח.
אני ג'וש סלומון.
ואני אילן פינטו.
יחד אנחנו מדברים
על כל מה שחדש בעולם
הפיתוח,
הבינה המלאכותית
והקלאוד,
וקשור ישירות,
או על הדרך לפודק
פתוח.
ככה זה אחרי שעובדים
שנים באופן סורס חייבים
להעביר את זה הלאה.
בין לבין נזכיר גם
עוד כמה באזוורדס,
כדי שנוכל לסגור פינה
(00:21):
ולדסקס על כל מה שחשוב
באמת.
אז שימו אוזניות,
תגבירו את הווליום
ותעשו מקום למקצועניות
והמקצוענים שבאו
לדבר איתנו פתוח ולעניין.
מדברים פתוח, מתחילים.
בוקר טוב ג'וש, מה
נשמע?
בהתחשב בזה שהיום,
היום הראשון להפקת
האש במלחמה נגד איראן,
זאת אומרת שלא ישנו
(00:43):
בלילה,
סביר ומחזיקים את
העיניים פקוחות.
אבל אתה נראה לי ערני,
אתה...
ערני במידה.
היום אני צריך אותך
מאוד ערני,
כי קודם כל יש לנו
פרק מאוד מעניין,
פרק סוף עונה מרגש,
עונה מספר 3. האמת
שלכבוד זה הבאנו פרופסור
(01:06):
יקר,
שגם במקרה הוא חלק
מרדאט.
אז ג'וש, אתה רוצה
להציג אותו?
רק אנחנו לפני זה
נגיד, אנחנו מקליטים
מרחוק,
כי ניר צ'ביט, האורח
שלנו,
נמצא בבוסטון.
הוא יציג את עצמו,
רק אתה,
רק נגיד שבגלל שבאמת
יש לנו המון על מה
(01:26):
לדבר, יהיה לנו פרק
סיום עונה כפול.
יהיה לנו פרק כפול,
כן. פרק כפול, אז
אנחנו כבר מתחילים
את החלק הראשון.
ניר, אתה יכול להציג
את עצמך?
כן,
אני ניר שביט, אני
פרופסור ב-MIT,
ואני עובד של רדהאט
מאז ינואר.
(01:49):
רדהאט חינתה את החברת
סטארט-אפ שלי,
ואני כרגע ברדהאט
עובד על מחקר, מחקר
ברשתות נוירונים.
אז למי שלא מכיר רגע,
מה תחום ההתמחות
שלך באקדמיה?
אני מתמחה ב-performance
engineering, זה מה שעשיתי
(02:09):
30 שנה.
זה תחום שבו מנסים
לשפר את הביצועים
של תוכנה,
בדרך כלל על מכונות
מקביליות,
ובשנים האחרונות
עסוק גם בלעשות את
הדבר הזה בקונטקסט
של machine learning.
(02:29):
אז ג'וש ואני עשינו
ככה, עשינו שיחת
הכנה איתך, ואז בסוף
שיחת ההכנה,
בעצם הגענו למסקנה
שאף פעם לא עשינו
פרק שמסביר,
זאת אומרת, עשינו
מלא פרקים על AI ודיברנו
בכל מיני זוויות
על מודלים ועל open
model, אבל אף פעם לא
הסברנו מה זה מודל
עצמו ומה זה רשת,
ואף פעם לא ניגשנו
לבסיס.
(02:52):
אז אמרנו, אוקיי,
למה שלא נתחיל משמה?
זו תהיה הזדמנות
מצוינת.
אז אולי באמת נתחיל
בהכי בסיס שיש.
אנחנו מדברים הרבה
פעמים על LLM.
מה זה LLM? זאת אומרת,
כשאנחנו מדברים בפרטים,
מה זה בסוף LLM? על
מה אנחנו מדברים?
מה זאת האישות הזאת?
כן, אז אולי נתחיל
צעד אחד אחורה.
לפני כמה וכמה שנים,
(03:13):
כמעט 70 שנה היום,
אנשים ניסו לחקות
את ההתנהגות של נוירונים
בטבע,
נוירונים בבעלי חיים.
והדרך לעשות את זה
באופן מתמטי זה מין
פעולה מתמטית שאנחנו
קוראים לה perceptron.
וה-perceptron הזה עושה
בעצם חישוב כמו נוירון.
בעצם מה שהוא עושה
(03:33):
זה פעולה שמתמטית
אנחנו קוראים לה
dot product,
שבו אנחנו כופלים
שני וקטורים,
ואחרי זה אנחנו עושים
איזה משהו שאנחנו
קוראים לו non-linearity.
כלומר,
אנחנו לוקחים את
התוצאה של הפעולה
הזאת ומפעילים עליה
איזה
פעולה ששוברת את הליניאריות
של הפונקציה על ידי
(03:54):
זה שאנחנו נגיד הופכים
כל דבר שהוא שלילי
לאפס.
הקומבינציה של שני
הדברים האלה, מסתבר,
נותנת לנו כוח חישובי
מאוד גדול, ומבחינת
האקספרסיביות של
הדבר הזה זה שקול
בעצם לחישוב כללי.
אני יכול לחשב כל
דבר ככה.
עכשיו אני לוקח, שני
דברים אני רוצה, א',
(04:14):
למי שלא מכיר, נוירונים
זה תאי העצב שנמצאים
במוח.
כן.
אנחנו אומרים המודל
של נוירונים זה מודל
החישובי של המוח,
ובעצם אתה אומר שיש
פה מודל חישובי אחר,
שונה, לא דומה למה
שאנחנו עושים ב-CPU,
אבל עם לפחות אותו
כוח.
כאילו, הוא יכול
לייצג מכונת טיורינג.
כן, טיורינג, למי שיודע,
מישהו שמע את המושג
מכונת טיורינג,
(04:36):
אז בעצם הקומבינציה
של הדברים האלה
אומרת שמה שאנחנו
עושים אקוויוולנטי
למכונת טיורינג.
כלומר,
כל דבר שניתן לחשב,
ניתן לחשב בעזרת רשת
נוירונית.
עכשיו, בפרט כמובן,
הבדל בין רשתות נוירונים
לדברים אחרים שהיו
לנו בעבר,
זה שאנחנו בעצם,
יש לנו טכניקה,
אוקיי, שמאפשרת
(04:57):
לנו,
במקום שאנחנו נצטרך
לתכנת את רשת הנוירונים
בעצמנו,
אנחנו, יש לנו טכניקה
בשביל לגרום לרשת
נוירונים ללמוד
משהו בעצמה.
והדבר הזה נעשה על
ידי תהליך שבו
אנחנו מריצים, מכניסים
דאטה לרשת נוירונים
ומקבלים תוצאה,
אם התוצאה קרובה
למה שאנחנו מצפים,
(05:18):
ואם לא, אנחנו
יודעים איך לתקן
את הפרספטרון הזה,
כדי שהוא ייתן לי
תוצאה נכונה. עכשיו,
מה הדבר הזה שבו
אני, שאני מתקן, מה
יש לי בפרספטרון
הזה?
אז אמרתי שאני כופל
שני וקטורים.
אחד מהווקטורים
האלה,
זה מה שאנחנו קוראים
המשקולות, או הפרמטרים
של המודל, של הפרספטרון.
(05:39):
והדבר השני, זה האינפוטים
שלי.
אז אני לוקח את האינפוטים
שלי,
כופל אותם במשקולות
שלי,
עושה על זה פעולת
נו-ליניאריות כמו
אלו,
וזו התוצאה שלי. ואני
בודק האם זה דומה
למה שציפיתי,
ואם כן, על הכיפאק,
ואם לא, אני מתקן
את זה.
עכשיו,
(05:59):
הדבר הזה, התהליך
הזה, רגע, רגע. בהינתן
כמות מסוימת של משתנים,
זאת אומרת, בעיה
עם משתנים מסוימים,
אני יכול בעצם בתהליך
מסוים לא להגדיר
את המשתנים באופן,
קבוע מראש, אלא אחרי
שזה עובר איזשהו תהליך,
אני אקבל את כמות
המשתנים, שבו אני
יודע מה האינפוט ומה
(06:19):
האוטפוט בצורה
טובה. זאת אומרת,
הפרספטרון,
מה שעושות הרשתות
האלה, שזה דבר נורא
יפה, זה שאני נותן
כמות מוגבלת של אינפוטים
ואוטפוטים,
כן?
נגיד, אלף אינפוטים
ואוטפוטים,
ומתוך האלף אינפוטים
ואוטפוטים, בגלל תופעה
סטטיסטית שאנחנו
לא ממש מבינים אותה
(06:39):
לגמרי,
אנחנו מסוגלים לנחש
ניחושים טובים גם
על דברים שלא כלולים
באינפוטים שלנו.
כלומר, אני מראה סוג
מסוים של כלבים וסוג
מסוים של חתולים ומבדיל
ביניהם בעזרת הרשת,
ואחר כך אני נותן
כלבים וחתולים אחרים
שהרשת לא ראתה מעולם,
והיא מצליחה להבדיל
ביניהם. וזה כאילו
(07:00):
הנס של הלמידת מכונה,
שבעצם מבחינה סטטיסטית,
התופעה הזאת,
שבו אני יכול ללמוד
על כמות קטנה של דברים,
בכל זאת לנחש תוצאות
נכונות על כמות גדולה
של דברים, עולם שלם,
אוקיי?
התופעה הזאת היא תופעה
שמאפיינת את הרשתות
נוירונים האלה, ושעושה
אותן כל כך חזקות,
וכמובן,
(07:21):
כנראה שזה גם מה שקורה
בטבע, אצלנו, במוח
שלנו, גם אנחנו כנראה
עובדים ככה.
אז זה בעצם הרעיון.
אז הרשתות, הרבה זמן
אנשים עבדו,
שהרשתות האלה בהתחלה,
כשבנו אותן,
הן חיכו את מערכת
הראייה שלנו.
הדוגמאות הראשונות
שאנשים הצליחו לעשות
(07:42):
הן דוגמאות של
Computer Vision, שבו אני
נותן... רק שיהיה
לנו כאילו רגע פרספציה
של זמן, מתי בעצם
הצליחו לעשות דוגמאות?
15 שנה. זה די מצחיק,
15 שנה, 20 שנה. היה
לדעתי, עוד כשאני
הייתי באוניברסיטה,
לא נעים לי להגיד,
הרבה קודם, אני מדבר
על שנת 90 כבר עבדו
על רשתות נוירוניות.
(08:02):
כן, אבל שוב פעם,
אז באמת האמונה הייתה,
שהכל יותר מדי לאט,
ולכן לא יכול
להיות שככה זה קורה
באמת.
ההבנה שבעצם זה כן
יכול להיות שהכל עובד
בשיטה הזאת, היא קרתה
יותר מאוחר, בעיקר
בגלל שיש לנו את ה-hardware
לעשות בעזרת המחשבים
שיש לנו היום,
(08:24):
את האימון הנכון
של הרשתות האלה שהביאו
אותנו לתוצאות נכונות.
לפני זה פשוט חשבו
שכל התהליך הזה
הוא איטי מדי ולא
יכול להיות שככה
זה באמת עובד.
זאת אומרת שבמקרה
הזה התיאוריה,
הקדימה בהרבה את זמנה,
כי בעצם היא לא
היה hardware שיכול לעשות,
רק תרגיל מחשבתי.
לא היה את ה-hardware
לאמן, היה את ה-hardware
להריץ, אבל לא את ה-hardware
(08:45):
בשביל לאמן.
כן.
אוקיי, אז פה
אנחנו מדברים על
לפני 15 שנה,
אבל זה לא המודלים
שהיום אנחנו מדברים
עליהם. זאת אומרת,
כשאנחנו מדברים
על מודלים של ChatGPT,
מודלים של למה, זה
לא זה עדיין.
לא.
אז מה שקרה זה שהייתה
תקופה די ארוכה עד
לפני שנתיים,
שבו באמת המודלים
(09:05):
הלכו והשתפרו והיכולת
שלנו להשתמש בהם
בשביל לפתור בעיות
הלכה וגדלה.
אבל לא הייתה לנו
את היכולת ממש לחקות
את ההתנהגות,
אוקיי,
של בני אדם, איך
אנחנו משתמשים בשפה
טבעית,
או את תהליכי החשיבה
שלנו.
(09:27):
הצעד ה-breakthrough כביכול
שקרה זה שאנשים
המציאו מודל שנקרא
Transformer,
אוקיי,
שהמודל הזה שהוא
הבסיס של מה שאנחנו
קוראים ה-Large Language
Models, כן,
ה-Transformer חיבר שני
דברים (09:40):
הוא לקח את
החלק הראשון שאמרתי
עליו, זה החלק שאני
לוקח ואני בונה פרספטרון
ענקי,
אני לוקח פרספטרונים,
המון המון המון נוירונים,
זה חלק אחד,
אוקיי,
ואני שם לפניו
חלק אחר, עוד חתיכת
רשת נוירונים,
שלה אני קורא מנגנון
(10:02):
ה-Attention.
הקומבינציה של שני
הדברים האלה, ה-Attention
יחד עם הפרספטרון
הענקי הזה,
פתאום גרמה לדברים
להתחיל לעבוד ופתאום
אני מצליח בעצם
לעשות דברים שלא
יכולנו לעשות קודם,
בפרט,
אוקיי, לחכות
סטטיסטית תהליכים
(10:22):
שאנחנו רואים שבעלי
חיים עושים,
אוקיי?
עכשיו, שוב פעם, זה
צריך להיזהר פה,
זה משהו שנראה כמו
מה שאנחנו עושים,
אנחנו לא יודעים
אם זה בדיוק מה שאנחנו
עושים,
אבל מצד שני,
כן,
אנחנו גם לא צריכים
להיגרר לרעיון
הזה שהדרך היחידה
ליצור אינטליגנציה
זה הדרך שבה אנחנו
עושים את זה, כן?
(10:44):
זאת אומרת, דוגמה
מאוד יפה מביולוגיה,
כן,
זה שנגיד תמנונים,
אוקיי,
וקופים נפרדו באבולוציה
בזמן שהנוירונים
הראשונים הופיעו,
אבל שתיהם חיות אינטליגנטיות,
אוקיי?
תמנון הרבה יותר אינטליגנטי
מעכבר נגיד,
(11:04):
ושניהם יש להם רשתות
נוירונים,
ורשתות הנוירונים
שלהם נראות לגמרי
אחרת,
ועובדות בשיטה לגמרי
אחרת, אבל בכל זאת
הם מייצרים את אותה
תופעה בדיוק.
הם מתנהגים בצורות
מאוד מאוד דומות.
לכן זה לא כל כך מפתיע
שאנחנו הבאנו צורה
שלישית של לעשות
את זה,
שזה הפרספטרונז
האלה,
כן? וגם כן עושה את
אותו דבר,
(11:26):
אוקיי? אז כנראה שזה
לא,
כנראה שאם נלך לאיזשהו
כוכב אנונימי ביקום
וזה, יש סיכוי טוב
שגם שם יהיה מין
מערכת כזאת שנראית
די דומה.
לא יפתיע אותי, בוא
נגיד ככה.
אנחנו יודעים להגיד
למה טרנספורמרים
עושים את זה, או
שאנחנו גילינו שזה...
אנחנו גילינו למה,
(11:46):
ועכשיו המחקר שלנו
סוף סוף מתחיל להבין
איך.
האיך היה לא ידוע
עד לא מזמן.
מה שקרה זה קודם הופיעה
התופעה שבה אנחנו
רואים שזה עושה דברים
מדהימים ועכשיו סוף
סוף אנחנו מתחילים
להבין איך באמת הדבר
הזה קורה.
אבל אנחנו באמת בהקראה
של זה.
וכשאנחנו מבינים
את האיך אנחנו
(12:06):
יודעים לעשות backtracing
להחלטה ספציפית,
זה איזושהי נגזרת
של זה או שאנחנו עוד
רחוקים גם מזה?
זאת אומרת היום אם
יש לי החלטה מסוימת
שאני קיבלתי מודל,
האם אני יכול לעשות
את ה...
עיתויים האלה של רחוקים
בעולם שלנו היום
זה מושג, לא הייתי
משתמש ברחוקים או
קרובים,
כי כל דבר זה על סדר
גודל של חודשים או
(12:27):
שנים.
אתה שואל אותי בעוד
שנתיים? אני, יכול
להיות שנדע בעוד
שנתיים בדיוק.
יכול להיות שלא.
אבל אני לא, אני חושב
שממש דברים זזים
כל כך מהר,
ויש סיכוי טוב שאנחנו
נדע.
אבל היום אנחנו לא
יודעים. זאת אומרת
היום כחלק מההבנה
של... אנחנו מתחילים
להבין. יש לנו הבנה
התחלתית, ואפשר לדבר
על זה קצת, אבל יש
לנו הבנה התחלתית
(12:48):
של איך הדברים האלה
עובדים,
אוקיי?
אבל יותר לא ידוע
מאשר ידוע, בוא נגיד
ככה.
צריך לזכור גם שהרשתות
האלה, בוא נגיד את
זה רגע,
הרשתות, מה שמאפיין
את הרשתות ומה שקרה
בשנתיים שלוש האחרונות,
זה שעברנו למודלים
שבהם יש
(13:09):
כמות עצומה של פרמטרים,
הרבה יותר ממה שעשינו
בעבר.
בעבר,
GPU יחיד היה יכול
להריץ המון המון רשתות,
אנשים השתמשו ברשתות
מאוד קטנות, שעשו
דברים ב-computer vision
בדרך כלל,
אוקיי?
ועכשיו עברנו למה
שאנחנו קוראים large
language models,
שבהם ה-perceptrons האלה,
כן?
מדובר על מיליונים
(13:29):
וביליונים של פרמטרים.
עכשיו,
רק להכניס את זה בפרופורציה,
זה עדיין סדרי גודל
פחות מאשר המוח שלנו.
ארבעה סדרי גודל.
המוח שלנו הרבה הרבה
יותר גדול מה-ללם
האלה. כשאומרים,
או, זה ענקי וזה זה,
זה לא,
בהשוואה למוח האנושי.
(13:50):
לא רק זה, סדרי גודל
זה נשמע,
זה פתאום נשמע משהו
שהוא פי עשרת אלפים
יותר ממך, גדול ממך,
זה משהו מאוד גדול,
אוקיי? אם היית שואל
אותי, אומר שזה הרבה
יותר יעיל גם,
גם אנרגטית, נפחית
מאיך שעובד הסיליקון
שלנו.
כן, למוח יש יעילויות
מדהימות, כן? אז יש
(14:10):
לו הרבה יותר, זה נכון,
אז יש לו הרבה הרבה
יותר פרמטרים,
כן?
וגם,
אם תחשב איזה רגע,
אנחנו אימנו את המוח
האנושי על הרבה
יותר דאטה ממה שהמכונות
שלנו, למרות שאנחנו
לוקחים את כל האינטרנט
ומעבירים את כל האינטרנט
דרך,
בתהליך הלמידה,
(14:31):
כן?
זה קצת יותר קטן
מאשר כל האבולוציה.
אם היית עושה חישוב
Back of the envelope כזה, חישוב
של כמה דאטה ראו
כל ה-predicessors שלנו,
שהביאו אותנו גנטית
למקום הזה שבו יש
לי את המוח שלי,
אוקיי?
אז ראינו הרבה
יותר דאטה ממה ש-LLM
רואה כשאני מאמן
אותו.
(14:52):
אז לכן זה לא מפתיע
שאנחנו כל כך נהדרים.
אז צריך להבין את
זה בפרופורציה של
כמות הדאטה שיש כאן.
אבל המודלים האלה
הולכים וגדלים,
כן?
ומה שאנחנו מגלים
זה שיש לנו מה שאנחנו
קוראים Scaling Law,
אוקיי?
מה זה אומר Scaling Law?
מסתבר שההתנהגויות
שאנחנו רואים במודל
(15:13):
קטן,
אוקיי? אם אני אקח
את אותה ארכיטקטורה
ואני אגדיל אותה,
אוקיי? אני יכול לראות
תופעות ממש דומות
כשאני הולך ומגדיל
את זה. הדיוק עולה
ואני יכול לעשות
יותר דברים, אוקיי?
אבל הדבר הזה הוא
לא כאילו,
כאילו הוא גדל, כן?
בצורה פרופורציונית
(15:33):
לכמות הפרמטרים שיש
לי.
וזה מה שמדהים, כן?
זאת אומרת, כל פרמטר
שאני אוסיף, אני
יודע בכמה זה יגדיל
את המודל.
אני לא יודע כמה,
אבל אני יודע.
האמת היא שאחת התוצאות
שלי זה באמת שאנחנו
יכולים להגיד כמה,
בכמה זה גדל, כן?
אפשר, זה נכון, אתה
צודק, אפשר להגיד
היום.
עד לא מזמן לא ידענו
להגיד את זה, אבל
(15:54):
אנחנו יכולים להגיד,
נגיד,
כמה פרמטרים צריך
בשביל ללמוד כמות
מסוימת של Features.
אנחנו קוראים לדברים
האלה Features, כן? נגיד,
הזנב של הכלב זה Feature,
כן? העין של הכלב
זה Feature,
כן? הכלב זה Feature,
כן? מילה אחת זה Feature?
אז שוב פעם, אז ברשת
נוירונים,
אוקיי?
אני, יש לי שכבות.
(16:15):
אנחנו בדרך כלל מתחילים
בפרספטרון,
שכבה של פרספטרון,
ועוד אחת ועוד אחת
ועוד אחת ועוד אחת,
וכל המודלים עובדים
ככה. גם המוח שלנו,
דרך אגב, עובדים בצורה
הזאת.
ומה שקורה זה, ככל
שאני עולה בשכבות,
כן? ככל שאני הולך
יותר עמוק בשכבות,
(16:36):
ה-Features האלה הם
יותר מורכבים, הם
קומבינציה של Features
אחרים.
זה כמו שאתה תסתכל
על לוח שח,
אתה יכול להסתכל
על כל אחד מהכלים,
כן?
אבל אתה גם יכול
להסתכל על המצב של
חלק אחד בלוח, או
על מצב של כל הלוח,
כן?
והקומבינציות האלה
היותר ויותר מורכבות
זה מה שקורה יותר
מאוחר ברשת.
(16:56):
אז בכל שכבה ברשת
אני לומד Features חדשים
כחיבור של Features קודמים,
אוקיי?
והדבר היפה ברשת נוירונים
זה שאני מסוגל לאמן
את הרשת,
לעשות שני דברים
באותו זמן:
ללמוד מהם ה-Features,
(17:16):
וגם ללמוד איך לחשב
ביניהם,
כן? זאת אומרת, איך
לחשב בין הפיצ'רים.
כן.
איזה Features אני צריך,
ומה החישוב שהם צריכים
לעשות.
הקומבינציה של ללמוד
את שני הדברים האלה,
זה מה שמדהים פה, שאני
עושה את שני הדברים
האלה בבת אחת, כן?
עכשיו,
(17:37):
יכולת להגיד, אוקיי,
אם הייתי מספר לך
מה כל ה-Features ומה
צריך לחשב,
אז אתה יכול לקחת
ולבנות מחשב אחר שיחשב
אותם. לא צריך דווקא
רשת נוירונים לעשות
את זה, כן? אם הייתי
מספר לך בדיוק מה
הרשת,
כן? אתה יכול לקחת
ולעשות רשת לוגית,
סתם, או לשרוף סיליקון
שיעשה את הדבר הזה.
(17:57):
העניין הוא שאנחנו
כרגע בשלב שבו
אנחנו לא ממש מבינים
מהו החישוב שקורה
שמה.
אנחנו רק בהתחלה
של להבין את החישוב,
ולכן הדרך היחידה
שיש לנו בשביל באמת
לעשות את החישובים
האלה,
היא להריץ רשתות נוירונים.
ולכן אנחנו מגיעים
לכאילו שני חלקים
של עולם ה-Machine
Learning, כן?
(18:18):
החלק האחד זה החלק
של ה-Training,
שבו אני מגלה את ה-Features
ומגלה את החישוב,
והחלק השני של ה-Inference,
בו אני מריץ את הרשתות
האלה, אוקיי? אני
רוצה רגע, במילים
אחרות, מה שאתה
אומר
זה שכדי שאנחנו נזהה
כלבים,
אנחנו לא יודעים
באמת אם מספיק לזהות
אוזניים וזנב, אם
אנחנו צריכים לזהות
(18:39):
את האף,
את השפם ואת העיניים,
או שאנחנו צריכים
את הכל יחד וגם מה
הכלב יחד. אבל
אנחנו כן יודעים שבהינתן
מספיק תמונות של
כלבים, הרשת תדע לזהות
כלבים בעצמה, והיא
בונה לעצמה את ה-Structure
שמספיק,
או אולי גדול מדי,
אבל שיודע לזהות
כלבים.
נכון, בדיוק.
שזה הצד של ה-Inference.
זאת אומרת, הצד של
הזיהוי של הכלב,
(19:00):
זה ה-Inference שזה...
כן, אחרי שבניתי
את הרשת שיודעת לחשב
את ה-Features האלה,
אני לוקח ומריץ
אותה על המחשב שלי
בשביל לקבל input עם
תמונות ולהוציא
החוצה כן כלב, לא
כלב, כן?
וזה שני שלבים שונים,
וכמות החישוב שאני
צריך
בשביל השלבים האלה,
כן, הייתה עד לא מזמן
(19:23):
לא פרופורציונית,
מה זה, לא זהה. מה
זה אומר?
עד לא מזמן הדרך שבה
עשינו דברים זה השקענו
כמות אדירה של חישוב
בלבנות את הרשת, לזהות
את ה-Features ואת הקשר
ביניהם,
ואחר כך ה-Inference עצמו
היה קצר.
הייתי נותן לך איזשהו
prompt, אני נותן לך
משפט ואתה נותן לי
תשובה,
(19:43):
כן?
אבל היום אנחנו הולכים
למקום,
אוקיי,
שבו אנחנו מעבירים
הרבה מהתהליך הזה
של הלמידה של ה-Features
וההבנה של דברים,
מעבירים את זה לתוך
ה-Inference.
ולכן העלויות של ה-Inference
עכשיו גם כן עולות.
אנחנו בנקודת פרוזישן
כזאת שבו העלות של
טריינינג יקרה,
(20:05):
ועכשיו גם ה-Inference
נהיה נורא נורא יקר.
אבל הוא נהיה יותר
יקר מהאימון?
לא, הוא עדיין לא
יותר יקר מהאימון,
אבל הוא הרבה יותר
יקר ממה שהוא היה
קודם,
אוקיי? על איזה סדר
גודל איך מדברים?
זאת אומרת, מה...
כי ה-Inference עצמו, כשאנחנו
מסתכלים על העלות
של ה-Inference מלפני עשר
שנים להיום,
הייתה ירידה של לא
(20:25):
מעט... אילן שואל
כמה Open היה עם מפסידים
כל פעם שאני שואל
את השאלה,
צ'יפינגו.
בדיוק. אז המודלים
החדשים,
כמו O3 ו-O1, כן?
או המודלים ה-Gemini
ה-2.5 וכן הלאה, מודלים
שבעצם,
המודלים החדשים
האלה, מה שהם עושים,
זה מנסים הרבה מסלולי
(20:45):
חשיבה ביחד ובוחרים
מה שעובד.
זה כמות אדירה של
חישוב.
מה שקורה זה שהיום
באמת אנחנו מעבירים
הרבה הרבה יותר מהמאמץ
לתוך ה-Inference.
לא ברור לאן זה ילך,
לא ברור עד כמה אפשר
לדחוף את הדבר הזה,
אבל בפרט זה אומר
שכשאני,
שולח שאילתה למודל
(21:06):
שלי, כן? אני צריך
להיות מוכן להשקיע
כמות אדירה של חישוב
בשביל לתת לך תשובה.
לא כל כך הבנתי למה
זה השתנה. יש שאלה
אחרת, שנייה, אילן.
שנייה רגע, ג'וש.
לא הבנתי למה זה
השתנה. הרי מה גרם
לדבר הזה להשתנות?
מה שגרם לזה להשתנות,
שגילינו שרק לאמן
את המודל על כמות
נוספת של דאטה לא
(21:27):
משפר את היכולות
שלו מבחינת היכולת
לפתור בעיות.
אם אני רוצה לפתור
בעיות מתמטיות,
ולא על ידי זה
שהוא פשוט לומד את
מה שהוא ראה,
אז אני צריך להכניס
תהליך חדש, ואחד
התהליכים שאנחנו
עושים, נגיד אם
אתה היית צריך לפתור
איזושהי בעיה,
הוא כבר מנסה בראש
שלך כל מיני כיווני
פתרון,
בוחר את אלה שעובדים,
(21:48):
ואחר כך ממשיך הלאה
לנסות את מה שעבד
לך,
אתה מנסה הלאה, נכון?
אז אותו דבר המודלים
החדשים,
מה שהם עושים זה
בדיוק תהליך כזה שבו
הם מייצרים סדרות
של טוקנים שכולן
מנסות לפתור בדרכים
שונות את הבעיה,
ואז בוחר את מה שהולך.
הדבר הזה, נגיד
אני מנסה 10 דרכים
(22:08):
שונות, זה פי 10
יותר חישוב.
הבנתי, הבנתי. זאת
אומרת, הנושא של ה-reasoning,
בגלל שאנחנו מריצים
את אותה רשת כמה פעמים
בכמה תהליכים, ואז
בוחרים מתוכה לצורך
העניין, אני מנסה
רגע לפשט את זה, בוחרים
את התוצאה הטובה ביותר.
אז זה הכפיל תהליך
אחד פי 10 או 20. כן.
ועכשיו, לחזור חזרה
רגע אחד לאיפה שהתחלנו,
(22:29):
לרעיון הזה של רשתות
נוירונים.
מה שקרה ברשתות נוירונים
האלה זה שכמות הפרמטרים
שיש לי במודל הזה
גדלה וגדלה וגדלה
בפקטור של 10. כל שנתיים
יש לי פי 10 יותר.
אולי אני טועה במספרים
האלה, אבל זה אולי
אפילו יותר. אז זה
גדל כל הזמן.
אז עכשיו עברנו, וזה
(22:49):
הדבר המעניין שדיברנו
עליו בשיחה שלנו קודם,
מה שמעניין פה זה
שנולד סוג חדש של
חישוב שלא היה קיים
קודם.
זה סוג של חישוב
שאנחנו קוראים לו
parameter driven. פרמטרים
קובעים את החישוב.
מה ההבדל בין מה
שהיה לנו קודם?
מה שהיה לנו קודם,
כן, זה היה input driven,
(23:11):
כן? זאת אומרת, יש
לי input ויש לי תוכנית
שהיא יחסית קטנה.
כמות הפרמטרים בתוכנית,
בדאטאבייס שלי זה,
כמה אורך השאילתות,
כמה פעמים לנסות,
כמה כבר יש לדאטאבייס
פרמטרים?
100 פרמטרים אני מסדר,
ואז סידרתי את 100
הפרמטרים, הדאטאבייס
שלי גמור.
ועכשיו אני מביא
input יותר ויותר גדולים,
ככל שאני מגדיל את
ה- inputים, כמות החישוב
(23:32):
שהדאטאבייס שלי עושה
יותר גדולה.
עכשיו אנחנו בעולם
אחר.
הגודל של השאילתה
שלי הוא יחסית קבוע
ולא כל כך גדול,
אבל כמות הפרמטרים
שלי בתוכנית הוא
בביליונים. זאת
אומרת, אם הייתי
צריך להשוות את זה,
יש לי עכשיו שאילתה
שמספר הנעלמים שלה
היא בביליונים לעומת
ה-100 שהיה לי לפני
זה,
(23:52):
יכול להיות שאני
אקבל תוצאה אחת סביב
הדבר הזה.
בדיוק. אבל עכשיו,
כאילו, החישוביות
של השאילתה הזאת,
כביכול הוא יותר סקטי.
הבוטלנק של החישוביות
עבר להיות,
אנחנו נעביר את זה
מסוגי קאש. אם התוכנית
שלי בדרך כלל היא
בקאש והיא קרובה
מאוד ב-L1 ו-L2,
ובעצם אני מביא נתונים
(24:13):
ועובד עליה מאוד
מהר, עכשיו המודל
שלי, התוכנית,
לא נכנס לשום גודל
סביר של קאש.
הנתונים בקאש והתוכנית,
אני צריך להעביר
אותה ולהביא אותה
מהזיכרון,
לא משנה איזה, באיזה
רמה, ל-CPU, ל-GPU.
בדיוק.
להריץ, ובעצם הזמן
הוא,
(24:33):
זה אומר שהזמן חישוב
הוא לא תלוי בשאילתה.
זאת אומרת, אם אני
שואל שאלה של משפט
או שאלה של עמוד,
הזמן חישוב הוא
קשור למודל בכלל.
כן.
אז זו באמת דרך הנכונה
לחשוב על זה,
שבעולם החדש הזה זמן
החישוב פרופורציונלי
למספר הפרמטרים במודל.
(24:53):
זה כאילו שאמרתי,
גודל התוכנית
הוא הדבר שקובע את
החישוב,
ולא גודל הדאטה.
זה שינוי מדהים שקרה,
ויחד איתו אנחנו
צריכים לשנות את
כל ה-hardware וה-software
שלנו.
וזה הדבר שאנחנו נאבקים
איתו עכשיו, שבעצם
אנחנו עוברים לעולם
חדש כזה,
(25:13):
שבו data movement,
ההזזה של הדאטה,
אוקיי?
סליחה, אני אומר
data movement, אבל זה בעצם
parameter movement,
כן? ה-parameter movement שולט
בחישוב,
וכל מה שאני עושה,
שיש לי מודל של 405
ביליון פרמטרים,
שאני מחשב איתו משפט.
אתה אומר, אמא הלכה
(25:34):
היום לגן עם משה,
וצריך להבין את זה,
אז עכשיו על כל אמא
ומשה וזה, כל מילה
כזאת, אני מביא 405
ביליון פרמטרים פנימה,
מחשב איתם, ומציג
אותם עוד פעם, וחזור
ככה,
חזור והלוך, כן? הלוך
וחזור. יש פה הזדמנות
לארכיטקטורה חדשה
(25:55):
של מחשבים,
לסיקרונות יותר יעילים.
בוודאות יש, בוודאות
יש, כמובן, כן?
בפרט, נכון, המוח
שלנו לא מביא את
הפרמטרים פנימה.
הפרמטרים מחוברים
אחד לשני עם נורון,
אוקיי?
כאילו, הסינפסות,
הקשרים בין הנורונים,
(26:16):
זה המקום שיושב הפרמטר,
והחישוב זורם, נכון?
דרך זה.
כלומר, אנחנו מחכים
בעזרת מחשבים שנועדו
לעשות דברים שהם
input-driven,
מחשבים חישוב, אוקיי?
שהוא בעצם parameter-driven,
אוקיי?
ולכן אנחנו באיזשהו
מקום כזה מין מוזר,
שבו אתה רואה שאני
בונה מרכזי חישוב
(26:37):
ענקיים כאלה בטקסס,
שכל הכמות חישוב
שלהם זה כמו שיש לך
בראש.
זה הדבר העצוב פה
בדבר הזה.
אני רוצה לשאול עוד
שאלה.
למרות שבאמת המודלים,
עיקר הדברים שאנחנו
לומדים היום זה LLM'ים,
האם מודלים אחרים,
תמונה, כל, וידאו,
(26:59):
עובדים באותה צורה
או שהם עובדים, אז
העולם הולך ומתכנס.
אני לא הייתי משתמש
במושג LLM כמו שהייתי
משתמש במושג טרנספורמר,
והטרנספורמרים גדולים,
לא LLM'ים גדולים,
כי זה לא about language,
כן?
זה נכון שלנגוויג'
זה משהו קנוני,
אבל בכל זאת לא.
יש לנו גם computer
vision וגם כל דבר, הכל
(27:21):
הולך להתכנס ביחד,
וידאו וזה, הכל הולך
להיות אותו מודל,
אותו סוג של מודלים,
אנחנו פותרים את
הכל באותה צורה בדיוק.
אנחנו נראה את זה
יותר ויותר, שמודל
אני אצפה ממנו לעשות
הכל. אתה כבר היום,
אתה הולך למודל כמו
O3 או משהו כזה, ואתה
מזין לו תמונות, ואתה
מזין לו voice, ואתה
מזין לו טקסט.
(27:42):
הוא לא חושב לעצמו,
אוקיי, מה נתת לי עכשיו,
אוקיי? זאת אומרת,
אז אם אני מבין נכון
רגע את מה שאמרת עכשיו,
מבחינת הטרנספורמרים
והמודלים של היום,
אין הבדל בין אם
אנחנו מדברים על טקסט
או על תמונה.
הוא יכול להיות שיש
קצת יותר חישוב על
תמונה לצורך העניין.
צריך להיזהר.
היום אנחנו עדיין
מבדילים,
אבל אני טוען שאנחנו
בעוד כמה פעמים לא
(28:02):
נבדיל.
לא נבדיל. המודל מבחינתו,
אם נתת לו תמונה, קול
או זה, הוא יתנהג
באותה צורה.
צריך לזכור, גם הראש
שלך לא עובד ככה. זאת
אומרת, אתה לא מריח
עם העיניים,
אוקיי, ואוכל עם
האוזניים.
אתה, יש לך input מסוים
(28:22):
שבא לך מהעיניים,
ו input אחר שבא לך
מהאוזניים,
אוקיי,
ואחרי שהוא עובר עיבוד,
אז אתה לוקח אותו
במוח שלך ומשתמש בו
ביחד.
אז אותו דבר יהיה
גם במודלים האלה,
כן?
החלק ההתחלתי של ה
input יהיה שונה, כן?
כי אני לא מסתכל
על וידאו כמו שאני
מסתכל על sound או על
language, כן?
(28:43):
אבל אחרי השלב העיבודי
הראשוני,
זה כנראה יהיה הכל
ביחד.
מעניין.
יש לי עוד שאלה אחת
שקשורה קצת למה
שאמרנו קודם.
היום,
כשרוב אתרי אינטרנט
מבקשים לברר שאני
בן אדם, הם מראים
לי תמונות ואומרים:
תמצא את הרמזורים,
את האופניים, את
אני לא יודע מה.
לפי מה שאתה מתאר
זה כבר obsolete, כאילו
(29:04):
זה בהינתן גישה למודלים
מסוימים. הדבר שעובד
עדיין, אני חושב,
זה זיהוי של קצבים
של דברים, וגם זה ייעלם,
כן? כל השיטות האלה
של הזיהוי כנראה
לא יעבדו יותר בעתיד.
כן, זה כנראה יהיה
קל מאוד לחקות אותם.
טוב, יש לי גם שאלה,
ואני חושב שזו תהיה
(29:24):
השאלה האחרונה לפרק
זה.
אוקיי, אז יש רשתות
נוירונים, יש איזשהו
path שדיברנו עליו,
אבל בסוף בסוף
אני יכול לשאול את
אותה שאלה מודל מסוים,
ואני אקבל תשובה שונה.
זאת אומרת, אני אשאל
אותה פעמיים, פעם
אחת אני אקבל תשובה
x, פעם שנייה אני אקבל
תשובה עם איזשהו ניואנס
קטן כזה או אחר.
(29:45):
לפעמים לא ניואנס,
לפעמים יש fractured
אחרת לגמרי.
כן, מה ההסבר לזה?
או שאנחנו לא יודעים
להסביר את זה עדיין
גם.
לא, ההסבר הוא פשוט,
קודם כל, ברור שאפשר
לגרום לזה שזה תמיד
יענה אותה תשובה.
זה בסך הכל מחשב, ואני
יכול לסדר לו את
כל הפרמטרים כך
שהוא תמיד יחזיר
את אותו דבר, אוקיי?
(30:05):
אבל כל ניואנס קטן
בדאטה, בצורה שבה
הדאטה הוגש, כן,
או באיפוס של המשתנים,
או, אני הרי בסופו
של דבר, כשאני מריץ
את הרשת הזאת, אני
מגריל כל מיני דברים.
אני לא לגמרי סינכרוני,
ואני לא לגמרי משתמש
באותם seeds לכל הרנדומיות
(30:26):
שלי בחישוב.
אז הדברים האלה,
כן, האיפוס של המשתנים,
כל הדברים האלה,
הדברים האלה כן משנים
את התוצאה שלי,
אבל זה לא אינהרנטי,
זה מה שאני אומר.
אם אתה רוצה לעשות
ניסויים,
וכל הזמן להריץ, לתת
אותו input ולקבל את
אותו output, אפשר לעשות
את זה, כן? אפשר לעשות.
רגע, אתה בעצם אמרת
פה משהו שהוא הוחבא
פה מתחת לדברים,
(30:46):
שבתצורה שבה
אנחנו מממשים את
הרשתות נוירונים,
אנחנו מוסיפים רנדומליות.
נכון.
כך שזה לא באמת טרמיניסטי,
by choice.
by choice, כן. בפרט,
אתה יודע, ולא רק
זה, אלא שכשאני מאמן
את הרשתות האלה,
בכלל, אנחנו משתמשים
שם בהרבה מאוד רנדומיות,
שאנחנו יוצרים
אותה באופן טבעי,
(31:08):
כי זה עוזר לנו, אוקיי?
למה? כי כל התהליך
הזה של האימון הוא
תהליך סטוכסטי.
ומסתבר שכשאתה עושה
תהליך סטוכסטי, ואתה
עושה injection של רנדומיות,
זה עוזר לך בתהליך.
זה בבחירה, הדבר
הזה.
כן, אבל כשאתה עושה
את זה באימון,
אתה עדיין מצפה שבאינפרנס,
אם אין רנדומיות,
תקבל תמיד אותו דבר,
(31:29):
אתה רק באימון עשית.
אבל אני אתן לך דוגמה,
אני משחקתי,
בדברים ששחקתי בהם
יש את,
זה קלוד, הם אוהבים
את הדמו "Paris is".
אז פעם אחת הוא
אומר לך "Paris" מתאר
את העיר, ופעם שנייה
הוא אומר שהיא מרכז
אומנות, ופעם זה,
וככה, אתה לא באמת
יודע מה אתה תקבל.
חשוב על עצמך, אוקיי?
(31:49):
נגיד שאני שואל
אותך "Paris is", ובזמן
שאני שואל אותך "Paris
is",
אני, הילד שלך עושה
לך שלום בחלון, או
אני נוגע לך ברגל,
אוקיי? אז אתה נותן
תשובה אחרת, אוקיי?
אז מה שקורה כאן
זה שאנחנו מסתכלים
על הדבר הזה כאילו
שהוא איזה מין דבר
מונוליטי קבוע,
אבל הוא לא.
לדוגמה, כשאתה מדבר
על קלוד, קלוד לא רץ
(32:10):
על CPU יחיד או על GPU
יחיד,
הוא רץ על הרבה GPUs.
הם מריצים באותו זמן
עוד המון דברים אחרים,
ויש מערכת הפעלה שכל
הזמן מנהלת אותם,
והיא מקבלת אינפוטים
רנדומיים מכל מיני
אנשים אחרים שמריצים
דברים באותו זמן.
ולכן החישוב שאתה
רואה הוא חישוב שנקבע
על ידי רנדומיות
שנגרמת כאילו מהטבע
(32:31):
הזה, שהוא הסביבה
שבו זה רץ, אוקיי?
ולכן זה לא מפתיע
שיש פה הרבה מאוד
מקריות, ולכן אתה
לא מקבל אותו דבר.
לא, אני פשוט לא ידעתי
את זה. אני, אני,
אבל יכול להיות, תראה,
יש עוד סיבות לזה.
אני לקחתי את הגורם
הכי הכי דומיננטי
בדבר הזה, כן?
שבעצם כשאתה, בכלל,
כשאתה מריץ דברים
במערכת מבוזרת,
(32:52):
תמיד, אוקיי, אתה
מקבל דברים שונים
בכל ריצה,
אוקיי?
אלא אם כן אתה שולט
בזה בסביבת דיבאגינג
לגמרי נקייה,
כן? תמיד זה ככה, אוקיי?
ולפני כל הדברים
האחרים שמאפיינים
את ה-neural networks,
הדבר הזה הוא דומיננטי
בכל אחד מהחישובים
האלה.
אחר כך יש עוד הרבה
גורמים אחרים,
אבל הדבר הזה שולט
(33:13):
בהכל, שבאמת, אני נתקלתי
בזה באיזה proof of
concept שעשיתי, לא משנה
כרגע למה, וזה הטריף
את דעתי, אבל עכשיו
אני מבין שבעצם זה
חלק מזה, זה כי המערכות
נבנו להיות כאלה
שהן לא לחלוטין,
כן,
אוקיי, בסדר, אז
אנחנו ממש ככה נגענו
(33:34):
ורק שמנו יסודות,
ולא יודע, לי עוד היו
הרבה שאלות, למשל
סוגי אימונים ודברים
כאלה,
ואנחנו לא נספיק
לגעת בזה בפרק הזה.
אז קודם כל תודה רבה,
פרופסור ניר שביט,
שבאת להתארח אצלנו.
בפרק הבא אנחנו כן
נרצה יותר להתעסק,
אולי בתחום שיותר
התעסקת בו בסטארט-אפ
(33:55):
שלך, ב-neural magic,
שזה בעצם האופטימיזציה
של כל העולם הזה, ומה
זה אומר, ולאן זה הולך.
אז שווה להישאר גם
לפרק הבא ולהאזין.
אנחנו מקווים שעד
אז יהיה מה שנקרא
שלום עולמי,
פחות בעיות בלקום
בבוקר.
ג'וש, איזו מילה אחרונה
שלך?
(34:16):
אני רוצה להגיד,
היה מאוד מאוד מעניין.
אנחנו, למי שהפרק
הזה היה טיפה תיאורטי
מדי, הפרק הבא,
אנחנו מתכננים לעשות
אותו יותר קשור למה
שאנחנו רואים יום-יום
כשאנחנו גם משתמשים
במודלים, ואני מקווה
טיפה להסתכל קדימה
לאן העולם הזה הולך,
(34:37):
רץ, למען האמת, הוא
הפסיק ללכת מזמן,
הוא דוהר, טס.
כן.
יופי. אז תודה רבה,
וניפגש בפרק הבא.
להתראות.
להתראות.