Mixture-of-Experts (MoE) (HE)

From Systems analysis Wiki
Jump to navigation Jump to search

Mixture-of-Experts (MoE) (מאנגלית — «תערובת מומחים») — זוהי ארכיטקטורה של רשתות נוירונים, המבוססת על עיקרון החישוב המותנה ועל הפרדיגמה «הפרד ומשול». במקום שימוש במודל מונוליתי אחיד («צפוף»), שבו כל הפרמטרים מופעלים לעיבוד כל אות קלט, ארכיטקטורת MoE מפרקת את המשימה ומאצילה אותה לתת-קבוצה של תת-רשתות מתמחות, הנקראות «מומחים». רכיב ייעודי, רשת הניתוב (gating network או router), קובע באופן דינמי אילו מומחים יעבדו כל token קלט ספציפי[1][2].

גישה זו מאפשרת ליצור מודלים עם מספר עצום של פרמטרים (מאות מיליארדים ואף טריליונים), תוך שמירה על עלויות החישוב (FLOPs) בשלב ה-inference ברמה של מודלים צפופים קטנים בהרבה[3]. בזכות כך, MoE הפכה לטכנולוגיית מפתח לסקיילינג של מודלי שפה גדולים (LLM) עכשוויים, ומשמשת במערכות מתקדמות כגון Mixtral 8x7B,‏ Grok-1, ולפי דעה רווחת גם GPT-4[1].

עיקרון המפתח: חישוב מותנה ודלילות

המנגנון הבסיסי של MoE הוא חישוב מותנה (conditional computation). בניגוד למודלים צפופים, שבהם כל הפרמטרים פעילים בעת עיבוד כל token, מודלי MoE מפעילים רק חלק קטן מהפרמטרים שלהם בהתאם לנתוני הקלט. תהליך זה מוביל לדלילות בהפעלות (sparsity in activation), שהיא ההבדל המרכזי מארכיטקטורות מסורתיות[4].

גישה זו מאפשרת:

  • סקיילינג של קיבולת המודל: מספר הפרמטרים הכולל (וכפועל יוצא, ה«ידע» של המודל) יכול לגדול משמעותית ללא גידול פרופורציונלי בעומס החישובי.
  • שיפור היעילות: המודל מבצע פחות חישובים עבור כל token, מה שמוביל ל-inference מהיר יותר ולהפחתת עלויות האימון בתקציב חישובי קבוע[5].

כך, MoE מעביר את צוואר הבקבוק מכוח חישובי לכיוון דרישות הזיכרון (VRAM), שכן כל הפרמטרים של כל המומחים חייבים להיות טעונים בזיכרון, אפילו אם בכל רגע נתון רק חלק קטן מהם בשימוש[6].

רכיבי ארכיטקטורת MoE

1. תת-רשתות מומחים (Experts)

מומחים הם בדרך כלל רשתות נוירונים עצמאיות. בהקשר של ארכיטקטורת transformer, שכבות MoE מחליפות בדרך כלל בלוקים צפופים מחוברים במלואם (Feed-Forward Networks, FFN), וכל מומחה הוא כשלעצמו FFN[1]. במהלך האימון, כל מומחה עשוי לפתח «כשירות» בתחומים מסוימים — למשל, אחד עשוי להתמחות בתחביר, אחר בעובדות מתחום ידע ספציפי, ושלישי בשפה או סגנון מסוים[7].

2. רשת הניהול (Gating Network / Router)

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

האסטרטגיה הנפוצה ביותר היא ניתוב Top-K, שבה נבחרים K מומחים בעלי הציונים הגבוהים ביותר לעיבוד ה-token. ערך K הוא בדרך כלל קטן (למשל, 1 או 2), וזה שמבטיח את הדלילות.

3. איחוד נתוני הפלט

לאחר שה-K מומחים הנבחרים עיבדו את ה-token, הפלטים הבודדים שלהם מאוחדים ליצירת תוצאה סופית של שכבת MoE. בדרך כלל נעשה זאת באמצעות סכימה משוקללת, שבה המשקלות הם הציונים המנורמלים שהופקו על ידי הנתב[1].

