Создайте рабочий процесс MLOps для нескольких аккаунтов с помощью реестра моделей Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Создайте рабочий процесс MLOps для нескольких аккаунтов с помощью реестра моделей Amazon SageMaker.

Хорошо спроектированный конвейер CI/CD необходим для эффективного масштабирования любого рабочего процесса разработки программного обеспечения. При проектировании производственных конвейеров CI/CD AWS рекомендует использовать несколько учетных записей для изоляции ресурсов, предотвращения угроз безопасности и упрощения конвейеров выставления счетов и обработки данных. В AWS мы продолжаем внедрять инновации, чтобы упростить рабочий процесс MLOps.

В этом посте мы обсудим некоторые из новых функций кросс-аккаунта, Создатель мудреца Амазонки которые позволяют лучше обмениваться группами моделей и управлять ими, а также управлять версиями моделей. Пример структуры учетной записи для подражания передовой опыт организационного подразделения для размещения моделей с использованием конечных точек SageMaker между учетными записями см. Оркестратор рабочей нагрузки MLOps.

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

Следующая диаграмма иллюстрирует архитектуру реестра нашей общей модели.

Некоторые вещи, которые следует отметить в предыдущей архитектуре:

Следующие шаги соответствуют схеме:

  1. Специалист по данным регистрирует модель из учетной записи специалиста по обработке и анализу данных в реестре моделей общих служб SageMaker в PendingManualApproval государство. Артефакт модели создается в учетной записи общих служб. Простой сервис хранения Amazon (Amazon S3) ведро.
  2. После регистрации новой версии модели кто-то с полномочиями утверждать модель на основе метрик должен одобрить или отклонить модель.
  3. После утверждения модели конвейер CI/CD в учетной записи развертывания срабатывает для развертывания обновленные сведения о модели в учетной записи QA и обновить этап как QA.
  4. После прохождения процесса тестирования вы можете либо выбрать этап утверждения вручную в процессе CI/CD, либо конвейер CI/CD напрямую развернуть модель в рабочей среде и обновить этап как Prod.
  5. Рабочая среда ссылается на утвержденную модель и код, возможно, выполняя A/B тест в продакшене. В случае аудита или каких-либо проблем с моделью вы можете использовать Отслеживание происхождения Amazon SageMaker ML. Он создает и хранит информацию об этапах рабочего процесса машинного обучения (ML) от подготовки данных до развертывания модели. С помощью информации об отслеживании вы можете воспроизводить шаги рабочего процесса, отслеживать происхождение модели и набора данных, а также устанавливать стандарты управления моделями и аудита.

На протяжении всего процесса общий реестр моделей сохраняет старые версии моделей. Это позволяет команде откатывать изменения или даже размещать варианты производства.

Предпосылки

Убедитесь, что у вас есть следующие предпосылки:

  • Предусмотренная структура с несколькими учетными записями – Инструкции см. Рекомендации для организационных подразделений с AWS Organizations. Для целей этого блога мы используем следующие учетные записи:
    • Аккаунт по науке о данных – Учетная запись, в которой ученые данных имеют доступ к обучающим данным и создают модели.
    • Учетная запись общих служб – Центральная учетная запись для хранения артефактов модели (как показано на диаграмме архитектуры) для доступа к различным учетным записям рабочей нагрузки.
    • Учетная запись развертывания – Учетная запись, отвечающая за развертывание изменений в различных учетных записях.
    • Учетные записи рабочей нагрузки – Обычно это среды QA и prod, в которых инженеры-программисты могут создавать приложения для использования модели ML.
  • Учетная запись развертывания с соответствующими разрешениями – Для получения дополнительной информации о передовых методах работы со структурой OU с несколькими учетными записями см. Развертывания OU. Эта учетная запись отвечает за указание учетных записей рабочей нагрузки на нужную модель в реестре моделей учетной записи общих служб.

Определение политик для нескольких учетных записей

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

Поскольку артефакты моделей хранятся в корзине S3 учетной записи общих служб, учетной записи обработки и анализа данных требуется доступ на чтение/запись Amazon S3 для передачи обученных моделей в Amazon S3. Следующий код иллюстрирует эту политику, но пока не добавляйте ее в учетную запись общих служб:

