Ассоциация SDK Amazon SageMaker Python — это библиотека с открытым исходным кодом для обучения и развертывания моделей машинного обучения (ML) на Создатель мудреца Амазонки. Корпоративные клиенты в жестко контролируемых отраслях, таких как здравоохранение и финансы, устанавливают защитные барьеры, чтобы их данные были зашифрованы, а трафик не проходил через Интернет. Чтобы гарантировать, что обучение SageMaker и развертывание моделей машинного обучения соответствуют этим ограничениям, общепринятой практикой является установка ограничений в учетной записи или AWS Организации уровень с помощью политик управления услугами и Управление идентификацией и доступом AWS (IAM) для принудительного использования определенных ролей IAM, Виртуальное частное облако Amazon (Amazon VPC) и Служба управления ключами AWS (AWS KMS) ключи. В таких случаях специалистам по обработке и анализу данных приходится вручную вводить эти параметры в код обучения и развертывания модели машинного обучения, записывая подсети, группы безопасности и ключи KMS. Это возлагает на специалистов по обработке и анализу данных ответственность за то, чтобы они не забывали указывать эти конфигурации, чтобы успешно выполнять свои задания и избегать ошибок «Отказано в доступе».
Начиная с SageMaker Python SDK версии 2.148.0, теперь вы можете настраивать значения по умолчанию для таких параметров, как роли IAM, VPC и ключи KMS. Администраторы и конечные пользователи могут инициализировать примитивы инфраструктуры AWS со значениями по умолчанию, указанными в файле конфигурации в формате YAML. После настройки Python SDK автоматически наследует эти значения и распространяет их на базовые вызовы SageMaker API, такие как CreateProcessingJob()
, CreateTrainingJob()
и CreateEndpointConfig()
, без дополнительных действий. SDK также поддерживает несколько файлов конфигурации, что позволяет администраторам устанавливать файл конфигурации для всех пользователей, а пользователи могут переопределять его с помощью конфигурации на уровне пользователя, которая может храниться в Простой сервис хранения Amazon (Амазон С3), Эластичная файловая система Amazon (Amazon EFS) для Студия Amazon SageMakerили локальная файловая система пользователя.
В этом посте мы покажем вам, как создать и сохранить файл конфигурации по умолчанию в Studio и использовать функцию SDK по умолчанию для создания ваших ресурсов SageMaker.
Обзор решения
Мы демонстрируем эту новую функцию на сквозном AWS CloudFormation шаблон, который создает необходимую инфраструктуру, и создает домен Studio в развернутом VPC. Кроме того, мы создаем KMS-ключи для шифрования томов, используемых при обучении и обработке заданий. Шаги следующие:
- Запустите стек CloudFormation в своей учетной записи. В качестве альтернативы, если вы хотите изучить эту функцию в существующем домене или записной книжке SageMaker, пропустите этот шаг.
- Заполните
config.yaml
файл и сохраните файл в папку по умолчанию. - Запустите образец записной книжки со сквозным сценарием использования машинного обучения, включая обработку данных, обучение модели и вывод.
- Переопределите значения конфигурации по умолчанию.
Предпосылки
Прежде чем начать, убедитесь, что у вас есть учетная запись AWS и пользователь или роль IAM с правами администратора. Если вы являетесь специалистом по обработке и анализу данных и в настоящее время передаете параметры инфраструктуры ресурсам в своей записной книжке, вы можете пропустить следующий шаг по настройке среды и приступить к созданию файла конфигурации.
Чтобы использовать эту функцию, обязательно обновите версию SageMaker SDK, запустив 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, перейдите к следующему шагу.
Создайте файл конфигурации
Чтобы использовать конфигурацию по умолчанию для SageMaker Python SDK, вы создаете файл config.yaml в формате, ожидаемом SDK. Формат файла config.yaml см. Структура файла конфигурации. В зависимости от вашей рабочей среды, например записных книжек Studio, экземпляров записных книжек SageMaker или вашей локальной среды IDE, вы можете либо сохранить файл конфигурации в расположении по умолчанию, либо переопределить значения по умолчанию, указав расположение файла конфигурации. Расположение по умолчанию для других сред см. Расположение файлов конфигурации. Следующие шаги демонстрируют настройку среды ноутбука Studio.
Чтобы легко создать config.yaml
файл, запустите следующие ячейки в системном терминале Studio, заменив заполнители именами стека CloudFormation из предыдущего шага:
Этот сценарий автоматически заполняет файл YAML, заменяя заполнители значениями инфраструктуры по умолчанию, и сохраняет файл в домашней папке. Затем он копирует файл в папку по умолчанию для записных книжек Studio. Полученный файл конфигурации должен выглядеть примерно в следующем формате:
Если у вас есть существующий домен и сетевая конфигурация, создайте config.yaml
файл в требуемом формате и сохраните его в папку по умолчанию для блокнотов Studio.
Обратите внимание, что эти значения по умолчанию просто автоматически заполняют значения конфигурации для соответствующих вызовов SageMaker SDK и не принуждают пользователя к какой-либо конкретной VPC, подсети или роли. Как администратор, если вы хотите, чтобы ваши пользователи использовали определенную конфигурацию или роль, используйте Ключи условий IAM для применения значений по умолчанию.
Кроме того, каждый вызов API может иметь свои собственные конфигурации. Например, в предыдущем примере файла конфигурации вы можете указать vpc-a
и subnet-a
для обучения рабочих мест, и указать vpc-b
и subnet-c
, subnet-d
для обработки заданий.
Запустите образец блокнота
Теперь, когда вы настроили файл конфигурации, вы можете приступить к созданию моделей и обучению ноутбуков, как обычно, без необходимости явно задавать сетевые параметры и параметры шифрования для большинства функций SDK. Видеть Поддерживаемые API и параметры полный список поддерживаемых вызовов и параметров API.
В Studio выберите значок «Проводник» на панели навигации и откройте 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 будут регистрироваться вместе с полным запросом, видимым в разделе body в журнале.
Вы также можете просмотреть коллекцию конфигураций по умолчанию, используя session.sagemaker_config
значение, как показано в следующем примере.
Наконец, если вы используете Boto3 для создания ресурсов SageMaker, вы можете получить значения конфигурации по умолчанию с помощью sagemaker_config
переменная. Например, чтобы запустить задание обработки в 03_feature_engineering.ipynb
используя Boto3, вы можете ввести содержимое следующей ячейки в той же записной книжке и запустить ячейку:
Автоматизировать создание файла конфигурации
Для администраторов создание файла конфигурации и его сохранение в каждом экземпляре записной книжки SageMaker или профиле пользователя Studio может оказаться непростой задачей. Хотя вы можете порекомендовать пользователям использовать общий файл, хранящийся в расположении S3 по умолчанию, это налагает дополнительные накладные расходы на указание переопределения для специалистов по обработке и анализу данных.
Чтобы автоматизировать это, администраторы могут использовать конфигурации жизненного цикла SageMaker (LCC). Для профилей пользователей Studio или экземпляров записных книжек вы можете прикрепить следующий пример сценария LCC в качестве LCC по умолчанию для пользовательского приложения Jupyter Server по умолчанию:
Читать Используйте конфигурации жизненного цикла для Amazon SageMaker Studio or Настройте экземпляр ноутбука инструкции по созданию и настройке сценария жизненного цикла по умолчанию.
Убирать
Когда вы закончите экспериментировать с этой функцией, очистите свои ресурсы, чтобы избежать дополнительных затрат. Если вы подготовили новые ресурсы, как указано в этом посте, выполните следующие действия, чтобы очистить свои ресурсы:
- Закройте приложения Studio для профиля пользователя. Видеть Завершение работы и обновление SageMaker Studio и приложений Studio для инструкций. Перед удалением стека убедитесь, что все приложения удалены.
- Удалите том EFS, созданный для домена Studio. Вы можете просмотреть том EFS, подключенный к домену, с помощью Описать домен Вызов API.
- Удалите стек доменов Studio.
- Удалите группы безопасности, созданные для домена Studio. Вы можете найти их на Эластичное вычислительное облако Amazon (Amazon EC2) с именами security-group-for-inbound-nfs-d-xxx и security-group-for-outbound-nfs-d-xxx
- Удалите сетевой стек.
Заключение
В этом посте мы обсудили настройку и использование значений по умолчанию для ключевых параметров инфраструктуры с помощью SageMaker Python SDK. Это позволяет администраторам задавать конфигурации по умолчанию для специалистов по обработке и анализу данных, тем самым экономя время пользователей и администраторов, устраняя необходимость повторного указания параметров и получая более компактный и управляемый код. Полный список поддерживаемых параметров и API см. Настройка и использование значений по умолчанию с SageMaker Python SDK. По любым вопросам и обсуждениям присоединяйтесь Сообщество машинного обучения и искусственного интеллекта.
Об авторах
Джузеппе Анджело Порчелли является главным специалистом по машинному обучению, архитектором решений для Amazon Web Services. Имея опыт разработки программного обеспечения в области машинного обучения в течение нескольких лет, он работает с клиентами любого размера, чтобы глубоко понять их бизнес и технические потребности и разработать решения для искусственного интеллекта и машинного обучения, которые наилучшим образом используют облако AWS и стек машинного обучения Amazon. Он работал над проектами в различных областях, включая MLOps, Computer Vision, NLP, а также с широким набором сервисов AWS. В свободное время Джузеппе любит играть в футбол.
Бруно Пистоне является специалистом по архитектуре решений AI/ML для AWS в Милане. Он работает с клиентами любого размера, помогая им глубоко понять свои технические потребности и разрабатывать решения для искусственного интеллекта и машинного обучения, которые наилучшим образом используют облако AWS и стек машинного обучения Amazon. Его областью знаний являются комплексное машинное обучение, индустриализация машинного обучения и MLOps. Ему нравится проводить время со своими друзьями и исследовать новые места, а также путешествовать по новым направлениям.
Дурга Сьюри является архитектором решений машинного обучения в команде Amazon SageMaker Service SA. Она увлечена тем, чтобы сделать машинное обучение доступным для всех. За 4 года работы в AWS она помогла настроить платформы AI/ML для корпоративных клиентов. Когда она не работает, она любит поездки на мотоцикле, детективные романы и долгие прогулки со своим 5-летним хаски.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- ПлатонАйСтрим. Анализ данных Web3. Расширение знаний. Доступ здесь.
- Чеканка будущего с Эдриенн Эшли. Доступ здесь.
- Покупайте и продавайте акции компаний PREIPO® с помощью 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 Web Services
- an
- и
- любой
- API
- API
- приложение
- прикладной
- соответствующий
- Программы
- МЫ
- AS
- At
- прикреплять
- автоматизировать
- автоматически
- избежать
- AWS
- AWS CloudFormation
- фон
- основанный
- BE
- было
- до
- начало
- ЛУЧШЕЕ
- тело
- изоферменты печени
- широкий
- Строительство
- бремя
- бизнес
- by
- призывают
- Объявления
- CAN
- случаев
- случаев
- CD
- Клетки
- Выберите
- клиент
- облако
- код
- лыжных шлемов
- Общий
- полный
- Вычисление
- компьютер
- Компьютерное зрение
- состояние
- Конфигурация
- Консоли
- содержание
- продолжать
- контроль
- контроль
- Расходы
- может
- Создайте
- создали
- создает
- Создающий
- В настоящее время
- изготовленный на заказ
- Клиенты
- данным
- обработка данных
- ученый данных
- По умолчанию
- по умолчанию
- демонстрировать
- в зависимости
- развертывание
- развернуть
- развертывание
- развертывание
- Проект
- направления
- различный
- обсуждается
- обсуждение
- дисплеев
- не
- домен
- доменов
- сделанный
- Dont
- вниз
- каждый
- легко
- эхо
- или
- уничтожение
- включить
- зашифрованный
- шифрование
- конец
- впритык
- Конечная точка
- обеспечивать соблюдение
- Проект и
- обеспечивать
- Enter
- Предприятие
- Окружающая среда
- средах
- ошибки
- все члены
- пример
- существующий
- надеется
- эксперимент
- опыта
- Больше
- исследователь
- Исследование
- FAIL
- ложный
- Особенность
- поле
- Файл
- Файлы
- финансы
- Найдите
- следовать
- после
- следующим образом
- футбол
- Что касается
- формат
- Бесплатно
- друзья
- от
- полный
- Функции
- получить
- получающий
- идти
- Группы
- Есть
- имеющий
- he
- здравоохранение
- помог
- помощь
- ее
- его
- Главная
- Как
- How To
- HTML
- HTTP
- HTTPS
- ICON
- Личность
- if
- Импортировать
- in
- В том числе
- промышленности
- Инфраструктура
- вход
- устанавливать
- пример
- инструкции
- Интерфейс
- Интернет
- доступ в Интернет
- в
- с участием
- IP
- IP-адреса
- изоляция
- IT
- ЕГО
- работа
- Джобс
- присоединиться
- JPG
- Основные
- ключи
- большой
- изучение
- уровень
- Библиотека
- Жизненный цикл
- такое как
- Список
- локальным
- расположение
- места
- журнал
- Войти
- каротаж
- Длинное
- посмотреть
- любит
- машина
- обучение с помощью машины
- сделать
- Создание
- управление
- вручную
- MILAN
- ML
- млн операций в секунду
- режим
- модель
- Модели
- БОЛЕЕ
- самых
- мотоцикл
- с разными
- Тайна
- имя
- имена
- Навигация
- Необходимость
- необходимый
- нуждающихся
- потребности
- сеть
- сетей
- Новые
- следующий
- НЛП
- нет
- ноутбук
- Уведомление..
- отметив,
- сейчас
- объект
- of
- on
- консолидировать
- ONE
- открытый
- с открытым исходным кодом
- or
- OS
- Другое
- внешний
- выходной
- переопределение
- собственный
- хлеб
- параметр
- параметры
- Прошло
- Прохождение
- страстный
- платить
- Мест
- Платформы
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- игры
- Точка
- сборах
- После
- практика
- предыдущий
- Основной
- частная
- привилегии
- обработка
- процессор
- Профиль
- Профили
- проектов
- обеспечивать
- что такое варган?
- Оферты
- Питон
- Вопросы
- САЙТ
- рекомендовать
- осталось
- помнить
- запросить
- обязательный
- Полезные ресурсы
- ответ
- Ограничения
- в результате
- Роли
- роли
- Run
- Бег
- s
- SA
- sagemaker
- то же
- Сохранить
- экономия
- Ученый
- Ученые
- SDK
- Раздел
- безопасность
- посмотреть
- обслуживание
- Услуги
- Сессия
- набор
- установка
- установка
- несколько
- она
- должен
- показывать
- демонстрации
- показанный
- аналогичный
- просто
- просто
- Размер
- Software
- разработка программного обеспечения
- Решения
- удалось
- специалист
- конкретный
- указанный
- Расходы
- стек
- Стеки
- Начало
- и политические лидеры
- Статус:
- Шаг
- Шаги
- диск
- магазин
- хранить
- студия
- подсети
- подсеть
- последующее
- Успешно
- такие
- Поддержанный
- Поддержка
- система
- Сложность задачи
- команда
- Технический
- шаблон
- Терминал
- который
- Ассоциация
- их
- Их
- тогда
- тем самым
- Эти
- этой
- Через
- плотно
- время
- в
- топ
- трафик
- Train
- Обучение
- ОЧЕРЕДЬ
- Поворот
- под
- лежащий в основе
- понимать
- Обновление ПО
- модернизация
- Применение
- использование
- прецедент
- используемый
- Информация о пользователе
- пользователей
- через
- ценностное
- Наши ценности
- проверить
- версия
- с помощью
- Вид
- просмотр
- Виртуальный
- видимый
- видение
- объем
- тома
- хотеть
- we
- Web
- веб-сервисы
- ЧТО Ж
- когда
- будете
- без
- Работа
- работавший
- работает
- работает
- YAML
- лет
- Ты
- ВАШЕ
- зефирнет