מעבדי אותות דיגיטליים (DSPs) כבר זמן רב היו מעשי העבודה של עיבוד אותות בזמן אמת, כוח כל דבר מטלקומוניקציה וקוד אודיו למכשירים מכ"ם וביו-רפואיים.עם הגידול הנפץ של למידת מכונה (ML), יש צורך גובר לרוץ הקצוץ ואפילו הכשרה על מכשירים חישוביים שבהם עצלות, כוח חוזר ועלויות הן מחוסנות היטב.

יסודות של DSP Processor Architectures

מעבד DSP קלאסי בנוי סביב שלושה עקרונות ליבה: אדריכלות מסורתית באמצעות חישוב רב (MAC) פעולות, דפוסי גישה לזיכרון צפויים, וגמישות מינימלית עבור נתונים זרמים.אדריכלות מסורתית משתמשת מודל זיכרון בהרווארד או שונה-הארוורד, הוראה נפרדת ואוטובוסים נתונים, ויחידות ביצוע מרובות שיכולים לבצע MAC במחזור שעון אחד.

מרכיבים ארכיטקטוניים מרכזיים כוללים:

  • (ב) ⁇ 0) ⁇ FLT:1 מוקדש לכפלה וצטברות במקביל, לעתים קרובות צינורות כדי לקיים תוצאה אחת לכל מחזור.
  • (ב) ,0) ,(הופנה מהדף ⁇ ) , (ב) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (ב) [15] ,0) ,(הלאה של קידמה: 1) , כדי להימנע מעמודי צינורות במהלך ביצוע שוב ושוב.
  • (ב) ⁇ 0 (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇

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

אתגרים של Integrating Machine Learning into DSPs

בריחת הפער בין עיבוד אותות ⁇ לבין למידה מבוססת נתונים מציגה מספר אתגרים בסיסיים:

המונחים: Mismatch

רוב הכשרת ה-ML ו- Inference מסתמכת על פעולות צף (FP32 או FP16) עבור יציבות מספרית וטווח דינמי.קלאסי DSPs הם אופטימליים עבור פעולות integer נקודות קבוע; ביצוע MAC נקודות צף על חומרה כזו עולה עונש חמור באזור, כוח, ומחזור.גם כאשר DSP תומך נקודת צף, דרך לעתים קרובות סדר של גודל של חומרת דיוק קבוע (NT דורש דיוק, כלומר, כלומר, כלומר, כלומר, כלומר, כלומר, כלומר, קידוד) הוא צורך במדד מדויק יותר מדויק יותר מאשר דיוק קבוע (DSP).

זיכרון בנדוויד והירוארככיה

מודלים של ML מכילים מיליוני פרמטרים שיש להביא בזיכרון שוב ושוב. זיכרון קטן, מקומי טיפוסי של DSP (scratchpad או L1 cache) הוא בגודל של מסנן קורטיזים וכמה חלונות נתונים, לא עבור ספירת משקל של רשת עצבית עמוקה.התוצאה של DRAM גישה צורכת פקודות של אנרגיה יותר מאשר על פעולות שבב, את זהה עבור דפוסים קריטיים של טיפול תרופתית, אך לא טיפול תרופתית עם זאת, כמו גם לא ניתן לאסטרטגיות טיפול רב-מסטרודות קריטי של DIRSP.

בקרת זרימה ואירגולריות

שכבות רשת נילי משתנות באופן נרחב במימדים, סוגים לא לינאריות, וזרימי נתונים (למשל, חיבורים שאריות, דלג חיבורים, בריכות) DSPs מסורתיים לפורטלוות הדוקות עם ספירות השקיה קבועות; לולאות תלויות נתונים לגרום לצנרת פלושאות ולא לעשות את היתרון של חומרה אפס-ראש.

כוח ועוצמה Constraints

יישומים רבים בזמן אמת - עוזרי קול, ביטול רעש פעיל, עיבוד חיישן אוטונומי - לכפות תקציבים חריפות מחמירים (מיקרו שניות לכמה מילימטרים) וכובעי כוח שאינם כוללים פתרונות GPU או FPGA. DSPs נבחרים לעתים קרובות עבור כוח נמוך שלהם, תזמון מכריע, אבל הוספת מאיץ ML חייב להתפשר על תכונות אלה.

אסטרטגיות לאינטגרציה

כדי להתגבר על האתגרים הללו, גם מעצבי השבבים וגם מהנדסי התוכנה פיתחו מגוון של אסטרטגיות שניתן לסווגן לשלוש קטגוריות רחבות: האצה חומרה, אופטימיזציה תוכנה, אדריכלות היברידית.

הסכם חומרה

הוספת בלוקים ייעודיים של האצה ב-DSP הליבה או לצד זה היא הגישה הישירה ביותר. הרחבות חומרה נפוצות כוללות:

  • (FLT:0 וקטור יחידות עיבוד (VPUs) VER 1) שיכולות לבצע פעולות חד-מיניות מרובות (SIMD) על רישומים רחבים, להגביר את השימוש עבור פעולות אלמנט-wise האופייניות בשכבות רשת עצביות. הרבה ליבות DSP מודרניות, כגון סדרת קדינס טנסי טנקל קונוקס, כולל צינורות SIMD מובנים עד 512 סיביות.
  • (FLT:0) NPUs) FLT:1 בשילוב הדוק לזכרם של DSP ולשלוט לוגיקה.אלה מנועים קשיחים אופטימיזציה עבור הקרנלים convolutional, לעתים קרובות עם מערך סינתי או מאטרקס-מטען-מפול שיכול לקיים רבים מ- MACs למחזור.
  • (FLT:0) יחידות פונקציונליות מיוחדות FLT:1 עבור פעולות ML נפוצות, כגון הפעלת טבלאות חיפוש פונקציה הפעלה, תשואות רכה מקס, או נורמליזציה תגובה מקומית.אלה ניתן ליישם כמעבדים או כמו הוראות נוספות ב- DSP של ISA.
  • (FLT:0) שיפור מערכת מזכרים (FLT:1) כמו זיכרונות מקומיים רב-בנקאים, נתונים חומרים מראש עבור גישה אריח, ולוגיקה מדכאת משקל כי מדכא מודלים קוונטיים על-פני-הפני.