#Data Science account's policy to access Shared Services' S3 bucket
 {
    'Version': '2012-10-17',
    'Statement': [{
        'Sid': 'AddPerm',
        'Effect': 'Allow',
        'Principal': {
            'AWS': 'arn:aws:iam:::root'
        }, 
        "Action": [ 
            's3:PutObject', 
            's3:PutObjectAcl',
            's3:GetObject', 
            's3:GetObjectVersion'
        ], #read/write
        'Resource': 'arn:aws:s3:::/*'
    }]
}

Учетной записи развертывания необходимо предоставить доступ только для чтения к корзине S3, чтобы она могла использовать артефакты модели для развертывания на конечных точках SageMaker. Нам также необходимо прикрепить следующую политику к корзине S3 общих служб:

#Deployment account's policy to access Shared Services' S3 bucket
 {
    'Version': '2012-10-17',
    'Statement': [{
        'Sid': 'AddPerm',
        'Effect': 'Allow',
        'Principal': {
            'AWS': 'arn:aws:iam:::root'
        },
        'Action': [ 
            's3:GetObject', 
            's3:GetObjectVersion'
        ], #read
        'Resource': 'arn:aws:s3:::/*'
    }]
}

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

{
  "Version": "2012-10-17",
  "Statement": [{
    "Sid": "AddPerm",
    "Effect": "Allow",
    "Principal": {
      "AWS": "arn:aws:iam:::root"    
    },
    "Action": [
      "s3:PutObject",
      "s3:PutObjectAcl",
      "s3:GetObject",
      "s3:GetObjectVersion"    ],
    "Resource": "arn:aws:s3:::/*"  
    },
    {
      "Sid": "AddPermDeployment",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam:::root"      
      },
      "Action": [
        "s3:GetObject",
        "s3:GetObjectVersion"      ], 
      "Resource": "arn:aws:s3:::/*"    
    }
  ]
}

Чтобы иметь возможность развернуть модель, созданную в другой учетной записи, у пользователя должна быть роль с доступом к действиям SageMaker, например роль с AmazonSageMakerFullAccess управляемая политика. Ссылаться на Развертывание версии модели из другой учетной записи для получения дополнительной информации.

Нам нужно определить группу моделей, содержащую версии моделей, которые мы хотим развернуть. Кроме того, мы хотим предоставить разрешения учетной записи Data Science. Это может быть достигнуто в следующих шагах. Мы относимся к счетам следующим образом:

  • shared_services_account_id - Учетная запись, в которой находится реестр модели и где мы хотим, чтобы модель была
  • data_science_account_id - Учетная запись, в которой мы будем тренироваться и, следовательно, создавать настоящий артефакт модели.
  • развертывание_account_id – Учетная запись, в которой мы хотим разместить конечную точку для этой модели.

Сначала нам нужно убедиться, что группы пакетов модели существуют. Вы можете использовать API-интерфейсы Boto3, как показано в следующем примере, или вы можете использовать Консоль управления AWS для создания пакета модели. Ссылаться на Создать группу пакетов модели Больше подробностей. Это предполагает, что у вас установлен Boto3.

model_package_group_name = "cross-account-example-model"
sm_client = boto3.Session().client("sagemaker")

create_model_package_group_response = sm_client.create_model_package_group(
    ModelPackageGroupName=model_package_group_name,
    ModelPackageGroupDescription="Cross account model package group",
    Tags=[
          {
              'Key': 'Name',
              'Value': 'cross_account_test'
          },
      ]

)

print('ModelPackageGroup Arn : {}'.format(create_model_package_group_response['ModelPackageGroupArn']))

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

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AddPermModelPackageGroupCrossAccount",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam:::root"      
      },
      "Action": [
        "sagemaker:DescribeModelPackageGroup"      
        ],
      "Resource": "arn:aws:sagemaker:::model-package-group/"    
    },
    {
      "Sid": "AddPermModelPackageVersionCrossAccount",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam:::root"      
      },
      "Action": [
        "sagemaker:DescribeModelPackage",
        "sagemaker:ListModelPackages",
        "sagemaker:UpdateModelPackage",
        "sagemaker:CreateModelPackage",
        "sagemaker:CreateModel"      
      ],
      "Resource": "arn:aws:sagemaker:::model-package//*"    
    }
  ]
}

