Команда SDK для Amazon SageMaker Python це бібліотека з відкритим кодом для навчання та розгортання моделей машинного навчання (ML). Amazon SageMaker. Корпоративні клієнти в таких жорстко контрольованих галузях, як охорона здоров’я та фінанси, встановлюють захисні огорожі, щоб їхні дані були зашифровані й трафік не проходив через Інтернет. Щоб навчання SageMaker і розгортання моделей машинного навчання відповідали цим запобіжним запобіжним засобам, зазвичай встановлюються обмеження в обліковому записі або Організації AWS через політики контролю послуг і Управління ідентифікацією та доступом AWS (IAM) політики для забезпечення використання певних ролей IAM, Віртуальна приватна хмара Amazon (Amazon VPC) конфігурації та Служба управління ключами AWS (AWS KMS). У таких випадках дослідники даних мають надати ці параметри своїй моделі навчання та коду розгортання ML вручну, занотувавши підмережі, групи безпеки та ключі KMS. Це покладає на дослідників даних обов’язок не забути вказати ці конфігурації, щоб успішно виконувати свої завдання та уникати помилок «Доступ заборонено».
Починаючи з SageMaker Python SDK версії 2.148.0, тепер ви можете налаштувати значення за замовчуванням для таких параметрів, як ролі IAM, VPC і ключі KMS. Адміністратори та кінцеві користувачі можуть ініціалізувати примітиви інфраструктури AWS зі значеннями за замовчуванням, указаними у файлі конфігурації у форматі YAML. Після налаштування Python SDK автоматично успадковує ці значення та поширює їх на основні виклики API SageMaker, такі як CreateProcessingJob()
, CreateTrainingJob()
та CreateEndpointConfig()
, без додаткових дій. SDK також підтримує декілька файлів конфігурації, дозволяючи адміністраторам установлювати файл конфігурації для всіх користувачів, а користувачі можуть змінювати його за допомогою конфігурації на рівні користувача, яку можна зберігати в Служба простого зберігання Amazon (Amazon S3), Еластична файлова система Amazon (Amazon EFS) для Студія Amazon SageMakerабо локальна файлова система користувача.
У цій публікації ми покажемо вам, як створити та зберегти файл конфігурації за замовчуванням у Studio та використовувати функцію SDK за замовчуванням для створення ресурсів SageMaker.
Огляд рішення
Ми демонструємо цю нову функцію з кінця в кінець AWS CloudFormation шаблон, який створює необхідну інфраструктуру та створює домен Studio в розгорнутому VPC. Крім того, ми створюємо ключі KMS для шифрування томів, які використовуються в завданнях навчання та обробки. Кроки такі:
- Запустіть стек CloudFormation у своєму обліковому записі. Крім того, якщо ви хочете вивчити цю функцію в існуючому домені SageMaker або блокноті, пропустіть цей крок.
- Заповніть
config.yaml
файл і збережіть файл у розташуванні за замовчуванням. - Запустіть зразок блокнота з наскрізним сценарієм використання ML, включаючи обробку даних, навчання моделі та висновки.
- Перевизначити значення конфігурації за замовчуванням.
Передумови
Перш ніж почати, переконайтеся, що у вас є обліковий запис AWS і користувач або роль IAM з правами адміністратора. Якщо ви фахівець із обробки даних і зараз передаєте параметри інфраструктури ресурсам у своєму блокноті, ви можете пропустити наступний крок налаштування свого середовища та розпочати створення файлу конфігурації.
Щоб скористатися цією функцією, обов’язково оновіть версію SDK SageMaker, запустивши pip install --upgrade sagemaker
.
Налаштуйте середовище
Щоб розгорнути повну інфраструктуру, включаючи мережу та домен Studio, виконайте такі кроки:
- Клонуйте GitHub сховище.
- Увійдіть у свій обліковий запис AWS і відкрийте консоль AWS CloudFormation.
- Щоб розгорнути мережеві ресурси, виберіть Створити стек.
- Завантажте шаблон у
setup/vpc_mode/01_networking.yaml
. - Введіть назву для стека (наприклад,
networking-stack
) і виконайте решту кроків, щоб створити стек. - Виберіть, щоб розгорнути домен Studio Створити стек знову.
- Завантажте шаблон у
setup/vpc_mode/02_sagemaker_studio.yaml
. - Введіть назву для стека (наприклад,
sagemaker-stack
) і введіть назву мережевого стеку, коли буде запропоновано ввестиCoreNetworkingStackName
параметр. - Виконайте решту кроків, виберіть підтвердження для ресурсів IAM і створіть стек.
Коли статус обох стеків оновлюється до CREATE_COMPLETE, перейдіть до наступного кроку.
Створіть файл конфігурації
Щоб використовувати конфігурацію за замовчуванням для SDK SageMaker Python, ви створюєте файл config.yaml у форматі, який очікує SDK. Формат файлу config.yaml див Структура файлу конфігурації. Залежно від вашого робочого середовища, як-от блокноти Studio, екземпляри блокнотів SageMaker або ваша локальна IDE, ви можете зберегти файл конфігурації в розташуванні за замовчуванням або замінити значення за замовчуванням, передавши розташування файлу конфігурації. Розташування за замовчуванням для інших середовищ див Розташування файлів конфігурації. Наступні кроки демонструють налаштування для середовища ноутбука Studio.
Щоб легко створити config.yaml
файл, запустіть наступні комірки в системному терміналі Studio, замінивши заповнювачі іменами стеків CloudFormation із попереднього кроку:
Цей сценарій автоматично заповнює файл YAML, замінюючи заповнювачі стандартними параметрами інфраструктури, і зберігає файл у домашній папці. Потім він копіює файл у стандартне розташування для блокнотів Studio. Отриманий файл конфігурації має виглядати приблизно в такому форматі:
Якщо у вас уже є домен і мережева конфігурація, створіть config.yaml
файл у потрібному форматі та збережіть його в папці за замовчуванням для блокнотів Studio.
Зауважте, що ці параметри за замовчуванням просто автоматично заповнюють значення конфігурації для відповідних викликів SDK SageMaker і не прив’язують користувача до певної VPC, підмережі чи ролі. Як адміністратор, якщо ви хочете, щоб ваші користувачі використовували певну конфігурацію або роль, використовуйте Ключі стану IAM щоб застосувати значення за замовчуванням.
Крім того, кожен виклик API може мати власні конфігурації. Наприклад, у попередньому прикладі конфігураційного файлу ви можете вказати vpc-a
та subnet-a
для навчальних робочих місць, та вказ vpc-b
та subnet-c
, subnet-d
для обробки робочих місць.
Виконайте зразок зошита
Тепер, коли ви встановили файл конфігурації, ви можете почати запускати блокноти для побудови моделей і навчання як зазвичай, без необхідності явно встановлювати параметри мережі та шифрування для більшості функцій SDK. Побачити Підтримувані API та параметри повний список підтримуваних викликів і параметрів API.
У Studio виберіть піктограму File Explorer на навігаційній панелі та відкрийте 03_feature_engineering/03_feature_engineering.ipynb
, як показано на наступному знімку екрана.
Запустіть комірки блокнота одну за одною та зверніть увагу, що ви не вказуєте жодної додаткової конфігурації. Коли ви створюєте об’єкт процесора, ви побачите виходи клітинок, як у наступному прикладі.
Як ви бачите у вихідних даних, конфігурація за замовчуванням автоматично застосовується до завдання обробки, не потребуючи додаткових вводів від користувача.
Коли ви запускаєте наступну комірку для запуску процесора, ви також можете перевірити, чи встановлено значення за замовчуванням, переглянувши завдання на консолі SageMaker. Виберіть Обробка робочих місць при Обробка на панелі навігації, як показано на наступному знімку екрана.
Виберіть завдання обробки з префіксом end-to-end-ml-sm-proc
, і ви зможете переглянути вже налаштовану мережу та шифрування.
Ви можете продовжити роботу з блокнотами, що залишилися, для навчання та розгортання моделі, і ви помітите, що параметри інфраструктури за замовчуванням автоматично застосовуються як для навчальних завдань, так і для моделей.
Замінити файл конфігурації за замовчуванням
Можуть бути випадки, коли користувачеві потрібно змінити конфігурацію за замовчуванням, наприклад, щоб поекспериментувати з публічним доступом до Інтернету, або оновити конфігурацію мережі, якщо в підмережі закінчилися IP-адреси. У таких випадках Python SDK також дозволяє вам надати спеціальне розташування для файлу конфігурації, або в локальному сховищі, або ви можете вказати розташування в Amazon S3. У цьому розділі ми розглянемо приклад.
Відкрийте user-configs.yaml
файл у вашому домашньому каталозі та оновіть EnableNetworkIsolation
цінність до True
Під TrainingJob
.
Тепер відкрийте той самий блокнот і додайте таку клітинку на початок блокнота:
За допомогою цієї комірки ви вказуєте розташування файлу конфігурації на SDK. Тепер, коли ви створюєте об’єкт процесора, ви помітите, що конфігурацію за замовчуванням було замінено, щоб увімкнути ізоляцію мережі, і завдання обробки не вдасться виконати в режимі ізоляції мережі.
Ви можете використовувати ту саму змінну середовища для встановлення розташування файлу конфігурації, якщо ви використовуєте локальне середовище, наприклад VSCode.
Налагодження та відновлення стандартних значень
Для швидкого усунення несправностей, якщо ви зіткнетеся з будь-якими помилками під час виконання викликів API із свого блокнота, вихід клітинки відображає застосовані конфігурації за замовчуванням, як показано в попередньому розділі. Щоб переглянути точний виклик Boto3, створений для перегляду значень атрибутів, переданих із файлу конфігурації за замовчуванням, ви можете налагодити, увімкнувши журналювання Boto3. Щоб увімкнути журналювання, запустіть таку клітинку у верхній частині блокнота:
Будь-які наступні виклики Boto3 реєструватимуться разом із повним запитом, видимим у розділі «Тіло» журналу.
Ви також можете переглянути колекцію стандартних конфігурацій за допомогою session.sagemaker_config
значення, як показано в наступному прикладі.
Нарешті, якщо ви використовуєте Boto3 для створення ресурсів SageMaker, ви можете отримати значення конфігурації за замовчуванням за допомогою sagemaker_config
змінна. Наприклад, щоб запустити завдання обробки 03_feature_engineering.ipynb
використовуючи Boto3, ви можете ввести вміст наступної комірки в тому ж блокноті та запустити комірку:
Автоматичне створення конфігураційного файлу
Для адміністраторів створення файлу конфігурації та збереження файлу в кожному екземплярі блокнота SageMaker або профілі користувача Studio може бути складним завданням. Хоча ви можете рекомендувати користувачам використовувати звичайний файл, який зберігається в розташуванні S3 за замовчуванням, це створює додаткові накладні витрати на вказівку перевизначення для дослідників даних.
Щоб автоматизувати це, адміністратори можуть використовувати SageMaker Lifecycle Configurations (LCC). Для профілів користувачів Studio або екземплярів блокнота ви можете прикріпити наведений нижче зразок сценарію LCC як LCC за замовчуванням для програми користувача Jupyter Server за замовчуванням:
Читати Використовуйте конфігурації життєвого циклу для Amazon SageMaker Studio or Налаштування екземпляра блокнота для інструкцій щодо створення та налаштування сценарію життєвого циклу за умовчанням.
Прибирати
Коли ви закінчите експериментувати з цією функцією, очистіть свої ресурси, щоб уникнути додаткових витрат. Якщо ви підготували нові ресурси, як зазначено в цій публікації, виконайте наведені нижче дії, щоб очистити свої ресурси:
- Закрийте програми Studio для профілю користувача. Побачити Вимкніть і оновіть SageMaker Studio та програми Studio для інструкцій. Перш ніж видаляти стек, переконайтеся, що всі програми видалено.
- Видаліть том EFS, створений для домену Studio. Ви можете переглянути том EFS, приєднаний до домену, за допомогою a Описати домен Виклик API.
- Видаліть стек домену Studio.
- Видаліть групи безпеки, створені для домену Studio. Ви можете знайти їх на Обчислювальна хмара Amazon Elastic (Amazon EC2) консоль з іменами security-group-for-inbound-nfs-d-xxx і security-group-for-outbound-nfs-d-xxx
- Видаліть мережевий стек.
Висновок
У цій публікації ми обговорили налаштування та використання значень за замовчуванням для ключових параметрів інфраструктури за допомогою SDK SageMaker Python. Це дозволяє адміністраторам встановлювати конфігурації за замовчуванням для спеціалістів із обробки даних, тим самим економлячи час для користувачів і адміністраторів, усуваючи тягар повторного вказівки параметрів і створюючи більш компактний і керований код. Повний список підтримуваних параметрів і API див Налаштування та використання стандартних параметрів за допомогою SDK SageMaker Python. З будь-яких питань та обговорень приєднуйтесь до Спільнота машинного навчання та ШІ.
Про авторів
Джузеппе Анджело Порчеллі є головним спеціалістом з машинного навчання архітектором рішень для веб-сервісів Amazon. Маючи кілька років розробки програмного забезпечення та досвіду машинного навчання, він працює з клієнтами будь-якого розміру, щоб глибоко зрозуміти їхні бізнес- та технічні потреби та розробити рішення для штучного інтелекту та машинного навчання, які найкращим чином використовують хмару AWS та стек машинного навчання Amazon. Він працював над проектами в різних областях, включаючи MLOps, Computer Vision, NLP, і залучаючи широкий набір послуг AWS. У вільний час Джузеппе любить грати у футбол.
Бруно Пістоне є архітектором спеціалізованих рішень AI/ML для AWS у Мілані. Він працює з клієнтами будь-якого розміру, допомагаючи їм глибше зрозуміти їхні технічні потреби та розробляти рішення штучного інтелекту та машинного навчання, які найкраще використовують AWS Cloud і стек Amazon Machine Learning. Сферою його знань є наскрізне машинне навчання, індустріалізація машинного навчання та MLOps. Йому подобається проводити час зі своїми друзями та досліджувати нові місця, а також подорожувати в нові місця.
Дурга Сурі є архітектором рішень ML у команді Amazon SageMaker Service SA. Вона прагне зробити машинне навчання доступним для всіх. За 4 роки роботи в AWS вона допомагала створювати платформи AI/ML для корпоративних клієнтів. Коли вона не працює, вона любить прогулянки на мотоциклі, загадкові романи та довгі прогулянки зі своїм 5-річним хаскі.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- PlatoAiStream. Web3 Data Intelligence. Розширення знань. Доступ тут.
- Карбування майбутнього з Адріенн Ешлі. Доступ тут.
- Купуйте та продавайте акції компаній, які вийшли на IPO, за допомогою PREIPO®. Доступ тут.
- джерело: https://aws.amazon.com/blogs/machine-learning/configure-and-use-defaults-for-amazon-sagemaker-resources-with-the-sagemaker-python-sdk/
- : має
- :є
- : ні
- :де
- $UP
- 1
- 10
- 100
- 20
- 30
- 60
- 7
- 9
- a
- Здатний
- МЕНЮ
- доступ
- доступною
- рахунки
- дії
- додавати
- доповнення
- Додатковий
- адреси
- Адміністратори
- знову
- AI
- AI / ML
- ВСІ
- Дозволити
- дозволяє
- вже
- Також
- хоча
- Amazon
- Amazon EC2
- Амазонське машинне навчання
- Amazon SageMaker
- Amazon Web Services
- an
- та
- будь-який
- API
- Інтерфейси
- додаток
- прикладної
- відповідний
- додатка
- ЕСТЬ
- AS
- At
- приєднувати
- автоматизувати
- автоматично
- уникнути
- AWS
- AWS CloudFormation
- фон
- заснований
- BE
- було
- перед тим
- початок
- КРАЩЕ
- тіло
- обидва
- широкий
- Створюємо
- тягар
- бізнес
- by
- call
- Виклики
- CAN
- випадок
- випадків
- CD
- Клітини
- Вибирати
- клієнт
- хмара
- код
- збір
- загальний
- повний
- обчислення
- комп'ютер
- Комп'ютерне бачення
- стан
- конфігурація
- Консоль
- зміст
- продовжувати
- контроль
- контроль
- витрати
- може
- створювати
- створений
- створює
- створення
- В даний час
- виготовлений на замовлення
- Клієнти
- дані
- обробка даних
- вчений даних
- дефолт
- за замовчуванням
- демонструвати
- Залежно
- розгортання
- розгорнути
- розгортання
- розгортання
- дизайн
- напрямки
- різний
- обговорювалися
- обговорення
- дисплеїв
- Ні
- домен
- домени
- зроблений
- Не знаю
- вниз
- кожен
- легко
- нудьгувати
- або
- усуваючи
- включіть
- зашифрованих
- шифрування
- кінець
- кінець в кінець
- Кінцева точка
- примусове виконання
- Машинобудування
- забезпечувати
- Що натомість? Створіть віртуальну версію себе у
- підприємство
- Навколишнє середовище
- середовищах
- помилки
- все
- приклад
- існуючий
- чекає
- експеримент
- експертиза
- дослідити
- дослідник
- Дослідження
- FAIL
- false
- особливість
- поле
- філе
- Файли
- фінансування
- знайти
- стежити
- після
- слідує
- футбол
- для
- формат
- Безкоштовна
- друзі
- від
- Повний
- Функції
- отримати
- отримання
- Git
- Групи
- Мати
- має
- he
- охорона здоров'я
- допоміг
- допомогу
- її
- його
- Головна
- Як
- How To
- HTML
- HTTP
- HTTPS
- ICON
- Особистість
- if
- імпорт
- in
- У тому числі
- промисловості
- Інфраструктура
- вхід
- встановлювати
- екземпляр
- інструкції
- інтерфейс
- інтернет
- Доступ в інтернет
- в
- за участю
- IP
- IP-адреси
- ізоляція
- IT
- ЙОГО
- робота
- Джобс
- приєднатися
- JPG
- ключ
- ключі
- великий
- вивчення
- рівень
- бібліотека
- Життєвий цикл
- як
- список
- місцевий
- розташування
- місць
- журнал
- увійшли
- каротаж
- Довго
- подивитися
- любить
- машина
- навчання за допомогою машини
- зробити
- Робить
- управління
- вручну
- MILAN
- ML
- MLOps
- режим
- модель
- Моделі
- більше
- найбільш
- мотоцикл
- множинний
- Таємниця
- ім'я
- Імена
- навігація
- Необхідність
- необхідний
- нужденних
- потреби
- мережу
- мережа
- Нові
- наступний
- nlp
- немає
- ноутбук
- Зверніть увагу..
- відзначивши,
- зараз
- об'єкт
- of
- on
- один раз
- ONE
- відкрити
- з відкритим вихідним кодом
- or
- OS
- Інше
- з
- вихід
- перевизначення
- власний
- pane
- параметр
- параметри
- Пройшов
- Проходження
- пристрасний
- платіж
- місця
- Платформи
- plato
- Інформація про дані Платона
- PlatoData
- ігри
- точка
- Політика
- пошта
- практика
- попередній
- Головний
- приватний
- привілеї
- обробка
- процесор
- профіль
- Профілі
- проектів
- забезпечувати
- громадськість
- Ставить
- Python
- питань
- Швидко
- рекомендувати
- решті
- запам'ятати
- запросити
- вимагається
- ресурси
- відповідь
- Обмеження
- в результаті
- Роль
- ролі
- прогін
- біг
- s
- SA
- мудрець
- то ж
- зберегти
- економія
- вчений
- Вчені
- Sdk
- розділ
- безпеку
- побачити
- обслуговування
- Послуги
- Сесія
- комплект
- установка
- установка
- кілька
- вона
- Повинен
- Показувати
- демонстрації
- показаний
- аналогічний
- простий
- просто
- Розмір
- Софтвер
- розробка програмного забезпечення
- Рішення
- що в сім'ї щось
- спеціаліст
- конкретний
- зазначений
- Витрати
- стек
- Стеки
- старт
- почалася
- Статус
- Крок
- заходи
- зберігання
- зберігати
- зберігати
- студія
- підмережі
- підмережі
- наступні
- Успішно
- такі
- Підтриманий
- Опори
- система
- Завдання
- команда
- технічний
- шаблон
- термінал
- Що
- Команда
- їх
- Їх
- потім
- тим самим
- Ці
- це
- через
- щільно
- час
- до
- топ
- трафік
- поїзд
- Навчання
- ПЕРЕГЛЯД
- Поворот
- при
- що лежить в основі
- розуміти
- Оновити
- модернізація
- Використання
- використання
- використання випадку
- використовуваний
- користувач
- користувачі
- використання
- значення
- Цінності
- перевірити
- версія
- через
- вид
- перегляд
- Віртуальний
- видимий
- бачення
- обсяг
- Обсяги
- хотіти
- we
- Web
- веб-сервіси
- ДОБРЕ
- коли
- волі
- з
- без
- Work
- працював
- робочий
- працює
- ямл
- років
- Ти
- вашу
- зефірнет