Ассоциация Фреймворк операций машинного обучения AWS (MLOPs) — это итеративный и повторяющийся процесс развития моделей ИИ с течением времени. Как и DevOps, специалисты-практики повышают эффективность продвижения своих артефактов в различных средах (таких как обеспечение качества, интеграция и производство) для контроля качества. Параллельно с этим клиенты быстро внедряют стратегии работы с несколькими учетными записями. AWS Организации и Башня управления AWS для создания безопасных изолированных сред. Эта комбинация может создать проблемы для реализации MLOps с предварительно обученными сервисами ИИ AWS, такими как Пользовательские ярлыки Amazon Rekognition. В этом посте обсуждаются шаблоны проектирования для уменьшения этой сложности при сохранении лучших практик безопасности.
Обзор
Клиенты во всех отраслях промышленности осознают ценность эффективного внедрения машинного обучения (ML) и сокращения времени для получения ценности для бизнеса. Большинство предварительно обученных сервисов искусственного интеллекта AWS решают эту проблему с помощью готовых возможностей для компьютерного зрения, перевода и обнаружения мошенничества, среди других распространенных вариантов использования. Многие варианты использования требуют прогнозов для предметной области, которые выходят за рамки общих ответов. Службы искусственного интеллекта могут точно настроить результаты прогнозной модели, используя данные, помеченные клиентом, для этих сценариев.
Со временем предметно-ориентированный словарь меняется и развивается. Например, предположим, что производитель инструментов создает модель компьютерного зрения для обнаружения своей продукции на изображениях (например, молотков и отверток). В будущем выпуске компания добавит поддержку гаечных ключей и пил. Эти новые метки требуют внесения изменений в код на веб-сайтах производителя и в пользовательских приложениях. Теперь есть зависимости, которые оба артефакта должны выпускать одновременно.
Платформа AWS MLOps решает эти проблемы с выпуском с помощью итерационных и повторяющихся процессов. Прежде чем попасть к конечным пользователям, артефакты модели должны пройти различные проверки качества, такие как код приложения. Обычно вы реализуете эти ворота качества, используя несколько учетных записей AWS в организации AWS. Такой подход дает возможность централизованно управлять этими доменами приложений и применять ограничения и бизнес-требования. В вашей организации становится все более распространенным иметь десятки или даже сотни учетных записей. Однако вы должны сбалансировать свои потребности в изоляции рабочей нагрузки с размером и сложностью команды.
У специалистов по MLOps есть стандартные процедуры для передачи артефактов между учетными записями (например, от контроля качества до производства). Эти шаблоны легко реализовать, они основаны на копировании кода и двоичных ресурсов между Простой сервис хранения Amazon (Amazon S3) ведра. Однако предварительно обученные сервисы искусственного интеллекта AWS в настоящее время не поддерживают копирование обученной пользовательской модели между учетными записями AWS. Пока такой механизм не существует, вам необходимо повторно обучать модели в каждой учетной записи AWS, используя один и тот же набор данных. Этот подход требует времени и затрат на переобучение модели в новой учетной записи. Этот механизм может быть жизнеспособным вариантом для некоторых клиентов. Однако в этом посте мы демонстрируем средства для централизованного определения и развития этих пользовательских моделей при безопасном совместном использовании их в учетных записях организации AWS.
Обзор решения
В этой публикации обсуждаются шаблоны проектирования для безопасного обмена предварительно обученными моделями AWS AI Service для конкретных доменов. Эти услуги включают Амазон детектор мошенничества, Amazon транскрибироватьи Апостол, назвать несколько. Хотя эти стратегии широко применимы, в качестве конкретного примера мы сосредоточимся на пользовательских метках Rekognition. Мы намеренно не слишком углубляемся в нюансы, связанные с Rekognition Custom Labels.
Архитектура начинается с настроенной AWS Control Tower в учетной записи управления. AWS Control Tower — это самый простой способ настроить безопасную среду AWS с несколькими учетными записями и управлять ею. Как показано на следующей диаграмме, мы используем Аккаунт Фабрика в AWS Control Tower, чтобы создать пять учетных записей AWS:
- Учетная запись CI/CD для оркестровки развертывания (например, с AWS CodeStar)
- Рабочий аккаунт для внешних конечных пользователей (например, общедоступный веб-сайт)
- Учетная запись обеспечения качества для внутренних групп разработчиков (например, предварительная подготовка)
- Учетная запись ML для пользовательских моделей и вспомогательных систем
- Дом у озера AWS учетная запись, содержащая собственные данные клиентов
Эта конфигурация может быть слишком детальной или грубой, в зависимости от ваших нормативных требований, отрасли и размера. Ссылаться на Управление средой с несколькими учетными записями с помощью AWS Organizations и AWS Control Tower для большего руководства.
Создайте модель пользовательских меток Rekognition
Первым шагом к созданию модели пользовательских меток Rekognition является выбор учетной записи AWS для ее размещения. Вы можете начать свое путешествие по ML, используя одну учетную запись ML. Этот подход объединяет все инструменты и процедуры в одном месте. Однако такая централизация может привести к раздуванию индивидуальной учетной записи и созданию монолитных сред. Более зрелые предприятия сегментируют эту учетную запись ML по командам или рабочей нагрузке. Независимо от степени детализации, объект один и тот же для централизованного определения и однократного обучения моделей.
В этом посте демонстрируется использование модели пользовательских меток Rekognition с одной учетной записью ML и отдельной учетной записью озера данных (см. следующую диаграмму). Если данные находятся в другой учетной записи, необходимо настроить политику ресурсов, чтобы предоставить кросс-аккаунт доступ к корзине S3 объекты. Эта процедура безопасно передает содержимое корзины учетной записи ML. См. примеры быстрого старта Более подробную информацию о создание доменной модели Amazon Rekognition.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSRekognitionS3AclBucketRead20191011", "Effect": "Allow", "Principal": { "Service": "rekognition.amazonaws.com" }, "Action": [ "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::S3:" }, { "Sid": "AWSRekognitionS3GetBucket20191011", "Effect": "Allow", "Principal": { "Service": "rekognition.amazonaws.com" }, "Action": [ "s3:GetObject", "s3:GetObjectAcl", "s3:GetObjectVersion", "s3:GetObjectTagging" ], "Resource": "arn:aws:s3:::S3:/*" }, { "Sid": "AWSRekognitionS3ACLBucketWrite20191011", "Effect": "Allow", "Principal": { "Service": "rekognition.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::S3:" }, { "Sid": "AWSRekognitionS3PutObject20191011", "Effect": "Allow", "Principal": { "Service": "rekognition.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::S3:/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ]
}
Включить доступ между учетными записями
После построения и развертывания модели конечная точка доступна только в учетной записи ML. Не используйте статический ключ поделиться доступом. Ты должен делегировать доступ в производственную (или QA) учетную запись, используя Управление идентификацией и доступом AWS (ИАМ) роли. Чтобы создать роль для нескольких учетных записей в учетной записи ML, выполните следующие действия:
- В консоли Rekognition Custom Labels выберите Проекты и выберите название вашего проекта.
- Выберите Модели и название вашей модели.
- На Использовать модель вкладку, прокрутите вниз до Используйте свою модель .
- Скопируйте модель Amazon Resource Name (ARN). Он должен быть отформатирован следующим образом:
arn:aws:rekognition:region-name:account-id:project/model-name/version/version-id/timestamp
. - Создайте роль с
rekognition:DetectCustomLabels
разрешения на модель ARN и политику доверия, позволяющуюsts:AssumeRole
из производственного (или QA) аккаунта (например,arn:aws:iam::PROD_ACCOUNT_ID_HERE:root
). - При необходимости добавьте дополнительные политики для любых действий, связанных с рабочей нагрузкой (например, для доступа к корзинам S3).
- При желании настройте элемент условия для обеспечения выполнения дополнительных требований делегирования.
- Запишите ARN новой роли для использования в следующем разделе.
Вызвать конечную точку
При наличии политик безопасности пришло время протестировать конфигурацию. Простой подход предполагает создание Эластичное вычислительное облако Amazon (Amazon EC2) и используя Интерфейс командной строки AWS (интерфейс командной строки AWS). Вызовите конечную точку, выполнив следующие действия:
- В рабочей (или QA) учетной записи создайте роль для Amazon EC2.
- Прикрепите политику, разрешающую
sts:AssumeRole
к кросс-ролевой ARN учетной записи ML. - Запустите инстанс Amazon Linux 2 с ролью из предыдущего шага.
- Подождите, пока он будет подготовлен, затем подключиться к экземпляру Linux с помощью SSH.
- Вызвать команду
aws iam assume-role
чтобы переключиться на роль кросс-аккаунта из предыдущего раздела. - Запустите конечную точку модели, если он еще не запущен, с помощью консоли Rekognition или версия start-project Команда интерфейса командной строки AWS.
- Вызвать команду AWS Rekognition обнаруживает пользовательские метки для проверки работы.
Вы также можете выполнить этот тест, используя AWS SDK и другой вычислительный ресурс (например, AWS Lambda).
Избегайте общедоступного интернета
В предыдущем разделе запрос обнаружения пользовательских меток использует интернет-шлюз виртуального частного облака (VPC) и проходит через общедоступный Интернет. Шифрование TLS/SSL достаточно защищает канал связи для многих рабочих нагрузок. Ты можешь использовать Приватная ссылка AWS в включить соединения между VPC и вспомогательными службами не требуя интернет-шлюза, устройства NAT, VPN-подключения, транзитного шлюза или AWS Direct Connect связь. Затем запрос обнаружения пользовательских меток никогда не оставляет сеть AWS открытой для общедоступного Интернета. AWS PrivateLink поддерживает все сервисы, используемые в этом посте. Вы также можете принудительно использовать предварительно обученные сервисы искусственного интеллекта. используя частное соединение с IAM в межролевой политике. Этот элемент управления добавляет еще один уровень защиты, который не позволяет неправильно настроенным клиентам использовать конечную точку предварительно обученной службы ИИ, подключенную к Интернету. Для получения дополнительной информации см. Использование Amazon Rekognition с конечными точками Amazon VPC, AWS PrivateLink для Amazon S3и Использование оконечных точек VPC интерфейса AWS STS.
На следующей диаграмме показана конфигурация конечной точки VPC между рабочей учетной записью, учетной записью ML и учетной записью QA.
Создайте конвейер CI/CD для продвижения моделей
AWS рекомендует постоянно предоставлять больше обучающих и тестовых данных для пользовательской маркировки набора данных проекта Amazon Rekognition, чтобы улучшать модели. После добавления в проект дополнительных данных новая модель может повысить точность или изменить метки.
В MLOps артефакты модели должны быть согласованы. Чтобы добиться этого с помощью предварительно обученных сервисов ИИ, AWS рекомендует продвигать конечную точку модели, обновляя ссылку кода на ARN новой версии модели. Этот подход позволяет избежать переобучения предметно-ориентированной модели в каждой среде (например, в контроле качества и рабочих учетных записях). Ваши приложения могут использовать ARN новой модели в качестве переменной времени выполнения, используя Менеджер систем AWS в мультиаккаунте или многоступенчатая среда.
Три уровня детализации ограничивают доступ к модели для нескольких учетных записей, особенно на уровне учетной записи, проекта и версии модели. Модели являются идемпотентными и имеют уникальный ARN, который сопоставляется с обучением на конкретный момент времени: arn:aws:rekognition:account:region:project/project_name/version/name/timestamp
.
На следующей диаграмме показан переход модели от QA к производству.
В предыдущей архитектуре рабочие приложения и приложения контроля качества выполняют вызовы API для использования конечных точек модели v2 или v3 через соответствующие конечные точки VPC. Они получают ARN из своего хранилища конфигурации (например, Хранилище параметров Amazon Systems Manager or Конфигурация приложений AWS). Этот процесс работает с n нескольких сред, но для простоты мы демонстрируем только две учетные записи. При необходимости удаление замененных версий модели предотвращает дополнительное потребление этих ресурсов.
У учетной записи ML есть роль IAM для каждой конкретной среды (например, рабочей учетной записи), для которой требуется доступ. Конвейер CI/CD как часть развертывания изменяет встроенную политику роли IAM, чтобы разрешить доступ к соответствующей модели.
Рассмотрим сценарий продвижения Model-v2 из учетной записи QA в рабочую учетную запись. Этот процесс требует следующих шагов:
- В консоли Rekognition Custom Labels переведите конечную точку Model-v2 в рабочее состояние.
- Предоставьте межучетной роли IAM в учетной записи ML доступ к новой версии Model-v2.
Обратите внимание, что ресурсный элемент поддерживает подстановочные знаки в ARN.
- Отправьте тестовый вызов в Model-v2 из производственного приложения, используя роль делегирования.
- При необходимости удалите доступ роли с несколькими учетными записями к Model-v1.
- При необходимости повторите шаги 2–3 для каждой дополнительной учетной записи AWS.
- При необходимости остановите конечную точку Model-v1, чтобы избежать дополнительных расходов.
Распространение глобальной политики из плоскости управления IAM в плоскость данных IAM в каждом регионе — это в конечном счете непротиворечивая операция. Этот дизайн может создавать небольшие задержки для мультирегиональных конфигураций.
Создавайте барьеры с помощью политик управления службами
Использование ролей с несколькими учетными записями создает безопасный механизм для совместного использования предварительно обученных ресурсов управляемого ИИ. Но что происходит, когда политика этой роли слишком либеральна? Вы можете снизить эти риски, использование политик управления службами (SCP) для установки ограничений разрешений между учетными записями.. Ограждения определяют максимальные разрешения доступны для идентификации IAM. Эти возможности могут помешать типовой учетной записи потребителя, например, остановить общую конечную точку Amazon Rekognition. После определения соответствующих требований к ограждениям, организационные подразделения внутри организаций позволяют централизованно управлять этими политиками для нескольких учетных записей.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyModifyingRekgnotionProjects", "Effect": "Deny", "Action": [ "rekognition:CreateProject*", "rekognition:DeleteProject*", "rekognition:StartProject*", "rekognition:StopProject*", ], "Resource": [ “arn:aws:rekognition:*:*:project/* ] } ]
}
Вы также можете настроить средства обнаружения, чтобы отслеживать их конфигурацию и следить за тем, чтобы она не выходила за рамки соответствия. Анализатор доступа AWS IAM поддерживает оценку политик в организации и создание отчетов о неиспользованных разрешениях. Кроме того, Конфигурация АВС позволяет проводить оценку, аудит и оценку конфигураций ресурсов AWS. Эта возможность поддерживает стандартные требования безопасности и соответствия, такие как проверка и исправление настройки шифрования корзины S3.
Заключение
Вам нужны готовые решения для добавления таких возможностей машинного обучения, как компьютерное зрение, перевод и обнаружение мошенничества. Вам также нужны границы безопасности, которые изолируют различные среды для контроля качества, соответствия и нормативных требований. Предварительно обученные сервисы AWS для искусственного интеллекта и AWS Control Tower предоставляют эти функции легко доступным и безопасным способом.
Предварительно обученные сервисы искусственного интеллекта AWS в настоящее время не поддерживают копирование обученной пользовательской модели между учетными записями AWS. Пока такой механизм не существует, вам необходимо повторно обучать модели в каждой учетной записи AWS, используя один и тот же набор данных. В этом посте демонстрируется альтернативный подход к проектированию с использованием политик IAM для нескольких учетных записей для совместного использования конечных точек модели при сохранении надежного контроля безопасности. Кроме того, вы можете перестать платить за лишние рабочие места для обучения! Дополнительные сведения о политиках для нескольких учетных записей см. Учебное пособие по IAM: делегирование доступа между учетными записями AWS с помощью ролей IAM.
Об авторах
Нейт Бахмайер — старший архитектор решений AWS, который кочует по Нью-Йорку, интегрируя по одному облаку за раз. Он специализируется на переносе и модернизации рабочих нагрузок клиентов. Кроме того, Нейт учится на дневном отделении и имеет двоих детей.
Марио Бургуэн является старшим архитектором партнерских решений для AWS, специалистом по искусственному интеллекту и машинному обучению и глобальным техническим руководителем MLOps. Он работает с корпоративными клиентами и партнерами, развертывающими решения ИИ в облаке. У него более 30 лет опыта работы с машинным обучением и искусственным интеллектом в стартапах и на предприятиях, начиная с создания одной из первых коммерческих систем машинного обучения для больших данных. Марио проводит остаток своего времени, играя со своими тремя бельгийскими тервуренами, готовя обеды для своей семьи и изучая математику и космологию.
Тим Мерфи — старший архитектор решений для AWS, работающий с корпоративными клиентами в различных отраслях над созданием бизнес-решений в облаке. Он провел последнее десятилетие, работая со стартапами, некоммерческими организациями, коммерческими предприятиями и государственными учреждениями, развертывая инфраструктуру в масштабе. В свободное время, когда он не возится с технологиями, вы, скорее всего, найдете его в отдаленных уголках земли, путешествующих пешком по горам, занимающихся серфингом на волнах или катающихся на велосипеде по новому городу.
- Коинсмарт. Лучшая в Европе биржа биткойнов и криптовалют.
- Платоблокчейн. Интеллект метавселенной Web3. Расширение знаний. БЕСПЛАТНЫЙ ДОСТУП.
- КриптоХок. Альткоин Радар. Бесплатная пробная версия.
- Источник: https://aws.amazon.com/blogs/machine-learning/implement-mlops-using-aws-pre-trained-ai-services-with-aws-organizations/
- "
- 100
- 98
- О нас
- доступ
- Учетная запись
- через
- Действие
- действия
- дополнительный
- адрес
- AI
- Услуги искусственного интеллекта
- Все
- Позволяющий
- уже
- Несмотря на то, что
- Amazon
- среди
- Другой
- API
- отношение
- Применение
- Приложения
- подхода
- архитектура
- доступен
- AWS
- ЛУЧШЕЕ
- лучшие практики
- Big Data
- раздуваться
- строить
- бизнес
- возможности
- случаев
- Вызывать
- проблемы
- Город
- облако
- код
- сочетание
- коммерческая
- Общий
- Связь
- Соответствие закону
- Вычисление
- состояние
- Конфигурация
- связи
- Коммутация
- связь
- Консоли
- потребитель
- потребление
- содержание
- контроль
- Расходы
- Создающий
- Клиенты
- данным
- десятилетие
- задержки
- развертывание
- развертывание
- развертывание
- Проект
- обнаружение
- Развитие
- устройство
- различный
- не
- доменов
- вниз
- земля
- легко
- эффект
- шифрование
- Конечная точка
- Предприятие
- Окружающая среда
- пример
- опыт
- семья
- Во-первых,
- Трансформируемость
- Фокус
- после
- Рамки
- мошенничество
- функциональность
- будущее
- ворота
- Глобальный
- Правительство
- HTTPS
- Сотни
- Личность
- осуществлять
- включают
- individual
- промышленности
- промышленность
- информация
- Инфраструктура
- интеграции.
- Интерфейс
- Интернет
- изоляция
- IT
- Дети
- Этикетки
- вести
- изучение
- уровень
- линия
- Linux
- машина
- обучение с помощью машины
- управление
- менеджер
- управления
- ПРОИЗВОДИТЕЛЬ
- Карты
- математика
- ML
- модель
- Модели
- самых
- сеть
- New York
- Операционный отдел
- Опция
- оркестровка
- организация
- организации
- Другое
- партнер
- партнеры
- сборах
- политика
- Predictions
- Основной
- частная
- процесс
- Процессы
- Производство
- Продукция
- Проект
- ( изучите наши патенты),
- защиту
- приводит
- что такое варган?
- целей
- Получать
- рекомендует
- снижение
- регуляторы
- освободить
- требовать
- Требования
- ресурс
- Полезные ресурсы
- Итоги
- рисках,
- Бег
- Шкала
- SDK
- безопасный
- безопасность
- политики безопасности
- обслуживание
- Услуги
- набор
- Поделиться
- общие
- Акции
- просто
- Размер
- Решения
- специализируется
- конкретно
- Начало
- Стартапы
- Область
- заявление
- диск
- магазин
- стратегий
- "Студент"
- поддержка
- Поддержка
- Коммутатор
- системы
- команда
- технологии
- Технологии
- тестXNUMX
- Через
- время
- Обучение
- транзит
- Переводы
- Доверие
- созданного
- использование
- ценностное
- Виртуальный
- видение
- VPN
- волны
- Вебсайт
- веб-сайты
- Что
- в
- без
- работает
- работает
- лет