Amazon SageMaker Training Managed Warm Pools به شما انعطاف پذیری می دهد تا بتوانید استفاده مجدد را انتخاب کنید و زیرساخت های زیربنایی را برای یک دوره زمانی تعریف شده توسط کاربر حفظ کنید. این کار در حالی انجام میشود که مزیت عبور از روشهای سنگین غیرمتمایز مدیریت نمونههای محاسباتی را نیز حفظ میکند. آموزش مدل آمازون SageMaker. در این پست، مزایای کلیدی و نکات دردناکی که توسط استخرهای گرم مدیریت شده با آموزش SageMaker، و همچنین معیارها و بهترین شیوهها مورد توجه قرار گرفته است را بیان میکنیم.
مروری بر استخرهای گرم مدیریت شده آموزشی SageMaker
SageMaker Model Training یک قابلیت کاملاً مدیریت شده است که نمونههایی را برای هر کار میچرخاند، یک مدل را آموزش میدهد، اجرا میکند و سپس نمونهها را بعد از کار به پایین میچرخاند. شما فقط برای مدت زمان کار تا دومی صورتحساب دریافت می کنید. این قابلیت کاملاً مدیریتشده به شما این آزادی را میدهد که روی الگوریتم یادگیری ماشینی (ML) خود تمرکز کنید و در حین آموزش مدلهای خود نگران بلند کردن وسایل سنگین غیرمتمایز مانند مدیریت زیرساخت نباشید.
این مکانیسم نیازمند یک زمان راه اندازی محدود برای یک کار آموزشی است. اگر چه این زمان راه اندازی، همچنین به عنوان شناخته شده است زمان راه اندازی سرد، نسبتاً کم است، برخی از موارد مورد نیاز مشتری ما نیاز به زمان راه اندازی حتی کمتری دارند، مانند کمتر از 20 ثانیه. دو مورد استفاده برجسته وجود دارد که این الزامات را دارند:
- اولین مورد آزمایش فعال ML توسط دانشمندان داده با استفاده از آمازون SageMaker پلتفرم آموزشی، به ویژه در حین آموزش مدل های بزرگ، مانند GPT3، که برای رسیدن به حالت آماده تولید نیاز به تکرارهای متعدد دارند.
- دوم راه اندازی برنامه ای تعداد زیادی (به ترتیب چند صد یا هزاران) شغل متوالی در یک نوع نمونه در یک آهنگ زمان بندی شده است. به عنوان مثال، جستجوی پارامتر یا آموزش افزایشی.
برای چنین موارد استفاده، هر ثانیه صرف شده برای سربار، مانند زمان راه اندازی برای یک کار آموزشی، تأثیر تجمعی روی همه این مشاغل دارد.
با SageMaker Training Managed Warm Pools، دانشمندان داده و مهندسان ML این توانایی را دارند که برای گرم نگه داشتن نمونههای آموزشی SageMaker یا خوشههای چند نمونه برای مدت زمان از پیش تعیینشده و قابل تنظیم مجدد، شرکت کنند.keep_alive_period_in_seconds
) پس از اتمام هر کار آموزشی. بنابراین، حتی اگر برای اولین کار آموزشی اجرا شده در یک نمونه یا کلاستر، جریمه شروع سرد را متحمل شوید، برای تمام کارهای آموزشی بعدی، نمونه ها از قبل آماده شده اند. در نتیجه، این مشاغل آموزشی بعدی که در یک نمونه قبل از شروع می شوند keep_alive_period_in_seconds
انقضا، زمان راه اندازی سرد را متحمل نمی شود. این می تواند زمان شروع کار آموزشی را تقریباً به کمتر از 20 ثانیه کاهش دهد (P90).
دانشمندان داده و مهندسان ML میتوانند از SageMaker Training Managed Warm Pools برای گرم نگه داشتن نمونههای منفرد یا چندگانه در بین دورههای آموزشی برای آزمایش استفاده کنند یا چندین کار را بهطور متوالی در یک خوشه منفرد یا چند نمونه اجرا کنند. شما فقط برای مدت زمان مشاغل آموزشی و قابل تنظیم مجدد پرداخت می کنید keep_alive_period_in_seconds
مانند هر جای دیگری که برای هر نمونه مشخص می کنید.
در اصل، با SageMaker Training Managed Warm Pools، ترکیبی از استفاده از نمونه مدیریت شده SageMaker را با قابلیت انتخاب و ارائه ظرفیت و استفاده خود مدیریتی برای فواصل زمانی کوتاه دریافت میکنید. این فواصل قبل از یک کار قابل تنظیم هستند، اما اگر در طول keep_alive_period_in_seconds
فاصله زمانی، شما باید آن را کاهش یا افزایش دهید، می توانید این کار را انجام دهید. افزایش می دهد تا keep_alive_period_in_seconds
می توان در فواصل زمانی حداکثر 60 دقیقه انجام داد که حداکثر دوره زمانی برای یک نمونه یا خوشه 7 روز است.
برای شروع کار با استخرهای گرم، ابتدا درخواست افزایش محدودیت سهمیه استخر گرم کنید، سپس مشخص کنید keep_alive_period_in_seconds
پارامتر هنگام شروع کار آموزشی
معیار
ما آزمایشهای محکگذاری را برای اندازهگیری تأخیر راهاندازی کار با استفاده از یک تصویر TensorFlow 1.34 گیگابایتی، 2 گیگابایت داده و حالتهای مختلف ورودی داده آموزشی (Amazon FSx، Fast File Mode، File Mode) انجام دادیم. آزمایشها در انواع مختلفی از خانوادههای m4، c4، m5 و c5 در منطقه us-east-2 انجام شد. تأخیر راه اندازی به عنوان زمان ایجاد شغل تا شروع کار آموزشی واقعی در نمونه ها اندازه گیری شد. اولین کارهایی که خوشه را شروع کردند و استخر گرم را ایجاد کردند، تاخیر راه اندازی 2 تا 3 دقیقه داشتند. این تاخیر بیشتر به دلیل زمان صرف شده برای تهیه زیرساخت، دانلود تصویر و دانلود داده ها است. کارهای بعدی که از خوشه استخر گرم استفاده میکردند تاخیر راهاندازی تقریباً 20 ثانیه برای حالت فایل سریع (FFM) یا آمازون FSx و 70 ثانیه برای حالت فایل (FM) داشتند. این دلتا نتیجه FM است که نیاز به دانلود کل مجموعه داده از Amazon S3 قبل از شروع کار دارد.
انتخاب شما از حالت ورودی داده آموزشی بر زمان راه اندازی تأثیر می گذارد، حتی با استخرهای گرم. راهنمایی در مورد اینکه چه حالت ورودی را انتخاب کنید در بخش بهترین روشها در آینده در این پست آمده است.
جدول زیر تاخیر راه اندازی کار P90 را برای حالت های مختلف ورودی داده های آموزشی خلاصه می کند.
حالت ورودی داده | تأخیر راه اندازی P90 (ثانیه) | |
شغل اول | مشاغل استخر گرم (کار دوم به بعد) | |
FSx | 136 | 19 |
حالت فایل سریع | 143 | 21 |
حالت فایل | 176 | 70 |
بهترین روش ها برای استفاده از استخرهای گرم
در بخش بعدی، ما برخی از بهترین روش ها را در هنگام استفاده از استخرهای گرم به اشتراک می گذاریم.
چه زمانی باید از استخرهای گرم استفاده کرد؟
استخرهای گرم در سناریوهای زیر توصیه می شود:
- شما به صورت تعاملی در حال آزمایش و تنظیم اسکریپت خود روی یک سری کارهای کوتاه هستید.
- شما در حال اجرای بهینه سازی هایپرپارامتر سفارشی و در مقیاس بزرگ خود هستید (به عنوان مثال، Syne Tune).
- شما یک فرآیند دستهای دارید که تعداد زیادی (به ترتیب چند صد یا هزاران) کار متوالی را در موارد مشابه در یک آهنگ روزانه یا هفتگی اجرا میکند. به عنوان مثال، آموزش یک مدل ML در هر شهر.
هنگامی که بعید است که کسی از استخر گرم قبل از انقضای آن دوباره استفاده کند، استخرهای گرم توصیه نمی شود. به عنوان مثال، یک کار طولانی که از طریق یک خط لوله خودکار ML اجرا می شود.
تأخیر راه اندازی کار آموزش استخر گرم را به حداقل برسانید
کارهای آموزشی که از یک استخر گرم استفاده مجدد می کنند سریعتر از اولین کاری که استخر گرم ایجاد کرده است شروع می شود. این به دلیل این است که نمونههای ML بین کارها با یک تصویر Docker محفظه آموزشی ذخیرهشده برای پرش از کشیدن کانتینر در حال اجرا است. رجیستری ظروف الاستیک آمازون (Amazon ECR). با این حال، حتی هنگام استفاده مجدد از یک استخر گرم، مراحل اولیه اولیه برای همه کارها رخ می دهد. بهینه سازی این مراحل می تواند زمان راه اندازی شغل شما (هم شغل اول و هم کارهای بعدی) را کاهش دهد. موارد زیر را در نظر بگیرید:
- حالت ورودی داده های آموزشی می تواند بر زمان راه اندازی تأثیر بگذارد – کانالهای ورودی دادههای آموزشی مدیریتشده برای هر کار آموزشی ایجاد میشوند و به تأخیر راهاندازی کار کمک میکنند. بنابراین انجام آزمایشهای اولیه روی یک مجموعه داده کوچکتر، زمان راهاندازی سریعتر (و زمان آموزش سریعتر) را امکانپذیر میکند. برای مراحل بعدی آزمایش، زمانی که به یک مجموعه داده بزرگ نیاز است، از یک نوع حالت ورودی استفاده کنید که زمان اولیه سازی حداقل یا ثابتی دارد. به عنوان مثال، حالت ورودی FILE کل مجموعه داده را از آن کپی می کند سرویس ذخیره سازی ساده آمازون (Amazon S3) به نمونه آموزشی، که برای مجموعه داده های بزرگ (حتی با استخرهای گرم) زمان بر است. حالت فایل سریع برای تاخیر راهاندازی پایینتر مناسبتر است، زیرا فقط ابرداده شی S3 باید از Amazon S3 خوانده شود تا بار کاری شروع شود. را آمازون FSx برای Luster، یا سیستم فایل الاستیک آمازون حالت ورودی سیستم فایل (Amazon EFS)، بدون در نظر گرفتن تعداد فایلهای موجود در سیستم فایل، زمان اولیهسازی ثابتی دارد که هنگام کار با مجموعه دادههای بزرگ مفید است.
برای اطلاعات بیشتر در مورد نحوه انتخاب کانال ورودی، رجوع کنید بهترین منبع داده را برای شغل آموزشی Amazon SageMaker خود انتخاب کنید. - نصب زمان اجرا بسته ها را کاهش دهید – هر گونه نصب نرم افزاری که در حین راه اندازی کانتینر انجام شود، به عنوان مثال، پیپ پایتون یا سیستم عامل apt-get، تأخیر کار آموزشی را افزایش می دهد. به حداقل رساندن این تأخیر راه اندازی مستلزم ایجاد تعادل بین انعطاف پذیری و سادگی نصب های زمان اجرا در مقابل نصب در زمان ساخت کانتینر است. اگر از ظرف داکر خود با SageMaker استفاده می کنید، به آن مراجعه کنید تطبیق کانتینر Docker خودتان برای کار با SageMaker. اگر تکیه کنید تصاویر ظرف SageMaker از پیش ساخته شده است، شما نیاز دارید یک ظرف از پیش ساخته شده را گسترش دهید و به صراحت این کانتینرها را مدیریت کنید. اگر نصب زمان اجرا شما تأخیر راه اندازی را به میزان قابل توجهی افزایش می دهد، این را در نظر بگیرید.
- از بهروزرسانی مکرر تصویر Docker خودداری کنید - اگر از کانتینر Docker خود با SageMaker استفاده می کنید، سعی کنید از به روز رسانی آن در هر کار که اجرا می شود خودداری کنید. اگر تصویر Docker بین ارسالهای شغلی تغییر کند، از استخر گرم مجدداً استفاده میشود، اما فرآیند راهاندازی به جای استفاده مجدد از یک تصویر ظرف ذخیرهشده، باید دوباره تصویر ظرف را از Amazon ECR بکشد. اگر تصویر Docker باید بهروزرسانی شود، بهروزرسانیها را به آخرین لایه Docker محدود کنید تا از قابلیت ذخیره لایه Docker استفاده کنید. در حالت ایدهآل، باید محتوای Dockerfile را حذف کنید که احتمالاً با تکرارها تغییر میکند، مانند هایپرپارامتر، تعاریف مجموعه داده و خود کد ML. برای تکرار کد ML بدون نیاز به بازسازی تصاویر Docker با هر تغییر، میتوانید از الگوی کانتینر چارچوبی که در جعبه ابزار آموزشی SageMaker حمایت شده است استفاده کنید. اگر می خواهید یک چارچوب با کد خود توسعه دهید، به این مراجعه کنید آموزش Amazon SageMaker.
استخرهای گرم را بین چندین کاربر به اشتراک بگذارید
هنگام کار با تیم بزرگی از دانشمندان داده، میتوانید استخرهای گرمی را که دارند به اشتراک بگذارید مطابقت با معیارهای شغلی، مانند همان هویت AWS و مدیریت دسترسی (IAM) نقش یا تصویر ظرف.
بیایید به یک جدول زمانی مثال نگاه کنیم. User-1 یک کار آموزشی را شروع می کند که تکمیل می شود و منجر به ایجاد یک استخر گرم جدید می شود. هنگامی که user-2 یک کار آموزشی را شروع می کند، کار از استخر گرم موجود مجددا استفاده می کند و منجر به راه اندازی سریع کار می شود. در حالی که کار کاربر-2 با استخر گرم در حال استفاده است، اگر کاربر دیگری یک کار آموزشی را شروع کند، یک استخر گرم دوم ایجاد خواهد شد.
این رفتار استفاده مجدد با به اشتراک گذاشتن استخرهای گرم بین کاربرانی که مشاغل مشابه را شروع می کنند به کاهش هزینه ها کمک می کند. اگر میخواهید از اشتراکگذاری استخرهای گرم بین کاربران خودداری کنید، شغل کاربران نباید چنین باشد مطابقت با معیارهای شغلی (به عنوان مثال، آنها باید از یک نقش IAM متفاوت استفاده کنند).
پس از اتمام کار به کاربران اطلاع دهید
هنگام استفاده از استخرهای گرم برای آزمایش، توصیه می کنیم کاربران را پس از اتمام کارشان مطلع کنید. این به کاربران اجازه میدهد تا قبل از انقضای استخر گرم، آزمایش را از سر بگیرند متوقف کردن استخر گرم اگر دیگر مورد نیاز نیست. شما همچنین می توانید به طور خودکار اعلان ها را راه اندازی می کند از طریق پل رویداد آمازون.
ابزارهای بیشتر برای آزمایش سریع و عیب یابی مشاغل آموزشی
با استخرهای گرم می توانید در کمتر از 20 ثانیه یک کار را شروع کنید. برخی از سناریوها نیاز به آزمایش و عیب یابی تعاملی در زمان واقعی و عملی دارند. منبع باز کتابخانه SageMaker SSH Helper به شما این امکان را میدهد که درون ظرف آموزشی SageMaker شلیک کنید و توسعه و اشکالزدایی از راه دور را انجام دهید.
نتیجه
با SageMaker Training Managed Warm Pools، می توانید نمونه های سخت افزاری آموزش مدل خود را پس از هر کار برای مدت زمان مشخصی گرم نگه دارید. این می تواند تاخیر راه اندازی را برای یک کار آموزشی مدل تا 8 برابر کاهش دهد. SageMaker Training Managed Warm Pools در تمام مناطق عمومی AWS که آموزش مدل SageMaker در آنها موجود است در دسترس است.
برای شروع، ببینید با استفاده از استخرهای گرم مدیریت شده SageMaker آموزش دهید.
درباره نویسندگان
دکتر رومی داتا مدیر ارشد مدیریت محصول در تیم آمازون SageMaker مسئول آموزش، پردازش و فروشگاه ویژگی است. او بیش از 4 سال در AWS بوده و چندین نقش رهبری مدیریت محصول را در SageMaker، S3 و IoT بر عهده داشته است. قبل از AWS او در مدیریت محصول، مهندسی و نقش های رهبری عملیاتی مختلف در IBM، Texas Instruments و Nvidia کار می کرد. او دارای مدرک کارشناسی ارشد و دکتری است. در مهندسی برق و کامپیوتر از دانشگاه تگزاس در آستین، و MBA از دانشکده بازرگانی غرفه دانشگاه شیکاگو.
آرون ناگاراجان یک مهندس اصلی با تیم آمازون SageMaker است که بر حوزه های آموزشی و MLOps تمرکز دارد. او از سال راهاندازی با تیم SageMaker بوده است و از مشارکت در حوزههای مختلف SageMaker از جمله استنتاج بلادرنگ و محصولات مدل Monitor لذت میبرد. او دوست دارد در فضای باز در منطقه شمال غربی اقیانوس آرام کاوش کند و از کوه ها بالا برود.
امی تو مدیر توسعه نرم افزار در AWS SageMaker است. او بر گرد هم آوردن تیمی از مهندسان نرم افزار برای ساخت، نگهداری و توسعه قابلیت های جدید پلت فرم آموزشی SageMaker تمرکز می کند که به مشتریان کمک می کند مدل های ML خود را کارآمدتر و آسان تر آموزش دهند. او علاقه زیادی به فناوری ML و AI دارد، به ویژه در رابطه با تصویر و بینایی از دوران تحصیلات تکمیلی خود. او در اوقات فراغت خود عاشق کار در زمینه موسیقی و هنر با خانواده است.
سیفی لی یک مهندس نرمافزار در آمازون AI است که در ساخت پلتفرمهای یادگیری ماشین آمازون کار میکند و بخشی از تیم راهاندازی Amazon SageMaker بود. او در اوقات فراغت به نواختن موسیقی و خواندن علاقه دارد.
جنا ژائو مهندس توسعه نرم افزار در AWS SageMaker است. او علاقه زیادی به فناوری ML/AI دارد و بر ساخت پلتفرم آموزشی SageMaker تمرکز کرده است که به مشتریان امکان میدهد به سرعت و به راحتی مدلهای یادگیری ماشین را آموزش دهند. خارج از محل کار، او از مسافرت و گذراندن وقت با خانواده لذت می برد.
پراس مهرا مدیر محصول ارشد در AWS است. او بر کمک به ساخت آموزش و پردازش Amazon SageMaker متمرکز است. در اوقات فراغت خود، پاراس از گذراندن وقت با خانواده و دوچرخه سواری جاده ای در اطراف منطقه خلیج لذت می برد. می توانید او را در آن پیدا کنید لینک.
گیلی ناچوم یک معمار ارشد راه حل های تخصصی AI/ML است که به عنوان بخشی از تیم یادگیری ماشین آمازون EMEA کار می کند. Gili مشتاق چالشهای آموزش مدلهای یادگیری عمیق است و اینکه چگونه یادگیری ماشینی جهان را آنطور که میشناسیم تغییر میدهد. گیلی در اوقات فراغت خود از بازی تنیس روی میز لذت می برد.
اولیویه کروشانت یک معمار راه حل های متخصص یادگیری ماشین در AWS، مستقر در فرانسه است. اولیویه به مشتریان AWS - از استارتآپهای کوچک گرفته تا شرکتهای بزرگ - کمک میکند تا برنامههای یادگیری ماشینی درجه تولید را توسعه داده و به کار گیرند. در اوقات فراغت خود از خواندن مقالات تحقیقاتی و کاوش در بیابان با دوستان و خانواده لذت می برد.
امیلی وبر درست پس از راه اندازی SageMaker به AWS ملحق شد و از آن زمان تلاش کرده است تا در مورد آن به جهان بگوید! غیر از ایجاد تجربیات جدید ML برای مشتریان، امیلی از مراقبه و مطالعه بودیسم تبتی لذت می برد.
- محتوای مبتنی بر SEO و توزیع روابط عمومی. امروز تقویت شوید.
- پلاتوبلاک چین. Web3 Metaverse Intelligence. دانش تقویت شده دسترسی به اینجا.
- منبع: https://aws.amazon.com/blogs/machine-learning/best-practices-for-amazon-sagemaker-training-managed-warm-pools/