لطفا جاواسکریپت مرورگر خود را فعال سازید!

نحوه فعال سازی در کروم
  1. ابتدا باید اینکارو بگنید
  2. بعدش اونکارو
نحوه فعال سازی در فایرفاکس
  1. ابتدا باید اینکارو بگنید
  2. بعدش اونکارو
Caffe2: فریمورکی اپن‌سورس از فیسبوک برای Deep Learning در پلتفرم موبایل

Caffe2: فریمورکی اپن‌سورس از فیسبوک برای Deep Learning در پلتفرم موبایل

Caffe2 لایبرری یادگیری ژرف (Deep Learning) اپن‌سورس فیسبوک است؛ بر خلاف لایبرری قبلی فیسبوک تحت عنوان PyTorch، این لایبرری به منظور افزودن قابلیت یادگیری ژرف به اپلیکیشن‌های موبایلی ساخته شده است. اگر فکر می‌کنید که یادگیری ژرف فقط در مورد ریاضیات مطرح است، سخت در اشتباهید! امروزه آزمایشگاه‌های متعددی در سرتاسر دنیا در تلاشند تا فریمورک‌های کارا و سریعی را ایجاد نمایند تا بتوانند مدل‌های یادگیری ژرف را برای همگان ملموس‌تر کنند. چه در حال حاضر و چه در آینده، لایبرری‌های کارآمد، لایبرری‌هایی هستند که هم‌زمان قادر به رفع نیاز‌های متعددی باشند که به‌نظر می‌رسد Caffe2 یکی از آن‌ها است.

Caffe2 یک فریمورک ماژولار یادگیری ژرف است که توسط شرکت فیسبوک و به‌منظور استفاده در Mobile Computing (رایانش موبایلی) به بازار عرضه شده است (در قابلیت جدید Camera در مسنجر فیسبوک نیز از این فریمورک استفاده شده است.) فیسبوک و NVIDIA دست‌دردست هم داده‌اند تا پتانسیل GPUهای NVIDIA را به شکوفایی کامل برسانند. همچنین این شرکت لایبرری‌های مخصوصی را برای CPU‌های ARM ،Raspberry Pi و انواع دیوایس‌های loT طراحی نموده است.

Caffe2 با سایر فریمورک‌های یادگیری ژرف چه فرقی دارد؟
پیش از این نیز فریمورک‌های یادگیری ژرف و یادگیری ماشینی متنوعی برای تقریباً تمام زبان‌های برنامه‌نویسی مهم وجود داشته است که از جملۀ پرکاربردترین این فریمورک‌ها می‌توان به Tensorflow ،(Py)Torch و Theano اشاره نمود. 

پیشتازان آی‌تی همواره نیاز دارند تا به‌منظور افزایش قابلیت‌‌های مورد نظر خود و پشتیبانی از آن‌ها، سخت‌افزارهای موجود را ارتقاء دهند اما سخت‌افزار فقط یک جنبه از این پیشرفت است و جنبۀ دیگر، پشتیبانی نرم‌افزاری آن است.

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

سوال این است که Caffe2 چه ویژگی جدیدی برای ارائه کردن دارد؟
نخست این‌ که پژوهشگران مرکز تحقیقات هوش مصنوعی فیسبوک -موسوم به FAIR- به مفهوم Unframework و ساخت بلوک‌های هوش مصنوعی به صورت لایبرری‌های مجزا (مانند FAISS ،Gloo و ...) گرایش داشته و بر روی تکمیل و ارتقاء انعطاف‌پذیری و سرعت آن‌ها به صورت لایبرری‌های سبک و کم حجمی مانند Caffe2 و PyTorch  تمرکز نموده‌اند.

نکتۀ دوم این که، Caffe به دلیل تنظیمات ساده، پیش از این یک فریمورک یادگیری ژرف محبوب در مجامع آکامیک بوده است. Caffe2 نسخۀ توسعه‌یافتۀ Caffe برای تولید اپلیکیشن‌های به‌اصطلاح آمادۀ ساخت (Production-Ready) بر مبنای مدل‌های تحقیقاتی بوده و به‌زودی در جامعۀ هوش مصنوعی با اقبال گسترده‌ای روبه‌رو خواهد شد.

قابلیت‌های Caffe2
- در Caffe2 بر رایانش موبایلی تأکید شده است؛ Caffe2 برای پردازنده‌های ARM بهینه شده و عملکرد GPU‌های On-Board را بهبود می‌بخشد.
- از Android و iOS پشتیبانی می‌کند.
- سبک و مقیاس پذیر است.
- از رایانش توزیع شده (Distributed Computing) پشتیبانی می‌کند.
- آماده برای استفاده در پروژه‌های واقعی است.
- API آن در مورد پایتون و  سی‌پلاس‌پلاس غنی است.
- با استفاده از آن می‌توانید «یک بار کد بزنید و همه‌جا اجرا کنید!»

علاوه بر این، در Caffe2 هم می‌توان یادگیری ژرف را از ابتدایی‌ترین مراحل شروع کرد و هم می‌توان از مدل‌های معماری یادگیری ژرف موجود در این لایبرری استفاده نمود.

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

ساخت لایبرری‌های اپن‌سورس کاربردی و پایدار، به‌خودی‌خود دشوار است و مدیریت لایبرری‌های اپن‌سورس در حوزه‌ای مانند یادگیری ژرف دشوارتر از آن است که بتوان تصور کرد و این کاری است که فریمورکی مانند Tensorflow از پس آن برنیامده است (برای آشنایی بیشتر با Tensorflow، به مقالهٔ TensorFlow: فریم‌ورک اپن سورس یادگیری ماشینی گوگل مراجعه نمایید.)

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

علاوه بر این، مرکز تحقیقات هوش مصنوعی فیسبوک (FAIR) وعده داده است که میان Caffe2 و Pytorch امکان تبادل دیتا وجود خواهد داشت و به این ترتیب مدل‌های آزمایشی می‌توانند با استفاده از Caffe2 مستقیماً از Pytorch به پلتفرم‌های موبایل منتقل شوند. ذکر این نکته ضروری است که Caffe2 نمودارهای دینامیک -که در Pytorch پشتیبانی می‌شد- را پشتیبانی نمی‌کند زیرا وجود این نوع نمودارها سبب ایجاد اضافه‌ بار محاسباتی می‌شود که در حال حاضر خارج از توان پلتفرم‌های موبایلی است.

در مجموع این‌طور به‌نظر می‌رسد که Caffe2 بتواند جهشی عظیم در صنعت نرم‌افزاری یادگیری ژرف ایجاد نماید. نظر شما در مورد فریمورک Caffe2 چیست؟ از دیدگاه شما چه کاستی‌ها و مشکلاتی در این فریمورک و فریمورک‌های دیگر وجود دارد؟ نظرات خود را با ما و سایر کاربران سکان آکادمی به اشتراک بگذارید.

منبع