1

ابتدا CPU و GPU را داشتیم و سپس APU یا واحد پردازش شتاب‌یافته (Accelerated Processing Unit) از سوی AMD وارد میدان شد. با ظهور کامپیوترها و گوشی‌های هوشمند مجهز به هوش مصنوعی، NPU یا واحد پردازش عصبی نیز به این فهرست اضافه شد. اما حالا، به لطف گوگل، با نوع دیگری از تراشه‌ها یعنی TPU روبه‌رو هستیم. گوگل نخستین بار در سال 2015 به‌صورت داخلی از TPU استفاده کرد. TPU یا Tensor Processing Unit، شتاب‌دهنده اختصاصی هوش مصنوعی گوگل است که برای انجام محاسبات پیچیده ریاضی موردنیاز در پردازش‌های هوش مصنوعی و یادگیری ماشین طراحی شده است.

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

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

TPU چیست؟

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

این موضوع چندان هم عجیب نیست، زیرا NPUها به لطف شرکت‌هایی مانند اپل، سازندگان مختلف کامپیوتر و گوشی‌های هوشمند و تولیدکنندگان تراشه، به یکی از اجزای رایج دستگاه‌های امروزی تبدیل شده‌اند. NPUها در گوشی‌های هوشمند، مک‌ها و کامپیوترهای مدرن یافت می‌شوند و بخش عمده پردازش وظایف مرتبط با هوش مصنوعی مولد و هوش مصنوعی عامل‌محور را بر عهده دارند (از حذف یک فرد یا شیء از عکس گرفته تا استفاده از ChatGPT برای تهیه برنامه سفر سه‌روزه).

در گوشی‌های پیکسل 11، TPU جایگزین NPU شده و گوگل مدعی است که این تراشه می‌تواند پردازش‌های هوش مصنوعی را تا 3.5 برابر سریع‌تر و با مصرف انرژی تا 3.5 برابر کمتر انجام دهد. GPUها برای بسیاری از کاربران آشناتر هستند؛ به‌ویژه برای گیمرها یا افرادی که با مدل‌سازی سه‌بعدی سروکار دارند. پیش از رونق هوش مصنوعی، هدف اصلی از داشتن یک GPU قدرتمند، اجرای بازی‌های گرافیکی سنگینی مانند Crysis 3 با بالاترین تنظیمات، نرخ فریم بالا و رندرینگ روان بود.

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

تفاوت TPU، NPU و GPU چیست؟

تفاوت اصلی این تراشه‌ها را می‌توان در نوع کاربرد و مقیاس پردازش آنها جستجو کرد. TPUها برای پردازش‌های هوش مصنوعی مبتنی بر فضای ابری در مراکز داده گوگل به کار می‌روند، در حالیکه NPUها، TPUهای روی دستگاه و GPUها را می‌توان در گوشی‌های هوشمند و لپ‌تاپ‌ها یافت. TPUها با اختلاف زیادی در بزرگ‌ترین مقیاس مورد استفاده قرار می‌گیرند. معماری تخصصی این تراشه‌ها باعث شده از آنها برای شتاب‌دهی به محاسبات عظیم موردنیاز مدل‌های زبانی بزرگ (LLM) و وظایف گسترده یادگیری عمیق (DL) استفاده شود.

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

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

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

کدام‌یک بهتر است؟

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

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