زمان و هزینه آموزش عمیق را با MosaicML Composer در AWS PlatoBlockchain Data Intelligence کاهش دهید. جستجوی عمودی Ai.

زمان و هزینه آموزش عمیق را با MosaicML Composer در AWS کاهش دهید

در دهه گذشته شاهد بوده ایم علم یادگیری عمیق (DL) با سرعت فوق العاده ای توسط مشتریان AWS پذیرفته شده است. پارامترهای فراوان و به طور مشترک آموزش‌دیده‌شده مدل‌های DL ظرفیت بازنمایی زیادی دارند که باعث بهبود در موارد متعدد استفاده از مشتری، از جمله تجزیه و تحلیل تصویر و گفتار، پردازش زبان طبیعی (NLP)، پردازش سری‌های زمانی و موارد دیگر شده است. در این پست، چالش‌هایی را که معمولاً در آموزش DL گزارش می‌شوند و نحوه کتابخانه منبع باز را برجسته می‌کنیم آهنگساز MosaicML به حل آنها کمک می کند.

چالش با آموزش DL

مدل های DL به صورت مکرر در یک حلقه برای تو در تو آموزش داده می شوند. یک حلقه از طریق مجموعه داده آموزشی به صورت تکه تکه تکرار می شود و در صورت لزوم، این حلقه چندین بار در کل مجموعه داده تکرار می شود. پزشکان ML که روی آموزش DL کار می کنند با چندین چالش روبرو هستند:

  • مدت زمان آموزش با حجم داده ها افزایش می یابد. با مجموعه داده هایی که دائما در حال رشد هستند، زمان و هزینه های آموزش نیز افزایش می یابد و ریتم اکتشافات علمی کند می شود.
  • اسکریپت‌های DL اغلب به کد boilerplate نیاز دارند، به‌ویژه ساختار حلقه دوگانه فوق‌الذکر که مجموعه داده‌ها را به minibatches و آموزش را به دوره‌ها تقسیم می‌کند.
  • پارادوکس انتخاب: چندین مقاله و کتابخانه بهینه سازی آموزشی منتشر شده است، اما مشخص نیست که کدام یک را اول آزمایش کنیم و چگونه اثرات آنها را ترکیب کنیم.

در چند سال گذشته چندین کتابخانه منبع باز مانند کراس, PyTorch Lightning, ترانسفورماتورهای صورت در آغوش کشیدنو قطار ری تلاش کرده‌اند تا آموزش DL را در دسترس‌تر کنند، به ویژه با کاهش پرحرفی کد، در نتیجه ساده‌سازی نحوه برنامه‌ریزی شبکه‌های عصبی. بیشتر آن کتابخانه ها بر تجربه توسعه دهنده و فشرده بودن کد متمرکز شده اند.

در این پست، یک کتابخانه منبع باز جدید را ارائه می دهیم که موضع متفاوتی در مورد آموزش DL دارد: آهنگساز MosaicML یک کتابخانه سرعت محور است که هدف اصلی آن سریعتر کردن اسکریپت های آموزشی شبکه عصبی از طریق نوآوری الگوریتمی است. در دنیای ابر DL، عاقلانه است که روی سرعت تمرکز کنید، زیرا زیرساخت‌های محاسباتی اغلب به ازای هر بار استفاده پرداخت می‌شوند - حتی تا دوم آموزش آمازون SageMaker- و بهبود سرعت می تواند به پس انداز پول تبدیل شود.

