Пошаговое руководство по подготовке масштабируемой среды машинного обучения на AWS

Совместный пост с Nivas Durairaj

Печатный станок Гутенберга был революционным в свое время. Неожиданно издатели смогли печатать тысячи книжных страниц в день по сравнению с несколькими рукописными страницами. Это способствовало быстрому распространению знаний в Европе и открыло эпоху Возрождения.

Сегодня крупным предприятиям необходимо реализовывать сотни проектов машинного обучения для своего бизнеса, делая это безопасным и управляемым образом. Чтобы ускорить предоставление машинного обучения, им необходимо подготовить среды машинного обучения с ограждениями за считанные минуты. Печатный станок, позволяющий командам машинного обучения быстро получать доступ к рабочим средам, и поддержка для ввода в действие своих решений.

Недавно я опубликовал руководство о том, как это сделать на AWS. Здесь мы применим это на практике. В трех шагах я расскажу, как вы можете модернизировать свои облачные операции, чтобы масштабировать доставку машинного обучения.

Обзор пошагового руководства

Мы решим это в 3 шага:

  • Сначала мы настроим основу нашей платформы машинного обучения с помощью AWS Control Tower и AWS Organizations. Мы примем многоаккаунтовую стратегию, и каждый проект машинного обучения будет работать в отдельной учетной записи.
  • Затем мы включим самообслуживание шаблонных сред машинного обучения с помощью AWS Service Catalog и Amazon SageMaker. Это позволит командам машинного обучения самостоятельно создавать утвержденные среды в своих учетных записях за считанные минуты.
  • Наконец, мы увидим, как команды машинного обучения могут запускать управляемые среды машинного обучения и получать к ним доступ.

Предпосылки

Чтобы подписаться на этот пост, убедитесь, что вы:

  1. Посетите раздел Использование AWS Control Tower для управления средами AWS с несколькими учетными записями, если это звучит для вас в новинку.
  2. Мы будем применять концепции, представленные в разделе Настройка безопасных, хорошо управляемых сред машинного обучения на AWS. Убедитесь, что вы прочитали пост, прежде чем продолжить.
  3. Для самообслуживания мы будем повторно использовать тот же подход и портфолио каталога услуг, что и в разделе Включение самостоятельной подготовки ресурсов Amazon SageMaker Studio. Убедитесь, что вы знакомы с ним.

Шаг 1. Обеспечение проектов машинного обучения современными облачными операциями

Во-первых, мы хотим, чтобы команды машинного обучения получали доступ к безопасным и соответствующим требованиям учетным записям AWS каждый раз, когда у них появляется новый проект. Здесь мы не усложняем задачу и создаем 1 аккаунт AWS для каждого проекта.

Настройка целевой зоны и создание подразделения Workloads

Перейдите к консоли AWS Control Tower, чтобы настроить зону приземления. Подробнее о том, как запустить его, см. в разделе Начало работы с AWS Control Tower.

После запуска процесс должен занять около получаса.

Примечание. Учетная запись архива журнала в подразделении безопасности может выступать в качестве точки консолидации для данных журнала, собранных со всех учетных записей в подразделении рабочих нагрузок. Его могут использовать ваши группы безопасности, операций, аудита и соответствия требованиям для поддержки нормативных требований.

Применение ограждений Control Tower и SCP для постоянного управления

Вы можете настроить Control Tower Guardrails, чтобы обеспечить постоянное управление всей средой AWS, и политики управления сервисами, чтобы управлять максимально доступными разрешениями для всех учетных записей в подразделении Workloads.

Для наглядности будем использовать тот же пример SCP, что и в этом блоге. Это не позволяет командам машинного обучения запускать ресурсы SageMaker в своих учетных записях, если не указана подсеть VPC:

Создание учетных записей проекта с помощью фабрики учетных записей

Теперь вы можете создавать новые учетные записи по запросу, используя Фабрику учетных записей Control Tower.

Фабрика учетных записей — это продукт каталога услуг, поэтому вы можете создавать учетные записи через пользовательский интерфейс. При масштабировании можно создавать программно.

