که صحبت از یادگیری عمیق به میان میآید و نیاز دارید تا مدلهای خود را روی سیستمهایی با منابع محدود اجرا کنید) سی پلاسپلاس مهمترین گزینه پیش روی توسعهدهندگان است.
خوشبختانه کدنویسی با ++C مدرن به سختی و پیچیدگی گذشته نیست. شما میتوانید با استفاده از کتابخانههایی مثل کودا شرکت انودیا کدهایی بنویسید که مستقیما روی پردازنده گرافیکی اجرا شوند یا میتوانید برای دستیابی به APIهای سطح بالا و انعطافپذیر از TensorFlow یا PyTorch استفاده کنید. هر دو مورد اجازه میدهند تا مدلهای تولید شده در پایتون (یا TorchScript که زیرمجموعهای از پایتون است) را بارگیری کنید، آنها را بهطور مستقیم در سیپلاسپلاس اجرا کنید و ضمن حفظ انعطافپذیری در توسعه به یک عملکرد سریع و باثبات دست پیدا کنید.
بهطور خلاصه سیپلاسپلاس به بخش مهمی از ابزارهای مورد نیاز برای توسعه اپلیکیشنهای هوش مصنوعی لبه تبدیل شده که میتوان برنامههای ساخته شده به این زبان را روی سامانههای کوچک توکار یا کلاسترهای عظیم اجرا کرد. هوش مصنوعی در لبه (AI at the edge) به این معنا است که دقیق بودن دیگر به تنهایی کافی نیست و توسعهدهندگان باید در کار خود حرفهای و سریع باشند.
📍جاوا و سایر زبانهای JVM
زبانهای خانواده JVM (شامل Java ،Scala ،Kotlin ، Clojure و غیره) به یکی از بهترین انتخابها در حوزه ساخت و توسعه برنامههای هوش مصنوعی تبدیل شدهاند. شما برای تمام بخشهای مورد نیاز یک برنامه کاربردی که ممکن است عملکردی هوشمندانه داشته باشند به مجموعهای غنی از کتابخانههای قدرتمند دسترسی دارید. مهم نیست به دنبال پردازش زبان طبیعی (CoreNLP)، عملیات تانسور (ND4J) یا یادگیری عمیق مبتنی بر پردازنده گرافیکی (DL4J) باشید، در تمامی موارد زبانهای خانواده JVM پاسخگوی نیازها هستند. توسعهدهندگان به راحتی به پلتفرمهای بزرگ دادهها همچون Apache Spark و Apache Hadoop دسترسی دارند. جاوا زبانی است که توسط بیشتر سازمانها برای ساخت برنامههای سازمانی استفاده میشود و به عبارت دقیقتر به یک زبان برنامهنویسی سازمانی تبدیل شده است. ساختارهای جدیدی که در نسخه 8 جاوا و نسخههای بعد از آن قرار گرفتهاند به برنامهنویسان اجازه دادهاند سادهتر و روانتر از گذشته از جاوا استفاده کنند. در نسخههای جدید دیگر خبری از پیچیدگیها و دردسرهای رایج نیست. ساخت یک اپلیکیشن هوش مصنوعی با جاوا شاید کمی خسته کننده باشد، اما جاوا به خوبی از عهده کار بر میآید و اجازه میدهد از تمام زیرساختهای موجود در این زبان برای توسعه و برنامه خود استفاده کنید.
📍جاوااسکریپت برای برنامهنویسی هوش مصنوعی
در ظاهر به نظر نمیرسد توسعهدهندگان برای نوشتن اپلیکیشنهای هوش مصنوعی به سراغ یادگیری جاوااسکریپت بروند، اما TensorFlow.js گوگل راهکارهای خلاقانه و جالبی ارائه کرده که توسعهدهندگان میتوانند بر مبنای این راهکارها به شیوهای جالب مدلهای Keras و TensorFlow را در مرورگرهایشان پیادهسازی کنند یا از طریق Node.js و با استفاده از WebGL محاسبات مبتنی بر پردازنده گرافیکی را پیادهسازی کنند. زمانی که گوگل TensorFlow.js را منتشر کرد، توسعهدهندگان کمی برای برنامهنویسی هوش مصنوعی به سراغ TensorFlow.Js رفتند. یکی از دلایل عدم استقبال به فقدان کتابخانههای جامع و کاربردی باز میگردد که در مقایسه با زبانهایی همچون پایتون در جاوااسکریپت وجود نداشت. امروزه این مسئله تا حدود زیادی برطرف شده و توسعهدهندگان میتوانند از جاوااسکریپت برای این منظور استفاده کنند. در سمت سرور امکانات و مزایای زیادی برای پیادهسازی مدلها با Node.js به نسبت گزینههای موجود در پایتون وجود ندارد، بنابراین در آینده نزدیک بیشتر شاهد باقی ماندن اپلیکیشنهای هوش مصنوعی مبتنی بر جاوااسکریپت در محیط مرورگرها خواهیم بود.
📍زبان Swift برای برنامهنویسی هوش مصنوعی
با معرفی Swift For TensorFlow که آخرین و بهترین ویژگیهای TensorFlow را به خدمت گرفته و همچنین امکان وارد کردن کتابخانههای پایتون به همان شکلی که یک توسعهدهنده در پایتون از آن استفاده میکند در نظر گرفته شده، سوئیفت به یک زبان مناسب برای توسعه هوش مصنوعی تبدیل شده است. گروه (Fastai (
https://www.fast.ai مشغول کار روی طراحی کتابخانه معروف خود ویژه زبان سوئیفت هستند و به توسعهدهندگان وعده دادهاند که بهینهسازیها و اجرای مدلهای زیادی با انتقال تنسورهای هوشمند به کامپایلر LLVM در دسترسشان قرار خواهد گرفت، البته کتابخانهای که قرار است در دسترس توسعهدهندگان قرار گیرد، آمادگی لازم برای تولید یک محصول را ندارد، اما ممکن است راه برای ساخت نسل بعدی مدلهای یادگیری عمیق هموار شود.
به همین دلیل ایده بدی نیست در مورد تحولات پیرامون سوئیفت و توانایی این زبان در ساخت برنامههای هوش مصنوعی اطلاعاتی کسب کن