דוגמה בולטת היא הליבה של ההרחבה:0 (CEVA-XBIR12FLT) 1 1 ליבת 1:1, אשר עולה עד 128 MACs לכל מחזור וכוללת מאיץ רשת עצבי ייעודי.זה יכול לטפל הן עיבוד אותות מסורתיים ו-ML תוך שימוש באותה שרשרת כלים, צמצום המורכבות של פיתוח.

תוכנה Optimisation

לא כל מערכת יכולה להרשות לעצמה שבב חדש. עבור DSPs קיימים, טכניקות תוכנה מתוחכמות מאפשרות ביצוע ML יעיל:

  • (FLT:0) מולקול קוונטיזציה וריצה.ve.ph:1) המרת FP32 משקולות ל INT8 (או אפילו בינארי / ternary) מפחית רוחב פס זיכרון ומאפשר שימוש ביחידות MAC קבועות.Pruning מסירים חיבורים מקודמים, מכווץ את גודל המודל וספירת חישוב.
  • (FLT:0Kernel fusion and Loopטרנספורמציה.veFLT:1 באופן ידני או אוטומטי מפיץ שכבות מרובות (למשל, convolution + אצווה נורמליזציה + ReLU) לתוך לולאה אחת, אופטימלית מפחיתה את זיכרון עגול trips. Loop tiling, unrolling, ו-fillining ממונף כדי למקסם את השימוש בנתונים בזיכרונות המקומיים.
  • (FLT:0)Compiler מבוסס אוטומטי vectorization.Build.earFLT) 1 DSP Toolchains עכשיו כוללים מפיץ ML-aware הממפה עשרות או פעולות להנחיות SIMD ובאופן אוטומטי להוסיף העברות DMA עבור תנועת נתונים חפיפה. לדוגמה, מעבד ה-C7000 C6x יכול ליצור קוד המשתמש ב-Coprocessor coprocessor ביעילות.
  • (FLT:0) לוח הזמנים של Runtime, 1:1 כי חלוקת דינמי לעבוד בין DSP, CPU, וכל מאיץ זמין, מכבד את המשרות ואת תקציבי החשמל.

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

