Улучшите управление моделями машинного обучения с помощью Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Улучшите управление своими моделями машинного обучения с помощью Amazon SageMaker

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

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

Обзор управления моделью

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

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

Компании обычно используют такие инструменты, как Excel или электронная почта, для сбора и обмена такой информацией о модели для использования в утверждениях для производственного использования. Но по мере увеличения масштабов развития машинного обучения информация может быть легко потеряна или неуместна, и отслеживание этих деталей быстро становится невозможным. Кроме того, после развертывания этих моделей вы можете объединить данные из различных источников, чтобы получить сквозную видимость всех ваших моделей, конечных точек, истории мониторинга и происхождения. Без такого представления вы можете легко потерять свои модели и не знать, когда вам нужно предпринять какие-либо действия с ними. Эта проблема усугубляется в строго регулируемых отраслях, потому что вы подпадаете под действие правил, которые требуют от вас соблюдения таких мер.

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

Карты моделей SageMaker

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

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

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

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

  • Требования к модели документа, такие как рейтинг риска, предполагаемое использование, ограничения и ожидаемая производительность
  • Автозаполнение карточек моделей для моделей, обученных SageMaker
  • Принесите свою собственную информацию (BYOI) для моделей, отличных от SageMaker.
  • Загружайте и делитесь результатами оценки модели и данных
  • Определение и сбор пользовательской информации
  • Захват статуса карты модели (черновик, ожидающий проверки или одобренный для производства)
  • Получите доступ к концентратору карт модели из Консоль управления AWS
  • Создание, редактирование, просмотр, экспорт, клонирование и удаление карт моделей.
  • Запуск рабочих процессов с помощью Amazon EventBridge интеграция событий изменения статуса карточки модели

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

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

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

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

  1. Введите сведения об обзоре модели.
  2. Введите сведения об обучении (заполняется автоматически, если модель обучалась в SageMaker).
  3. Загрузить результаты оценки.
  4. Добавьте дополнительные сведения, такие как рекомендации и этические соображения.

После создания карточки модели вы можете выбрать версию для ее просмотра.

Улучшите управление моделями машинного обучения с помощью Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

На следующем снимке экрана показаны детали нашей карты модели.

Улучшите управление моделями машинного обучения с помощью Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

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

Улучшите управление моделями машинного обучения с помощью Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Создавайте и исследуйте карты моделей SageMaker с помощью SageMaker Python SDK.

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

Убедитесь, что у вас установлена ​​последняя версия SageMaker Python SDK:

$ pip install --upgrade "sagemaker>=2"

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

Используя SageMaker Python SDK и передав имя модели SageMaker, мы можем автоматически собирать базовую информацию о модели. Информация, такая как ARN модели SageMaker, среда обучения и выходные данные модели. Простой сервис хранения Amazon (Amazon S3) расположение заполняется автоматически. Мы можем добавить другие факты модели, такие как описание, тип проблемы, тип алгоритма, создатель модели и владелец. См. следующий код:

model_overview = ModelOverview.from_name(
    model_name=model_name,
    sagemaker_session=sagemaker_session,
    model_description="This is a simple binary classification model used for Model Card demo",
    problem_type="Binary Classification",
    algorithm_type="Logistic Regression",
    model_creator="DEMO-ModelCard",
    model_owner="DEMO-ModelCard",
)
print(model_overview.model_id) # Provides us with the SageMaker Model ARN
print(model_overview.inference_environment.container_image) # Provides us with the SageMaker inference container URI
print(model_overview.model_artifact) # Provides us with the S3 location of the model artifacts

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

objective_function = ObjectiveFunction(
    function=Function(
        function=ObjectiveFunctionEnum.MINIMIZE,
        facet=FacetEnum.LOSS,
    ),
    notes="This is a example objective function.",
)
training_details = TrainingDetails.from_model_overview(
    model_overview=model_overview,
    sagemaker_session=sagemaker_session,
    objective_function=objective_function,
    training_observations="Additional training observations could be put here."
)

print(training_details.training_job_details.training_arn) # Provides us with the SageMaker Model ARN
print(training_details.training_job_details.training_environment.container_image) # Provides us with the SageMaker training container URI
print([{"name": i.name, "value": i.value} for i in training_details.training_job_details.training_metrics]) # Provides us with the SageMaker Training Job metrics

Если у нас есть доступные оценочные показатели, мы также можем добавить их в карточку модели:

my_metric_group = MetricGroup(
    name="binary classification metrics",
    metric_data=[Metric(name="accuracy", type=MetricTypeEnum.NUMBER, value=0.5)]
)
evaluation_details = [
    EvaluationJob(
        name="Example evaluation job",
        evaluation_observation="Evaluation observations.",
        datasets=["s3://path/to/evaluation/data"],
        metric_groups=[my_metric_group],
    )
]

Мы также можем добавить дополнительную информацию о модели, которая может помочь в управлении моделью:

intended_uses = IntendedUses(
    purpose_of_model="Test Model Card.",
    intended_uses="Not used except this test.",
    factors_affecting_model_efficiency="No.",
    risk_rating=RiskRatingEnum.LOW,
    explanations_for_risk_rating="Just an example.",
)
additional_information = AdditionalInformation(
    ethical_considerations="You model ethical consideration.",
    caveats_and_recommendations="Your model's caveats and recommendations.",
    custom_details={"custom details1": "details value"},
)

После того, как мы предоставили все необходимые данные, мы можем создать карточку модели, используя предыдущую конфигурацию:

model_card_name = "sample-notebook-model-card"
my_card = ModelCard(
    name=model_card_name,
    status=ModelCardStatusEnum.DRAFT,
    model_overview=model_overview,
    training_details=training_details,
    intended_uses=intended_uses,
    evaluation_details=evaluation_details,
    additional_information=additional_information,
    sagemaker_session=sagemaker_session,
)
my_card.create()

SageMaker SDK также предоставляет возможность обновлять, загружать, перечислять, экспортировать и удалять карточки модели.

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

Панель управления моделями SageMaker

Панель управления моделями — это централизованное хранилище всех моделей, созданных в учетной записи. Модели обычно создаются путем обучения в SageMaker, или вы можете перенести свои модели, обученные в другом месте, для размещения в SageMaker.

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

На следующем снимке экрана показан пример панели мониторинга модели.

Улучшите управление моделями машинного обучения с помощью Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

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

Model Monitor отслеживает качество моделей SageMaker, используемых в производстве для пакетного вывода или конечных точек в реальном времени. Вы можете настроить непрерывный мониторинг или мониторинг по расписанию с помощью API-интерфейсов SageMaker, а также изменить настройки предупреждений на панели управления моделью. Вы можете установить оповещения, которые будут уведомлять вас об отклонениях в качестве модели. Раннее и упреждающее обнаружение этих отклонений позволяет предпринимать корректирующие действия, такие как переобучение моделей, аудит вышестоящих систем или устранение проблем с качеством без необходимости отслеживать модели вручную или создавать дополнительные инструменты. Панель мониторинга моделей дает вам быстрое представление о том, какие модели отслеживаются и как они работают. Для получения дополнительной информации о Model Monitor посетите веб-сайт Мониторинг моделей на предмет качества данных и моделей, предвзятости и объяснимости.

Когда вы выбираете модель на информационной панели «Модель», вы можете получить более подробные сведения о модели, такие как карточка «Модель» (если она существует), происхождение модели, сведения о конечной точке, в которой была развернута модель, и расписание мониторинга для модель.

Улучшите управление моделями машинного обучения с помощью Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Это представление позволяет при необходимости создать карточку модели. Расписание мониторинга также можно активировать, деактивировать или редактировать с помощью панели управления модели.

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

Давайте рассмотрим пример рабочего процесса настройки мониторинга модели. Ключевыми этапами этого процесса являются:

  1. Захват данных, отправленных на конечную точку (или задание пакетного преобразования).
  2. Установите исходный уровень (для каждого из типов мониторинга).
  3. Создайте расписание монитора модели, чтобы сравнивать текущие прогнозы с базовым уровнем, чтобы сообщать о нарушениях и запускать предупреждения.

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

Улучшите управление моделями машинного обучения с помощью Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай. Улучшите управление моделями машинного обучения с помощью Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

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

Заключение

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

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


Об авторах

Улучшите управление моделями машинного обучения с помощью Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Кирит Тадака является архитектором решений машинного обучения, работающим в команде SageMaker Service SA. До прихода в AWS Кирит работал в стартапах в области ИИ на ранней стадии, а затем некоторое время консультировал на различных должностях в области исследований ИИ, MLOps и технического руководства.

Улучшите управление моделями машинного обучения с помощью Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Марк Карп является архитектором машинного обучения в команде SageMaker Service. Он фокусируется на помощи клиентам в проектировании, развертывании и управлении рабочими нагрузками машинного обучения в масштабе. В свободное время он любит путешествовать и исследовать новые места.

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

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

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

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

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