Наконец, примените политику к группе пакетов модели. Вы не можете связать эту политику с группой пакетов через консоль. Вам нужен SDK или Интерфейс командной строки AWS (AWS CLI) доступ. Например, в следующем коде используется Boto3:

# Convert the policy from JSON dict to string
model_package_group_policy = dict( )
model_package_group_policy = json.dumps(model_package_group_policy)

# Set the new policy
sm_client = boto3.Session().client("sagemaker")
response = sm_client.put_model_package_group_policy(
    ModelPackageGroupName = model_package_group_name,
    ResourcePolicy = model_package_group_policy)

Нам также нужен пользовательский Служба управления ключами AWS (AWS KMS) для шифрования модели при сохранении ее в Amazon S3. Это необходимо сделать с помощью учетной записи науки о данных. В консоли AWS KMS перейдите к Определить разрешения на использование ключей страница. в Другие аккаунты AWS раздел, выбрать Добавить еще одну учетную запись AWS. Введите номер учетной записи AWS для учетной записи развертывания. Этот ключ KMS используется для задания обучения SageMaker. Если вы не укажете ключ KMS для задания обучения, SageMaker по умолчанию использует ключ шифрования Amazon S3 на стороне сервера. Ключ шифрования Amazon S3 по умолчанию на стороне сервера не может быть передан или использован другим аккаунтом AWS.

Политика и разрешения следуют этому шаблону:

  • Политика Amazon S3, указанная в shared_services_account дает разрешения учетной записи науки о данных и учетной записи развертывания
  • Политика ключей KMS, указанная в shared_services_account дает разрешения учетной записи науки о данных и учетной записи развертывания

Нам необходимо убедиться, что учетная запись общих служб и учетная запись развертывания имеют доступ к образам Docker, которые использовались для обучения модели. Эти изображения обычно размещаются в учетных записях AWS, и администратор вашей учетной записи может помочь вам получить доступ, если у вас еще нет доступа. В этом посте мы не создаем настраиваемые образы Docker после обучения модели, поэтому нам не нужны какие-либо особые политики Amazon ECR для образов.

В учетных записях рабочей нагрузки (QA или prod) нам нужно создать два Управление идентификацией и доступом AWS (IAM) политики, аналогичные приведенным ниже. Это встроенные политики, что означает, что они встроены в удостоверение IAM. Это дает этим учетным записям доступ к реестру моделей.

Первая встроенная политика позволяет роли получить доступ к ресурсу Amazon S3 в учетной записи общих служб, которая содержит артефакт модели. Укажите имя корзины S3 и вашу модель:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::/sagemaker//output/model.tar.gz"
        }
    ]
}

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

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowUseOfTheKey",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1::key/{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}"
            ]
        }
    ]
}

Наконец, нам нужно создать IAM-роль для Sage Maker. Эта роль имеет AmazonSageMakerFullAccess политика прилагается. Затем мы присоединяем эти две встроенные политики к созданной нами роли. Если вы используете существующую роль выполнения SageMaker, присоедините эти две политики к этой роли. Инструкции см. Создание ролей и прикрепление политик (консоль).

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

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

Сначала мы создаем конвейер SageMaker в учетной записи Data Science для обработки данных, обучения модели и оценки. Мы используем набор данных о жилье в Калифорнии, полученный из библиотеки StatLib. В следующем фрагменте кода мы используем собственный скрипт предварительной обработки. preprocess.py для выполнения некоторых простых преобразований функций, таких как масштабирование функций, которые можно сгенерировать, используя следующие ноутбук. Этот скрипт также разбивает набор данных на наборы обучающих и тестовых данных.

Мы создаем SKLearnProcessor объект для запуска этого сценария предварительной обработки. В конвейере SageMaker мы создаем шаг обработки (ProcessingStep) для запуска кода обработки с помощью SKLearnProcessor. Этот код обработки вызывается при инициализации конвейера SageMaker. Код, создающий SKLearnProcessor и ProcessingStep показаны в следующем коде. Обратите внимание, что весь код в этом разделе выполняется в учетной записи Data Science.

# Useful SageMaker variables - Create a Pipeline session which will lazy init resources
session = PipelineSession()

framework_version = "0.23-1"

