رفتن به محتوای اصلی
Koohestun
معماری سخت‌افزار هوش مصنوعیگزارش تشریحی· تاریخ رویداد: ۲۱ اسفند ۱۴۰۴· 5 دقیقه مطالعه· در هوش مصنوعی

آرایه‌های سیستولیک چگونه داده‌ها را برای ضرب ماتریس‌ها در تراشه‌های هوش مصنوعی به جریان می‌اندازند؟

هوش مصنوعی مدرن به سخت‌افزارهای تخصصی متکی است که داده‌ها را از طریق شبکه‌ای از عناصر پردازشی پمپاژ می‌کنند تا میلیاردها محاسبه را بدون نیاز به دسترسی به حافظه انجام دهند. این معماری صلب و قلب‌مانند، گلوگاه حافظه را که پردازنده‌های سنتی را در حین ریاضیات ماتریسی خفه می‌کند، برطرف می‌سازد.

به قلم ساناز امامی

مدافعان معماری خاص‌دامنه 40%طرفداران محاسبات همه‌منظوره 40%محققان هوش مصنوعی لبه 20%
مدافعان معماری خاص‌دامنه
استدلال می‌کنند که بارهای کاری هوش مصنوعی برای به حداکثر رساندن کارایی، به سیلیکون‌های تخصصی و سخت‌افزاری نیاز دارند.
طرفداران محاسبات همه‌منظوره
معتقدند که الگوریتم‌ها با سرعتی بیش از آن تکامل می‌یابند که بتوان آن‌ها را در سخت‌افزارهای صلب محبوس کرد.
محققان هوش مصنوعی لبه
بر تطبیق معماری‌های کارآمد برای کاربردهای رباتیک محلی و کم‌مصرف تمرکز دارند.

دیدگاه‌هایی که این گزارش پوشش نداده

  • کارخانه‌های تولید نیمه‌رسانا
  • توسعه‌دهندگان سخت‌افزار متن‌باز

طراحان تراشه هنگام ساخت سخت‌افزار برای هوش مصنوعی با یک بده‌بستان دشوار روبرو هستند. طرفداران محاسبات همه‌منظوره استدلال می‌کنند که الگوریتم‌ها با سرعتی بیش از آن تکامل می‌یابند که بتوان آن‌ها را در سیلیکون محبوس کرد؛ آن‌ها از معماری‌هایی دفاع می‌کنند که انعطاف‌پذیری کافی برای مدیریت هر ساختار ریاضی جدیدی که محققان ابداع می‌کنند را حفظ کنند. در مقابل، مهندسان معماری‌های خاص‌دامنه (Domain-specific) معتقدند که انعطاف‌پذیری، اتلاف انرژی و زمان است. آن‌ها استدلال می‌کنند از آنجا که یادگیری عمیق تقریباً به طور کامل بر یک عملیات خاص—یعنی ضرب شبکه‌های عظیمی از اعداد در یکدیگر—متکی است، سخت‌افزار باید برنامه‌پذیری را کنار بگذارد و به مسیرهای سخت‌افزاری صلب و بهینه‌شده‌ای روی آورد که منحصراً برای همان یک وظیفه طراحی شده‌اند.[2][4]

محور این بحث، محدودیت بنیادین طراحی کامپیوترهای سنتی است که به عنوان «گلوگاه فون نویمان» شناخته می‌شود. در یک پردازنده استاندارد، اجرای یک محاسبه نیازمند واکشی یک عدد از حافظه اصلی، انتقال آن به واحد حساب و منطق، انجام عملیات ریاضی و ارسال نتیجه به عقب است. اچ.تی. کونگ (H.T. Kung)، یکی از نویسندگان مقاله بنیادین سال ۱۹۸۲ درباره معماری‌های سیستولیک، توضیح می‌دهد: «مشکل اینجاست که دسترسی به حافظه کند است و انرژی زیادی مصرف می‌کند.» وقتی یک شبکه عصبی به میلیاردها عملیات ضرب و جمع نیاز دارد، تراشه زمان و انرژی بیشتری را صرف جابجایی رفت‌وبرگشتی داده‌ها می‌کند تا اینکه واقعاً به محاسبه بپردازد.[1]

