Заощаджуйте витрати шляхом автоматичного вимкнення простоїв ресурсів у Amazon SageMaker Studio

Вихідний вузол: 1854620

Студія Amazon SageMaker надає уніфікований візуальний веб-інтерфейс, де можна виконувати всі етапи розробки машинного навчання (ML), що робить команди з обробки даних у 10 разів більш продуктивними. Studio надає вам повний доступ, контроль і видимість кожного кроку, необхідного для створення, навчання та розгортання моделей. Блокноти Studio — це блокноти для спільної роботи, які можна швидко запустити, оскільки вам не потрібно налаштовувати обчислювальні екземпляри та сховище файлів заздалегідь. Amazon SageMaker – це повністю керована послуга, яка пропонує можливості, які абстрагують важку роботу з управління інфраструктурою та забезпечують гнучкість і масштабованість, які ви бажаєте для великомасштабних операцій машинного навчання з різними функціями та оплатою за використання модель ціноутворення.

У цій публікації ми демонструємо, як зробити наступне:

  • Виявляйте та зупиняйте неактивні ресурси, які спричиняють витрати в Studio, використовуючи автоматичне відключення розширення Jupyter, яке можна встановити як вручну, так і автоматично
  • Увімкніть сповіщення про події, щоб відстежувати профілі користувачів у доменах Studio, у яких не встановлено розширення автоматичного вимкнення
  • Для керування використовуйте встановлене розширення автоматичного вимкнення Amazon SageMaker Data Wrangler витрати шляхом автоматичного вимкнення екземплярів, що може призвести до більших витрат, ніж очікувалося

Компоненти студії

У Studio запущені блокноти контейнеризовані окремо від інтерфейсу користувача JupyterServer, щоб відокремити розміри обчислювальної інфраструктури. Ноутбук Studio працює в середовищі, визначеному таким чином:

  • Тип екземпляра – Базова конфігурація апаратного забезпечення, яка визначає ставку ціноутворення. Це включає кількість і тип процесорів (vCPU і GPU), а також обсяг і тип пам’яті.
  • Зображення SageMaker – Сумісний образ контейнера (наданий SageMaker або спеціальний), який містить ядро ​​ноутбука. Зображення визначає, які специфікації ядра воно пропонує, наприклад, вбудоване ядро ​​Python 3 (Data Science).
  • Програма шлюзу ядра SageMaker – Запущений екземпляр зображення контейнера для певного типу екземпляра. Кілька програм можуть спільно використовувати запущений екземпляр.
  • Виконується сеанс ядра – Процес, який перевіряє та запускає код, що міститься в блокноті. Кілька відкритих блокнотів (ядер) однієї специфікації та типу екземпляра відкриваються в одній програмі.

Інтерфейс користувача Studio працює як окрема програма типу JupyterServer замість KernelGateway, який дозволяє перемикати відкритий блокнот на різні ядра або типи екземплярів з інтерфейсу користувача Studio. Для отримання додаткової інформації про те, як працює ядро ​​ноутбука по відношенню до KernelGateway додаток, користувач і домен Studio див Використання ноутбуків Amazon SageMaker Studio.

Оплата студії

Додаткова плата за користування Studio не стягується. Витрати, пов’язані з використанням ноутбуків Studio, інтерактивних оболонок, консолей і терміналів, базуються на використанні типу екземпляра Studio. Інформацію про виставлення рахунків разом із прикладами ціноутворення див Ціни на Amazon SageMaker.

Коли ви запускаєте блокнот Studio, інтерактивну оболонку або термінал зображень у Studio, ви повинні вибрати ядро ​​та тип екземпляра. Ці ресурси запускаються за допомогою екземпляра Studio на основі вибраного типу в інтерфейсі користувача. Якщо екземпляр такого типу був запущений раніше та доступний, ресурс запускається на цьому екземплярі. Для зображень на базі ЦП типовим типом екземпляра є ml.t3.medium. Для зображень на основі графічного процесора типовим типом екземпляра є ml.g4dn.xlarge. Понесені витрати залежать від типу екземпляра, і вам виставляється оплата окремо за кожен екземпляр. Вимірювання починається, коли створюється екземпляр, і закінчується, коли всі програми в екземплярі закрито або екземпляр закрито.

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

