Table of Contents
מאיצים קשיחים הפכו הכרחיים עבור עומסי בינה מלאכותית מודרניים, מאימון רשתות עצביות מסיביות לנהל הקצאה בזמן אמת על מכשירים קצה. שבבים מיוחדים אלה להשיג שיפורים של זיהוי ביצועים ויעילות אנרגיה על מעבדים למטרות כלליות על ידי התאמת הנתונים שלהם ולשלוט לוגיקה לתבניות המתמטיות הנפוצות ב- AI - בעיקר מכפליים, מתודולוגיות, ופעולות לב לעתים קרובות מתעלם זה של כל מרכיב קריטי של כל קובץ ביקורתי זה עדיין.
המרשם הוא האלמנטים הקטנים והמהירים ביותר בתוך מעבד או מאיץ.הם יושבים ישירות בתוך יחידות העיבוד, ומספקים גישה מיידית לנתונים שמופעלים באופן פעיל.ללא היררכיה ממוקדת יעילה, אפילו המאצ'ל המתוחכמות ביותר יבהל ישירות על ידי עצלות זיכרון, לא מסוגל להאכיל את יחידותיה המות בקצב הנדרש.
הבנת רשומות במערכות דיגיטליות
לפני צלילה לשימושים ספציפיים ב-AI, זה שימושי כדי לקבוע אילו רישומים הם וכיצד הם שונים מטכנולוגיות זיכרון אחרות. A רישום הוא רכיב אחסון בינארי, אשר בדרך כלל מיושמת עם טבלאות או latches, אשר יכול להחזיק אחד או יותר של נתונים. רשם הם מחולקים לקבצים רשומים -רי של רישומים שניתן לקרוא או לכתוב במקביל.
מה קובע את הרישום בנפרד מ caches או זיכרון עיקרי הוא מהירות הגישה שלהם. כי רישומים משולבים פיזית באותו שבב כמו יחידות לוגיקה קידוד (ALUs) ובדרך כלל בנויים עם לוגיקה CMOS סטטית, הם יכולים לקרוא במחזור שעון אחד - לעתים קרובות תחת ננו השני.מהירות זו מגיעה עלות: רישומים דורשים שטח משמעותי למות לצרוך כוח סטטי, לכן, יש לבחור בזהירות כמה להירשם כדי לארגן אותם כדי לארגן אותם.
רשומות משרתות מספר פונקציות ליבה בכל מעבד או מאיץ:
- (ב) ,0) אחסון: 1FLT (ה) הם מחזיקים את ערכי המקור אשר מזינים יחידות ספארי במהלך הוראה.
- (ב) ,0) , ⁇ : "ה', הם לוכדים באופן זמני את הפלט של חישוב לפני שכתוב בחזרה לזכרם או מועברים ליחידה אחרת.
- (ב) ,0) תנאי השימוש: 1.FLT:1 הם מאחסנים פיסות תצורה, הגדרות מצב, וסימנים בקרת צינורות הקובעים את התנהגות המידע.
- (ב) [ה]: [ה]] [ב]]] [העיקרון], הרשומות המתכנתות מגדירות את מצב המכונה (למשל, תוכנית נגד, נקודת ערימה).
בהקשר של מאיצים AI, הנקודה האחרונה היא לעתים קרובות פחות רלוונטית כי מאיצים הם בדרך כלל לא ישירות על ידי מפתח יישום. במקום זאת, הקובץ נרשם מותאם מאוד לדפוסי זרימת הנתונים הספציפיים של חישובי רשת עצבית.
תפקיד המרשם ב-AI Hardware Accelerators
מאיצים AI - בין אם הם יחידות עיבוד גרפי (GPUs), יחידות עיבוד עשרות או יחידות (TPUs), מערך שער הניתן להשגה (FPGAs), או מעגלים משולבים ספציפיים של יישומים (ASICs) - שיתוף דרישה משותפת: הם חייבים לעבד כמויות עצומות של נתונים עם מסכי מזעריים.
צנרת יפה
מאיצים מודרניים של בינה מלאכותית ליישם ארכיטקטורות עמוקות, שבו חישוב יחיד (כמו שלבים מרובים-אקומפוט) נשבר לתוך שלבים מרובים: להביא אופרות, להכפיל, לצבור, לצבור ולכתוב בחזרה.מרשם ממוקמים בין כל שלב כדי להחזיק תוצאות ביניים.טכניקה זו, הנקראת צינורות חלקיים, מאפשר מאיץ להתחיל פעולה חדשה כל מחזור למרות שכל פעולה אינדיבידואלית לוקח כמה מחזורים כדי להשלים את המערך של סטמפוארמול, ללא ריצוף משותף, ללא הפרעה של נתונים חלקי.
נתונים גבוהים-Bandwidth Feeding
שכבות רשת נילי פועלות על עשרות: מערך רב-ממדי של מספרים.לדוגמה, שכבת אבולוציה עשויה לקרוא מסנן 3×3 ותיקון של מפת תכונות קלט, ולאחר מכן למקם סכום של מוצרים.מספר הפעולות עבור ע"י נתונים הנלהבים הוא נמוך יחסית, כלומר מאיץ חייב לספק נתונים רוחב פס גבוה מאוד כדי לשמור על מכפילים שלו - ניתן לרשום את הקבצים מרובים של גירסאות קבועות (ב) עבור קבצים מרובים של תאים מתקדמים, כלומר, כלומר, כדי לספק נתונים, ללא טיפול ידניים, כדי לספק נתונים קבועים, ללא כל , באופן ישיר, כדי לספק נתונים, כלומר, כלומר, כדי לספק נתונים קבועים, כלומר, כדי לספק נתונים, כדי לספק את ה-בטווח גבוה מאוד, כדי לספק נתונים, כדי לספק נתונים, כדי לספק נתונים, כדי לספק נתונים, באופן ישיר, כדי לשמור על מנת לספק נתונים ברמה גבוהה מאוד גבוה מאוד, כדי לשמור על מנת לשמור על מנת לשמור על מנת לשמור על מנת לשמור על מנת לשמור על מנת לשמור על מנת לספק נתונים, באופן קבוע, כדי לשמור על מנת לשמור על מנת לשמור על מנת לשמור על מנת לשמור על מנת לשמור על מנת לשמור על מנת לשמור על מנת לשמור על מנת לשמור על מנת לשמור על מנת לספק נתונים, באופן קבוע, 000, 000 גירסאות מרובות, 000, 000,
סודיות ושליטה
Accelerators חייבים לתמוך באדריכלות רשת עצבית שונות: גודל שכבתי משתנה, סוגי נתונים, פונקציות הפעלה ואסטרטגיות tiling. במקום לקשה על הפרמטרים האלה, מעצבים לאחסן אותם ברשומות שליטה. תצורה עשויה לציין את הממדים של מהפכת kernel, את הצעד, מצב ⁇ , או את מספר ההאקרים בלולאה.
אדריכלות: AI Accelerators
עיצוב קובץ רישום עבור מאיץ AI כרוך שורה של עצירות מסחר. בניגוד קובץ רישום CPU, אשר חייב לתמוך קבוצה קבועה של רישומים למטרות כלליות גלויים ל ISA, קובץ הרישום של מאיץ יכול להיות מותאם דפוס זרימת הנתונים של עומס העבודה.
תגית: Files
מאיצים רבים מאמצים וקטור או SIMD (Single הוראה, ריבוי נתונים) פרדיגמות, שבו הוראה אחת פועלת על אלמנטים נתונים מרובים במקביל.עיצובים אלה משתמשים קבצי רישום וקטורת - גדול, רב-בנקים אשר מחזיקים וקטורים שלמים (למשל, 128, 256 256,256 256, או 512 אלמנטים) ניתן לקרוא באופן עצמאי, המאפשרים ל-Accel להביא אלמנטים מרובים לקריאה במקביל, אך ורק באמצעות נפחי כוח.
ארכיון תגיות: tchpad Memories vs. Register Files
חלופה נפוצה לקובץ רישום חומרה-מקוד הוא זיכרון ניירד מתוכנת (SPM) בחלק מאיצים - במיוחד אלה המכוונת כוח נמוך - המתכנתים מניעים במפורש נתונים בין זיכרון ראשי לבין קובץ SRAM מקומי. רשם משתמשים רק עבור תוצאות זמניות.עם זאת, קו בין קובץ גדול וגרד קטן הוא מטושטש.
תמיכה ב-Renaming and Hazard Support
במנועי הוצאה לאור מחוץ להוצאה להורג (הקובץ ב- GPUs ו- AI מסוימים מאיצים), רישום renaming משמש כדי לחסל את התלויות שווא.קובץ הרישום הפיזי מכיל יותר רישומים מאשר סט הרישום האדריכלי, המאפשר לחומרה למפות רישומים לוגיים לרישום פיזי שונה כדי להימנע מעיכובים.
המונחים: Speed, Area and Power
העיצוב של קבצי הרישום מוגבל על ידי שלושת האקסקסים הקלאסיים של VLSI: מהירות, אזור וכוח. עבור מאיצים AI, המטרות הן קיצוניות. קובץ רישום חייב להיות מהיר מספיק כדי להאכיל מערך מכפיל שעשוי להשתמש בעשרות אלפי מכפילים, כל פועל בתדרים של ג'יגהארץ. a טיפוסי 32 סיביות מיושמת בתהליך מודרני של 7m עשוי לצרוך בערך 0.5 מ"מ ו לפעמים מנפח של כוח פעיל.
כדי להקל על זה, אדריכלים משתמשים בכמה טכניקות:
- (FLT:0) בנקאות וצמצום נמל: במקום לבנות קובץ רישום מונוליטי יחיד עם נמלי קריאה / טקס רבים, מעצבים חילקו את הקובץ לבנקים מרובים, כל אחד עם פחות נמלים.הלוח מבטיח כי גישה בו זמנית נופלת לבנקים שונים, הימנעות מסכסוכים בנקאיים.
- (FLT:0) קבצי רישום היררכיים: FLT:1 כמה עיצובים משתמשים קובץ קטן, אולטרה-ארוך (כמו מטמון רישום) עבור ערכים בשימוש לעתים קרובות, מגובה על ידי קובץ גדול יותר, איטי יותר.
- (ב) ,0) ,Power gating:FLT:1 , בנקים רשומים ללא שימוש כבויים כדי לחסוך כוח דליפה, אשר חשוב במיוחד במתקני מובייל או קצה.
- (FLT:0Datapathאינטגרציה:FLT:1 בעיצובים קיצוניים ביצועים, רישומים מתמזגים ישירות לתוך תא accumulator ההכפלה (MAC).תא ה- MAC עצמו כולל רישום צינורות ורישום משוב עבור הקצאת סכומי חלקית.זה מבטל את הצורך בקובץ רישום נפרד, מרכזי ומפחית עיכוב חוט.
רשימות ב- Specific Accelerator Architectures
GPUs (NVIDIA, AMD)
GPUs הם מאיצים מקבילים מאוד להסתמך על קבצים מסיביים להירשם לתמוך אלפי חוטים מקבילים.כל אחד זרמים מרובי עיבוד (SM) ב NVIDIA GPU מכיל קובץ הרשמה עם עשרות אלפי של 32 סיביות לרשום. רישומים אלה מחולקים בין חוטי ה- GPU (או משככי) בתכנית מכווצת חיבור המאפשרת החלפת חוט אפס: כאשר אחד דוכנים באופן מיידי, יכול ליישם את התכונות של קובץ ה-p אחד, באופן מיידי, כגון קובץ תמיכה בקובץ.
יחידות עיבוד Tensor (Google TPU)
ה- TPU של Google נוקט גישה שונה: הוא משתמש בהיררכיה של שני רמות. A גדול, 8-MiB (או גדול יותר) SRAMpad שנקרא "הגרף במשקל" מאחסן משקולות, ומודול "הגדרת נתונים פסיכוביים" קורא מקבצי הגרד והזנות של נתונים לתוך מערך האחסון הסייסטולי.בתוך כל תא סייסטסוליקט - יחידת אחסון מורכבת - יש רק תכונות לרישום נתונים זעירות של תאים פנימיים.
RISC-V Vector מרחיבה (למשל, סי Five Intelligence, Esperanto)
הסיומת RISC-V וקטור (V) מספקת אורך וקטורת גמישים, מוגדר תוכנה (V) יישום משתנה כיצד הם ממפות רשומות וקטור אדריכלי לרישום פיזי.חלקם משתמשים בקובץ יחיד, מונוליטי וקטורת רישום קובץ V bits per Register; אחרים פיצול זה לתוך מספר נתיבים. . , מרשם ב acelerator וקטורת הם קריטי לאחסון אופרות במהלך שרשרת שימוש עבור קבצים קבועים עבור קבצים קבועים עבור קבצים קבועים.
FPGA-Deelerators
FPGAs מספק חומרה ניתנת להגדרה, ורשומות הן משאב בסיסי.כל בלוק FPGA לוגי (LUT) מלווה על ידי ספין-אפ (register) ב מאיץ AI המיושם על FPGA, הקובץ הרישום הוא מסונתז מבלוקים אלה על פני השטח (כמו המרקם הוא reprogrammable מעצבים, את הקישוריות ניתן להתאים במדויק ספירת ה-GA, אך ורק על ידי שימוש ב-RAM קטן יותר מאשר על ידי אחסון (APBacts) הוא בדרך כלל, אך ורק על ידי מעבדים קטנים.
מגמות עתידיות: קרוב לזיכרון ועיבוד-בזיכרון
בעוד מודלים של בינה מלאכותית גדלים בגודל ובמורכבות, העלות של העברת נתונים מזיכרון למאיץ הפכה לצוואר הבקבוק הדומיננטי.כיוון מבטיח אחד הוא מחשוב ליד-זיכרון, שבו אחסון דמוי רישום ממוקם קרוב פיזית לבנקים הזיכרון, לעתים קרובות מתפתח כחלק מ- 3D-stacked זיכרון (למשל, HBches) בעיצובים אלה, קובץ האחסון של Accel עשוי להיות מוחלף על ידי תאי זיכרון קטנים (D-D-D) עם זאת, כלומר, כלומר, כלומר, אם כי הם יכולים להטמיעו כמשמעו, כלומר, בתוך תאים קטנים יותר, כלומר, בתוך מחסנים) של זיכרון מסוג זה יכול להיות מנפחים קטנים (D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-in-in-in) בתוך עיצובים) בתוך עיצובים) בתוך עיצובים) בתוך עיצובים (למשל, כאן, בתוך עיצובים, בתוך עיצובים קטנים, בתוך עיצובים בלבד, בתוך עיצובים) בתוך עיצובים קטנים (למשל, בתוך עיצובים) בתוך עיצובים) בתוך עיצובים קטנים, כלומר, כלומר, כלומר, כלומר, כלומר,
מגמה נוספת היא השימוש ב-FLT:0 (register-maped MemoryFLT) 1 ב-Accelerators יחד עם ההרחבה, המעבד או ה-CPU יכול לקרוא ולכתוב את קובץ הרישום של מאיץ כאילו היה אזור ממפה זיכרון, המאפשר תקשורת מהירה ללא שיבוש יתר על המידה.
מסקנה
המרשם הוא גוש בנייה בסיסי של מאיצים בחומרה מלאכותית.הם מספקים את אחסון הנתונים המהיר, הנמוך-העוצמה המאפשר צינורות עמוקים, הזנת נתונים גבוהה, ושליטה גמישה הנדרשת כדי להשיג את הביצועים המבוקשים על ידי רשתות עצביות מודרניות.מתוקף זעירות כגון קולטני זיכרון בתוך כל תא לקבצי הרישום מסיביים ב-GPU, כל אחד מהם מייצג מעט מסחר בין מהירות מחשבתית, כמו גם אינטגרטור אבטחה יעילה, כמו אינטגרטור אבטחה יעילה, כמו גם אינטגרטור אבטחה יעילה, כמו אינטגרטיבית של אבטחה יעילה, כמו אינטגרטור אבטחה יעילה, כמו אינטגרטור אבטחה יעילה, כמו אינטגרטיבית של ציוד אבטחה, כמו אינטגרטור אבטחה, כמו אינטגרטיבית של ציוד מחשבתית, כמו אינטגרטיבית של ציוד ניהולית, כמו אינטגרטיבית של ציוד מחשבתית, כדי להמשיך אינטגרטיבית של ציוד אבטחה, כמו אינטגרטור אבטחה, כדי להמשיך אינטגרטיבית של ציוד אבטחה, כמו אינטגרטיבית של ציוד מחשבתית, כמו אינטגרטור אבטחה יעילה, כדי להמשיך אינטגרטור אבטחה, כמו גם אינטגרטור אבטחה, כמו אינטגרטור אבטחה גבוהה של מערכות אבטחה גבוהה של אבטחה גבוהה של מערכות אבטחה, כמו אינטגרטור אבטחה, כמו אינטגר
עבור הקוראים המבקשים הבנה טכנית עמוקה יותר, המשאבים החיצוניים הבאים מספקים חיבור נוסף:
- (ב) ויקרא יא"ד: ויקרא י"ד:
- (ב) ⁇ (בתרגום חופשי:0) .
- (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ⁇ (ב"ה) ⁇ : ⁇ ⁇