برای حل این مشکل، مهندسان به مفهومی روی آوردند که کونگ آن را از قلب انسان الهام گرفته بود. در یک آرایه سیستولیک، داده‌ها با یک جریان ریتمیک و پیوسته از طریق شبکه‌ای از عناصر پردازشی پمپاژ می‌شوند. به جای ارسال نتیجه به حافظه، هر عنصر یک عملیات حسابی واحد را انجام می‌دهد و بلافاصله خروجی را در چرخه ساعت بعدی به همسایه خود منتقل می‌کند. داده‌ها در شبکه سیلیکونی موج می‌زنند و پیش از آنکه نتیجه نهایی از آرایه خارج شود، چندین بار توسط عناصر مختلف مورد استفاده مجدد قرار می‌گیرند.[1][3]

داده‌ها به صورت ریتمیک از طریق عناصر پردازشی پمپاژ می‌شوند و نتایج را مستقیماً و بدون بازگشت به حافظه اصلی به گره‌های همسایه منتقل می‌کنند.

این معماری نظری در سال ۲۰۱۷ به پایه و اساس زیرساخت‌های مدرن هوش مصنوعی تبدیل شد، زمانی که گوگل جزئیات اولین واحد پردازش تنسور (TPU) خود را فاش کرد. نسخه اولیه TPU دارای یک آرایه سیستولیک عظیم شامل ۶۵,۵۳۶ عنصر پردازشی بود که در یک شبکه ۲۵۶ در ۲۵۶ چیده شده بودند. گوگل با در حرکت نگه داشتن داده‌ها در این شبکه بدون بازگشت به حافظه دسترسی تصادفی پویا (DRAM)، به جهش عظیمی در کارایی دست یافت. این شرکت گزارش داد که TPU برای وظایف استنتاج، ۱۵ تا ۳۰ برابر عملکرد بالاتر و ۳۰ تا ۸۰ برابر عملکرد بر وات بیشتری نسبت به پردازنده‌های مرکزی (CPU) و گرافیکی (GPU) هم‌عصر خود ارائه می‌دهد.[2]

روش خاص حرکت داده‌ها در این شبکه‌ها، میزان کارایی آن‌ها را تعیین می‌کند. پردازنده TPU گوگل از یک جریان داده «وزن-ثابت» (Weight-stationary) استفاده می‌کند. در این پیکربندی، پارامترهای شبکه عصبی—یعنی وزن‌ها—در عناصر پردازشی بارگذاری شده و در جای خود ثابت می‌مانند. داده‌های ورودی از چپ به راست در شبکه جریان می‌یابند، در حالی که مجموع‌های جزئی از بالا به پایین سرازیر می‌شوند. همان‌طور که محققان تلسنس (Telesens) در تحلیل معماری سال ۲۰۱۸ خود به تفصیل بیان کردند، این روش انرژی مصرف‌شده برای جابجایی وزن‌ها را که اغلب بزرگ‌ترین ماتریس‌ها در محاسبه هستند، به حداقل می‌رساند.[3][6]

در یک جریان داده وزن-ثابت، پارامترهای شبکه عصبی در جای خود ثابت می‌مانند، در حالی که داده‌های ورودی در سراسر شبکه سرازیر می‌شوند.
روش خاص حرکت داده‌ها در این شبکه‌ها، میزان کارایی آن‌ها را تعیین می‌کند.