Ви можете закрити відкритий блокнот із Studio філе меню або з Запущений термінал і ядра панель. The Запуск терміналів та ядер панель складається з чотирьох секцій. Кожен розділ містить список усіх ресурсів цього типу. Ви можете закрити кожен ресурс окремо або закрити всі ресурси в розділі одночасно. Коли ви вирішили вимкнути всі ресурси в розділі, відбувається таке:

  • Запущені екземпляри/запущені програми – Усі екземпляри, програми, блокноти, сеанси ядра, сеанси Data Wrangler, консолі чи оболонки та термінали зображень закрито. Системні термінали не вимикаються. Виберіть цю опцію, щоб припинити нарахування всіх витрат.
  • Сеанси ядра – Усі ядра, ноутбуки та консолі чи оболонки закрито.
  • Термінальні сесії – Усі термінали зображення та системні термінали вимкнено.

Щоб вимкнути ресурси, на лівій бічній панелі виберіть Запуск терміналів та ядер значок. Щоб закрити певний ресурс, виберіть Power значок у тому ж рядку, що й ресурс.

Для запущених екземплярів діалогове вікно підтвердження містить список усіх ресурсів, які буде закрито. Для запущених програм відображається діалогове вікно підтвердження. Виберіть Закрити все продовжити. Діалогове вікно підтвердження для сеансів ядра або сеансів терміналу не відображається. Щоб закрити всі ресурси в розділі, виберіть X праворуч від мітки розділу. Відобразиться діалогове вікно підтвердження. Виберіть Закрити все продовжити.

Автоматично вимикайте неактивні ядра за допомогою розширення JupyterLab

Замість того, щоб покладатися на те, що користувачі вимкнуть ресурси, якими вони більше не користуються, ви можете використовувати розширення Auto-shutdown Studio, щоб автоматично виявляти та вимикати неактивні ресурси, заощаджуючи витрати. Розширення JupyterLab це прості додаткові компоненти, які розширюють базову функціональність середовища ноутбука. Розширення автоматично вимикає ядра, програми та екземпляри, запущені в Studio, якщо вони неактивні протягом визначеного періоду часу. Ви можете візуально налаштувати порогове значення часу простою (у хвилинах) через інтерфейс користувача. Після того, як ядра простояли досить довго, розширення автоматично вимикає їх. Інструкції щодо завантаження та встановлення розширення див GitHub репо.

Ви можете встановити розширення автоматично під час запуску JupyterServer, якщо ви використовуєте Управління ідентифікацією та доступом AWS (IAM) автентифікації для своїх користувачів або зробіть це вручну, якщо ви використовуєте автентифікацію єдиного входу (SSO).

Після встановлення розширення воно відображається у вигляді значка на лівій бічній панелі інтерфейсу Studio. Ви можете налаштувати обмеження часу простою за допомогою інтерфейсу користувача, який надає це розширення. Інструкції зі встановлення надаються в репозиторії GitHub.

Параметр обмеження часу простою призначений для встановлення часу, після якого незадіяні ресурси без активних сеансів блокнота вимикаються. За замовчуванням встановлено ліміт часу простою 120 хв.

Обмеження та усунення несправностей

Розширення автоматичного вимкнення має такі обмеження:

  • Розширення не відстежує активність на відкритих терміналах. Наприклад, якщо ваші ядра неактивні протягом часу, який ви налаштували, але термінали ні, розширення вимикає термінали та ядра.
  • Ви повинні перевстановити розширення та налаштувати обмеження часу простою, якщо ви видалите JupyterServer на консолі SageMaker Studio та створіть його заново. Це не є обмеженням, якщо ви використовуєте автоматичне встановлення.

Ви можете перевірити логіни розширення Amazon CloudWatch під /aws/sagemaker/studio групу журналу та, пройшовши через <Studio_domain>/<user_profile>/JupyterServer/default потік журналу.

Засіб перевірки розширення для автоматичного вимкнення Studio

На наведеній нижче схемі показано, як увімкнути сповіщення електронною поштою для відстеження неактивних ресурсів, що працюють у кількох профілях користувачів, які знаходяться в Studio.

Незалежно від того, як ви встановлюєте розширення автоматичного вимкнення у своєму домені Studio, адміністратори можуть захотіти відстежувати та сповіщати користувачів, які працюють без нього. Щоб допомогти відстежити відповідність і оптимізувати витрати, ви можете дотримуватись інструкцій у GitHub репо щоб налаштувати перевірку розширень автоматичного вимкнення та ввімкнути сповіщення про події.