از لحاظ تاریخی، افزایش سرعت آموزش DL عمدتاً با افزایش تعداد ماشین‌هایی که تکرارهای مدل را به صورت موازی محاسبه می‌کنند، انجام می‌شود، تکنیکی به نام موازی سازی داده ها. اگرچه موازی سازی داده ها گاهی آموزش را تسریع می کند (تضمین نمی شود زیرا همگرایی را مختل می کند، همانطور که در گویال و همکاران، هزینه کلی کار را کاهش نمی دهد. در عمل، به دلیل سربار ارتباط بین ماشینی و هزینه واحد ماشین بالاتر، تمایل به افزایش آن دارد، زیرا ماشین های DL توزیع شده به شبکه های پیشرفته و اتصال GPU درون سرور مجهز هستند.

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

معرفی کتابخانه منبع باز MosaicML Composer

MosaicML Composer یک کتابخانه آموزشی منبع باز DL است که به منظور ساده سازی جدیدترین الگوریتم ها و ترکیب آنها در دستور العمل های جدید ساخته شده است که آموزش مدل را سرعت می بخشد و به بهبود کیفیت مدل کمک می کند. در زمان نگارش این مقاله، از PyTorch پشتیبانی می‌کند و شامل 25 تکنیک است روش در دنیای MosaicML - همراه با مدل‌های استاندارد، مجموعه داده‌ها و معیارها

آهنگساز است از طریق پیپ در دسترس است:

pip install mosaicml

تکنیک های Speedup پیاده سازی شده در Composer با API کاربردی آن قابل دسترسی هستند. به عنوان مثال، قطعه زیر عبارت را اعمال می کند BlurPool تکنیک TorchVision ResNet:

import logging

from composer import functional as CF
import torchvision.models as models
logging.basicConfig(level=logging.INFO)

model = models.resnet50()
CF.apply_blurpool(model)

به صورت اختیاری، می توانید از a نیز استفاده کنید مربی برای ایجاد ترکیبی از تکنیک های خود:

from composer import Trainer
from composer.algorithms import LabelSmoothing, CutMix, ChannelsLast

trainer = Trainer(
    model=.. # must be a composer.ComposerModel
    train_dataloader=...,
    max_duration="2ep",  # can be a time, a number of epochs or batches
    algorithms=[
        LabelSmoothing(smoothing=0.1),
        CutMix(alpha=1.0),
        ChannelsLast(),
    ]
)

trainer.fit()

نمونه هایی از روش های پیاده سازی شده در Composer

برخی از روش های موجود در Composer مختص بینایی کامپیوتری هستند، به عنوان مثال تکنیک های تقویت تصویر ColOut, قطع جریان، یا تغییر اندازه تصویر پیشرونده. برخی دیگر مختص مدلسازی توالی هستند، مانند گرم کردن طول دنباله or ALiBi. جالب اینجاست که چندین مورد استفاده را نادیده می گیرند و می توانند برای انواع شبکه های عصبی PyTorch فراتر از بینایی کامپیوتر و NLP اعمال شوند. آن دسته از روش های شتاب آموزش شبکه عصبی عمومی عبارتند از صاف کردن برچسب, پشتیبان انتخابی, میانگین وزن تصادفی, انجماد لایهو به حداقل رساندن آگاهی از وضوح (SAM).

بیایید به چند مورد از آنها که به ویژه توسط تیم MosaicML موثر بودند، غوطه ور شویم:

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

داشتن این تکنیک ها در یک چارچوب آموزشی فشرده یک ارزش افزوده قابل توجه برای پزشکان ML است. آنچه نیز ارزشمند است، بازخورد میدانی عملی است که تیم MosaicML برای هر تکنیک، آزمایش شده و رتبه‌بندی شده تولید می‌کند. با این حال، با توجه به چنین جعبه ابزار غنی، ممکن است تعجب کنید: از چه روشی استفاده کنم؟ آیا ترکیب استفاده از چندین روش بی خطر است؟ وارد MosaicML Explorer شوید.

MosaicML Explorer

برای تعیین کمیت ارزش و سازگاری روش های آموزشی DL، تیم MosaicML حفظ می کند جستجوگر، اولین داشبورد زنده در نوع خود که ده ها آزمایش آموزشی DL را در پنج مجموعه داده و هفت مدل به تصویر می کشد. داشبورد تصویر می کند مرز بهینه پارتو در مبادله هزینه/زمان/کیفیت، و به شما امکان می‌دهد ترکیب‌هایی از روش‌های دارای امتیاز بالا را مرور کرده و بیابید. دسته بندی ها در دنیای MosaicML - برای یک مدل و مجموعه داده معین. به عنوان مثال، نمودارهای زیر نشان می‌دهند که برای یک آموزش GPT125 با پارامتر 2M، ارزان‌ترین آموزش با حفظ گیجی 24.11 با ترکیب AliBi، Sequence Length Warmup و Scale Schedule به دست می‌آید و به هزینه‌ای در حدود 145.83 دلار در AWS Cloud می‌رسد! با این حال، لطفاً توجه داشته باشید که این محاسبه هزینه و موارد زیر در این پست فقط بر اساس یک محاسبه EC2 بر اساس تقاضا است، سایر ملاحظات هزینه، بسته به محیط و نیازهای تجاری شما، ممکن است اعمال شوند.

اسکرین شات از MosaicML Explorer برای آموزش GPT-2

دستاوردهای قابل توجه با Composer در AWS

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

نتیجه

می‌توانید با Composer در هر پلتفرم سازگار، از لپ‌تاپ تا سرورهای ابری بزرگ مجهز به GPU، کار خود را شروع کنید. ویژگی های کتابخانه بصری است تور خوش آمدید و شروع شدن صفحات اسناد استفاده از Composer در AWS به شما امکان می دهد علم بهینه سازی هزینه Composer را با خدمات و برنامه های بهینه سازی هزینه AWS، از جمله Spot Compute (آمازون EC2, آمازون SageMaker), طرح پس انداز, تنظیم خودکار مدل SageMaker، و بیشتر. تیم MosaicML یک آموزش از Composer در AWS. این یک نمایش گام به گام از نحوه بازتولید نتایج MLPerf و آموزش ResNet-50 در AWS با دقت استاندارد 76.6% top-1 را تنها در 27 دقیقه ارائه می دهد.

اگر با شبکه‌های عصبی که خیلی کند تمرین می‌کنند مشکل دارید، یا اگر به‌دنبال کنترل هزینه‌های آموزش DL هستید، MosaicML در AWS را امتحان کنید و به ما بگویید چه چیزی می‌سازید!


درباره نویسندگان

زمان و هزینه آموزش عمیق را با MosaicML Composer در AWS PlatoBlockchain Data Intelligence کاهش دهید. جستجوی عمودی Ai.بندیش شاه یک مدیر مهندسی در MosaicML است که برای ایجاد پل یادگیری عمیق کارآمد با سیستم های توزیع شده در مقیاس بزرگ و محاسبات عملکرد کار می کند. Bandish بیش از یک دهه تجربه در ساخت سیستم‌ها برای یادگیری ماشین و برنامه‌های کاربردی سازمانی دارد. او از گذراندن وقت با دوستان و خانواده، آشپزی و تماشای Star Trek برای الهام گرفتن لذت می برد.

زمان و هزینه آموزش عمیق را با MosaicML Composer در AWS PlatoBlockchain Data Intelligence کاهش دهید. جستجوی عمودی Ai.اولیویه کروشانت یک معمار راه حل های متخصص یادگیری ماشین در AWS، مستقر در فرانسه است. اولیویه به مشتریان AWS - از استارت‌آپ‌های کوچک گرفته تا شرکت‌های بزرگ - کمک می‌کند تا برنامه‌های یادگیری ماشینی درجه تولید را توسعه داده و به کار گیرند. در اوقات فراغت خود از خواندن مقالات تحقیقاتی و کاوش در بیابان با دوستان و خانواده لذت می برد.

تمبر زمان:

بیشتر از آموزش ماشین AWS