یک مهندس هوش مصنوعی چه کارهایی انجام می‌‌دهد؟

Image for post
Image for post


مهندسی هوش مصنوعی یکی از نقش‌‌های جدید در حوزه فناوری اطلاعات است. هنوز چیزهای زیادی هست که درباره وظایف مهندس هوش مصنوعی نمی دانیم. در این مقاله درباره وظایف مهندس هوش مصنوعی صحبت می‌‌شود و اطلاعات مورد نیاز برای رفع ابهامات این نقش ارائه می‌‌شود.

 

مشخصات شغلی

Image for post
Image for post

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

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

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

مسئولیت‌‌ها و وظایف

Image for post
Image for post

یک مهندس هوش مصنوعی می‌‌تواند مسئولیت‌‌های متعددی را در یک سازمان فناوری اطلاعات عهده دار شود. این مسئولیت‌‌ها شامل این موارد می‌‌شود:

  • ایجاد هماهنگی میان دانشمندان داده و تحلیل گران کسب‌‌‌وکار
  • خودکارسازی زیرساخت مورد استفاده تیم علوم داده
  • تبدیل مدل‌‌های یادگیری ماشین به API ‌‌هایی که قابل دسترسی توسط بقیه اپلیکیشن‌‌ها نیز باشد.
  • تست و استقرار مدل‌‌ها
  • توسعه حداقل محصول مناسب بر اساس یادگیری ماشین
  • به کارگیری هوش مصنوعی برای تجهیز سازمان با توانمندی‌‌های نوین

بعضی از این موارد ممکن است کمی ابهام‌آمیز به نظر برسند؛ برای روشن‌‌تر شدن مفهوم چند مثال ساده می‌‌تواند راهگشا باشد.

فرض کنید یک شرکت فناوری اطلاعات یک کسب‌‌‌وکار قدرتمند و موفق را راه‌‌اندازی کرده و به حجم گسترده‌ای از مخاطبان آنلاین خدمات‌رسانی می‌‌کند. چنین کسب‌‌‌وکاری نیازهایی نیز دارد؛ از جمله به مدل‌‌های آزمایشی و اولیه (پروتوتایپ) برای انواع طرح‌‌بندی وبسایت‌‌ها نیازمند است. این نیاز از آن جا نشئت می‌‌گیرد که چنین شرکتی از روش‌‌های یکپارچه UX و UI به عنوان رابط کاربری استفاده می‌‌کند و با اجرای مداوم آزمون‌‌های A/B روی صفحات وبسایت خود، راهکارهای بهتر را کشف می‌‌کند.

این شرکت همچنین رفتار کاربر را با استفاده از ابزارهایی مثل HotJar رصد می‌‌کند. این ابزار، کلیک‌‌های کاربر و اسکرول‌‌های او روی صفحات وب را ثبت می‌‌کند، تا از این طریق، نقاط احتمالی سردرگمی یا پریشانی وی را با رفتار او روی وبسایت‌‌ها تحلیل کند.

مسئولیت‌‌های یک مهندس هوش مصنوعی در تیم خود می‌‌تواند شامل این موارد باشد:

  • ایجاد یک الگوریتم یادگیری ماشین که از طرح‌‌های اولیه‌‌‌ای که تیم UX روی تخته کشیده‌اند، عکس بگیرد و طرح‌‌بندی نهایی وبسایت را بر اساس این خطوط کلی بیافریند. این خروجی بعدا می‌‌تواند مورد استفاده تیم توسعه نرم‌‌افزار قرار گیرد. اگر چنین روندی در کار به صورت موفقیت‌آمیز به اجرا درآید، می‌‌تواند ساعت‌‌های زیادی در وقت نیروی انسانی صرفه‌جویی کند و به چرخه بازخورددهی برای بهبود تجربه کاربری وبسایت سرعت بخشد.
  • جمع‌آوری اطلاعات از هزاران کاربر HotJar و اعمال آن‌‌ها روی الگوریتم‌‌های یادگیری ماشین، تا ایرادها و دشواری‌‌های احتمالی سیستم و سردرگمی‌‌های کاربر شناخته شود. تجزیه و تحلیل داده‌‌ها و یافتن روش‌‌هایی که کمک می‌‌کند بفهمیم کاربران چرا، چطور و چه زمانی دچار سردرگمی می‌‌شوند.
  • خلق مدلی که HotJar و تست A/B را با استفاده از داده‌‌های گوگل آنالیتیکس و اطلاعات روی سبدهای خرید با یکدیگر ترکیب کند و طرح‌‌های بهینه‌‌‌ای را پیشنهاد دهد. این کار منجر به افزایش زمان صرف شده در سایت، جذب مشتری بیشتر یا دستیابی به دیگر اهداف سازمان می‌‌شود.
  • تلاش برای ارزیابی و پیش‌بینی موفقیت طرح‌‌های مختلف پیشنهادی توسط تیم UX.

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

