Найкращі практики для Amazon SageMaker Training Managed Warm Pools

Amazon SageMaker Training Managed Warm Pools дає вам можливість повторно використовувати базову інфраструктуру та зберігати її протягом визначеного користувачем періоду часу. Це робиться, а також зберігається перевага передачі недиференційованої важкої роботи з керування обчислювальними екземплярами до Навчання моделі Amazon SageMaker. У цьому дописі ми окреслюємо ключові переваги та проблеми, на які звертаються SageMaker Training Managed Warm Pools, а також контрольні показники та найкращі практики.

Огляд керованих теплих басейнів SageMaker Training

SageMaker Model Training — це повністю керована функція, яка запускає екземпляри для кожного завдання, навчає модель, запускає і потім обертає екземпляри після завдання. Вам виставляється рахунок лише за тривалість роботи до секунди. Ця повністю керована можливість дає вам свободу зосередитися на своєму алгоритмі машинного навчання (ML) і не турбуватися про недиференційовану важку роботу, як-от керування інфраструктурою, під час навчання ваших моделей.

Цей механізм вимагає обмеженого часу запуску для навчального завдання. Хоча цей час запуску, також відомий як час запуску холодного старту, є досить низьким, деякі з наших найвибагливіших випадків використання клієнтів вимагають навіть меншого часу запуску, наприклад менше 20 секунд. Є два відомі випадки використання, які мають такі вимоги:

  • По-перше, це активні експерименти з машинним моделюванням науковцями з обробки даних за допомогою Amazon SageMaker навчальну платформу, особливо під час навчання великих моделей, таких як GPT3, які вимагають кількох ітерацій, щоб перейти до стану готовності до виробництва.
  • По-друге, це програмний запуск великої кількості (порядку кількох сотень або тисяч) послідовних завдань в однакових екземплярах за розкладом. Наприклад, пошук параметрів або поступове навчання.

Для таких випадків використання кожна секунда, витрачена на накладні витрати, як час запуску для навчальної роботи, має кумулятивний вплив на всі ці роботи.

Завдяки керованим теплим пулам SageMaker Training науковці та інженери 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, швидкий файловий режим, файловий режим). Тести проводилися на різноманітних типах екземплярів сімейств m4, c4, m5 і c5 у регіоні us-east-2. Затримку запуску вимірювали як час створення завдання до початку фактичного навчального завдання на примірниках. Перші завдання, які запускали кластер і створювали теплий пул, мали затримку запуску 2–3 хвилини. Ця більша затримка пояснюється часом, який витрачається на створення інфраструктури, завантаження зображення та завантаження даних. Послідовні завдання, які використовували кластер теплого пулу, мали затримку запуску приблизно 20 секунд для швидкого файлового режиму (FFM) або Amazon FSx і 70 секунд для файлового режиму (FM). Ця дельта є результатом FM, який вимагає завантаження всього набору даних з Amazon S3 перед початком роботи.

Ваш вибір режиму введення тренувальних даних впливає на час запуску, навіть з Warm Pools. Інструкції щодо того, який режим введення вибрати, наведено в розділі передових практик далі в цій публікації.

У наведеній нижче таблиці підсумовано затримку запуску завдання P90 для різних режимів введення навчальних даних.

Режим введення даних Затримка запуску P90 (секунди)
Перша робота Вакансії з теплим басейном (починаючи з другої роботи)
FSx 136 19
Швидкий файловий режим 143 21
Файловий режим 176 70

Кращі практики використання теплих басейнів

У наступному розділі ми поділимося кращими практиками використання теплих басейнів.

Коли слід користуватися теплими басейнами?

Теплі басейни рекомендуються в таких випадках:

  • Ви інтерактивно експериментуєте та налаштовуєте свій сценарій за допомогою серії коротких завдань.
  • Ви використовуєте свою власну масштабну оптимізацію гіперпараметрів (наприклад, Мелодія Syne).
  • У вас є пакетний процес, який виконує велику кількість (порядку кількох сотень або тисяч) послідовних завдань для одного типу екземплярів щодня або щотижня. Наприклад, навчання моделі ML для кожного міста.

Теплі пули не рекомендуються, якщо малоймовірно, що хтось повторно використає теплий пул до закінчення терміну дії. Наприклад, одне тривале завдання, яке виконується через автоматизований конвеєр ML.

Мінімізуйте затримку запуску завдання навчання теплого пулу