# Create SKlearn processor object,
# The object contains information about what instance type to use, the IAM role to use etc.
# A managed processor comes with a preconfigured container, so only specifying version is required.
sklearn_processor = SKLearnProcessor(
    framework_version=framework_version,
    role=role,
    instance_type=processing_instance_type,
    instance_count=1,
    base_job_name="tf2-california-housing-processing-job",
    sagemaker_session=session
)

# Use the sklearn_processor in a SageMaker pipelines ProcessingStep
step_preprocess_data = ProcessingStep(
    name="Preprocess-California-Housing-Data",
    processor=sklearn_processor,
    inputs=[
        ProcessingInput(source=input_data, destination="/opt/ml/processing/input"),
    ],
    outputs=[
        ProcessingOutput(output_name="train", source="/opt/ml/processing/train"),
        ProcessingOutput(output_name="test", source="/opt/ml/processing/test"),
    ],
    code="preprocess.py",
)

Нам нужен специальный ключ KMS для шифрования модели при ее сохранении в Amazon S3. См. следующий код:

kms_client = boto3.client('kms')
response = kms_client.describe_key(
    KeyId='alias/sagemaker/outkey',
)
key_id = response['KeyMetadata']['KeyId']

Для обучения модели мы создаем объект оценки TensorFlow. Мы передаем ему идентификатор ключа KMS вместе с нашим обучающим скриптом. train.py, тип учебного экземпляра и количество. Мы также создаем TrainingStep для добавления в наш конвейер, и добавьте к нему оценщик TensorFlow. См. следующий код:

model_path = f"s3://{bucket}/{prefix}/model/"

hyperparameters = {"epochs": training_epochs}
tensorflow_version = "2.4.1"
python_version = "py37"

tf2_estimator = TensorFlow(
    source_dir="code",
    entry_point="train.py",
    instance_type=training_instance_type,
    instance_count=1,
    framework_version=tensorflow_version,
    role=role,
    base_job_name="tf2-california-housing-train",
    output_path=model_path,
    output_kms_key=key_id,
    hyperparameters=hyperparameters,
    py_version=python_version,
    sagemaker_session=session
)

# Use the tf2_estimator in a SageMaker pipelines ProcessingStep.
# NOTE how the input to the training job directly references the output of the previous step.
step_train_model = TrainingStep(
    name="Train-California-Housing-Model",
    estimator=tf2_estimator,
    inputs={
        "train": TrainingInput(
            s3_data=step_preprocess_data.properties.ProcessingOutputConfig.Outputs[
                "train"
            ].S3Output.S3Uri,
            content_type="text/csv",
        ),
        "test": TrainingInput(
            s3_data=step_preprocess_data.properties.ProcessingOutputConfig.Outputs[
                "test"
            ].S3Output.S3Uri,
            content_type="text/csv",
        ),
    },
)

В дополнение к обучению нам необходимо провести оценку модели, для чего в этом примере мы используем среднеквадратичную ошибку (MSE) в качестве метрики. более ранняя тетрадь также генерирует evaluate.py, который мы используем для оценки нашей модели с помощью MSE. Мы также создаем ProcessingStep для инициализации сценария оценки модели с помощью SKLearnProcessor объект. Следующий код создает этот шаг:

from sagemaker.workflow.properties import PropertyFile

# Create SKLearnProcessor object.
# The object contains information about what container to use, what instance type etc.
evaluate_model_processor = SKLearnProcessor(
    framework_version=framework_version,
    instance_type=processing_instance_type,
    instance_count=1,
    base_job_name="tf2-california-housing-evaluate",
    role=role,
    sagemaker_session=session
)

# Create a PropertyFile
# A PropertyFile is used to be able to reference outputs from a processing step, for instance to use in a condition step.
# For more information, visit https://docs.aws.amazon.com/sagemaker/latest/dg/build-and-manage-propertyfile.html
evaluation_report = PropertyFile(
    name="EvaluationReport", output_name="evaluation", path="evaluation.json"
)

# Use the evaluate_model_processor in a SageMaker pipelines ProcessingStep.
step_evaluate_model = ProcessingStep(
    name="Evaluate-California-Housing-Model",
    processor=evaluate_model_processor,
    inputs=[
        ProcessingInput(
            source=step_train_model.properties.ModelArtifacts.S3ModelArtifacts,
            destination="/opt/ml/processing/model",
        ),
        ProcessingInput(
            source=step_preprocess_data.properties.ProcessingOutputConfig.Outputs[
                "test"
            ].S3Output.S3Uri,
            destination="/opt/ml/processing/test",
        ),
    ],
    outputs=[
        ProcessingOutput(output_name="evaluation", source="/opt/ml/processing/evaluation"),
    ],
    code="evaluate.py",
    property_files=[evaluation_report],
)

