AI MNIST Accelerator
EXERCISES
1/19/20261 min read
מאיצי AI - החומרה שמאחורי החיזוי
מאיצי בינה מלאכותית הם רכיבי חומרה ייעודיים שנועדו לבצע פעולות אריתמטיות אינטנסיביות במקביליות גבוהה, תוך עקיפת צווארי הבקבוק של מעבדים כלליים. המטרה המרכזית היא השגת השהיה מינימלית עבור פעולות כפל וצבירה (MAC), המהוות את לב החישוב של רשתות נוירונים.
כדי ליישם עקרונות אלו, תכננתי ומימשתי בורילוג מאיץ חומרה לסיווג ספרות מתוך מאגר MNIST, המבוסס על מודל שאומן בסביבת פייתון.
המערכת מעבדת זרם נתונים של 784 פיקסלים, המייצגים תמונת כתב יד, אל מול עשר קבוצות של משקולות שנלמדו מראש ומאוחסנות בזיכרון הפנימי. מוצא המערכת יהיה החיזוי של הספרה.
לב המערכת הוא יחידת ה-mac_unit, המבצעת מכפלה של נתוני הקלט במשקולות וצוברת את התוצאה באוגר ייעודי. לצורך שמירה על דיוק מרבי תוך חיסכון במשאבי חומרה, נעשה שימוש בפורמט Q4.12, שבו תוצאת המכפלה עוברת הזזה ימינה של 12 ביטים כדי לשמור על קנה המידה הנכון של הערכים.
הניהול הלוגי של כל נוירון מתבצע על ידי בקר המבוסס על מכונת מצבים בת ארבעה שלבים: IDLE, INIT, CALC ו-DONE. הבקר מסנכרן את זרימת הנתונים: הוא מאפס את יחידת החישוב במצב INIT, ובמצב CALC מקדם מונה המייצר כתובות לזיכרון המשקולות ומפעיל את יחידת ה-MAC לאורך 784 מחזורי שעון. עם סיום הסריקה, הבקר מאותת על השלמת החישוב ומאפשר את מעבר הנתונים לשלב קביעת הניבוי.
הכוח האמיתי של החומרה בא לידי ביטוי במודל ה-layer_top, המממש ארכיטקטורה מקבילית באמצעות בלוק generate המפעיל עשרה נוירונים בו-זמנית. כל נוירון מקבל offset שונה בזיכרון המשקולות כדי להתמחות בזיהוי ספרה ספציפית. ברגע שכל עשרת הנוירונים מסיימים את עבודתם, המערכת מפעילה לוגיקה השוואתית (Argmax) כדי לזהות את הערך המקסימלי מבין התוצאות ולקבוע מהו החיזוי הסופי של הספרה.
ֿ
בצד התוכנתי, השתמשתי בפייתון כדי לאמן מודל Logistic Regression ולהכין את הנתונים עבור החומרה. שלב זה כלל המרה של משקולות המודל והתמונות לפורמט hex, כך שזיכרון המערכת יוכל לקרוא אותם ולעבוד איתם ישירות.
בנוסף, מימשתי גם golden reference שמוודא שהמאיץ שבניתי אכן מבצע את החישובים בדיוק המצופה. בבדיקה שנערכה על מאגר של 100 ספרות, הציג המאיץ התאמה חישובית של 100% למודל הייחוס, והשיג דיוק סיווג של 91% (תוצאה טובה עבור מודל שאינו רשת עמוקה מורכבת).