Навчальні завдання, які повторно використовують теплий пул, починаються швидше, ніж перше завдання, яке створило теплий пул. Це пов’язано з тим, що екземпляри ML запущені між завданнями за допомогою кешованого навчального контейнера Docker-зображення, щоб пропустити вилучення контейнера з Реєстр контейнерів Amazon Elastic (Amazon ECR). Однак навіть при повторному використанні теплого пулу певні кроки ініціалізації відбуваються для всіх завдань. Оптимізація цих кроків може скоротити час запуску вашого завдання (як першого, так і наступних завдань). Зверніть увагу на наступне:

  • Режим введення даних навчання може впливати на час запуску – Керовані канали введення даних навчання відтворюються для кожного навчального завдання, що сприяє затримці запуску завдання. Таким чином, проведення початкових експериментів на меншому наборі даних забезпечить швидший час запуску (і швидший час навчання). На наступних етапах експерименту, коли потрібен великий набір даних, розгляньте можливість використання типу режиму введення, який має мінімальний або фіксований час ініціалізації. Наприклад, режим введення ФАЙЛ копіює весь набір даних з Служба простого зберігання Amazon (Amazon S3) до екземпляра навчання, що займає багато часу для великих наборів даних (навіть із теплими пулами). Швидкий файловий режим краще підходить для меншої затримки запуску, оскільки перед початком робочого навантаження з Amazon S3 потрібно прочитати лише метадані об’єкта S3. The Amazon FSx для Lusterабо Еластична файлова система Amazon Режим введення файлової системи (Amazon EFS) має фіксований час ініціалізації незалежно від кількості файлів у файловій системі, що корисно при роботі з великим набором даних.
    Додаткову інформацію про те, як вибрати вхідний канал, див Виберіть найкраще джерело даних для навчальної роботи Amazon SageMaker.
  • Скоротіть час виконання встановлення пакетів – Будь-яке встановлення програмного забезпечення, яке відбувається під час запуску контейнера, наприклад pip Python або apt-get операційної системи, збільшить затримку завдань навчання. Зведення до мінімуму цієї затримки запуску вимагає компромісу між гнучкістю та простотою встановлення під час виконання та встановленням під час збирання контейнера. Якщо ви використовуєте власний контейнер Docker із SageMaker, див Адаптація вашого власного контейнера Docker для роботи з SageMaker. Якщо ви покладаєтеся на готові зображення контейнерів SageMaker, вам потрібно буде розширити попередньо зібраний контейнер і явно керувати цими контейнерами. Враховуйте це, якщо ваші інсталяції середовища виконання значно збільшують затримку запуску.
  • Уникайте частого оновлення образу Docker – Якщо ви використовуєте власний контейнер Docker із SageMaker, намагайтеся не оновлювати його під час кожного запуску завдання. Якщо зображення Docker змінюється між надсиланнями завдань, теплий пул буде використано повторно, але в процесі запуску потрібно буде повторно отримати зображення контейнера з Amazon ECR замість повторного використання кешованого зображення контейнера. Якщо потрібно оновити образ Docker, обмежте оновлення останнім шаром Docker, щоб скористатися перевагами кешування рівня Docker. В ідеалі вам слід видалити вміст Dockerfile, який може змінюватися під час ітерацій, як-от гіперпараметри, визначення набору даних і сам код ML. Щоб повторювати код ML без необхідності перебудовувати образи Docker із кожною зміною, ви можете прийняти парадигму фреймворку-контейнера, запропоновану в SageMaker Training Toolkit. Якщо ви хочете розробити фреймворк-контейнер із власним кодом, зверніться до цього Посібник Amazon SageMaker.

Поділіться теплими басейнами між кількома користувачами

Працюючи з великою командою дослідників даних, ви можете поділитися теплими басейнами, які мають відповідність критеріям роботи, наприклад те саме Управління ідентифікацією та доступом AWS (IAM) роль або зображення контейнера.

Давайте розглянемо приклад хронології. Користувач-1 починає навчальну роботу, яка завершується та створює новий теплий пул. Коли користувач-2 починає навчальне завдання, воно повторно використовуватиме наявний теплий пул, що призведе до швидкого запуску завдання. Поки виконується завдання користувача 2 із використанням теплого пулу, якщо інший користувач розпочне навчальне завдання, буде створено другий теплий пул.

Така поведінка повторного використання допомагає зменшити витрати за рахунок спільного використання гарячих пулів між користувачами, які починають подібні роботи. Якщо ви хочете уникнути спільного використання теплих басейнів між користувачами, то робочі місця користувачів не повинні мати відповідність критеріям роботи (наприклад, вони повинні використовувати іншу роль IAM).

Повідомити користувачів про завершення роботи

Використовуючи теплі басейни для експериментів, ми рекомендуємо сповістити користувачів, коли їх робота буде завершена. Це дозволяє користувачам відновити експерименти до закінчення терміну дії теплого басейну або СТОП теплий басейн, якщо він більше не потрібен. Ви також можете автоматично активувати сповіщення через Amazon EventBridge.

Додаткові інструменти для швидкого експериментування та навчання з усунення несправностей

