Используйте общий доступ к конвейерам Amazon SageMaker для просмотра или управления конвейерами между учетными записями AWS PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Используйте общий доступ к конвейерам Amazon SageMaker для просмотра конвейеров и управления ими в разных аккаунтах AWS.

9 августа 2022 г. мы объявили о доступности совместного использования данных между аккаунтами. Сущности Amazon SageMaker Pipelines. Теперь вы можете использовать поддержку нескольких аккаунтов для Конвейеры Amazon SageMaker для совместного использования объектов конвейера между учетными записями AWS и доступа к общим конвейерам напрямую через Создатель мудреца Амазонки Вызовы API.

Клиенты все чаще принимают архитектуры с несколькими аккаунтами для развертывания и управления рабочими процессами машинного обучения (ML) с помощью SageMaker Pipelines. Это включает в себя создание рабочих процессов в учетных записях разработки или экспериментирования (dev), их развертывание и тестирование в учетной записи тестирования или подготовки к производству (тестовую) и, наконец, их перемещение в рабочие учетные записи (prod) для интеграции с другими бизнес-процессами. Вы можете получить выгоду от совместного использования конвейеров SageMaker между аккаунтами в следующих случаях:

  • Когда специалисты по данным создают рабочие процессы машинного обучения в учетной записи разработчика, эти рабочие процессы затем развертываются инженером машинного обучения в виде конвейера SageMaker в выделенной тестовой учетной записи. Для дальнейшего мониторинга этих рабочих процессов специалистам по данным теперь требуется разрешение только на чтение между учетными записями для развернутого конвейера в тестовой учетной записи.
  • Инженерам ML, администраторам ML и группам обеспечения соответствия требованиям, которые управляют развертыванием и работой этих рабочих процессов ML из учетной записи общих служб, также требуется видимость развернутого конвейера в тестовой учетной записи. Им также могут потребоваться дополнительные разрешения для запуска, остановки и повторного запуска рабочих процессов машинного обучения.

В этом посте мы представляем пример архитектуры с несколькими учетными записями для разработки и развертывания рабочих процессов машинного обучения с помощью SageMaker Pipelines.

Обзор решения

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

В этом примере у нас есть группа по обработке данных, которая использует специальную учетную запись разработчика для первоначальной разработки конвейера SageMaker. Затем этот конвейер передается инженеру ML, который создает конвейер непрерывной интеграции и непрерывной доставки (CI/CD) в своей учетной записи общих служб, чтобы развернуть этот конвейер в тестовой учетной записи. Чтобы по-прежнему иметь возможность отслеживать и контролировать развернутый конвейер из соответствующих учетных записей разработчиков и общих служб, акции ресурсов настроены с Диспетчер доступа к ресурсам AWS в тестовых учетных записях и учетных записях разработчиков. Благодаря этой настройке инженер машинного обучения и специалист по данным теперь могут отслеживать и контролировать конвейеры в учетных записях разработки и тестирования из своих соответствующих учетных записей, как показано на следующем рисунке.

Используйте общий доступ к конвейерам Amazon SageMaker для просмотра или управления конвейерами между учетными записями AWS PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

В рабочем процессе специалист по данным и инженер ML выполняют следующие шаги:

  1. Специалист по данным (DS) создает конвейер модели в учетной записи разработчика.
  2. Инженер ML (MLE) создает модельный конвейер и создает конвейер (в этом посте мы называем его sagemaker-pipeline).
  3. sagemaker-pipeline код привержен AWS CodeCommit репозиторий в учетной записи общих служб.
  4. Специалист по данным создает общий ресурс оперативной памяти AWS для sagemaker-pipeline и делится им с учетной записью общих служб, которая принимает долю ресурса.
  5. Из учетной записи общих служб инженеры машинного обучения теперь могут описывать, отслеживать и администрировать запуски конвейера в учетной записи разработчика, используя Вызовы API SageMaker.
  6. Конвейер CI/CD, запускаемый в общей учетной записи службы, создает и развертывает код в тестовой учетной записи, используя Кодовый конвейер AWS.
  7. Конвейер CI/CD создает и запускает sagemaker-pipeline в тестовом аккаунте.
  8. После запуска sagemaker-pipeline в тестовой учетной записи конвейер CI/CD создает общий ресурс для sagemaker-pipeline в тестовом аккаунте.
  9. Доля ресурса из теста sagemaker-pipeline с разрешениями только на чтение создается с учетной записью разработчика, которая принимает общий ресурс.
  10. Специалист по данным теперь может описывать и отслеживать состояние запуска тестового конвейера с помощью вызовов API SageMaker из учетной записи разработчика.
  11. Доля ресурса из теста sagemaker-pipeline с расширенными разрешениями создается с учетной записью общих служб, которая принимает общий ресурс.
  12. Инженер машинного обучения теперь может описывать, отслеживать и администрировать тестовый конвейер, запускаемый с помощью вызовов API SageMaker из учетной записи общих служб.

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

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

