استقرار و استفاده از یک پلت فرم یادگیری عمیق چند چارچوبی در Kubernetes

گره منبع: 1580762

توضیحات:

به عنوان یک متخصص یادگیری عمیق، در حین تنظیم مشاغل آموزشی خود، قابلیت اطمینان و مقیاس پذیری را می خواهید. علاوه بر این، شما می خواهید این کار را به شیوه ای ثابت در چندین کتابخانه انجام دهید. با استفاده از Fabric for Deep Learning (FfDL) در Kubernetes، می‌توانید با دادن توانایی به کاربران برای استفاده از کتابخانه‌های یادگیری عمیق مانند Caffe، Torch و TensorFlow در فضای ابری به شیوه‌ای انعطاف‌پذیر و با حداقل تلاش، به این مهم دست یابید. این پلتفرم از یک لایه توزیع و ارکستراسیون استفاده می کند که یادگیری از مقدار زیادی داده را در مدت زمان معقولی در سراسر گره های محاسباتی تسهیل می کند. یک لایه تامین منابع، مدیریت کار منعطف را بر روی منابع ناهمگن، مانند واحدهای پردازش گرافیکی (GPU) و واحدهای پردازش مرکزی (CPU)، در یک زیرساخت به عنوان یک سرویس (IaaS) ابری امکان‌پذیر می‌سازد.

بررسی اجمالی

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

این جایی است که فرصت یادگیری عمیق به عنوان یک خدمت نهفته است. در این الگوی کد، ما به شما نشان می دهیم که چگونه یک Fabric یادگیری عمیق را در Kubernetes پیاده سازی کنید. با استفاده از مصنوعات معماری بومی ابری مانند Kubernetes، میکروسرویس‌ها، نمودارهای Helm و ذخیره‌سازی اشیا، به شما نشان می‌دهیم که چگونه یک Fabric یادگیری عمیق را استقرار و استفاده کنید. این Fabric در چندین موتور یادگیری عمیق مانند TensorFlow، Caffe و PyTorch قرار دارد. این نرم افزار انعطاف پذیری، سهولت استفاده و اقتصادی بودن یک سرویس ابری را با قدرت یادگیری عمیق ترکیب می کند. استفاده از آن آسان است و با استفاده از API های REST، می توانید آموزش را با منابع مختلف به ازای نیاز کاربر یا بودجه شخصی سازی کنید. به کاربران اجازه دهید به جای تمرکز بر خطاها، روی یادگیری عمیق و برنامه ها تمرکز کنند.

جریان

جریان

  1. توسعه دهنده FfDL پایه کد FfDL را در یک خوشه Kubernetes مستقر می کند. خوشه Kubernetes برای GPU های استفاده شده، CPU یا هر دو پیکربندی شده است و به ذخیره سازی اشیاء سازگار با S3 دسترسی دارد. اگر مشخص نشده باشد، یک S3 pod شبیه سازی شده محلی ایجاد می شود.
  2. پس از استقرار، دانشمند داده داده‌های آموزشی مدل را در ذخیره‌سازی شی سازگار با S3 آپلود می‌کند. FFDL فرض می‌کند که داده‌ها از قبل در قالب مورد نیاز است که توسط چارچوب‌های یادگیری عمیق مختلف تجویز شده است.
  3. کاربر یک فایل مانیفست مدل FFDL ایجاد می کند. فایل مانیفست شامل فیلدهای مختلفی است که مدل را در FfDL، اطلاعات ذخیره اشیاء، منابع مورد نیاز آن، و چندین آرگومان (از جمله فراپارامترها) که برای اجرای مدل در طول آموزش و آزمایش لازم است، توصیف می‌کند. سپس کاربر با استفاده از CLI/SDK یا UI با FfDL تعامل می کند تا فایل مانیفست مدل FfDL را با فایل تعریف مدل مستقر کند. کاربر کار آموزشی را راه اندازی می کند و پیشرفت آن را نظارت می کند.
  4. کاربر پس از اتمام کار آموزش، مدل آموزش دیده و گزارش های مربوطه را دانلود می کند.

دستورالعمل ها

مراحل دقیق این الگو را در README بیابید. مراحل به شما نشان می دهد که چگونه:

  1. کامپایل و کدنویسی و ساخت تصاویر Docker.
  2. اجزای FFDL را با نصب فرمان نصب کنید.
  3. یک اسکریپت برای پیکربندی Grafana برای نظارت بر FfDL اجرا کنید.
  4. نقاط پایانی Grafana، FfDL Web UI و FfDL REST API خود را دریافت کنید.
  5. با استفاده از TensorFlow و Caffe، چند کار ساده را برای آموزش یک مدل شبکه کانولوشن اجرا کنید.

منبع: https://developer.ibm.com/patterns/deploy-and-use-a-multi-framework-deep-learning-platform-on-kubernetes/

تمبر زمان:

بیشتر از توسعه دهنده IBM