Управление аутентификацией и разрешениями пользователей

Далее вам нужно управлять аутентификацией пользователей и разрешениями в учетных записях. Здесь я использую AWS SSO для управления ими, и вы можете следить за процессом в этом видео. Не стесняйтесь использовать поставщика удостоверений по вашему выбору:

SageMaker предоставляет специфические для службы ресурсы, действия и контекстные ключи условий, которые вы можете добавить в наборы разрешений. Также см. эту страницу для управления разрешениями для других сервисов AWS.

Вы можете создавать наборы разрешений для разных персонажей проекта ML. Вот несколько примеров:

  • Специалист по данным Они могут экспериментировать с подходами машинного обучения.
  • Инженер машинного обучения. Они могут заниматься CI/CD, мониторингом моделей и артефактами.
  • Инженер платформы машинного обучения (администратор) Администратор.
  • Группа аудита и соблюдения требований У них есть доступ для чтения к учетной записи Log Archive, где они могут проверить соответствие рабочих нагрузок.

Теперь у вас должны быть фонды с несколькими учетными записями на вашей платформе машинного обучения. При запуске нового проекта машинного обучения вы можете создать новую учетную запись AWS с ограничениями и предоставить пользователям доступ к ней. Процесс занимает всего несколько минут.

Шаг 2. Самостоятельные шаблонные среды машинного обучения

Теперь, когда ваши команды машинного обучения получают доступ к учетным записям в течение нескольких минут, им необходим доступ к рабочим средам и шаблонам для ввода в действие своих решений.

Мы создадим портфель каталога услуг в учетной записи управления Control Tower и поделимся им с учетными записями проектов ML.

Создание портфеля каталога услуг в управляющем аккаунте

Для этого вы можете повторно использовать подход из Включение самостоятельной подготовки ресурсов Amazon SageMaker Studio. Это позволит вам автоматизировать развертывание продуктов SageMaker с помощью Фабрики каталогов сервисов AWS.

Примечание В иллюстративных целях я поместил фабрику каталогов услуг в учетную запись управления Control Tower. В реальной жизни ваша команда платформы машинного обучения может иметь специальные учетные записи для создания, тестирования и развертывания продуктов и портфелей.

Совместное использование портфолио с учетными записями проекта ML

Теперь мы предоставим доступ к портфолио Service Catalog всем учетным записям в подразделении Workloads.

Процесс очень прост, и вы можете выполнить шаги, показанные в этом видео:

Как администратор платформы ML, вы можете войти в учетные записи проекта и принять портфолио.

Затем вы можете предоставить командам машинного обучения доступ к импортированному портфолио в их аккаунте.

Отныне создание новых учетных записей проекта машинного обучения должно занимать не более нескольких минут. Обновления, которые вы делаете в портфолио каталога услуг, будут автоматически отражаться в учетных записях проекта, что позволит вам постоянно развертывать новые продукты.

Шаг 3. Запуск среды машинного обучения в учетной записи проекта

Теперь самая легкая часть! Мы будем использовать одного из наших пользователей SSO, войдем в учетную запись MLProjectA и запустим SageMaker Studio.

Примечание. В иллюстративных целях пример домена Studio будет искать VPC по умолчанию с общедоступной подсетью. Я получаю его с помощью aws ec2 create-default-vpcкоманды интерфейса командной строки. В реальном мире вам нужно, чтобы домен Studio работал в частной подсети.

Заключение

Стратегия с несколькими учетными записями и самостоятельная подготовка управляемых сред машинного обучения позволяет предприятиям масштабировать свои поставки машинного обучения. Это позволяет командам машинного обучения начать работу в утвержденных средах за несколько минут.

В этом посте я рассказал, как команда платформы ML может быстро подготовить безопасные, хорошо управляемые среды ML с помощью AWS Control Tower, AWS Organization, AWS Service Catalog и Amazon SageMaker.

Чтобы пойти дальше, вы можете посетить разделы Обзор AWS Management and Governance и Industrializing the ML platform with Amazon SageMaker Studio.