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

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

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

У цій публікації ми обговорюємо деякі з нових функцій для кількох облікових записів Amazon SageMaker які дозволяють краще ділитися групами моделей і керувати ними, а також керувати версіями моделей. Ось приклад структури облікового запису передовий досвід організаційного підрозділу щоб розмістити моделі за допомогою кінцевих точок SageMaker в облікових записах, див Оркестратор робочого навантаження MLOps.

Огляд рішення

Наведена нижче діаграма ілюструє нашу спільну модель архітектури реєстру.

Деякі речі, на які слід звернути увагу в попередній архітектурі:

Наступні кроки відповідають схемі:

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

Протягом усього процесу спільний реєстр моделі зберігає старіші версії моделі. Це дозволяє команді відкотити зміни або навіть розмістити варіанти виробництва.

Передумови

Переконайтеся, що у вас є такі передумови:

  • Надана структура з кількома обліковими записами – Інструкції див Найкращі практики для організаційних підрозділів з організаціями AWS. Для цілей цього блогу ми використовуємо такі облікові записи:
    • Обліковий запис Data Science – Обліковий запис, де дослідники даних мають доступ до навчальних даних і створюють моделі.
    • Обліковий запис спільних служб – Центральний обліковий запис для зберігання артефактів моделі (як показано на діаграмі архітектури), до якого можна отримати доступ через різні облікові записи робочого навантаження.
    • Обліковий запис розгортання – Обліковий запис, який відповідає за внесення змін до різних облікових записів.
    • Облікові записи робочого навантаження – Зазвичай це середовища контролю якості та виробництва, де інженери програмного забезпечення можуть створювати програми для використання моделі ML.
  • Обліковий запис розгортання з відповідними дозволами – Для отримання додаткової інформації про найкращі методи роботи зі структурою організаційного підрозділу з кількома обліковими записами див Розгортання OU. Цей обліковий запис відповідає за вказівку облікових записів робочого навантаження на потрібну модель у реєстрі моделей облікового запису спільних служб.

Визначте політику між обліковими записами

Дотримуючись принципу найменших привілеїв, спершу нам потрібно додати політики ресурсів між обліковими записами до ресурсів спільних служб, щоб надати доступ з інших облікових записів.

Оскільки артефакти моделі зберігаються в сегменті S3 облікового запису спільних служб, обліковому запису Data Science потрібен доступ для читання й запису 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 – Обліковий запис, де ми будемо тренуватися, а отже, створювати фактичний артефакт моделі
  • deployment_account_id – Обліковий запис, де ми хочемо розмістити кінцеву точку для цієї моделі

Спочатку нам потрібно переконатися, що групи пакетів моделі існують. Ви можете використовувати Boto3 API, як показано в наступному прикладі, або ви можете використовувати Консоль управління 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. Це потрібно зробити за допомогою облікового запису data science. На консолі AWS KMS перейдіть до Визначте дозволи на використання ключа сторінку. В Інші облікові записи AWS розділ, вибрати Додайте інший обліковий запис AWS. Введіть номер облікового запису AWS для облікового запису розгортання. Ви використовуєте цей ключ KMS для навчального завдання SageMaker. Якщо ви не вказали ключ KMS для навчального завдання, SageMaker за замовчуванням використовує ключ шифрування на стороні сервера Amazon S3. Ключ шифрування Amazon S3 на стороні сервера за замовчуванням не може надаватися іншим обліковим записам AWS або використовуватися ним.

Політика та дозволи відповідають такому шаблону:

  • Політика Amazon S3, указана в shared_services_account надає дозволи для облікового запису Data Science і облікового запису розгортання
  • Політика ключів KMS, указана в shared_services_account надає дозволи для облікового запису Data Science і облікового запису розгортання

Нам потрібно переконатися, що обліковий запис спільних служб і обліковий запис розгортання мають доступ до зображень 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 для SageMaker. Ця роль має 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, тип екземпляра навчання та кількість. Ми також створюємо a 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) як метрику в цьому прикладі. The попередній зошит також породжує evaluate.py, який ми використовуємо для оцінки нашої моделі за допомогою MSE. Ми також створюємо a ProcessingStep для ініціалізації сценарію оцінки моделі за допомогою a 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
)

Нам також потрібно створити артефакти моделі, щоб її можна було розгорнути (за допомогою іншого облікового запису). Для створення моделі ми створюємо a 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"),
 )

Додавання умов до конвеєра виконується за допомогою a 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 для розгортання моделі з реєстру моделей. Наступний код виконується в обліковому записі розгортання та використовується для розгортання схвалених моделей для забезпечення якості та виробництва:

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 CodeBuild.

Ви можете масштабувати концепції в цій публікації для розміщення моделей Обчислювальна хмара Amazon Elastic (Amazon EC2) або Послуга Amazon Elastic Kubernetes (Amazon EKS), а також створити конвеєр пакетного висновку.

Щоб дізнатися більше про наявність окремих облікових записів для створення моделей машинного навчання в AWS, див Найкращі практики для організаційних підрозділів з організаціями AWS та Безпечне оновлення моделей у виробництві.


Про авторів

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

Мані Хануджа  Мані Хануджа є спеціалістом з питань штучного інтелекту та машинного навчання в Amazon Web Services (AWS). Вона допомагає клієнтам, які використовують машинне навчання, вирішувати свої бізнес-завдання за допомогою AWS. Більшу частину свого часу вона проводить, глибоко занурюючись і навчаючи клієнтів у проектах зі штучного інтелекту / навчання, пов’язаних із комп’ютерним зором, обробкою природних мов, прогнозуванням, непередбачуваним доступом тощо. Вона захоплена ML на краю, отже, вона створила власну лабораторію із самокерованим набором та виробничою лінією з виробництва прототипів, де проводить багато вільного часу.

Створіть робочий процес MLOps для кількох облікових записів за допомогою реєстру моделі Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Саумітра Вікрам є розробником програмного забезпечення в команді Amazon SageMaker і працює в Ченнаї, Індія. Поза роботою він любить проводити час бігом, трекінгом і їздою на мотоциклі через Гімалаї.

Створіть робочий процес MLOps для кількох облікових записів за допомогою реєстру моделі Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Срідеві Шрінівасан є лідером розробки в AWS SageMaker. Вона пристрасно та в захваті від створення ML як платформи, яка має змінити повсякденне життя. Зараз вона зосереджена на SageMaker Feature Store. У вільний час вона любить проводити час з родиною.

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

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

Часова мітка:

Більше від AWS Машинне навчання