مهندس هوش مصنوعی چه وظایفی بر عهده دارد؟

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

  • پیشرفت تحقیقات در الگوریتم‌‌های یادگیری ماشین
  • استفاده از یادگیری ماشین در مجموعه‌‌‌ای از ورودی داده‌‌ها در چرخه عمر توسعه نرم‌‌افزار
  • داده کاوی
  • تطبیق الگو
  • تشخیص الگو
  • آموزش نرم‌‌افزار مبتنی بر یادگیری ماشین برای کارهای مخصوص دامین (تشخیص تصویر، تشخیص شیء، زیست‌فناوری، وسایل نقلیه خودران و غیره).

مهارت‌‌ها

یک مهندس هوش مصنوعی باید مهارت‌‌های یک دانشمند داده را داشته باشد. او می‌‌بایست سطح قابل قبولی از تخصص در آمار و حتی ریاضیات داشته باشد. اما این فقط آغاز کار است.

یک مهندس هوش مصنوعی همچنین باید هر دو روش سنتی (مدل آبشار) و چابک را در چرخه زندگی توسعه نرم‌‌افزار درک کند؛ از جمله ادغام مداوم، تحویل مداوم و استقرار مداوم (CI /CD). او همچنین باید روش‌‌های مختلف آزمایش، از جمله توسعه آزمون محور و رشد رفتار محور را بشناسد.

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

یک مهندس هوش مصنوعی برای اینکه بتواند در چنین سطح بالایی کار کند، باید حداقل پنج سال (و ترجیحاً ده سال) تجربه کاری در تعداد زیادی از زبان‌‌های برنامه‌نویسی داشته باشد.

مهم‌ترین و موردنیازترین زبان‌‌های برنامه‌‌نویسی عبارتند از:

Image for post
Image for post

یک مهندس هوش مصنوعی باید چه توانایی‌‌هایی داشته باشد؟

  • نرم‌‌افزارهای درحال‎تولید را به‌شکلی موثر به‌کار گیرد.
  • از روش‌‌های مدرن توسعه نرم‌‌افزار استفاده کند.
  • بتواند در چندین زبان رایانه‌‌‌ای در سطح پیشرفته کدنویسی کند.
  • مهارت‌‌های تفکر انتقادی را به‌خوبی رشد داده باشد.
  • در آمار و ریاضیات تبحر داشته باشد.
  • احساس مسئولیت بالا داشته باشد.
  • آزادی عمل در کار داشته باشد.
  • تفکر تحلیلی داشته باشد.

پیشینه و الزامات

مدرک تحصیلی یک مهندس هوش مصنوعی عموما ریاضیات است و بر مباحث مربوط به آمار، احتمال، منطق، حساب و الگوریتم‌‌ها تسلط دارد.

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

اخیراً، حوزه هوش مصنوعی رشد سریعی داشته و در این حوزه، تقاضا نسبت به عرضه بسیار بیشتر شده است. به همین دلیل دانشگاه‌‌های بزرگ با ایجاد دوره‌‌ها و مقاطع جدید، به تقاضای این بازار حتی در سطح کارشناسی علوم پاسخ گفته‎اند. در سطح کارشناسی علوم، دوره‌‌های موردنظر اغلب به عنوان علوم کامپیوتر (هوش مصنوعی) شناخته می‌‌شوند. در سطح کارشناسی ارشد، درس‌‌ها تخصصی‌‌تر می‌‌شود؛ مانند هوش مصنوعی و محاسبات بصری، امنیت سایبری و هوش مصنوعی و دوره‌‌های تخصصی دیگر.