Відповідно до діаграми архітектури, a Правило подій CloudWatch запускається за періодичним розкладом (наприклад, щогодини або щоночі). Щоб створити правило, ми вибираємо фіксований розклад і вказуємо, як часто виконується завдання. Для нашої цілі ми вибираємо AWS Lambda функція, яка періодично перевіряє, чи в усіх профілях користувачів у домені Studio встановлено розширення для автоматичного вимкнення чи ні. Ця функція збирає імена профілів користувачів, які не відповідають цій вимозі.

Потім профілі користувачів направляються до Служба простих сповіщень Amazon (Amazon SNS), на яку адміністратори Studio та інші зацікавлені сторони можуть підписатися, щоб отримувати сповіщення (наприклад, електронною поштою або через Slack). На наступному знімку екрана показано сповіщення електронною поштою, у якому профілі користувача user-w та user-y в межах домену SageMaker d-bo6udbiz4vmi не встановили розширення автоматичного вимкнення.

Автоматичне відключення ресурсів Data Wrangler

Щоб детальніше продемонструвати, як працює розширення автоматичного вимкнення, давайте поглянемо на це з точки зору Data Wrangler у Studio. Data Wrangler — це нова функція SageMaker, яка дозволяє науковцям та інженерам швидше готувати дані для програм ML за допомогою візуального інтерфейсу.

Коли ви запускаєте Data Wrangler із Studio, він автоматично запускає ml.m5.4xlarge екземпляр і запускає ядро, використовуючи цей екземпляр. Коли ви не використовуєте Data Wrangler, важливо вимкнути екземпляр, на якому він працює, щоб уникнути додаткових зборів.

Data Wrangler автоматично зберігає ваш потік даних кожні 60 секунд. Щоб уникнути втрати роботи, збережіть потік даних вручну, перш ніж вимикати Data Wrangler. Для цього виберіть філе а потім виберіть Збереження потоку даних Wrangler.

Щоб вимкнути екземпляр Data Wrangler у Studio, виберіть Запуск екземплярів та ядер значок. Під Запуск додатків, locate sagemaker-data-wrangler-1.0 додаток Виберіть Power поруч із цією програмою.

Виконання цих кроків вручну може бути громіздким, і про це легко забути. Завдяки розширенню автоматичного вимкнення ви можете переконатися, що неактивні ресурси, що живлять Data Wrangler, обережно вимикаються, щоб уникнути додаткових витрат на SageMaker.

Висновок

У цьому дописі ми продемонстрували, як зменшити витрати на SageMaker за допомогою розширення Jupyter для автоматичного вимкнення, щоб вимкнути неактивні ресурси, запущені в Studio. Ми також показали, як налаштувати засіб перевірки розширень для автоматичного вимкнення та ввімкнути сповіщення про події для відстеження профілів користувачів у Studio, які не встановили розширення. Нарешті, ми показали, як розширення може зменшити витрати на Data Wrangler, вимкнувши неактивні ресурси, що живлять Data Wrangler.

Додаткову інформацію про оптимізацію використання ресурсів і витрат див Правильний розмір ресурсів та уникнення зайвих витрат у Amazon SageMaker.

Якщо у вас є коментарі чи запитання, залиште їх у розділі коментарів.


Про авторів

Арунпрасат Шанкар є архітектором спеціалізованих рішень із штучного інтелекту та машинного навчання (AI / ML) з AWS, допомагаючи світовим клієнтам ефективно та ефективно масштабувати свої рішення в галузі ШІ в хмарі. У вільний час Арун із задоволенням дивиться науково-фантастичні фільми та слухає класичну музику.

 Андраш Гарсо є архітектором рішень ML у команді AWS AI Platforms і допомагає клієнтам перейти на SageMaker, застосувати найкращі практики та заощадити кошти.

Паван Кумар Сундер є старшим інженером з досліджень і розробок Amazon Web Services. Він надає технічне керівництво та допомагає клієнтам прискорити свою здатність до інновацій, демонструючи мистецтво можливого на AWS. Він створив кілька прототипів на основі AI/ML, IoT та робототехніки для наших клієнтів.

Алекс Тьюзі є архітектором спеціалістів з машинного навчання в AWS, що базується в Сінгапурі. Алекс допомагає клієнтам по всій Південно-Східній Азії розробляти та впроваджувати рішення за допомогою AI та ML. Він також любить картинг, працює з проектами з відкритим кодом та намагається не відставати від нових досліджень ML.

Джерело: https://aws.amazon.com/blogs/machine-learning/save-costs-by-automatically-shutting-down-idle-resources-within-amazon-sagemaker-studio/

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

Більше від Блог машинного навчання AWS