یادگیری ماشین مقیاس‌پذیر

Scalable Machine Learning

شماره درس: ۴۰۸۰۲.۵ تعداد واحد: ۳
مقطع: کارشناسی ارشد نوع درس: نظری
پیش‌نیاز: – هم‌نیاز: –

اهداف درس

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

ریز مواد

  1. مفاهیم اولیه محاسبات توزیع شده
  2. آشنایی با Apache Spark
    • اجرای برنامه‌های کاربردی Spark
    • آشنایی با نشست Spark
    • آشنایی با دادگان توزیع شده قابل بازیابی (Resilient Distributed Dataset)
    • منابع داده‌ای Spark
  3. کتابخانه Spark MLlib
    • مروری بر الگوریتم‌های پیاده‌سازی شده
    • خط لوله یادگیری ماشین
    • پایداری مدل (Model Persistence)
  4. روش‌های یادگیری با ناظر توزیع شده
    • روش‌های رگرسیون
    • روش XGBoost
    • روش ماشین بردار پشتیبان
  5. روش‌های بدون ناظر توزیع شده
    • خوشه‌بندی (k-means)
    • مدل‌سازی موضوع (topic modeling)
    • تشخیص ناهنجاری
    • کاهش بعد
  6. تحلیل داده‌های مبتنی گراف مقیاس‌پذیر
    • آشنایی با GraphX
  7. روش‌های یادگیری متحد (Federated Learning)
  8. یادگیری ژرف توزیع شده و موازی
    • موازی سازی مدل در مقابل موازی سازی داده
    • ابزارهای موازی سازی
    • روش Data Parallel در Pytorch
    • روش Distributed Data Parallel در Pytorch
    • روش‌های فشرده‌سازی گرادیان و مدل

ارزیابی

  • تمرین‌های نظری: ۳ نمره
  • آزمون‌‌های میان‌ترم و پایانی: ۱۵ نمره
  • آزمونک‌ها: ۲ نمره

مراجع

  1. Butch Quinto. Next-Generation Machine Learning with Spark. Apress, 2020.
  2. Ron Bekkerman, Mikhail Bilenko, John Langford. Scaling Up Machine Learning : Parallel and Distributed Approaches. Cambridge University Press, 2012.