После оценки модели нам также нужен шаг для регистрации нашей модели в реестре моделей, если производительность модели соответствует требованиям. Это показано в следующем коде с использованием RegisterModel шаг. Здесь нам нужно указать пакет модели, который мы объявили в учетной записи общих служб. Замените регион, учетную запись и пакет модели своими значениями. Здесь используется название модели modeltest, но вы можете использовать любое имя по вашему выбору.

# Create ModelMetrics object using the evaluation report from the evaluation step
# A ModelMetrics object contains metrics captured from a model.
model_metrics = ModelMetrics(
    model_statistics=MetricsSource(
        s3_uri=evaluation_s3_uri,
        content_type="application/json",
    )
)

# Create a RegisterModel step, which registers the model with SageMaker Model Registry.
model = Model(
    image_uri=tf2_estimator.training_image_uri(),
    model_data=training_step.properties.ModelArtifacts.S3ModelArtifacts,
    source_dir=tf2_estimator.source_dir,
    entry_point=tf2_estimator.entry_point,
    role=role_arn,
    sagemaker_session=session
)

model_registry_args = model.register(
    content_types=['text/csv'],
    response_types=['application/json'],
    inference_instances=['ml.t2.medium', 'ml.m5.xlarge'],
    transform_instances=['ml.m5.xlarge'],
    model_package_group_name=model_package_group_name,
    approval_status='PendingManualApproval',
    model_metrics=model_metrics
)

 step_register_model= ModelStep(
    name='RegisterModel',
    step_args=model_registry_args
)

Нам также необходимо создать артефакты модели, чтобы ее можно было развернуть (используя другую учетную запись). Для создания модели мы создаем CreateModelStep, как показано в следующем коде:

from sagemaker.inputs import CreateModelInput 
from sagemaker.workflow.model_step import ModelStep 
step_create_model = ModelStep( 
    name="Create-California-Housing-Model", 
    step_args=model.create(instance_type="ml.m5.large",accelerator_type="ml.eia1.medium"),
 )

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

from sagemaker.workflow.conditions import ConditionLessThanOrEqualTo
from sagemaker.workflow.condition_step import (
    ConditionStep,
    JsonGet,
)

# Create accuracy condition to ensure the model meets performance requirements.
# Models with a test accuracy lower than the condition will not be registered with the model registry.
cond_lte = ConditionLessThanOrEqualTo(
    left=JsonGet(
        step=step_evaluate_model,
        property_file=evaluation_report,
        json_path="regression_metrics.mse.value",
    ),
    right=accuracy_mse_threshold,
)

# Create a SageMaker Pipelines ConditionStep, using the preceding condition.
# Enter the steps to perform if the condition returns True / False.
step_cond = ConditionStep(
    name="MSE-Lower-Than-Threshold-Condition",
    conditions=[cond_lte],
    if_steps=[step_register_model, step_create_model],
    else_steps=[step_higher_mse_send_email_lambda],
)

Наконец, мы хотим организовать все шаги конвейера, чтобы его можно было инициализировать:

from sagemaker.workflow.pipeline import Pipeline

# Create a SageMaker Pipeline.
# Each parameter for the pipeline must be set as a parameter explicitly when the pipeline is created.
# Also pass in each of the preceding steps.
# Note that the order of execution is determined from each step's dependencies on other steps,
# not on the order they are passed in.
pipeline = Pipeline(
    name=pipeline_name,
    parameters=[
        processing_instance_type,
        training_instance_type,
        input_data,
        training_epochs,
        accuracy_mse_threshold,
        endpoint_instance_type,
    ],
    steps=[step_preprocess_data, step_train_model, step_evaluate_model, step_cond],
)

Развертывание версии модели из другой учетной записи