در حالی که گوگل مدارهای مجتمع با کاربرد خاص (ASIC) و اختصاصی ساخت، انویدیا (Nvidia) اصول سیستولیک را مستقیماً در واحدهای پردازش گرافیکی انعطاف‌پذیر خود ادغام کرد. معماری هاپر (Hopper) انویدیا که در سال ۲۰۲۲ معرفی شد، به شدت به هسته‌های تنسور (Tensor Cores) نسل چهارم متکی است. این هسته‌ها در اصل آرایه‌های سیستولیک مینیاتوری هستند که در ساختار گسترده‌تر GPU تعبیه شده‌اند. آن‌ها به تراشه اجازه می‌دهند تا ضرب ماتریس‌های متراکم را با کارایی یک آرایه سیستولیک اجرا کند، در حالی که منطق برنامه‌پذیر پیرامونی مورد نیاز برای مدیریت عملیات‌های غیرماتریسی را نیز حفظ می‌کند.[4]

شرکت‌های دیگر مفهوم جریان داده را در مسیرهای متفاوتی پیش برده‌اند. شرکت گراک (Groq)، که توسط مهندسان سابق TPU گوگل تأسیس شده است، واحد پردازش زبان (LPU) را توسعه داد. بر اساس مستندات فنی سال ۲۰۲۵ این شرکت، LPU اتکای آرایه سیستولیک سنتی به منطق کنترلی پیچیده را کنار می‌گذارد و در عوض از یک معماری قطعی (Deterministic) استفاده می‌کند که در آن مسیر دقیق و زمان‌بندی هر قطعه از داده‌ها، پیش از اجرای برنامه توسط کامپایلر شناخته می‌شود. هدف این رویکرد، حذف جهش‌های تأخیری است که وقتی تراشه‌های سنتی باید برای واکشی حافظه منتظر بمانند، رخ می‌دهد.[5]

کارایی آرایه‌های سیستولیک اکنون در حال فراتر رفتن از مراکز داده عظیم است. در تحلیلی در مارس ۲۰۲۶، آویک دی (Avik De)، محقق رباتیک، نشان داد که چگونه آرایه‌های سیستولیک برای محاسبات لبه (Edge computing) و رباتیک عمومی در حال تطبیق هستند. از آنجا که این تراشه‌ها می‌توانند ریاضیات پیچیده ماتریسی را با بودجه توان مصرفی بسیار محدود اجرا کنند، به سیستم‌های خودمختار اجازه می‌دهند تا مدل‌های ادراکی پیشرفته را به صورت محلی و بدون نیاز به اتصال مداوم به سرورهای ابری اجرا کنند.[7]

شتاب‌دهنده‌های تخصصی هوش مصنوعی به زیرساخت بنیادین مراکز داده مدرن تبدیل شده‌اند.

ماهیت صلب آرایه‌های سیستولیک همچنان آسیب‌پذیری اصلی آن‌هاست. اگر یک مدل هوش مصنوعی به عملیاتی غیر از ضرب ماتریس‌های متراکم نیاز داشته باشد—مانند ماتریس‌های پراکنده (Sparse matrices) که در معماری‌های ترکیبی از متخصصان (Mixture of Experts) استفاده می‌شوند و بسیاری از مقادیر در آن‌ها صفر است—آرایه سیستولیک چرخه‌های ساعت را با ضرب در صفر هدر می‌دهد. سخت‌افزار نمی‌تواند به راحتی از این عملیات‌ها بگذرد، زیرا جریان ریتمیک داده‌ها باید در سراسر شبکه حفظ شود.[3]

طراحان سخت‌افزار در حال حاضر تلاش می‌کنند آرایه‌هایی بسازند که بتوانند به صورت پویا صفرها را دور بزنند یا در لحظه با جریان‌های داده‌ای مختلف سازگار شوند. موفقیت این طراحی‌های هیبریدی تعیین خواهد کرد که آیا نسل بعدی هوش مصنوعی به سیلیکون‌های تخصصی‌تر متکی خواهد بود، یا اینکه صنعت مجبور می‌شود برای همگام شدن با تغییرات الگوریتمی، یک معماری کاملاً جدید ابداع کند.[3]