אדריכלות היברידית

יותר ויותר, מעצבי SoC מתרחקים מ-DSP מונוליטי יחיד לעבר אשכולות heterogeneous המשלבים מעבד כללי, DSP, ואחד או יותר מאיצים של ML. במודל זה:

  • ה-FLT:0)CPUIRFLT:1 מטפל בשליטה ברמה גבוהה, טעינת מודלים ומשימות טרום-פוסט-מעבדות הכוללות היגיון מורכב או חיצוני I / O.
  • ה-FLT:0 (DSPigeurFLT:1) מצליח עיבוד אותות זורם (למשל, חיישן מלפני end, מיצוי תכונה) ורץ kernels מותאם אופטימלית שאינם מתאימים למאגר ה-ML.
  • ה-FLT:0 (ה-ML Accelerator:1) (אשר עשוי להיות NPU מבוסס DSP) מבצע פעולות קשות של עשרות או פעולות עם יעילות גבוהה של כוח.

דוגמה בולטת היא סדרת ה-VerfLT:0.NXP i.MX RTib מספר 1, המשלבת את הליבה של Arm Cortex-M עם קדינס Tensilica HiFi DSP ו-NPU (NPU) DSP מטפל צינורות אודיו בעוד מפתח NPU פועל ניתוק ומודלים הכרה קול-מקודדים כאלה גם נהנים מזיכרון משותף וקונפליקטנטי, בין חילופי נתונים בין מחסנים נמוכים.

מערכות למידה משולבת בעולם DSP-Machine Learning Systems

האסטרטגיות התיאורטיות שתוארו לעיל הובנו במוצרים מסחריים על פני מספר תחומים. להלן הן דוגמאות בולטות הממחישות את טווח רמות האינטגרציה.

Qualcomm Hexagon DSP (Snapdragon)

מעבד Qualcomm של Hexagon DSP התפתח ממעבד אותות טהור לתוך מרכיב מפתח של מנוע AI של החברה החל עם Snapdragon 820, Hexagon 680 כללה FLT:0 Hexagon Vectoragon Vectortons (HVX) תכונות מחשביות (HVX) אך ורק לאחר מכן) LT 1 - יחידות SIMD המסוגלות 1024 סיביות למחזור.

קדינס Tensilica ConnX / HiFi DSPs

קדנס מציע מגוון של ליבות DSP שניתן להתאים לעומסי עבודה של ML.TheFLT:0ConnX BBEFIRFLT:1 (Baseband Engine) כולל נקודות צף וקבוע יחידות SIMD נקודות קבוע, בעוד ה-FLT:2HiFi 5FLT:3 מתמקדת ב- Audio/sech וכעת כוללת "הסכם אלקטרוני" (D) להאזנה רגילה להאזנה להאזנה להאזנה, כולל מספר , לדוגמה, למשל, פילטרים, שימוש ב-D.

CEVA-XB12 ו-SensPro2

CEVA's XB12 הוא הליבה של DSP המיועד במיוחד עבור ראיית מחשב ועומסי עבודה AI.It משלב מנוע 128-MAC, מאיץ רשת עצבי ייעודי, ויחידת SIMD רחבה.החדשה (FLT:0SensPro2FLT:1 אדריכלות מרחיבה זאת על ידי הוספת זרימת נתונים גמישה שיכולה להתמודד עם מודלים של מהפכתיים והופכים, יחד עם מודלים סטנדרטיים ו-Flower, עם מודלים אוטומטיים של קודר.

TI C7000 C6x עם C7x Coprocessor