В этом разделе мы рассмотрим необходимые шаги для создания и совместного использования конвейеров между учетными записями с использованием AWS RAM и API SageMaker.

Настройте среду

Во-первых, нам нужно настроить среду с несколькими учетными записями, чтобы продемонстрировать совместное использование конвейеров SageMaker между учетными записями:

  1. Настройте две учетные записи AWS (для разработчиков и для тестирования). Вы можете настроить это как учетные записи участников организации или как независимые учетные записи.
  2. Если вы настраиваете свои учетные записи в качестве члена организации, вы можете включить совместное использование ресурсов с вашей организацией. При использовании этого параметра, когда вы предоставляете общий доступ к ресурсам в своей организации, AWS RAM не отправляет приглашения принципалам. Руководители вашей организации получают доступ к общим ресурсам без обмена приглашениями.
  3. В тестовом аккаунте запустите Студия Amazon SageMaker и запустить блокнот поезд-регистр-развертывание-конвейерной модели. В результате в вашей тестовой учетной записи будет создан пример конвейера. Чтобы упростить демонстрацию, мы используем SageMaker Studio в тестовой учетной записи для запуска конвейера. Для реальных проектов вам следует использовать Studio только в учетной записи разработчика и запускать SageMaker Pipeline в тестовой учетной записи, используя инструменты CI/CD.

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

Настройка общего ресурса конвейера

Чтобы поделиться своим конвейером с учетной записью разработчика, выполните следующие действия:

  1. В консоли AWS RAM выберите Создать общий ресурс.
  2. Что касается Выберите тип ресурса, выберите Конвейеры SageMaker.
  3. Выберите конвейер, который вы создали на предыдущем шаге.
  4. Выберите Следующая.
  5. Что касается Разрешения..., выберите соответствующие разрешения.
  6. Выберите Следующая.
    Используйте общий доступ к конвейерам Amazon SageMaker для просмотра или управления конвейерами между учетными записями AWS PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Далее вы решаете, как предоставить доступ принципалам.
  7. Если вам нужно предоставить общий доступ к конвейеру только внутри учетных записей вашей организации, выберите Разрешить общий доступ только внутри вашей организации; в противном случае выберите Разрешить делиться с кем угодно.
  8. Что касается Принципалы, выберите тип основного пользователя (вы можете использовать учетную запись AWS, организацию или подразделение в зависимости от ваших требований к совместному использованию). В этом посте мы делимся информацией со всеми, кто имеет доступ к учетной записи AWS.
  9. Выберите свой основной идентификатор.
  10. Выберите Следующая.
    Используйте общий доступ к конвейерам Amazon SageMaker для просмотра или управления конвейерами между учетными записями AWS PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.
  11. На Просмотрите и создайте странице, убедитесь, что ваша информация верна, и выберите Создать общий ресурс.
    Используйте общий доступ к конвейерам Amazon SageMaker для просмотра или управления конвейерами между учетными записями AWS PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.
  12. Перейдите к целевой учетной записи (для этого сообщения — к вашей учетной записи разработчика).
  13. На консоли AWS RAM в разделе Поделился со мной на панели навигации выберите Ресурсы.
  14. Выберите свою долю ресурса и выберите Принять совместное использование ресурса.
    Используйте общий доступ к конвейерам Amazon SageMaker для просмотра или управления конвейерами между учетными записями AWS PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Разрешения на совместное использование ресурсов

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

Ассоциация AWSRAMDefaultPermissionSageMakerPipeline политика разрешает следующие действия только для чтения:

"sagemaker:DescribePipeline"
"sagemaker:DescribePipelineDefinitionForExecution"
"sagemaker:DescribePipelineExecution"
"sagemaker:ListPipelineExecutions"
"sagemaker:ListPipelineExecutionSteps"
"sagemaker:ListPipelineParametersForExecution"
"sagemaker:Search"

Ассоциация AWSRAMPermissionSageMakerPipelineAllowExecution Политика включает в себя все разрешения только для чтения из политики по умолчанию, а также позволяет общим учетным записям запускать, останавливать и повторять запуск конвейера.

Политика разрешений на запуск расширенного конвейера позволяет выполнять следующие действия:

"sagemaker:DescribePipeline"
"sagemaker:DescribePipelineDefinitionForExecution"
"sagemaker:DescribePipelineExecution"
"sagemaker:ListPipelineExecutions"
"sagemaker:ListPipelineExecutionSteps"
"sagemaker:ListPipelineParametersForExecution"
"sagemaker:StartPipelineExecution"
"sagemaker:StopPipelineExecution"
"sagemaker:RetryPipelineExecution"
"sagemaker:Search"