علاوه بر این، می‌‌توانید از طریق دوره‌‌های آنلاین با آموزش غیررسمی شروع کنید. در حال حاضر، دوره‌‌های آنلاین AI با کیفیت عالی در بازار وجود دارد.

حقوق و دستمزد

Image for post
Image for post

حقوق مهندس هوش مصنوعی به طور معمول چقدر است؟ حقوق اولیه حدود ۵۷۰۰۰ دلار در سال است. مهندسان باتجربه هوش مصنوعی سالانه حداکثر ۱۱۴۰۰۰ دلار دستمزد می‌‌گیرند و متوسط پاداش حدود ۸۶۰۰۰ دلار است. نوسانات و بی‌ثباتی شغلی در این حوزه نیز مانند هر نقشی، به مقطع تحصیلی، صنعت، شرکت و همچنین موقعیت مکانی مربوط می‌‌شود.

حقوق مهندسان هوش مصنوعی:

کارشناس: ۵۷۰۰۰ دلار

میانگین: ۸۶۰۰۰ دلار

ارشد: ۱۱۴،۰۰۰ دلار

هزینه یک فریلنسر با تجربه هوش مصنوعی چقدر است؟

متوسط نرخ ساعتی فریلنسر یک مهندس هوش مصنوعی ۷۶ دلار در ساعت است. با در نظر گرفتن یک روز کاری ۸ ساعته، نرخ روزانه حدود ۶۰۸ دلار در روز است (شاخص نرخ freelancermap – از ژانویه ۲۰۱۹).

شناخت واقعی یک مهندس هوش مصنوعی

اکنون که شناخت نسبی درباره مهندس هوش مصنوعی به دست آمد، طی مصاحبه‌ای نظر یک متخصص این حوزه با نام خوان لوئیس روزا درباره این نقش بررسی می‌شود.

خوان لوئیز روزا کارشناس ارشد علوم هوش مصنوعی از دانشگاه UPC بارسلونا است و بیش از ۱۰ سال تجربه در مدیریت پروژه CTO و IT دارد. او نرم‌‌افزار طراحی می‌‌کند، تیم‌‌های فناوری را هدایت می‌‌کند و بر روند کاری محصولات نرم‌‌افزاری و فناوری (اپلیکیشن‌‌ها، CMS، تجارت الکترونیکی، تجزیه و تحلیل داده‌‌ها) برای بزرگ‌ترین شرکت‌‌های رسانه‌‌‌ای در اسپانیا نظارت می‌‌کند. وی پس از دریافت مدرک کارشناسی ارشد در هوش مصنوعی، در حال ایجاد لاین‌های مربوط به بینایی کامپیوتر (از مجموعه داده‌‌ها تا استنتاج) و استقرار مدل‌‌های یادگیری ماشین با استفاده از Kubernetes در Google Cloud برای مقابله با اخبار جعلی است.

متن مصاحبه

کمی از سابقه کاری خود بگویید و اینکه چگونه یادگیری ماشین و هوش مصنوعی را شروع کردید؟