אבולוציית MoE

המושג MoE הוצע לראשונה בשנת 1991 בעבודה של רוברט ג'ייקובס, ג'פרי הינטון ומייקל ג'ורדן בשם «תערובת אדפטיבית של מומחים מקומיים»[3]. אולם בשל מגבלות חישוביות ומורכבות האימון, הרעיון לא זכה להתפשטות רחבה עד לעידן הלמידה העמוקה.

הפריצה התרחשה עם הופעת ארכיטקטורת Transformer. מחקרים בין השנים 2010–2015 שעסקו בחישוב מותנה (יושוע בנג'יו ואחרים) הניחו את הבסיס התיאורטי, ועבודת שאזיר ואחרים (2017) הדגימה את האפשרות לסקיילינג של MoE עד למודל LSTM של 137 מיליארד פרמטרים[8].

התחייה המודרנית של MoE קשורה למודל Switch Transformer של Google (2021), שהתרחב עד 1.6 טריליון פרמטרים תוך שימוש בניתוב Top-1 פשוט אך יעיל[9]. הצלחת המודל הפתוח Mixtral 8x7B של Mistral AI בשנת 2023 ביססה סופית את MoE כאחת הארכיטקטורות המובילות ליצירת LLM בעלי ביצועים גבוהים[1].

אתגרים ושיטות אופטימיזציה

איזון עומסים

אחד האתגרים המרכזיים של MoE הוא חוסר איזון בעומסים, כאשר הנתב בוחר ללא הרף באותם מומחים «פופולריים», בעוד שאחרים נשארים תת-מנוצלים. הדבר מוביל לאימון לא יעיל ול«קריסת מומחים».

  • פונקציות הפסד עזר (Auxiliary Loss): שיטה מסורתית המוסיפה לפונקציית ההפסד הראשית «עונש» על חלוקה לא אחידה של tokens. אמנם זה מסייע לאיזון, אך גישה זו עלולה להכניס «גרדיאנטים מפריעים» ולפגוע בביצועים הכוללים[10].
  • איזון ללא הפסד (Loss-Free Balancing): גישה חדשה יותר, המיישמת באופן דינמי הסטה (bias) לציוני הנתב, ומדרבנת אותו להחלטות מאוזנות יותר ללא התערבות במשימת האימון הראשית[11].
  • ניתוב לפי בחירת מומחה (Expert Choice Routing): גישה חלופית שבה לא ה-tokens בוחרים את המומחים, אלא כל מומחה בוחר לעצמו את `top-k` ה-tokens מהאצווה. זה מבטיח איזון מושלם, אך עשוי להיות מורכב יותר ליישום[1].

Fine-tuning וקוונטיזציה

  • Fine-tuning: היסטורית, מודלי MoE היו נוטים להתאמת יתר בשל מספר הפרמטרים הגדול. לצמצום בעיה זו משמשות שיטות כמו «expert dropout»[12].
  • Quantization: הפחתת דיוק מספרי של משקלות לצמצום גודל המודל והאצת ה-inference. עבור MoE זוהי משימה מורכבת בשל חוסר האיזון בין-מומחי. שיטות כגון MoEQuant מציעות פתרונות המבוססים על כיול מאוזן לכל מומחה[13].

אופטימיזציה מערכתית

פריסה יעילה של MoE מחייבת גישה מערכתית כוללת, הכוללת:

  • אסטרטגיות מקביליות: מקביליות מומחים (פיזור מומחים על פני GPU שונים), מקביליות מודל ומקביליות נתונים[14].
  • ליבות מיוחדות (Kernels): למשל, Megablocks עבור Mixtral, המייעלות כפל מטריצות לפעולות דלילות[15].
  • תכנון משותף של חומרה (Hardware Co-design): פיתוח פתרונות חומרה המותאמים במיוחד לעומסי עבודה של MoE.

מודלי MoE ציוניים

השוואת ארכיטקטורות MoE בולטות
מודל מפתח סה"כ
פרמטרים
פרמטרים
פעילים
מספר
מומחים
מומחים נבחרים (k)
Switch Transformer C-2048 Google 1.6 טריליון תלוי בגודל המומחה 2048 1
Mixtral 8x7B Mistral AI ~47 מיליארד ~13 מיליארד 8 2
Grok-1 xAI 314 מיליארד 86 מיליארד 8 2
GPT-4 (לכאורה) OpenAI >1 טריליון - 16 (משוער) 2 (משוער)
Qwen 2 MoE Alibaba 57–90 מיליארד 14 מיליארד 64 4 או 8
DeepSeekMoE 16B DeepSeek-AI 16.4 מיליארד ~2.8 מיליארד 64 (2 פעילים) 2 (מתוך 6)[16]

יישום בתחומים שונים

אמנם MoE ידועות בעיקר בהקשר של LLM, אך יישומן אינו מוגבל לעיבוד שפה טבעית:

  • חיזוי טורי זמן: המודל Time-MoE מציג ארכיטקטורה ניתנת לסקיילינג לאימון מקדים של מודלי חיזוי[17].
  • גילוי פגיעויות: MoEVD משתמש ב-MoE לפירוק משימת גילוי פגיעויות לסיווג לפי סוגי CWE, כאשר כל מומחה מתמחה בסוג שלו[18].
  • שילוב עם טכנולוגיית בלוקצ'יין: MoE מוצא שימוש באופטימיזציה של חוזים חכמים ובגילוי הונאות, שבהם המומחים מנתחים דפוסי עסקאות שונים[19].
  • מודלים מולטי-מודליים: MoE משמש לשילוב מומחים המתמחים במודאליות שונות (טקסט, תמונה, שמע), ויוצר מערכות רב-תכליתיות יותר[20].

הערות

  1. 1.0 1.1 1.2 1.3 1.4 1.5 «Applying Mixture of Experts in LLM Architectures». NVIDIA Technical Blog. [1]
  2. «Mixture of Experts (MoE): A Big Data Perspective». arXiv. [2]
  3. 3.0 3.1 «Mixture-of-Experts (MoE): что это такое и как работает». LLM Studio. [3]
  4. «Serving Mixtral MoE Model». Friendli.ai Blog. [4]
  5. «What is Mixture of Experts (MoE)? How it Works and Use Cases». Zilliz Learn. [5]
  6. «Mixture of Experts (MoE) vs Dense LLMs». Maximilian Schwarzmüller's Blog. [6]
  7. «Understanding Mixture of Experts in Deep Learning». VE3. [7]
  8. 8.0 8.1 «Mixture of Experts Explained». Hugging Face Blog. [8]
  9. «Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity». arXiv. [9]
  10. «Auxiliary-Loss-Free Load Balancing Strategy for Mixture-of-Experts». OpenReview. [10]
  11. «DeepSeek-V3 Explained: 3. Auxiliary-Loss-Free Load-Balancing». gopubby.com. [11]
  12. «Switch Transformers: Scaling to Trillion Parameter Models with...». cse.ust.hk. [12]
  13. «MoEQuant: Enhancing Quantization for Mixture-of-Experts...». arXiv. [13]
  14. «A Survey of Mixture of Experts Models: Architectures and Applications in Business and Finance». Preprints.org. [14]
  15. «Mixtral of Experts». arXiv. [15]
  16. «A Survey on Inference Optimization Techniques for Mixture of Experts Models». arXiv. [16]
  17. «Time-MoE: A Scalable and Unified Framework for Pre-training Time Series Foundation Models». arXiv. [17]
  18. «MoEVD: A Mixture of Experts-based Framework for Vulnerability Detection». Semantic Scholar. [18]
  19. «What a Decentralized Mixture-of-Experts (MoE) Is and How It Works». Gate.io Learn. [19]
  20. «LLaMA-MoE: Building Mixture-of-Experts from Open-source LLMs». arXiv. [20]