انتخاب شتاب‌دهنده مناسب برای آموزش مدل‌های هوش مصنوعی دیگر یک گزینه ساده نیست. دو غول فناوری گوگل و انویدیا هر کدام راهکاری کاملاً متمایز برای حل همان چالش بنیادین محاسبات ماتریسی ارائه داده‌اند. درک اختلاف معماری این تراشه‌ها مشخص می‌کند چرا هر کدام در سناریوهای عملکردی، بازدهی انرژی و مقیاس‌پذیری نتایجی متفاوت ارائه می‌دهند.

تخصص‌گرایی در مقابل انعطاف‌پذیری محض

TPU یک مدار مجتمع با کاربرد خاص (ASIC) است که دقیقاً برای عملیات تانسورهای یادگیری عمیق طراحی شده. این تراشه با استفاده از آرایه‌های سیستولیک، ضرب ماتریس‌های متراکم را مستقیماً در مدار پردازش می‌کند. مقایسه معماری‌های سخت‌افزاری مختلف را می‌توانید در ویکی‌پدیا پیگیری کنید.

در مقابل، GPU انویدیا از هزاران هسته برنامه‌پذیر CUDA تشکیل شده و برای مدیریت طیف وسیعی از وظایف از رندرینگ گرافیکی گرفته تا محاسبات علمی بهینه گردیده است. تاریخچه GPU به صنعت بازی‌های ویدیویی بازمی‌گردد، جایی که شتاب‌دهنده‌های گرافیکی با معرفی کتابخانه CUDA در سال 2006 راه خود را به محاسبات همه‌منظوره هموار کردند. امروزه فریم‌ورک‌های محبوبی مانند پایتورچ و TensorFlow به صورت بومی روی این معماری اجرا می‌شوند. گوگل اما از سال 2016 تمرکزش را بر توسعه ASICهای اختصاصی برای جبر تانسوری شبکه‌های عصبی گذاشته و نسل‌های جدید هر ساله ضریب بازدهی انرژی را به شکل چشمگیری افزایش می‌دهند.

دیاگرام شماتیک هسته‌های پردازشی CUDA و دسته‌بندی وارپ‌ها در معماری انویدیا

معماری SIMT انویدیا؛ قدرت موازی‌سازی با هزینه انرژی بالا

مدل اجرای شتاب‌دهنده‌های انویدیا بر پایه SIMT یعنی اجرای یک دستورالعمل در چندین رشته استوار است. پردازنده داده‌ها را در دسته‌های 32 تایی به نام وارپ مدیریت می‌کند. این معماری بر اساس مدل بارگذاری و ذخیره‌سازی کار می‌کند.

این رویکرد چند مزیت و چالش کلیدی دارد:

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

این ساختار به توسعه‌دهندگان اجازه می‌دهد کدهای پیچیده را با انعطاف بالا به معماری سخت‌افزاری ترجمه کنند. برای مطالعه دقیق‌تر درباره سازوکار SIMD و SIMT می‌توانید به مقاله تخصصی ویکی‌پدیا در مورد پردازش موازی مراجعه نمایید.

آرایه‌های سیستولیک گوگل؛ حرکت داده به‌جای حرکت پردازنده

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

جریان داده درون آرایه سیستولیک TPO گوگل و مسیر محاسبات ضرب ماتریس

این رویکرد جریان داده باعث می‌شود تراشه گوگل در اجرای عملیات ضرب ماتریس متراکم به بازدهی انرژی و پهنای باند بسیار بالاتری دست یابد. مشکل اصلی TPU این است که برای الگوهای محاسباتی خاص و ثابت طراحی شده و انعطاف‌پذیری مدل SIMT را ندارد. گوگل این محدودیت را با ارائه APIهای سطح بالای مانند XLA و تبدیل خودکار گراف‌های محاسباتی به کد بهینه، مدیریت می‌کند.

هزینه‌های پنهان و انتخاب استراتژیک

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

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