تنسورفلو یا پایتورچ، چرا PyTorch برای محققین انتخاب مناسبی است؟
تنسورفلو یا پایتورچ، مسئله این است! تنسورفلو (TensorFlow) و پایتورچ (PyTorch) دو پلتفرم قدرتمند یادگیری عمیق، به عبارت دو ستون اصلی در زمینه یادگیری عمیق هستند. تنسورفلو توسط گوگل توسعه پیدا کرده و به scalability و سازگاری مشهور است. در کاربردهای صنعتی خیلی بیشتر استفاده میشود و اکوسیستم بسیار قوی دارد. اما علارغم همه این قابلیتهای TensorFlow، من به عنوان یک پژوهشگر به دلایل زیر انتخابم پایتورچ هست.
پایتورچ یک کتابخانه متن باز است که توسط شرکت متا (فیسبوک سابق) در سال 2016 توسعه داده شد. این پلتفرم کتابخانه های مختلفی دارد که تحقیقات در زمینه یادگیری عمیق را راحتتر و منعطف تر کرده است. پایتورچ در میان محققین محبوبیت زیادی پیدا کرده است و هر روز به تعداد این طرفداران اضافه میشود. در زیر دلایل محبوبت پایتورچ در بین محققین را بیان میکنم:
گرافهای محاسباتی پویا (Dynamic Computational Graphs) در پایتورچ
ماهیت دینامیکی پایتورچ امکان آزمایشات با ساختارهای مختلف مدل رو ساده میکنه. این ویژگی برای محققین که ساختارهای مختلفی رو نیاز دارند بررسی کنند بسیار حیاتی و مهم است.
پایتونیک بودن دستورالعملهای پایتورچ
ماهیت پایتونی بودن دستورات پایتورچ باعث شده که کدها بسیار خوانا باشند و درک اونها برای ما راحتتر باشه.
یادگیری بسیار ساده پایتورچ
همین ماهیت پایتونیک بودن پایتورچ باعث شده یادگیری بسیار ساده باشه. برای یک محقق یادگیری آسانِ کار با یک ابزار بسیار حیاتیه. این باعث میشه محقق فرصت بیشتری برای تحقیقات اصلی و آزمایشات خود داشته باشه، به جای اینکه زمان زیادی رو صرفا برای یادگیری و راه اندازی بستر برای انجام پروژه اش صرف کنه. باید خیلی زود بستر رو آماده کنیم و شروع کنیم به تحقیقات اصلی!
جامعه پژوهش محور پایتورچ
جامعه PyTorch بیشتر پژوهش محور است. بسیاری از تحقیقات پیشرفته کارشون رو با پایتورچ پیاده میکنند و این به توسعه کارها و نوآوری میتونه خیلی کمک بکنه. بررسی آمار سایت paperswithcode نشون میده که در حال حاضر 59 درصد مقالات با پایتورچ پیاده شده اند. این درحالی است که با تنسورفلو تنها 3 درصد. اینم درنظر بگیریم که تنسورفلو 2015 و پایتورچ 2016 معرفی شده اند.
جامعه علمی رو به رشد پایتورچ
جامعه عملی پایتون روز به روز داره زیاد میشه و این خبر خیلی خوبی برای محققین هست. جامعه علمی بیشتر، یعنی داکیومنت بیشتر و کد بیشتر. یه سری آمارها نشون میدن که در عرض یک سال، از سال 2018 تا 2019، حدود 55 درصد از محققینی که از تنسورفلو استفاده میکرند به پایتورچ کوچ کرده اند! این درحالیه که تنها 15 درصد از پایتورچ به تنسورفلو روی آورده اند.
دیباگینگ ساده کدهای پایتورچ
پایتورچ ابزار مناسبی برای دیباگنیک داره و همین ویژگی باعث میشه زمان توسعه و رسیدن به یک سیستم بهینه حداقل باشه.
کتابخانه های متنوع و قوی در پایتورچ
پایتورچ کتابخونه های مختلفی از جمله torchvision و torchaudio داره که پشتیبانی خوبی برای بینایی ماشین و تسکهای audio ارائه میده.
مدلهای pre-trained در پایتورچ
پایتورچ مدلهای pre-trained زیادی داره. نمونه اش برید hugging face رو بررسی کنید. تعداد مدلهاش به صورت معناداری بیشتر از تنسورفلو است! 169,200 مدل برای پایتورچ و 11,691 مدل برای تنسورفلو! همین ویژگی مطالعات transfer learning رو ساده میکنه و توسعه یک مدل مناسب برای تسک خاص خیلی سریعتر اتفاق بیافته!
منابع آموزشی گسترده و سازماندهی شده
برای یادگیری پایتورچ داکیومنتهای خیلی خوب و سازماندهی شدهای در سایت رسمی خود (PyTorch) ارائه داده که هر محققی راحت میتونه با کمک این منابع آموزشی کار با این ابزار رو یاد بگیره و کارهای تحقیقاتی خودش رو استارت بزنه.
دیدگاه ها