המתמטיקה של השיפורים של NuPIC והשפעה על חברות המעבדים
- shlomoyona

- 7 days ago
- 3 min read
כתבתי על התיאוריות של ג'ף הוקינס ועל הפיתוחים של נומנטה ועל השיפורים שהציגו עם אינטל והובאו לידי ביטוי בפיתוחים ובהסכמים ובתוצרים אצל חברות נוספות על אינטל כמו F5, Dell ואחרות. את המסחור עושים באמצעות חברת NUMENTA.
הטכנולוגיה של נומנטה מבוססת על אופטימיזציית תוכנה שמנצלת את סט הפקודות Advanced Matrix Extensions שמצוי במעבדי אינטל. רכיב חומרתי זה הוטמע לראשונה במעבדי השרתים מסדרת Xeon Scalable מהדור הרביעי ומצוי גם במעבדי הדור החמישי מאותה סדרה. כמו כן, הטכנולוגיה נתמכת בסדרת Xeon CPU Max שכוללת זיכרון ברוחב פס גבוה לשיפור מהירות החישוב.
במעבדי הדורות הבאים כדוגמת סדרת Xeon 6 ממשיכה אינטל לשלב ולשדרג את מאיצי המטריצות הללו תוך הוספת תמיכה בפורמטים מספריים חדשים. מגמה זו צפויה להימשך גם בדורות עתידיים של מעבדי שרתים כחלק מאסטרטגיית החברה להאצת חישובי בינה מלאכותית ישירות במעבד המרכזי. במעבדי המחשבים האישיים מסדרת Core Ultra הוכנסו יחידות עיבוד ייעודיות לבינה מלאכותית המבצעות פעולות דומות של האצת חישובים. ההאצה בפלטפורמת החישוב של נומנטה נובעת ממעבר ממכפלת מטריצות צפופה למכפלת מטריצות דלילה. מודלים קלאסיים של למידה עמוקה נשענים על פעולות אלגבריות של מכפלת מטריצות צפופות בעלות סיבוכיות זמן של O(n³). הטכנולוגיה של נומנטה מיישמת ייצוגים מבוזרים דלילים שבהם אחוז ניכר מכלל הערכים במטריצות הפעולה הוא אפס. שימוש באלגוריתמים ייעודיים למכפלת מטריצות דלילות מונע ביצוע של פעולות כפל וחיבור על רכיבים מאופסים ומקטין את כמות הפעולות לסדר גודל התלוי במספר הרכיבים שאינם אפס במטריצה. בספרות המחקרית קיימים אלגוריתמים שמורידים את סיבוכיות החישוב להרצת מטריצות דלילות לממדים ל-O(m⁰·⁷n¹·² + n²⁺ᵒ⁽¹⁾) כאשר המטריצה מכילה m איברים שאינם אפס.
כדי לממש את החיסכון התיאורטי בפועל נומנטה מתרגמת את החישובים הדלילים למימוש חומרתי באמצעות מיפוי הפעולות לסט הפקודות של הרחבות מטריצה מתקדמות במעבדי אינטל. הרחבות אלו מספקות אוגרים דו ממדיים חומרתיים ומאיצות פעולות כפל וחיבור של מטריצות ברמות דיוק מופחתות באמצעות שימוש בפורמטים המספריים של נתוני BF16 ונתוני INT8. הפלטפורמה של נומנטה מחליפה את השכבות הלינאריות הסטנדרטיות במודל בקרנלים מותאמים אישית שתומכים בדלילות לא מובנית ומריצים את הפעולות על גבי החומרה הייעודית.
השילוב של צמצום מספר הפעולות האלגבריות יחד עם ניצול ההאצה החומרתית הייעודית במעבד המרכזי מייעל את הרצת ההסקה. התייעלות זו מאפשרת למערכת לעבד מודלים רחבים ללא צורך בקיבוץ נתונים אלא בקבוצות בגודל יחיד. היעדר הצורך להמתין להצטברות נתונים לצורך עיבוד מקבילי מבטיח שכל בקשת משתמש מעובדת באופן אסינכרוני ועצמאי תוך ייעול העומס על תת מערכות הזיכרון וזיכרון המטמון. שילוב גורמים אלו מוביל להפחתה משמעותית בזמן ההשהיה ולעלייה ניכרת בתפוקת החישוב הכוללת.
כאמור, הטכנולוגיה של נומנטה ואינטל מתמקדת בדלילות לא מובנית שבה המערכת מדלגת על חישובים של רכיבי אפס הפזורים באופן חופשי במטריצה. גישה זו מאפשרת חיסכון משמעותי במשאבי עיבוד על גבי מעבדי Xeon באמצעות פקודות AMX שמאיצות פעולות כפל וחיבור בפורמטים של INT8 ו-BF16. בניגוד לשיטות אחרות, טכנולוגיה זו יעילה במיוחד עבור עיבוד בקשות בודדות בזמן אמת ללא צורך במקבצי נתונים גדולים.
אנבידיה מיישמת דלילות מובנית ביחס קשיח של 2 מתוך 4. הקידוד הזה מוטמע ישירות בסיליקון של ליבות ה-Tensor Core ודורש מהמודל לעבור התאמה מראש למבנה המטריצה הזה. בעוד שהשיטה של אנבידיה מציעה הכפלה של קצב העיבוד בחומרה, היא מוגבלת ליחס דלילות קבוע ופחות גמישה מהדלילות הדינמית של נומנטה.
גוגל פועלת ברמת ארכיטקטורת המודל באמצעות מנגנוני ניתוב שמפעילים רק חלק קטן מהפרמטרים עבור כל קלט. בשיטת MoE, המודל מחולק לתתי רשתות ורק אלו הרלוונטיות למשימה משתתפות בחישוב. גישה זו מפחיתה את כמות החישובים שנדרשת ביחס לגודל המודל הכולל ומיועדת להרצה על שבבי ה-TPU שמותאמים לתקשורת מהירה בין יחידות עיבוד.
אפל משלבת יחידות האצת מטריצות ייעודיות בתוך מעבדי ה-CPU וה-GPU שלה, תוך ניצול ארכיטקטורת זיכרון מאוחד. הטכנולוגיה שלה מתמקדת בקוונטיזציה ודחיסת משקלים שמאפשרת להריץ מודלים רחבים על זיכרון מוגבל במכשירי קצה. בניגוד לנומנטה, אפל מתמקדת פחות בדילוג על אפסים ויותר באופטימיזציה של רוחב הפס והעברת הנתונים בתוך השבב.
מטה מיישמת בעיקר שיטות גיזום תוכנתיות על מודלי ה-Llama שלה כדי שיתאימו ליכולות החומרה של אנבידיה. הפיתוח שלה מתמקד ביצירת מודלים שניתן להריץ ביעילות על תשתית קיימת באמצעות התאמת מבנה המשקלים לדלילות הנתמכת במאיצי הגרפיקה. מטה אינה מציעה פתרון חומרתי ייחודי אלא מתמקדת בשכבת התוכנה והאלגוריתמיקה.
בעתיד הקרוב נומנטה מתמקדת בהרחבת היכולות של פלטפורמת נופיק לתחומי עיבוד שפה טבעית נוספים ובאופטימיזציה של מודלים מורכבים יותר עבור שרתי אינטל. במקביל נומנטה השיקה את פרויקט אלף המוחות כמיזם קוד פתוח ללא מטרות רווח במטרה להטמיע את עקרונות הלמידה הסנסורומוטורית במערכות בינה מלאכותית חדשות. כיוון זה כולל פיתוח של מודלים שלומדים מתוך אינטראקציה עם הסביבה ומסוגלים להבין מבנה מרחבי של עצמים בדומה לאופן שבו פועל המוח האנושי.
החזון של נומנטה מבוסס על הבנת עקרונות הפעולה של קליפת המוח ויישומם לבניית בינה מלאכותית חזקה וגמישה. החברה שואפת לעבור ממודלים סטטיים שלומדים ממאגרי נתונים עצומים למערכות אינטליגנטיות שלומדות באופן רציף ובלתי מונחה תוך התאמה דינמית לעולם המשתנה. היעד הסופי הוא יצירת תשתית טכנולוגית לבינה מלאכותית כללית שתהיה יעילה אנרגטית ובעלת יכולת הבנה עמוקה של הקשרים וסיבתיות.

שלמה יונה,
מייסד ומדען ראשי,
מתמטיקאי מחקר ופיתוח בע"מ
053-7326360
פודקאסט על החברה ועליי, שלמה יונה, ואופן העבודה שלנו ואיתנו:

.png)
Comments