טקסס מכשירים מציעה את סדרת C7000 המשלבת C66x DSP עם מעבד וקטור C7x.C7x הוא מנוע וקטור תוכנה מלא אופטימלי עבור פעולות ממטריקס, עם תמיכה הן נקודות צף והן מסוגי נתונים teger.זה יכול לבצע עד 64 MACs לכל מחזור.

מגמות עתידיות באינטגרציה DSP-ML

השילוב של ML לאדריכלות DSP עדיין מתפתח במהירות.כמה מגמות מתעוררות מבטיחות להפוך את השילוב אפילו חזק יותר וזמין יותר.

In-Memory Computing and Near-Memory Processing

קיר הזיכרון הוא צוואר בקבוק ראשי ל-ML.גישות חדשות נעות חישוב קרוב יותר לרכיבי האחסון.חלק מהטיפוס DSP משלבות את FLT:0compute-in-SRAMFLT:1 או FLT:2memristor-מודלים מבוססי מעבדי MACLT 3FLT בתוך גדות הזיכרון המקומי.

RISC-V הרחבה ל-DSP ו-ML

[01:01] ⁇ [=]=[ה]][ה]][ה]][ה]][ה]]][ה][ה]]][ה]]]][ה[[המאה ה-21]]]]]], ו[[המאה ה-20]], ניתן להשתמש ב[[המאה ה-20]] כדי לבנות את יכולות ה-D-[[הפתוחות]] באופן מלא.

המונחים: low-Precision and Hybrid Arithmetic

מחקרים מראים כי מודלים רבים מבצעים היטב עם INT4 או אפילו בינארית של ספקיות עתידיות DSPs סביר לתמוך מצבי דיוק מרובים, אולי עם פורמטים של בלוק מחסומים מקיפים את נקודות הקצה (התמיכה המוקשים ב-FLT:0stochastic Rounding novationFLT:1 ו-FLT:2block- PointFLT 3) (שיתוף תמיכה רחבה על פני קבוצה של ערכים) יכול להציע תכונות סיליקון נמוך כדי להפעיל את ה-Dbit-D.

חומרה אוטומטית - Software Co-Design

כדוגמניות וחומרה הופכים להיות יותר ⁇ , כלים שמכוינים באופן אוטומטי ארכיטקטורת DSP עבור עומס עבודה ML נתון יהפכו חיוניים. חברות כמו FLT:0Esperanto TechnologiessFLT:1 ו-FLT:2Samba NovaFLT 3 הוכיחו שבבים מותאם אישית אשר תואמים על ידי ML עצמם.

על למידה והתאמה

מעבר להיקף, יש עניין גובר ב-FLT:0tinyrealMLFLT ( 1:1 תומך מוגבל על הכשרה ניתוק או כוונון עדין (למשל, העברת למידה) זה דורש לא רק האצה קדימה, אלא גם את היכולת למקם ⁇ s ולבצע עדכונים של משקל - פעולות אשר לעתים רחוקות מיושמות ב-DSPs הנוכחי.

מסקנה

אלגוריתמים של למידת מכונות לתוך ארכיטקטורות מעבד DSP הוא אתגר רב פנים כי משתרע דיוק סיבולת, רוחב פס זיכרון, ניהול זרימה שליטה ויעילות אנרגיה. באמצעות שילוב של האצה חומרה (יחידותSIMD, NPUs ייעודי, מערכות זיכרון מיוחדות), אופטימיזציה תוכנה (quantation, היתוך גרעין, היתוך אוטומטי), ועיצובים היברידיים, שחקנים בתעשייה הוכיחו דוגמאות יעילות כמו מערכת מחשוב פתוח של מערכת מחשוב, כמו גם על ידי מערכת למידה מרחוק של AI.

לקריאה נוספת, שקול את המשאבים החיצוניים הבאים:

  • (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (ב) [15] ⁇ ⁇ ⁇ ⁇
  • (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (ב) ⁇ (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (ב) "סקר של Machine Learning for עיבוד אותות על Embedded DSPs" (ArXiv 2021)