З теплими басейнами ви можете почати роботу менш ніж за 20 секунд. Деякі сценарії вимагають практичних інтерактивних експериментів і усунення несправностей у реальному часі. Відкритий код Допоміжна бібліотека SSH SageMaker дозволяє вставляти в навчальний контейнер SageMaker і проводити віддалену розробку та налагодження.

Висновок

За допомогою SageMaker Training Managed Warm Pools ви можете підтримувати нагрівання екземплярів навчального апаратного забезпечення вашої моделі після кожної роботи протягом визначеного періоду. Це може зменшити затримку запуску для завдання з навчання моделі до 8 разів. Керовані теплі басейни SageMaker Training доступні в усіх публічних регіонах AWS, де доступне навчання SageMaker Model Training.

Для початку див Тренуйтеся за допомогою керованих теплих басейнів SageMaker.


Про авторів

Ромі ДаттаДоктор Ромі Датта  є старшим менеджером із управління продуктами в команді Amazon SageMaker, відповідальним за навчання, обробку та зберігання функцій. Він працює в AWS понад 4 роки, обіймаючи кілька керівних посад у сфері управління продуктами в SageMaker, S3 та IoT. До AWS він працював на різних посадах з управління продуктами, розробкою та операційним керівництвом у IBM, Texas Instruments і Nvidia. Він має ступінь магістра та доктора філософії. в галузі електротехніки та комп’ютерної інженерії в Техаському університеті в Остіні та ступінь магістра ділового адміністрування в Школі бізнесу Чиказького Бут.

Найкращі практики для Amazon SageMaker Training Керовані теплі пули PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Арун Нагараджан є головним інженером команди Amazon SageMaker, який зосереджується на сферах навчання та MLOps. Він працював у команді SageMaker з року запуску, із задоволенням брав участь у різних сферах SageMaker, включаючи продукти висновків у реальному часі та Model Monitor. Йому подобається досліджувати природу на північному заході Тихого океану та підніматися в гори.

Найкращі практики для Amazon SageMaker Training Керовані теплі пули PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Емі Ти є менеджером з розробки програмного забезпечення в AWS SageMaker. Вона зосереджується на об’єднанні команди інженерів програмного забезпечення для створення, підтримки та розвитку нових можливостей навчальної платформи SageMaker, яка допомагає клієнтам навчати свої моделі ML ефективніше та легше. Вона захоплюється технологіями машинного навчання та штучного інтелекту, особливо пов’язаними з іміджем і баченням, ще в аспірантурі. У вільний час вона любить займатися музикою та мистецтвом зі своєю родиною.

Найкращі практики для Amazon SageMaker Training Керовані теплі пули PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai. Сіфей Лі є інженером-програмістом в Amazon AI, де вона працює над створенням платформ машинного навчання Amazon і була частиною команди запуску Amazon SageMaker. У вільний час вона любить музикувати та читати.

Найкращі практики для Amazon SageMaker Training Керовані теплі пули PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Дженна Чжао є інженером із розробки програмного забезпечення в AWS SageMaker. Вона захоплюється технологіями ML/AI і зосереджується на створенні навчальної платформи SageMaker, яка дозволяє клієнтам швидко й легко навчати моделі машинного навчання. Поза роботою вона любить подорожувати та проводити час із сім’єю.

Найкращі практики для Amazon SageMaker Training Керовані теплі пули PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Парас Мехра є старшим менеджером із продуктів в AWS. Він зосереджений на тому, щоб допомогти створити навчання та обробку Amazon SageMaker. У вільний час Парас любить проводити час із сім’єю та кататися на велосипеді районом затоки. Ви можете знайти його на LinkedIn.

Найкращі практики для Amazon SageMaker Training Керовані теплі пули PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Гілі Нахум є старшим архітектором рішень спеціаліста зі штучного інтелекту/ML, який працює в команді Amazon Machine Learning у регіоні EMEA. Джілі захоплюється проблемами навчання моделей глибокого навчання та тим, як машинне навчання змінює світ, яким ми його знаємо. У вільний час Гілі любить грати в настільний теніс.

Найкращі практики для Amazon SageMaker Training Керовані теплі пули PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Олів'є Крюшан є спеціалістом з машинного навчання архітектором рішень у AWS, що базується у Франції. Олів’є допомагає клієнтам AWS – від невеликих стартапів до великих підприємств – розробляти та впроваджувати програми машинного навчання виробничого рівня. У вільний час він любить читати наукові роботи та досліджувати пустелю з друзями та родиною.

Найкращі практики для Amazon SageMaker Training Керовані теплі пули PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Емілі Веббер приєднався до AWS відразу після запуску SageMaker і з тих пір намагається розповісти про це всьому світу! Крім створення нових можливостей ML для клієнтів, Емілі любить медитувати та вивчати тибетський буддизм.

Часова мітка:

Більше від AWS Машинне навчання