פרק 9: העלייה השקטה של מודלי State-Space
הורדה MP3תחשבו רגע על התלמיד הכי חכם בכיתה. זה שיכול לצטט לכם מילה במילה כל ספר שהוא אי פעם קרא. מרשים, נכון? עכשיו תדמיינו שבשביל לענות על כל שאלה, לא משנה כמה פשוטה, הוא חייב לקרוא מחדש את כל הספרים בספרייה. כל פעם מחדש. פתאום זה נשמע פחות יעיל. ובכן, זה פחות או יותר מודל טרנספורמר. הארכיטקטורה הזו, שהיא הבסיס ל-ChatGPT ולרוב מודלי השפה הגדולים, היא מדהימה, אבל יש לה עקב אכילס רציני. מנגנון ה"קשב" (Attention) שלה, שמאפשר לה להסתכל על כל מילה בהקשר של כל מילה אחרת, דורש כוח חישוב שעולה בריבוע עם אורך הרצף. וזה לא בעיה של אהלן-אהלן. זה חסם אמיתי שמונע מאיתנו להשתמש במודלים האלה כדי לנתח ספר שלם או את כל הקוד בפרויקט שלנו במכה אחת. אבל בשקט בשקט, מתחת לרדאר, צומחת לה אלטרנטיבה עם פילוסופיה אחרת לגמרי: מודלי ה-State-Space.
אם הטרנספורמר הוא סורק ספרייה אובססיבי, אז SSM, ובמיוחד המימוש הפופולרי שלו Mamba, הוא כמו ספרן יעיל. הספרן לא קורא מחדש את כל הספרייה לכל שאלה. במקום זה, הוא מתחזק תקציר מתגלגל של המידע החשוב ביותר. כשמידע חדש נכנס, הספרן פשוט מעדכן את התקציר שלו. זה הרבה יותר מהיר ודורש הרבה פחות כוח חישוב וזיכרון.
אבל ליעילות הזו יש מחיר. התקציר של הספרן הוא תוצאה של דחיסת חומר, ובתהליך הדחיסה, חלק מהפרטים הקטנים עלולים ללכת לאיבוד. וזה בדיוק ההבדל המהותי בין שתי הגישות: מחקרים מוכיחים שטרנספורמרים טובים משמעותית במשימות שדורשות שליפה מדויקת ומילה במילה של מידע מההקשר. הם רואים הכל, כל הזמן. לעומתם, SSMs מצטיינים בסיכום וביעילות, ומעבדים רצפים בזמן לינארי ועם זיכרון קבוע, מה שהופך אותם לאידיאליים להקשרים ארוכים במיוחד.
הרוטב הסודי של Mamba, שהופך אותו ליותר מסתם SSM בסיסי, הוא מנגנון "סלקטיבי". המודל יודע להחליט איזה מידע חדש חשוב מספיק כדי להכניס אותו לתקציר המתגלגל שלו, ועל איזה מידע אפשר לוותר, והכל בהתבסס על ההקשר הנוכחי. הוא לא סתם דוחס מידע, הוא דוחס מידע בצורה חכמה.
אבל למה לקחת צד? הטרנד החם הוא מודלים היברידיים, שמנסים לשלב את יתרונות משתי הגישות. הראשון, Jamba של חברת AI21 Labs הישראלית משלב שכבות של טרנספורמר ושכבות של Mamba לסירוגין. בעוד במבה, לא התינוק, של IBM, מבוסס על רעיון דומה, ומבטיח לרוץ במהירות כפולה מטרנספורמר באותו גודל, עם רמת דיוק דומה.
מודלים עתידיים יתוכננו עם פשרות וישלבו בתוכן הרבה שכבות. במקום לשאול "האם זה טרנספורמר או SSM?", נשאל "מה היחס בין שכבות ה-Attention לשכבות ה-State?". מודל לניתוח חוזים משפטיים, שדורש דיוק מירבי, יכיל כנראה יותר שכבות Attention. מודל לעיבוד אודיו בזמן אמת, שצריך להיות יעיל, יהיה מבוסס בעיקר על SSM.
אוקיי, אז יש לנו מודל Mamba, Jamba ובמבה, איך נתאים אותו למשימה סופר ספציפית? איך נעשה לו Fine Tuning? בעיה. שיטות ההתאמה שפותחו עבור Transformers פשוט לא עובדות כאן. ולמה? אם נחזור לספרן שלנו, Fine Tune למודל זה כמו להדביק פתקית על הדף הראשון של כל ספר. עבור ה-Transformer, שסורק את כל הספרים כל פעם מחדש, הוא יראה את הפתקית הזו שוב ושוב והשפעתה תהיה חזקה. אבל עבור ה-SSM, הפתקית תשולב אותה בתקציר המלא שלה, וההשפעה תתפוגג. האות פשוט חלש מדי.
הפתרון הוא משפחה חדשה של שיטות התאמה שנבנו במיוחד עבור SSMs. אחת מהם, שנקראת State offset tuning או SOT, מוסיפה וקטור קטן לחלקים בתקציר, וזה הרבה יותר יעיל מלשנות את מיליארדי המשקלות של המודל. ואכן, SOT משיג תשעים ושש עד תשעים ותשע אחוז מהביצועים של כיוונון מלא, תוך שינוי של פחות מאחוז בודד מהפרמטרים.
העולם של "Attention is All You Need" מפנה את הדרך ל-"Compromise is All You Need". אי אפשר לבחור את המודל הכי טוב, צריך להחליט על הפשרות שהבעיה שלך מאפשרת. אם ה-Transformer לימד את המכונות להבין שפה. המודלים החדשים מלמדים אותן להיות יעילות. המהפכה הבאה היא לא רק על מה המודלים יכולים לעשות, אלא על כמה חכם, וזול, הם יכולים לעשות את זה.
עד הפעם הבאה, תהיו טובים, ותמשיכו להיות סקרנים. יאללה ביי.