قدرت محاسباتی طی چند دهه گذشته به صورت تصاعدی افزایش یافته است. اکنون دوربینهایی روی گوشیهای هوشمند داریم که قابلیتهای عکاسی محاسباتی باورنکردنی دارند، دستیارهای صوتیای که تقریباً فوراً پاسخ میدهند و سختافزارهایی که به اندازه کافی کارآمد هستند تا بازیهای جهان باز را روی آیفون اجرا کنند. اخیراً، پیشرفتها در هوش مصنوعی مولد (Generative AI) نشان داده است که این فناوری تا چه اندازه میتواند مفید باشد و قابلیتهای آن هر روز در حال افزایش است.
با تمام بحثهایی که پیرامون هوش مصنوعی وجود دارد، ممکن است اصطلاحات و کلمات کلیدی خاصی به گوش شما خورده باشد. یکی از این اصطلاحات، واحد پردازش عصبی (NPU) است. در واقع، واحدهای پردازش عصبی را میتوان در اکثر کامپیوترها، گوشیهای هوشمند و حتی دستگاههای اینترنت اشیا (IoT) جدید یافت. اما با وجود بعضی از وظایف و حتی ساختار مشابه پردازنده گرافیکی (GPU)، تفاوت بین یک NPU و یک GPU، دقیقاً چیست؟! با اِروتِک همراه باشید.
واحد پردازش عصبی (NPU) چیست؟

برای درک اینکه واحد پردازش عصبی چیست، ابتدا بهتر است آن را از کاری که واحد پردازش مرکزی (CPU) انجام میدهد، متمایز کنیم. پردازنده یا CPU یک جزء اصلی در تمام کامپیوترها است و عمدتاً برای مدیریت عملیات ترتیبی (Sequential) طراحی شده است که توسط هستههای کمتر، اما با عملکرد بالا پشتیبانی میشود. این امر باعث میشود CPUها برای انجام کارهای منطقمحور عالی باشند، اما تعداد هستههای کمتر، آنها را در انجام محاسبات تکراری و هزاران کار کوچک بسیار ناکارآمد میکند، چیزی که یک جنبه اصلی در نحوه آموزش و استفاده از مدلهای یادگیری ماشین است.
اینجاست که معماری یک NPU به کار میآید. برخلاف CPU که برای پردازش ترتیبی در نظر گرفته شده است، NPUها با در نظر گرفتن موازیسازی (Parallelism) طراحی شدهاند که به آنها اجازه میدهد هزاران محاسبهای را که قبلاً مثال زدیم، در زمان بسیار کوتاهتری انجام دهند. NPUها تعداد هستههای بیشتری دارند و این واحدهای محاسباتی اختصاصی برای عملیات تکراری مانند ضرب ماتریس استفاده میشوند که نقش بسیار بزرگی در نحوه عملکرد شبکههای عصبی ایفا میکند.
NPUها همچنین دارای حافظه روی تراشه (on-chip memory) هستند که بهطور چشمگیری تأخیر (Latency) را کاهش میدهد و مستقیماً عملکرد و بهرهوری را بهبود میبخشد. اپل از رویکردی مشابهی برای ساخت تراشههای خود استفاده میکند، به همین دلیل است که مکهای پس از سال ۲۰۲۰ در عملکرد و عمر باتری عالی عمل کردهاند. این موضوع در بررسیهی مکبوک ایر M4 مشهود است، که یک دستگاه بدون فن بوده و از مزایای وجود CPU ،GPU، رم و NPU، همه روی یک تراشه، بهره میبرد. به طور خلاصه، NPU به عنوان یک شتابدهنده سختافزاری، بهطور خاص برای کارهای هوش مصنوعی، در کامپیوترها استفاده میشود.
چرا نمیتوانیم فقط از GPU برای کارهای هوش مصنوعی استفاده کنیم؟

واحد پردازش گرافیکی (GPU) جزئی است که مدتهاست به دلیل کاربردهای آن در بازی و رندر ویدیو که نیازهای مصرفکنندگان را در کانون توجه قرار داده، برای عموم شناختهشدهتر است. GPU نیز مانند NPU و برخلاف CPU، دارای هزاران هسته نسبتاً ضعیفتر است که در پردازش تصویر تخصص دارند. GPUها نیز طراحی موازی دارند و به آنها اجازه میدهد تا کارهای کوچکتر و تکراری را سریعتر از CPU انجام دهند.
این شامل عملیاتی است که در شبکههای عصبی و یادگیری ماشین استفاده میشوند و بله، GPUها میتوانند و در واقع برای مدیریت کارهای هوش مصنوعی در کامپیوترها استفاده میشوند. در حقیقت، رهبران بخش هوش مصنوعی، مانند OpenAI، به مراکز دادهای متکی هستند که از خوشههای عظیم GPUهای انویدیا (Nvidia) و AMD استفاده میکنند. اینها بدیهی است سختافزارهای صنعتی هستند، اما واقعیت باقی میماند، GPUها معماری سازگار برای استفاده در عملیات مبتنی بر هوش مصنوعی را دارند.
با این حال، GPUها در اصل با هدف اصلی انجام هوش مصنوعی ساخته نشدهاند، این تفاوت کلیدی بین آنها و NPUها است. هنگامیکه شما فقط وظایف مبتنی بر هوش مصنوعی را به یک شتابدهنده هدفمند (که NPU است) منتقل میکنید، مصرف انرژی را که در غیر این صورت یک GPU طلب میکرد، بهطور قابل توجهی کاهش میدهید. کامپیوترها و گوشیهای هوشمند مدرن، مانند آیفون ۱۶ و گوگل پیکسل ۱۰، با یک NPU عرضه میشوند که برای مدیریت بسیاری از ویژگیهای هوش مصنوعی گوشیهای هوشمند که امروز استفاده میکنیم، طراحی شده است. کارهایی مانند ترجمه زنده، تولید تصویر یا رونویسی تماس، وظایفی هستند که به صورت پویا به یک NPU منتقل میشوند.
منبع: Slashgear
























