close menu

כשהגודל כן קובע – מודלי ענק בתמונות

בעולם האמיתי Deep Learning לא עובד.

כן. רשתות נוירונים כן "לומדות משהו" לא רע אבל הן עדיין לא "עובדות עובדות"

.

כך לפחות יגידו רוב האנשים שלא מהתחום ויתקלו בפעם הראשונה בתחזיות מודלים בעולם האמיתי.

אבל ים, "על מה לעזאזל אתה מדבר?"

קחו לדוגמה את הבעיה הפשוטה ביותר: MNIST – גם הרשת הקטנה והגרועה ביותר מכסחת את MNIST. נכון?

במעבדה. היא מכסחת את MNIST בקלות במעבדה.

מה זאת אומרת "במעבדה"?

יש פער עצום בין איך שאנחנו תופסים תוצאות מודלים לאיך מי שלא מהתחום תופס תוצאות מודלים

במיוחד: במקרים הפשוטים ביותר.

אז ככה,

למיטב ידיעתי הState-of-the-art על MNIST הוא 99.82% [1][2][3].

נניח עכשיו שרשת הקסמים שולבה בתוך מוצר:

"עט שמזהה כתב יד" – אחרי שכותבים איתו הוא שולח למייל את הטקסט שנכתב

טקסט, לא סריקה או תמונה. שולח טקסט.

שימו רגע את הר הבעיות בפיתוח מוצר זה בצד ונניח שתוצאה (מעוגלת) בMNIST מתקבלת גם בעולם האמיתי: לעט "99%" דיוק.

כלומר, העט יטעה בממוצע פעם אחת כל 100 אותיות. אם נקח בחשבון במהירות כתיבת האותיות הממוצעת היא 40 אותיות בדקה [4] נקבל כי תוך 3 דקות בסבירות גבוהה העט יטעה.

אני יודע. שימו בצד, זה לא משנה את הנקודה עצמה.

בכדי לגרום למוצר מסוג זה לפעול במציאות, ידרש מאמץ קשה מאוד מצד בני האדם שתפקידם לגרום למודל זיהוי האותיות לעבוד.

כי עבור לקוחות המוצר הפוטנציאלים, טעות זיהוי תוך שלוש דקות כנראה תעצבן אותם עד רמה כזו שהם לא יתרשמו מהמוצר כמו שהינו רוצים.

ביצועי מודלים משפיעים המון:

בעולם האמיתי מערכות לומדות מופעלות במקרים רבים בקצב גבוה ולכן גם טעויות מתרחשות בקצב גבוה, בנוסף: לבני אדם סף עצבים נמוך מאוד לטעויות של אלגוריתמים. ואפילו יותר גרוע: בחלק גדול מהמקרים, אלגוריתמים טועים "טעויות לא אנושיות" שנראות לבני אדם שלא מהתחום "דביליות" ורק מוסיפות לתחושה הכללית ש"המודל לא מבין".

חשיבות מודלי ענק

אמ;לק: מודלי ענק == ביצועים בחינם. הם עולים "רק" כסף! לא זמן אנושי.

הזמן שלכם יקר

רוב האנשים שעובדים בתחום ממעיטים בערכה של ההתערבות האנושית הנדרשת כדי לגרום למודלים אלו לעבוד בצורה "טובה" בעולם האמיתי ובמקרים רבים אף ממעיטים עוד יותר בקצב שיפור היכולות ההולך ומתקדם של מודלים אלו (שכן, לפעמים מגיע עם מחיר מסוים), גם שיפור קטנטן ביכולות המודל עצמו מתבטא בחסכון מאמץ עצום למשתמשים באותו המודל (במיוחד בסביבה רועשת כמו העולם האמיתי).

אם מעניין אתכם "להרגיש" את ההבדל בביצועי מודלים בעולם האמיתי: נסו להשתמש בGPT-3 בגודל קטן ובGPT-3 בגודל גדול. בני אדם רגישים במיוחד לטעויות בשפה אנושית: אתם תרגישו מיד בהבדל. אחד המודלים "יותר חכם".

מאפיין שימושי במיוחד של מודלים עמוקים הוא סקיילאביליות: ביצועי מודלים אלו הולכים ומשתפרים ככל שהמודלים עצמם הולכים וגדלים, לרבים מהעוסקים בתחום מודלי ענק אולי נראים כמו "צעצוע של החברות הגדולות", "לא פרקטיים" או אפילו "בזבוז משאבים" אבל זה לא המצב.

זוכרים איך פעם BERT היה ענק? עזבו. זוכרים ש"אי אפשר לאמן DenseNet" באמת?

אני לא חושב שמודלים אלו "צעצוע לעשירים": לדעתי אם מסתכלים על כוח החישוב הנדרש על מנת לאמן מודל State-of-the-art נראה כי כוח חישוב זה גדל משנה לשנה באופן יחסית קבוע. ההבדל בשנים האחרונות הוא הפער בין כוח החישוב הנדרש למודלים לבין כוח החישוב שהחומרה מאפשרת.

לפני כמה שנים החומרה לאימון מודלים היתה כל כך חזקה ביחס לכוח החישוב הנדרש שכמעט כל מודל בכל תחום חזק ככל שיהיה, היה נגיש לכל המחזיק גם בחומרה הפשוטה ביותר כך שמעולם לא התקיים דיון באשר לכוח החישוב הנדרש לאימון מודל זה או אחר – תמיד "אפשר לאמן" אם "יש חומרה".