نکات کلیدی

  1. آرایه‌های سیستولیک با انتقال مستقیم داده‌ها بین عناصر پردازشی، گلوگاه حافظه را برطرف می‌کنند.
  2. نسخه اولیه TPU گوگل از یک شبکه ۲۵۶ در ۲۵۶ از عناصر برای دستیابی به دستاوردهای عظیم در کارایی استفاده کرد.
  3. جریان‌های داده وزن-ثابت، پارامترهای شبکه عصبی را در جای خود قفل نگه می‌دارند، در حالی که ورودی‌ها در سراسر شبکه حرکت می‌کنند.
  4. انویدیا آرایه‌های سیستولیک مینیاتوری را از طریق هسته‌های تنسور در پردازنده‌های گرافیکی خود ادغام می‌کند تا بین سرعت و انعطاف‌پذیری تعادل ایجاد کند.
  5. معماری‌های صلب با ماتریس‌های پراکنده مشکل دارند، که این امر موجب تحقیقات برای طراحی‌های سخت‌افزاری سازگارتر شده است.

اصطلاحات کلیدی

ضرب ماتریس
یک عملیات ریاضی که در آن دو شبکه از اعداد با هم ترکیب می‌شوند تا شبکه سومی را تولید کنند و اساس محاسبات شبکه‌های عصبی را تشکیل می‌دهند.
عنصر پردازشی (PE)
یک واحد محاسباتی کوچک و تخصصی در یک آرایه سیستولیک که یک عملیات حسابی واحد را انجام می‌دهد.
گلوگاه فون نویمان
تأخیری که زمانی رخ می‌دهد که یک پردازنده باید دائماً منتظر بماند تا داده‌ها از ماژول‌های حافظه مجزا واکشی شوند.
وزن-ثابت (Weight-Stationary)
یک طراحی جریان داده که در آن پارامترهای آموخته‌شده شبکه عصبی در داخل عناصر پردازشی ثابت می‌مانند، در حالی که داده‌های جدید از کنار آن‌ها عبور می‌کنند.
هسته تنسور (Tensor Core)
پیاده‌سازی اختصاصی انویدیا از یک آرایه سیستولیک در مقیاس کوچک که در یک واحد پردازش گرافیکی تعبیه شده است.

منابع

پوشش منابع

7 منبع

3 دیدگاه شناسایی‌شده

مدافعان معماری خاص‌دامنه 40%طرفداران محاسبات همه‌منظوره 40%محققان هوش مصنوعی لبه 20%
  1. [1]Computer (IEEE)محققان هوش مصنوعی لبه

    Why systolic architectures?

    مطالعه در Computer (IEEE)
  2. [2]Google Cloud Blogمدافعان معماری خاص‌دامنه

    An in-depth look at Google's first Tensor Processing Unit (TPU)

    مطالعه در Google Cloud Blog
  3. [3]arXivمحققان هوش مصنوعی لبه

    Systolic Array Data Flows for Efficient Matrix Multiplication in Deep Neural Networks

    مطالعه در arXiv
  4. [4]NVIDIA Technical Blogطرفداران محاسبات همه‌منظوره

    NVIDIA Hopper Architecture In-Depth

    مطالعه در NVIDIA Technical Blog
  5. [5]Groqمدافعان معماری خاص‌دامنه

    What is a Language Processing Unit?

    مطالعه در Groq
  6. [6]Telesensمحققان هوش مصنوعی لبه

    Understanding Matrix Multiplication on a Weight-Stationary Systolic Architecture

    مطالعه در Telesens
  7. [7]Avik Deمحققان هوش مصنوعی لبه

    Systolic arrays for general robotics, AI, and scientific computing

    مطالعه در Avik De

نظرات

همیشه در جریان باشید

هر زاویه. هر روز.

دریافت هوش مصنوعی اخبار همراه با پوشش کامل منابع و تحلیل دیدگاه‌ها، مستقیم در صندوق ورودی شما.