Доступ к объектам общего конвейера через прямые вызовы API

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

Для вызовов API конвейера SageMaker между учетными записями всегда необходимо использовать ARN вашего конвейера в качестве идентификатора конвейера. Сюда также входят команды, требующие имени конвейера, где вам необходимо использовать ARN вашего конвейера в качестве имени конвейера.

Чтобы получить ARN конвейера, в тестовой учетной записи перейдите к сведениям о конвейере в Studio через Ресурсы SageMaker.

Используйте общий доступ к конвейерам Amazon SageMaker для просмотра или управления конвейерами между учетными записями AWS PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Выберите Трубопроводы в вашем списке ресурсов.

Используйте общий доступ к конвейерам Amazon SageMaker для просмотра или управления конвейерами между учетными записями AWS PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Выберите свой конвейер и перейдите к нему. Настройки вкладка. Вы можете найти трубопровод ARN с помощью вашего Метаданные информация. В этом примере ваш ARN определяется как "arn:aws:sagemaker:us-east-1:<account-id>:pipeline/serial-inference-pipeline".

Используйте общий доступ к конвейерам Amazon SageMaker для просмотра или управления конвейерами между учетными записями AWS PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

ListPipelineExecutions

Этот вызов API перечисляет пробеги вашего трубопровода. Выполните следующую команду, заменив $SHARED_PIPELINE_ARN с вашим конвейером ARN из CloudShell или с помощью Интерфейс командной строки AWS (AWS CLI), настроенный с использованием соответствующих Управление идентификацией и доступом AWS (Я) роль:

aws sagemaker list-pipeline-executions --pipeline-name $SHARED_PIPELINE_ARN

В ответе перечислены все запуски вашего конвейера с указанием их PipelineExecutionArn, StartTime, PipelineExecutionStatusкачества PipelineExecutionDisplayName:

{
  "PipelineExecutionSummaries": [
    {
      "PipelineExecutionArn": "arn:aws:sagemaker:<region>:<account_id>:pipeline/<pipeline_name>/execution/<execution_id>",
      "StartTime": "2022-08-10T11:32:05.543000+00:00",
      "PipelineExecutionStatus": "Executing",
      "PipelineExecutionDisplayName": "execution-321"
    },
    {
      "PipelineExecutionArn": "arn:aws:sagemaker:<region>:<account_id>:pipeline/<pipeline_name>/execution/<execution_id>",
      "StartTime": "2022-08-10T11:28:03.680000+00:00",
      "PipelineExecutionStatus": "Stopped",
      "PipelineExecutionDisplayName": "test"
    },
    {
      "PipelineExecutionArn": "arn:aws:sagemaker:<region>:<account_id>:pipeline/<pipeline_name>/execution/<execution_id>",
      "StartTime": "2022-08-10T11:03:47.406000+00:00",
      "PipelineExecutionStatus": "Succeeded",
      "PipelineExecutionDisplayName": "execution-123"
    }
  ]
}

Описать конвейер

Этот вызов API описывает детали вашего трубопровода. Выполните следующую команду, заменив $SHARED_PIPELINE_ARN с вашим конвейером ARN:

aws sagemaker describe-pipeline --pipeline-name $SHARED_PIPELINE_ARN

В ответе предоставляются метаданные вашего конвейера, а также информация о его создании и изменении:

Output(truncated): 
{
"PipelineArn": "arn:aws:sagemaker:<region>:<account-id>:pipeline/<pipeline_name>",
"PipelineName": "serial-inference-pipeline",
"PipelineDisplayName": "serial-inference-pipeline",
"PipelineDefinition": "{"Version": "2020-12-01", "Metadata": {}, "Parameters": [{"Name": "TrainingInstanceType", "Type": "String", "DefaultValue": "ml.m5.xlarge"}, {"Name": "ProcessingInstanceType", "Type": "String", "DefaultValue": "ml.m5.xlarge"}, {"Name": "ProcessingInstanceCount", "Type": "Integer", "DefaultValue": 1}, {"Name": "InputData", "Type":

..

"PipelineStatus": "Active",
"CreationTime": "2022-08-08T21:33:39.159000+00:00",
"LastModifiedTime": "2022-08-08T21:48:14.274000+00:00",
"CreatedBy": {},
"LastModifiedBy": {}
}

Описать конвейерное выполнение

Этот вызов API описывает детали вашего трубопровода. Выполните следующую команду, заменив $SHARED_PIPELINE_ARN с вашим конвейером ARN:

aws sagemaker describe-pipeline-execution 
--pipeline-execution-arn $PIPELINE_EXECUTION_ARN

В ответе содержится подробная информация о запуске вашего конвейера, включая PipelineExecutionStatus, ExperimentNameкачества TrialName:

{
  "PipelineArn": "arn:aws:sagemaker:<region>:<account_id>:pipeline/<pipeline_name>",
  "PipelineExecutionArn": "arn:aws:sagemaker:<region>:<account_id>:pipeline/<pipeline_name>/execution/<execution_id>",
  "PipelineExecutionDisplayName": "execution-123",
  "PipelineExecutionStatus": "Succeeded",
  "PipelineExperimentConfig": {
  "ExperimentName": "<pipeline_name>",
  "TrialName": "<execution_id>"
},
  "CreationTime": "2022-08-10T11:03:47.406000+00:00",
  "LastModifiedTime": "2022-08-10T11:15:01.102000+00:00",
  "CreatedBy": {},
  "LastModifiedBy": {}
}

СтартПайплайнВыполнение

Этот вызов API начинается трасса трубопровода. Выполните следующую команду, заменив $SHARED_PIPELINE_ARN с вашим конвейером ARN и $CLIENT_REQUEST_TOKEN с уникальным идентификатором, чувствительным к регистру, который вы создаете для этого запуска. Идентификатор должен содержать от 32 до 128 символов. Например, вы можете сгенерировать строку, используя Команда AWS CLI kmsgenerate-random.

aws sagemaker start-pipeline-execution 
  --pipeline-name $SHARED_PIPELINE_ARN 
  --client-request-token $CLIENT_REQUEST_TOKEN

В качестве ответа этот вызов API возвращает PipelineExecutionArn начатого пробега:

{
  "PipelineExecutionArn": "arn:aws:sagemaker:<region>:<account_id>:pipeline/<pipeline_name>/execution/<execution_id>"
}

Остановить конвейер

Этот вызов API останавливается трасса трубопровода. Выполните следующую команду, заменив $PIPELINE_EXECUTION_ARN с помощью конвейера запустите ARN вашего работающего конвейера и $CLIENT_REQUEST_TOKEN с уникальным идентификатором, чувствительным к регистру, который вы создаете для этого запуска. Идентификатор должен содержать от 32 до 128 символов. Например, вы можете сгенерировать строку, используя Команда AWS CLI kmsgenerate-random.

aws sagemaker stop-pipeline-execution 
  --pipeline-execution-arn $PIPELINE_EXECUTION_ARN 
  --client-request-token $CLIENT_REQUEST_TOKEN

В качестве ответа этот вызов API возвращает PipelineExecutionArn остановленного трубопровода:

{
  "PipelineExecutionArn": "arn:aws:sagemaker:<region>:<account_id>:pipeline/<pipeline_name>/execution/<execution_id>"
}

Заключение

Совместное использование конвейеров SageMaker между учетными записями позволяет безопасно совместно использовать объекты конвейера между учетными записями AWS и получать доступ к общим конвейерам посредством прямых вызовов API без необходимости входа и выхода из нескольких учетных записей.

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

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

Полезные ресурсы

Чтобы начать работу с конвейерами SageMaker и совместно использовать конвейеры между учетными записями, обратитесь к следующим ресурсам:


Об авторах

Используйте общий доступ к конвейерам Amazon SageMaker для просмотра или управления конвейерами между учетными записями AWS PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Рам Виттал является специалистом по машинному обучению, архитектором решений в AWS. Он имеет более чем 20-летний опыт проектирования и создания распределенных, гибридных и облачных приложений. Он увлечен созданием безопасных и масштабируемых решений AI/ML и больших данных, чтобы помочь корпоративным клиентам в их переходе на облачные технологии и их оптимизации для улучшения их бизнес-результатов. В свободное время он увлекается теннисом, фотографией и боевиками.

Используйте общий доступ к конвейерам Amazon SageMaker для просмотра или управления конвейерами между учетными записями AWS PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Майра Ладейра Танке является специалистом по машинному обучению, архитектором решений в AWS. Имея опыт работы в области науки о данных, она имеет 9-летний опыт разработки и создания приложений машинного обучения для клиентов из разных отраслей. В качестве технического руководителя она помогает клиентам ускорить достижение ценности бизнеса с помощью новых технологий и инновационных решений. В свободное время Майра любит путешествовать и проводить время со своей семьей в теплом месте.

Используйте общий доступ к конвейерам Amazon SageMaker для просмотра или управления конвейерами между учетными записями AWS PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Габриэль Зилка — консультант по профессиональным услугам в AWS. Он тесно сотрудничает с клиентами, чтобы ускорить их внедрение в облако. Специализируясь в области MLOps, он фокусируется на производстве рабочих нагрузок машинного обучения путем автоматизации сквозных жизненных циклов машинного обучения и помощи в достижении желаемых бизнес-результатов. В свободное время он любит путешествовать и ходить в походы по Баварским Альпам.

Отметка времени:

Больше от Машинное обучение AWS