אך בשנים האחרונות דרישת כוח החישוב עקפה את כוח החישוב הזמין ולכן נראה כי "משום מקום" הופיעו כמה מודלי ענק ש"אי אפשר באמת לאמן" כשבמציאות, קצב התקדמות החומרה וקצב התקדמות המודלים יחסית נשאר אותו הדבר.

אני טוען שמודלי ענק (שנראים כרחוקים מאוד כרגע) יהיו נגישים לקהל הרחב וגם אתם הולכים לאמן אותם ולהשתמש בהם לצרכים שלכם.

אני לא בטוח שהמודלים החזקים ביותר יצרכו פי 100 או 1000 פחות משאבי חישוב אך אני בטוח שמשאבי החישוב יהיו פי 100 או 1000 יותר זולים בעוד כמה שנים.

ולכן מחקר העוסק במודלים בקנה מידה גדול מעניין ורלוונטי במיוחד גם לכם, הוא מאפשר להציץ למודלים בהם נשתמש בעוד כמה שנים ביום יום ובנוסף: מודלים בקנה מידה גדול מתנהגים שונה ממודלים בקנה מידה קטן, הרבה מההנחות והניסיון באימון מודלים "נורמלים" לא "מכליל" לאימון מודלים בקנה מידה גדול.

מודלי ענק לתמונות

על מודלי ענק בטקסט כבר דיברנו הרבה מאוד, מה עם מודלי ענק בתחומים אחרים?

עד לא מזמן, נראה כי הגדלת מודלים לראיה ממוחשבת אינה מובילה לשיפור משמעותי בביצועים אותו אנו רואים במודלי שפה.

לפני יומיים שחררו חוקרים מגוגל את מודל זיהוי התמונה הגדול בעולם:

מאמר: Scaling Vision Transformers to 22 Billion Parameters

לינק: https://arxiv.org/abs/2302.05442v1

במאמר זה מאמנים החוקרים מודל בקנה מידה גדול. המודל הוא טרנספורמר לתמונות ונכון לעד עכשיו, מודלים ענקיים עדיין לא הפגינו בהצלחה ביצועים טובים יותר בקנה מידה גדול (כמו שאנו רואים בטקסט – מודלים בגודל טריליוני פרמטרים ממשיכים להשתפר).

המודלים הגדולים ביותר עבור ראיה ממוחשבת הם ViT כשהגדול ביותר הכיל 4 מיליארד פרמטרים (להשוואה: מודלי טקסט "כלליים" הקטנים ביותר הם בגודל 11 מיליארד פרמטרים), במאמר זה הציגו גוגל אסטרטגית אימון יציבה ויעילה במיוחד לצורך אימון טרנספורמר תמונות בגודל 22 מיליארד פרמטרים ולאחר מכן ביצעו מגוון רחב של ניסויים עם המודל שהתקבל.

הבעיה העיקרית: ערכי אקטיבציה חריגים

ישנה תופעה לא מוסברת המתרחשת במודלי ענק המכילים מעל ל6.7 מיליארד פרמטרים: בשלב מסוים באימון אקטיבציות המודל עוברות מעבר פאזה חד והופכות לדלילות במיוחד (וקטור אפסים עם 1 "בודד") – מודלים ענקיים מתנהגים שונה דרמטית ממודלים קטנים ויש להתיחס אליהם כך.

אותה התופעה מתרחשת במודלים לראיה ממוחשבת רק שבמודלים אלו תופעה זו גם פוגעת בביצועי המודל וגורמת ללוס לגדול ולמודל להפסיק ללמוד.

על ידי מספר שינויי ארכיטקטורה פשוטים (שימוש בLayerNorm במקומות ספציפיים, ביטול bias בחלק מהשכבות) פתרו החוקרים בעיה זו ואיפשרו למודל ענק ללמוד בצורה יעילה.

במאמר גם מתוארים שינויים הבוצעו במודל לצרכי אימון יעיל ומבוזר אך לא אכנס אליהם.

תוצאות:

במודל המאומן ביצעו החוקרים ניסויים רבים על בעיות רבות: מסיווג תמונות, סגמנטציה ועד לוידאו ואפילו Few shot. המודל (כמובן) נראה מגיע לביצועים מצויינים אך החידוש העיקרי במודל זה הוא כמובן היכולת להנות מביצועים טובים יותר באמצעות הגדלת המודל.

בתמונה: המודל עם שינויי הארכיטקטורה.

רפרנסים:

[1] – הSOTA על MNIST למיטב ידיעתי נמצא כאן: https://dl.acm.org/doi/10.1145/3206098.3206111.

[2] – בקאגל הSOTA על MNIST עם רשת אחת הוא 0.9975 והוא התקבל על ידי יצירה של 25,000,000 תמונות עם אוגמנטציות.

[3] – אנחנו (Deep Trading) הגענו ל1.0 (תוצאה בקאגל) על MNIST עם חיפוש ארכיטקטורה כבד שרץ על קלאסטר גדול כמה ימים. כי.. שכחנו אותו בטעות רץ לסופש. אני לא בטוח שתוצאה זו מייצגת משהו וקחו אותה בערבון מוגבל.

[4] – מהירות כתב יד ממוצעת: https://en.wikipedia.org/wiki/Words_per_minute…).

 

עוד בנושא: