تفاوت TPU ،GPU و NPU چیست و هر کدام چه کاری انجام می‌دهند؟

تفاوت TPU،GPU و NPU چیست و هر کدام چه کاری انجام می‌دهند؟

به گزارش خبرگزاری آنا؛ تا چند سال قبل بیشتر کاربران تنها با پردازنده مرکزی یا CPU و پردازنده گرافیکی یا GPU سروکار داشتند، اما رشد هوش مصنوعی باعث شده واحد‌های پردازشی تخصصی دیگری نیز وارد گوشی‌ها، رایانه‌ها و دیتاسنتر‌ها شوند. NPU یا واحد پردازش عصبی اکنون در بسیاری از گوشی‌های هوشمند و رایانه‌های جدید وجود دارد و گوگل نیز سال‌ها است از TPU یا واحد پردازش تنسور برای اجرای بار‌های کاری هوش مصنوعی استفاده می‌کند. TPU دقیقاً چیست؟ TPU نوعی شتاب‌دهنده هوش مصنوعی است که گوگل آن را برای اجرای محاسبات مورد نیاز یادگیری ماشین توسعه داده است.

نخستین نمونه‌های این تراشه از سال ۲۰۱۵ در زیرساخت‌های داخلی گوگل مورد استفاده قرار گرفتند و نسل‌های بعدی آن به یکی از اجزای اصلی دیتاسنتر‌های این شرکت برای آموزش و اجرای مدل‌های هوش مصنوعی تبدیل شدند. نام TPU البته ممکن است کمی گیج‌کننده باشد، زیرا گوگل همین اصطلاح را در تراشه‌های سری تنسور گوشی‌های پیکسل نیز به کار می‌برد. در گوشی‌هایی مانند خانواده پیکسل ۱۱، بخشی که گوگل آن را TPU می‌نامد در عمل نقشی نزدیک به NPU سایر گوشی‌ها دارد و وظایفی مانند پردازش تصویر، دوربین و اجرای مدل‌های هوش مصنوعی روی خود دستگاه را انجام می‌دهد؛

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

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

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

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

تفاوت اصلی TPU دیتاسنتری با GPU در معماری است یکی از تفاوت‌های فنی مهم TPU‌های دیتاسنتری گوگل با GPU‌ها به نحوه انجام محاسبات ماتریسی بازمی‌گردد. TPU از ساختاری موسوم به «آرایه سیستولیک» استفاده می‌کند که در آن داده‌ها میان مجموعه‌ای از واحد‌های محاسباتی به شکل منظم جابه‌جا می‌شوند و نتیجه هر مرحله مستقیماً در اختیار مرحله بعدی قرار می‌گیرد. این ساختار می‌تواند رفت‌وبرگشت مداوم داده میان واحد‌های پردازشی و حافظه را کاهش دهد.

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

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

اجرای ترجمه هم‌زمان، پردازش تصویر یا مدل‌های کوچک زبانی نمونه‌ای از این کاربرد‌ها هستند و قرار نیست چنین تراشه‌هایی جای یک خوشه بزرگ دیتاسنتری را بگیرند. GPU میان این دو قرار می‌گیرد و دامنه کاربرد بسیار گسترده‌تری دارد. یک GPU می‌تواند داخل لپ‌تاپ یا رایانه شخصی برای اجرای مدل محلی استفاده شود و در مقیاسی بسیار بزرگ‌تر نیز هزاران GPU در دیتاسنتر برای آموزش مدل‌های عظیم در کنار یکدیگر قرار گیرند. کدام‌یک بهتر است؟ پاسخ به این سؤال به نوع استفاده بستگی دارد.

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

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

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

منبع: آنا