Теперь, когда модель зарегистрирована в учетной записи общих служб, нам нужно выполнить развертывание в наших учетных записях рабочей нагрузки, используя конвейер CI/CD в учетной записи развертывания. Мы уже настроили роль и политику на предыдущем шаге. Мы используем пакет модели ARN для развертывания модели из реестра моделей. Следующий код запускается в учетной записи развертывания и используется для развертывания утвержденных моделей в QA и prod:

from sagemaker import ModelPackage
from time import gmtime, strftime

sagemaker_session = sagemaker.Session(boto_session=sess)

model_package_arn = 'arn:aws:sagemaker:::/modeltest/version_number'
model = ModelPackage(role=role, 
                     model_package_arn=model_package_arn, 
                     sagemaker_session=sagemaker_session)
model.deploy(initial_instance_count=1, instance_type='ml.m5.xlarge')

Заключение

В этом посте мы продемонстрировали, как настроить политики, необходимые для настройки нескольких учетных записей для ML, на основе принципа наименьших привилегий. Затем мы показали процесс построения и обучения моделей в аккаунте Data Science. Наконец, мы использовали конвейер CI/CD в учетной записи развертывания для развертывания последней версии утвержденных моделей в учетных записях QA и рабочих. Кроме того, вы можете просматривать историю развертывания моделей и строить триггеры in Сборка кода AWS.

Вы можете масштабировать концепции в этом посте для размещения моделей в Эластичное вычислительное облако Amazon (Amazon EC2) или Амазон Эластик Кубернетес Сервис (Amazon EKS), а также создать конвейер пакетного вывода.

Чтобы узнать больше о наличии отдельных учетных записей для создания моделей машинного обучения в AWS, см. Рекомендации для организационных подразделений с AWS Organizations и Безопасное обновление моделей в производстве.


Об авторах

Создайте рабочий процесс MLOps для нескольких аккаунтов с помощью реестра моделей Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Сандип Верма является старшим архитектором прототипов в AWS. Ему нравится погружаться в проблемы клиентов и создавать прототипы для клиентов, чтобы ускорить внедрение инноваций. У него есть опыт работы в области искусственного интеллекта и машинного обучения, он является основателем New Knowledge и в целом увлечен технологиями. В свободное время он любит путешествовать и кататься на лыжах со своей семьей.

Мани Хануджа  Мани Хануджа SA специалист по искусственному интеллекту и машинному обучению в Amazon Web Services (AWS). Она помогает клиентам решать бизнес-задачи с помощью машинного обучения с помощью AWS. Она тратит большую часть своего времени на глубокое погружение и обучение клиентов проектам AI / ML, связанным с компьютерным зрением, обработкой естественного языка, прогнозированием, машинным обучением на периферии и многим другим. Она без ума от машинного обучения, поэтому создала собственную лабораторию с комплектом для самостоятельного вождения и производственной линией по производству прототипов, где проводит много свободного времени.

Создайте рабочий процесс MLOps для нескольких аккаунтов с помощью реестра моделей Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Самитра Викрам является разработчиком программного обеспечения в команде Amazon SageMaker и базируется в Ченнаи, Индия. Вне работы он любит бегать, ходить в походы и кататься на мотоцикле по Гималаям.

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

Создайте рабочий процесс MLOps для нескольких аккаунтов с помощью реестра моделей Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай. Рупиндер Гревал является старшим архитектором решений Ai/ML Specialist в AWS. В настоящее время он занимается обслуживанием моделей и MLOps в SageMaker. До этой должности он работал инженером по машинному обучению, создавая и размещая модели. Вне работы он любит играть в теннис и кататься на велосипеде по горным тропам.

Создайте рабочий процесс MLOps для нескольких аккаунтов с помощью реестра моделей Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Фарук Сабир является старшим специалистом по искусственному интеллекту и машинному обучению, архитектором решений в AWS. Он имеет степень доктора философии и магистра электротехники Техасского университета в Остине и степень магистра компьютерных наук Технологического института Джорджии. В AWS он помогает клиентам формулировать и решать их бизнес-задачи в области науки о данных, машинного обучения, компьютерного зрения, искусственного интеллекта, численной оптимизации и смежных областях. У него более 16 лет опыта работы, а также он является адъюнкт-преподавателем Техасского университета в Далласе, где он читает аспирантуру по прикладному машинному обучению. Живя в Далласе, штат Техас, он и его семья любят путешествовать и совершать длительные поездки.

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

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