من بیشتر مدیر ارشد فناوریبوده‌ام، عمده فعالیتم ایجاد تیم‌‌های فنی و تولید نرم‌‌افزار برای شرکت‌‌های رسانه‌ای، افزایش ابزارهای قدرتمند برای پلتفرم‌‌های CMS، سیستم‌‌های تجارت الکترونیکی، برنامه‌‌های تلفن همراه و… بوده است. در ابتدای سال ۲۰۱۶ پس از دیدن آخرین به‌روزرسانی تصاویر اندروید شوکه شدم، آن‌‌ها در حال کشف تصاویری بودند که من ایجاد کرده بودم! برای اینکه بتوانم این کار را برای خودم انجام دهم، دوره‌‌های یادگیری آنلاین را شروع کردم، اما تمام‎کردن آن دوره‌‌ها برایم غیرممکن بود. من همیشه در مفاهیم نظری و ریاضیات گیر می‌‌افتادم و در یادگیری این موضوعات ضعیف بودم. بنابراین تصمیم گرفتم که به دانشگاه برگردم و در یک دوره فوق‌لیسانس دو ساله در هوش مصنوعی ثبت‌نام کنم. در آن‌جا مدرسان و همکاران فوق‌العاده‌‌‌ای پیدا کردم که به من کمک کردند در کارم موفق شوم. این تجربه جالبی بود که دوست دارم آن را به هرکسی که فرصتی برای انجام این تجربه دارد، پیشنهاد کنم.

بزرگ‌ترین تصور غلط درباره هوش مصنوعی چیست؟

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

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

برای کسانی که دوست دارند مهندس هوش مصنوعی شوند چه توصیه‌‌‌ای دارید؟

هوش مصنوعی به خودی خود وجود ندارد. این یک اصطلاح عمومی است که بسیاری از رشته‌‌های مختلف را شامل می‌‌شود:

•         بینایی ماشین

•         پردازش زبان طبیعی

•         یادگیری ماشین

•         مدیریت دانش

•         برنامه‌ریزی و استدلال

من پیشنهاد می‌‌کنم اول ببینید آیا کار با تصاویر را دوست دارید یا کار با متن را ترجیح می‌‌دهید. بعد از گرفتن این تصمیم، حوزه‌‌هایی را که دوست دارید، انتخاب کنید: رسانه‌‌های اجتماعی، طبیعت، بازاریابی، ورزش و… . در همه حوزه‌‌ها یک برنامه کاربردی برای هوش مصنوعی وجود دارد. پس از استفاده از آن برنامه، سعی کنید بررسی بیشتری روی موارد استفاده از آن داشته باشید؛ مثلا پروژه‌‌هایی که از آن استفاده کرده‌اند و غیره را در گوگل سرچ کنید. گوگل و آمازون ده‌‌ها پیاده‌سازی واقعی دارند. می‌‌توانید تحقیقات هوش مصنوعی گوگلرا نیز بررسی کنید.

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

یک متخصص هوش مصنوعی مشتاق هست درباره کار خود صحبت کند؛ بنابراین از این فرصت استفاده کنید و از آن‌ها سوال بپرسید. سعی کنید در انجمن‌‌ها و اتاق‌‌های گفتگو، انجمن‌‌های محلی AI و فرصت‌‌هایی که برای صحبت با همکاران و غیره وجود دارد، شرکت کنید.

هوش مصنوعی در آینده چگونه می‌‌تواند توسعه وب و فضای کار را تغییر دهد؟

یادگیری ماشینی در واقع یافتن الگوها است و همه ما می‌‌دانیم که همه مشاغل دارای درجه‌‌‌ای کار روتین هستند و همه وظایف برخی از تکرارهای ضمنی را در خود دارند. هوش مصنوعی می‌‌تواند با آن بخش روتین به کار شما آید و به انسان کمک کند تا از کارآیی و بهره‌وری بالاتری برخوردار شود. به‌طور خاص، در حوزه توسعه وب فضای زیادی برای پیشرفت وجود دارد؛ مثلا در بخش پیشنهادهای تکمیل خودکار، پردازش تصویر، تأیید محتوای کاربران (به عنوان مثال در وبسایت فروش محصولات دست دوم)، مقابله با روبات‌‌های هرزنامه (به عنوان مثال در بخش مرور محصول) تقسیم‌بندی مخاطبان و یا خط اول پشتیبانی مشتری می‌‌توانید فرصت‌‌های پیشرفت و توسعه بیشتر را پیدا کنید.

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

آیا مهندس هوش مصنوعی نقشی هست که بتوان آن را به‌صورت دورکاری انجام داد؟ آیا برای فریلنسرها مشکلی نیست؟

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