معرفت جاه و مقام نیست به هرکس ندهند / معرفت راه و مرامیست به هرکس ندهند
هوش مصنوعی در صنعت موبایل (موبایل سازی)
در ابتدا به بررسی معنی هوش مصنوعی میپردازیم:
همانگونه که میتوان حدس زد، هوش ماشینی یا هوش مصنوعی به هوشی گفته میشود که قادر به انجام برخی کارها همانند انسان است، یعنی میتواند فکر کند، قادر به درک شرایط باشد و به سوالات نیز پاسخ دهد. یکی از دلایل مخالفت برخی افراد با توسعه هوش مصنوعی، قدرتمندتر شدن آن نسبت به انسان است که در اینصورت شرایطی مانند فیلم ترمیناتور را باید متصور شویم! البته تحقیقات در حال حاضر چنین چیزی را نشان نمیدهند و همانند بسیاری از تکنولوژیها، هوش مصنوعی نیز فواید و معایبی دارد که البته مزیتهای آن بسیار بیشتر است (از بین رفتن برخی مشاغل مسلما امری خوشایند نیست).
هوش مصنوعی در بسیاری از علوم و صنایع مانند تلفن همراه کاربرد دارد و میتوان از آن بهره گرفت. هوش مصنوعی به علت امکان درک کردن، استدلال و همچنین یادگیری، تبدیل به یکی از هیجانانگیزترین مباحث دنیای تکنولوژی شده و شاهد رشتهای (گرایشی) به این نام در دانشگاههای جهان و ایران هستیم که خود نشان از اهمیت بالای هوش مصنوعی دارد. در زمینه هوش مصنوعی، شاهد دو عبارت هوش مصنوعی قوی و هوش مصنوعی ضعیف هستیم.
متاسفانه هنوز برای هوش مصنوعی تعریف مشخصی نداریم، البته به این موضوع توجه کنید که برای خود هوش هم نمیتوان تعریف مشخصی ارایه داد. شما توسط هوش مصنوعی میتوانید کامپیوترها را مجبور به انجام کارهایی کنید که شاید خودتان بهتر بتوانید آنها را اجرا نمایید، ولی این تازه اول راه است! در ابتدای امر از هوش مصنوعی برای انجام کارهای ساده استفاده میشد و حال با پیشرفت آن، نه تنها میتوان وظایف مهمتری را بدان سپرد، بلکه با یادگیری، قادر به مبارزه با شما نیز خواهد بود.
هوش مصنوعی در تلفن همراه چقدر واقعیت دارد؟
اولین چیزی که درباره این ماجراها باید بدانید، هوش مصنوعی اصلاً اتفاق تازهای در گوشیهای موبایل نیست و از سالها قبل سازندگانی چون اپل، سامسونگ و حتی خود گوگل، از برخی الگوریتمها و تکنیکهای مبتنی بر فناوری هوش مصنوعی در بهبود دوربین استفاده میکردند. آنچه که طی نزدیک به یک سال اخیر تازگی پیدا کرده و برای اولین بار اپل با A11 Bionic به آن دامن زد، «شتاب دهنده هوش مصنوعی» (AI accelerator) و نه خود فناوری هوش مصنوعی است.
واقعیت این است حتی می توان بر روی قدیمی ترین گوشی های اندرویدی و آیفون هوش مصنوعی داشت اما مشکل آنجاست که این فناوری پیشرفته دارای محاسبات سنگین و پیچیده است که نه تنها به قدرت پردازشی بالا نیاز دارد، بلکه می تواند به سرعت باتری گوشی های موبایل را هم ببلعد. به همان علت هایی که اشاره شد، در گذشته و به طور مشخص تا پیش از A11 Bionic اپل، چندان امکان بهره گیری از این فناوری در گوشی های موبایل وجود نداشت یا دست کم نمی شد خیلی روی آن تکیه کرد. اما مشکل هوش مصنوعی کجاست؟
هستههای پردازشی «پردازنده مرکزی» (CPU) و تا حدی هم «پردازنده گرافیکی» (GPU) برای اجرای گونه خاصی از پردازشها طراحی نشدهاند و عملاً همه منظوره هستند، میتوان از هستههای CPU برای پردازش تصویر استفاده کرد، محاسبات مربوط به بازیها را اجرا کرد، فایلها را فشرده سازی کرد و هر آنچه که تصور میکنید. در ظاهر همه منظوره بودن هستههای CPU یک مزیت بزرگ برای آن است اما هنگامی که به محاسبات پیچیده و فناوریهای پیشرفته چون هوش مصنوعی میرسیم، دیگر این هستههای همه منظوره کارایی مطلوبی ندارند و نه تنها بسیار کُند عمل میکنند، بلکه کارایی آنها به ازای انرژی مصرفی ایده آل نیست.
آنچه که اشاره شد طراحان پردازنده را به انجام این کار واداشت تا پردازندههای ویژه ای برای هوش مصنوعی طراحی کنند که به طور اختصاصی برای انجام محاسبات و پردازشهای این فناوری طراحی و بهینه سازی شده باشد. نتیجه آن ظهور پردازندههای مجزا برای هوش مصنوعی است که در اصل شتاب دهنده هوش مصنوعی هستند. از آنجایی که این پردازندهها تا جای ممکن برای هوش مصنوعی و پردازشها و محاسبات مرتبط با آن بهینه سازی شدهاند، بسیار سریعتر از هستههای CPU و GPU عمل میکنند اما یک عیب بزرگ دارند و آن همه منظوره نبودن آنها است. خوب یا بد؛ پردازندههای هوش مصنوعی کارکرد بسیار محدودی دارند و بر خلاف هستههای CPU نمیتوان از آنها برای هر کاری استفاده کرد.
در چنین شرایطی اگر یک سازنده یا برند قصد داشته باشد به طور جدی از هوش مصنوعی در گوشیهای خود بهره بگیرد، به یک شتاب دهنده هوش مصنوعی کارآمد هم نیاز دارد که میتواند به طور مجزا بر روی برد گوشی تعبیه شود یا بخشی از چیپ ست (SoC) باشد و اینجا بود که چیپ ستهایی چون A11 Bionic اپل با شتاب دهنده هوش مصنوعی ظهور کردند. اما چیپ ستهای مجهز به شتاب دهنده هوش مصنوعی فقط نصف معادله هستند، نصف دیگر آن در جبهه نرم افزار است.
افزون بر اپل، ظرف نزدیک به یک یا دو سال اخیر تقریباً تمامی طراحان بزرگ چیپ ستهای موبایل به سمت هوش مصنوعی حرکت کردهاند یا دست کم تلاش کردهاند از رقبا عقب نمانند، از همین رو HiSilicon با Kirin 970 آنچه که «واحد پردازش عصبی» (NPU) میخواند را معرفی کرد، MediaTek از Neuropilot و APU پرده برداشت و کوالکام هم با چیپ ست Snapdragon 660 و پس از آن Snapdragon 710، شتاب دهنده هوش مصنوعی خود را به گوشیهای موبایل آورد. البته ARM که طراح اصلی تقریباً تمامی هستههای پردازشی چیپ ستهای یاد شده است، خود یک پروژه اختصاصی به نام Trillium را معرفی کرده است.
هوش مصنوعی در گوشیهای موبایل قابلیت یا کارکرد مشخصی نیست و وجود آن در یک گوشی، لزوماً به معنای ارائه همان کارکردها و قابلیتهای موجود در گوشی دیگری نیست. برای نمونه اپل از هوش مصنوعی در بهبود دقت قابلیت تشخیص چهره و ارائه قابلیت انیموجی بهره میگیرد اما هواوی از آن برای تشخیص محیط و سوژه عکس و متناسب با آن اعمال تنظیمات بهینه استفاده می کند. بنابراین هنگامی که یک گوشی مجهز به شتاب دهنده هوش مصنوعی تهیه میکنید، لزوماً قابلیتهای مشخصی را دریافت نمیکنید. در حقیقت اغلب مواقع کارکرد هوش مصنوعی صرفاً بهبود عملکرد قابلیتها و کارکردهای گوشی است و خود یک قابلیت مستقل و مجزا نیست.
تشخیص اینکه یک چیپ ست واقعاً دارای شتاب دهنده هوش مصنوعی است یا نه، هیچ آسان نیست. برای نمونه چیپ ست Snapdragon 660 کوالکام واقعاً دارای شتاب دهنده مجزا برای هوش مصنوعی نیست، در عوض از «پردازنده سیگنال دیجیتال» (DSP)، هستههای CPU و «پردازنده تصویر» (ISP) در ترکیب با بخشهایی از پردازنده گرافیکی برای شتاب بخشی به هوش مصنوعی بهره میگیرد.
ظهور شتاب دهندههای هوش مصنوعی در چیپ ستهای موبایل لزوماً یک موهبت نیست. شتاب دهندهها یا موتورهای هوش مصنوعی در چیپ ستهای موبایل از نظر طراحی شباهت بسیار زیادی با بخش «پردازنده سیگنال دیجیتال» (DSP) دارند و تعریف اینکه موتور هوش مصنوعی به چه چیزی اطلاق میشود بسیار دشوار است. در همین شرایط هوش مصنوعی دست کم در تبلیغات و بازاریابی در حال بلعیدن همه چیز است، مدیریت مصرف باتری مبتنی بر هوش مصنوعی، رابط کاربری با قابلیت یادگیری، پردازش زبان طبیعی، تشخیص اشیاء و چهره، این ها فقط برخی از کارکردهایی هستند که این روزها سازندگان و برندها بر سر مصرف کنندگان داد میزنند.
نکته مهمی که نباید از آن غافل شد، تقریباً هیچ یک از کارکردها و قابلیتهای مبتنی بر هوش مصنوعی به تنهایی توسط شتاب دهنده یا موتور هوش مصنوعی چیپ ست اجرا نمیشود و منابع دیگری چون هستههای CPU و GPU و حافظه رم نیز مورد استفاده قرار میگیرند.
ادعاهای مطرح شده در رابطه با هوش مصنوعی هیچ بی شباهت با آن روزهایی نیست که بر تعداد هستههای پردازشی CPU در موبایلها افزوده میشود اما نه تنها باعث افزایش کارایی نمیشدند، بلکه باتری را هم میبلعیدند. در آن زمان تعبیه تعداد بیشتری هسته پردازشی CPU تقریباً بیهوده بود اما با گذر زمان و حمایت جامعه توسعه دهندگان از اپلیکیشن هایی که قادر به بهره گیری از بیش از یک هسته پردازشی بودند، اوضاع تغییر کرد. حالا هم هوش مصنوعی دقیقاً به چنین حمایتی نیاز دارد.
هم اکنون بهکارگیری شتاب دهنده هوش مصنوعی در گوشی های موبایل در ابتدای راه خود قرار دارد و هنوز هیچ دستاورد شگرفی نداشته است، از این رو برای اظهار نظر درباره آن زود به نظر میرسد. با این حال به جرأت میتوان گفت تا زمانی که توسعه دهندگان به حمایت از آن نپردازند و خود سازندگان و طراحان چیپ ستها هم تعامل کارآمدی با آنها نداشته باشند، هوش مصنوعی یک هایپ بیش نیست؛ چراکه امکان بهکارگیری آسان از سوی توسعه دهندگان مستقل، انعطاف پذیری و کارایی بالا، بسیار مهمتر از «تعبیه یک بخش اضافی در چیپ ستها» است.
هوش مصنوعی تلفن های همراه چه مزیتی دارد؟
اصطلاحی که در صنعت هوش مصنوعی زیاد میشنوید heterogeneous computing(محاسبات ناهمگن) است. محاسبات ناهمگن اشاره به سیستم هایی است که از یک نوع پردازنده یا هسته استفاده میکنند. این سیستم ها کارایی یا بهرهوری انرژی را نه تنها با افزودن همان نوع پردازنده ها، بلکه با افزودن متقابل پردازنده های متفاوت افزایش میدهند که منجر به قابلیت های پردازش تخصصی برای رسیدگی به وظایف خاص میشود. به عبارتی عملکرد بهتر و صرفه جویی در مصرف انرژی از جمله فواید استفاده از هوش مصنوعی در گوشی های همراه است.
پردازندههای گوشی هوشمند از سه سال پیش (یا کمی قبل تر از آن) از معماری محاسبات ناهمگن ARM بیگ لیتل (ARM big.LITTLE) استفاده میکنند که این معماری، اتصال نسبتا کندتری داشته و میزان انرژی بیشتری مصرف میکند. هدف اصلی این است که تا جای ممکن، انرژی کمتری مصرف شود تا عمر باتری افزایش یابد.
تراشه های هوش مصنوعی در گوشی های همراه، بیشتر به دنبال محقق کردن این اهداف بودند به طوری که در این راستا یک مؤلفه جدید اختصاصی برای اجرای وظایف یادگیری ماشینی به آنها اضافه شده است. در مورد Snapdragon 845 میتوان گفت که این تراشه میتواند پردازندهی سیگنال دیجیتال خود را کنترل کند تا از عهده وظایف طولانی که نیازمند محاسبه مقدار زیادی عملیات ریاضی تکراری مثل گوش دادن به یک کلمه کلیدی هستند، برآید. نسل جدید پردازندهی کوالکام هم دیگر نیازی به پردازشگر عصبی مجزا نخواهد داشت و نسل سوم موتور پردازش عصبی به طور کامل قابلیتهای هوش مصنوعی و یادگیری ماشینی گوشیهای اندروید را آشکار خواهد کرد.
کوالکام میگوید اسنپدراگون ۸۴۵ از چارچوبهای نرمافزاری هوش مصنوعی نظیر گوگل تنسورفلو لایت و کافی ۲ فیس بوک پشتیبانی خواهد کرد و عملکرد آن با شبکههای جدیدتر سازگار شده است. این تراشه با بهرهگیری از پردازنده سیگنال دیجیتال هکزاگون، ۳ برابر عملکرد سریعتر در هوش مصنوعی خواهد داشت.
در همین حال، A11 Bionic شرکت اپل از موتور عصبی در پردازنده گرافیکی خود استفاده کرده که سبب افزایش سرعت در شناسایی چهره، Animoji و برخی از برنامه های شخص ثالث میشود. این بدان معنی است که وقتی شما این فرایندها را روی آیفون X خود فعال میکنید، A11 موتور عصبی را برای انجام محاسبات روشن میکند.
واحد پردازش عصبی (NPU) در چیپست Kirin 970 وظایفی مانند اسکن و ترجمه کلمات در تصاویر گرفته شده توسط مترجم مایکروسافت را انجام میدهد. اپلیکیشن مترجم مایکروسافت تنها نرمافزار شخص ثالث است که تاکنون برای استفاده در این تراشه بهینه شده است. هواوی اعلام کرده است که ساختار محاسبات ناهمگن HiAI، عملکرد اکثر اجزای تراشه را به حداکثر میرساند؛ بنابراین محاسبات یادگیری ماشینی که قبلاً در فضای ابری انجام میشدند، اکنون میتوانند به طور مؤثرتر در دستگاههای موبایل صورت گیرند.
گوشی شما برای انجام وظایف هوش مصنوعی میتواند علاوه بر واحد پردازش گرافیکی از قسمتهای دیگری نیز استفاده کند و کارهای بیشتری را بهطور همزمان انجام دهد؛ بنابراین شما کمتر با تأخیر یا لگ هنگام ترجمه یا یافتن تصویر مورد نظرتان مواجه خواهید شد. به علاوه، اجرای این فرآیند بر روی گوشی شما به جای ارسال آنها به فضای ابر، برای حفظ حریم خصوصی شما بهتر است، زیرا شما فرصت های بالقوه را از هکرها برای دسترسی به اطلاعات خود میگیرید.
یکی دیگر از مزیتهای بزرگ تراشههای هوش مصنوعی در گوشی های همراه، این است که به ذخیرهی انرژی کمک میکنند. برق و انرژی منابع ارزشمندی هستند که باید در مصرف آنها صرفهجویی کرد و از آنجایی که برخی از این پردازشها در طول روز مدام تکرار میشوند، میتوانند انرژی را هدر دهند. واحد پردازش گرافیکی معمولاً انرژی بیشتری مصرف میکند، بنابراین بهتر از پردازندهی سیگنال دیجیتال برای انجام چنین کارهایی استفاده شود.
قطعاً ما در مراحل ابتدایی استفاده از هوش مصنوعی در گوشی های همراه هستیم اما اقبال سازندگان گوشی های هوشمند و توسعه دهندگان نرم افزارها به استفاده از مزایای هوش مصنوعی این نوید را میدهد که در آینده نزدیک شاهد یادگیری ماشینی بهتر و قابلیت های جالب تر هوش مصنوعی در گوشی های همراه خواهیم بود.
مطلبی دیگر از این انتشارات
توهمی به نام دورکاری (فریلنسینگ) !!؟
مطلبی دیگر از این انتشارات
حمل و نقل در شهر هوشمند
مطلبی دیگر از این انتشارات
نحوه مذاکره و بستن قرارداد (روز ها و ساعتهای کاری و ساعات پشتیبانی و ... ، قبل از شروع هر کاری!)