کایرین 970 نخستین تراشه مبتنی بر هوش مصنوعی است که از واحد پردازش عصبی برای مدیریت این اطلاعات استفاده میکند. اما آیا وجود سخت افزار اختصاصی میتواند هوش مصنوعی را در مقایسه با اسنپدراگون 845 برجستهتر کند؟
سال گذشته مشخص شد که کایرین 970 در تعدادی از بنچمارکهای مربوط به شناسایی تصاویر عملکرد بهتری در مقایسه با اسنپدراگون 835 دارد. اخیرا آنر (زیربرند هواوی) نیز با انتشار نتایج تستهای خود، نشان داده است که کایرین 970 حتی در مقایسه با چیپ جدیدتر اسنپدراگون 845 هم بهتر عمل میکند. آیا وجود سخت افزار اختصاصی تا این اندازه مهم است و هوش مصنوعی میتواند تجربه کاربری را تحت تاثیر قرار دهد؟
مقایسه هوش مصنوعی کایرین 970 با اسنپدراگون 845
با گسترش استفاده از هوش مصنوعی در تلفن های هوشمند، تولیدکنندگان سیستمهای روی چیپ بر سر بهبود عملکرد شبکه عصبی و یادگیری ماشینی چیپ خود با یکدیگر رقابت میکنند. اگرچه هر سازندهای روش خود را برای بهرهگیری از این فناوری دارد، اما روند کلی شامل استفاده از یک سخت افزار اختصاصی برای سرعت بخشیدن به وظایف یادگیری ماشینی مختلف همچون تشخیص تصویر میشود. هرچند، متفاوت بودن سخت افزارها به معنی متفاوت بودن سطح عملکرد هرکدام از این تراشهها است.
ما کمی در رابطه با تستهای شرکتهای مختلف روی چیپهای خود کمی دیرباور هستیم، اما بنچمارکهایی که آنر استفاده کرده بود (Resnet و VGG)، معمولا از الگوریتمهای شبکه عصبی شناسایی تصویر ازپیش آموزش دیدهشده استفاده میکنند. در نتیجه، عملکرد بهتر چیزی نیست که نادیده گرفته شود. آنر ادعا میکند عملکرد کیت توسعه نرم افزاری HiAI در مقایسه با موتور پردازش عصبی اسنپدراگون (Snapdragon NPE) تا دوازده بار عملکرد بهتری دارد. دو مورد از نتایج محبوبتر نیز 20 تا 33 درصد قدرت بیشتر را نشان میدهند.
بدون در نظر گرفتن نتایج دقیق، این یک سوال جالب در رابطه با طبیعت پردازش شبکه عصبی روی تراشههای تلفن های هوشمند را مطرح میکند: چه چیزی سبب تفاوت عملکرد بین دو تراشه با درخواستهای یادگیری ماشینی مشابه میشود؟
NPU در برابر DSP
تفاوت بزرگ بین تراشه کایرین 970 و اسنپدراگون 845، استفاده HiSilicon از واحد پردازش عصبی (NPU) است. NPU به صورت اختصاصی برای پردازش سریع وظایف مربوط به یادگیری ماشینی طراحی شده است. در همین حال، کوالکام به جای آنکه یک سخت افزار اضافی را برای مدیریت این وظایف به کار گیرد، با استفاده دوباره از پردازشگر سیگنال دیجیتال هگزاگون (Hexagon DSP) در اسنپدراگون 845 که البته در نسل قبلی نیز وجود داشت، به میدان آمده است.
با اسنپدراگون 845، کوالکام توانایی چیپست خود در مدیریت وظایف هوش مصنوعی را در مقایسه با اسنپدراگون 835 تا سه برابر افزایش داده است. برای شتاب بخشیدن یادگیری ماشینی در DSP، کوالکام از واحد HVX خود استفاده میکند تا سرعت انجام پردازشهای ریاضی معمول مورد استفاده در یادگیری ماشینی افزایش پیدا کند. Hexagon DSP یک ماشین ریاضی کارآمد است، اما اساسا برای مدیریت طیف گستردهای از وظایف مبتنی بر ریاضیات طراحی شده و به تدریج، برای بهبود عملکرد تشخیص تصاویر دستکاری میشود.
در کایرین 970 هم از DSP (به طور دقیقتر یک Cadence Tensilica Vision P6) برای پردازش صوتی، تصویر دوربین و سایر موارد استفاده شده است. در واقع عملکرد آن تقریبا با Hexagon DSP در اسنپدراگون 845 یکسان است، اما در کیت توسعه نرم افزاری HiAI برای استفادههای شخص ثالث دیده نمیشود.
NPU یا همان واحد پردازش عصبی مورد استفاده توسط HiSilicon در کایرین 970 شدیدا برای یادگیری ماشینی و تشخیص تصویر بهینه شده است، ولی به هیچوجه برای وظایف معمول DSP همچون فیلترهای صوتی EQ مناسب نیست. NPU در واقع یک چیپ سفارشی است که در تعامل با “Cambricon Technology” طراحی و در درجه اول برای محاسبات ماتریسهای چندگانه ساخته شده است.
شاید شما این سیستم را با رویکرد گوگل با استفاده از واحدهای پردازش ابری تنسور (Cloud TPUs) و چیپهای یادگیری ماشینی Pixel Core یکسان در نظر بگیرید. واحد پردازش عصبی هواوی به اندازه چیپهای سرور گوگل، قدرتمند یا بزرگ نیست و برای ماتریسهای کوچک 3 در 3 در مقابل طراحی بزرگ 128 در 128 گوگل، انتخاب شده است. به علاوه، چیپ گوگل برای معماری 8 بیت و چیپ هواوی برای 16 بیت بهینه شده است.
نکته مهم اینجاست که NPU هواوی برای مجموعه بسیار کوچکی از وظایف طراحی شده است که اغلب آنها با تشخیص تصویر در ارتباط هستند، اما میتواند حجم قابل توجهی از اطلاعات را بهسرعت پردازش کند: مطابق با ادعای سازندگان، تا 2 هزار تصویر در هر ثانیه. دوم، رویکرد کوالکام پشتیبانی از این عملیاتهای ریاضی با استفاده از یک DSP مرسومتر است که انعطافپذیری بیشتری داشته و فضای سیلیکون را هم حفظ میکند، ولی پتانسیل آن به نقطه اوج یکسان با NPU نمیرسد. هر دو این سازندگان برای کارآمد کردن پردازشها نیز تمرکزی ویژه داشته و از موتورهایی اختصاصی برای مدیریت وظایف میان CPU ،GPU و DSP (و در مورد هواوی برای NPU) استفاده میکنند.
اما چرا کوالکام به عنوان یکی از بزرگترین شرکتهای فعال در زمینه تولید تراشههای موبایلی، رویکردی متفاوت از های سیلیکون، گوگل و اپل را برای سخت افزار یادگیری ماشینی خود در پیش گرفته است؟ احتمالا پاسخ سریع این است که در مرحله فعلی، اختلاف معناداری میان این رویکردها وجود ندارد.
قطعا بنچمارکهای مختلف میتوانند قابلیتهای متفاوت را نشان دهند، اما حقیقت این است که در حال حاضر هیچ درخواست ضروری برای یادگیری ماشینی در تلفن های هوشمند وجود ندارد. تشخیص تصویر نسبتا برای مدیریت کتابخانه عکسها، بهینه کردن عملکرد دوربین و باز کردن قفل دستگاه با صورت شما مفید است. اگر انجام این کارها روی پردازنده، پردازشگر گرافیکی و یا پردازشگر سیگنال دیجیتال به اندازه کافی سریع باشد، به نظر میرسد دلیلی برای هزینه کردن و تولید یک سیلیکون اختصاصی وجود نداشته باشد. ال جی حتی با استفاده از اسنپدراگون 835، تشخیص آنی صحنههای مختلف با دوربین را امکانپذیر کرده است؛ کاری که هواوی آن را در کایرین 970 با نرم افزار دوربین مبتنی بر هوش مصنوعی خود و به کمک DSP و NPU انجام میدهد.
پرداشگر سیگنال دیجیتال کوالکام به صورت گسترده توسط افراد شخص ثالث استفاده میشود. در نتیجه، پیادهسازی یادگیری ماشینی روی پلتفرم آنها سادهتر خواهد شد.
در آینده ممکن است شما نیاز به سخت افزار مخصوص یادگیری ماشینی یا نسخه قدرتمندتر آنها را به منظور مدیریت ویژگیهای پیشرفتهتر یا صرفهجویی در عمر باتری ببینید، ولی هماکنون موارد استفاده آنها محدود است. هواوی احتمال دارد با تغییر کاربردهای یادگیری ماشینی، طراحی واحد پردازش عصبی خود را تغییر دهد که معنای چنین چیزی، منابع هدر رفته و یک تصمیم نامناسب در رابطه با ادامه پشتیبانی از سخت افزار منسوخشده است. به علاوه، توسعهدهندگان شخص ثالث هم در رابطه با ادامه پشتیبانی از NPU باید تصمیمگیری کنند.
البته این نخستین باری نیست که کوالکام با اتخاذ سریع فناوری های مشابه، در جهتی که بازار حرکت دارد با سایر سازندگان رقابت میکند. شاید این کمپانی آمریکایی در آینده به تولید NPU اختصاصی روی آورد، ولی این کار تنها در صورت ارزشمند بودن سرمایهگذاری انجام خواهد شد. در صورتی که سازندگان قصد طراحی یک چیپ اختصاصی و کاملا جدید را نداشته باشند، سخت افزار جدید Project Trillium که اخیرا توسط ARM معرفی شده است، قطعا کاندیدای احتمالی خواهد بود. هرچند، این موضوع تنها با گذشت زمان مشخص میشود.
آیا این موضوع واقعا مهم است؟
زمانی که به مقایسه تراشه کایرین 970 با اسنپدراگون 845 میرسیم، NPU عملکرد بهتری از خود نشان میدهد. اما آیا این موضوع تا این اندازه اهمیت دارد؟
در حال حاضر هیچ مورد استفاده ضروری برای یادگیری ماشینی و یا «هوش مصنوعی» وجود ندارد. حتی اختلاف بالای این مورد در بنچمارکهای کایرین 970 با تراشههای اسنپدراگون نیز نمیتواند تاثیری روی تجربه کاربری خریداران داشته باشد. تمام وظایف یادگیری ماشینی فعلی میتواند روی یک DSP یا حتی پردازنده و پردازشگر گرافیکی معمول نیز انجام شود. NPU در واقع یک چرخدنده در یک سیستم بزرگتر است. سخت افزار اختصاصی میتواند مزیت طول عمر بالاتر باتری یا عملکرد بهتر را به همراه داشته باشد، اما با توجه به موارد استفاده محدود، تشخیص تفاوت عملکرد آن برای کاربران بسیار دشوار خواهد بود.
با گسترش این فناوری و ظهور موارد استفاده بیشتر، تلفن های هوشمند مجهز به سخت افزار اختصاصی، بیشتر از سایرین نفع میبرند و شاید بتوان آنها را بیشتر آیندهنگرانه در نظر گرفت. هرچند، روی آوردن سازندگان به این فناوری اجتنابناپذیر بوده و هماکنون شرکتهایی مثل کوالکام و مدیاتک در حال اضافه کردن قابلیتهای AI به چیپهای ارزانتر هستند. با این وجود، بهرهگیری سازندگان از DSP یا NPU فاکتوری برای تغییر عقیده شما هنگام خرید یک موبایل جدید نخواهد بود.