Кслера8

Представляем автоматическое обучение решениям в Amazon Personalize | Веб-сервисы Amazon

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

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

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

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

A Решение относится к комбинации рецепта Amazon Personalize, настраиваемых параметров и одной или нескольких версий решения (обученных моделей). Когда вы создаете собственное решение, вы указываете рецепт, соответствующий вашему варианту использования, и настраиваете параметры обучения. В этом посте вы настраиваете автоматическое обучение в параметрах обучения.

Предпосылки

Чтобы включить автоматическое обучение для ваших решений, сначала необходимо настроить ресурсы Amazon Personalize. Начать с создание группы набора данных, схемы и Наборы данных представляющие ваши элементы, взаимодействия и пользовательские данные. Инструкции см. Начало работы (консоль) or Начало работы (AWS CLI).

После завершения импорта данных вы готовы создать решение.

Создать решение

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

  1. В консоли Amazon Personalize создайте новое решение.
  2. Укажите имя вашего решения, выберите тип решения, которое вы хотите создать, и выберите рецепт.
  3. По желанию добавьте любые теги. Дополнительную информацию о маркировке ресурсов Amazon Personalize см. Маркировка ресурсов Amazon Personalize.
  4. Чтобы использовать автоматическое обучение, в Автоматическое обучение раздел, выберите включать и укажите частоту тренировок.

Автоматическое обучение включено по умолчанию: обучение проводится один раз каждые 7 дней. Вы можете настроить частоту обучения в соответствии с потребностями вашего бизнеса: один раз каждые 1–30 дней.

  1. Если ваш рецепт генерирует рекомендации по продуктам или сегменты пользователей, при желании используйте Колонки для обучения раздел, чтобы выбрать столбцы, которые Amazon Personalize учитывает при обучении версий решения.
  2. В Конфигурация гиперпараметра ., при необходимости настройте любые параметры гиперпараметров в соответствии с вашим рецептом и потребностями бизнеса.
  3. Укажите дополнительные конфигурации, затем выберите Следующая.
  4. Просмотрите сведения о решении и убедитесь, что ваше автоматическое обучение настроено должным образом.
  5. Выберите Создать решение.

Amazon Personalize автоматически создаст вашу первую версию решения. А версия решения относится к обученной модели ML. Когда для решения создается версия решения, Amazon Personalize обучает модель, поддерживающую версию решения, на основе рецепта и конфигурации обучения. Начало создания версии решения может занять до 1 часа.

Ниже приведен пример кода для создания решения с автоматическим обучением с использованием AWS SDK:

import boto3 
personalize = boto3.client('personalize')

solution_config = {
    "autoTrainingConfig": {
        "schedulingExpression": "rate(3 days)"
    }
}

recipe = "arn:aws:personalize:::recipe/aws-similar-items"
name = "test_automatic_training"
response = personalize.create_solution(name=name, recipeArn=recipe_arn, datasetGroupArn=dataset_group_arn, 
                            performAutoTraining=True, solutionConfig=solution_config)

print(response['solutionArn'])
solution_arn = response['solutionArn'])

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

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

response = personalize.describe_solution(solutionArn=solution_arn)
print(response)

Ваш ответ будет содержать поля performAutoTraining и autoTrainingConfig, отображая значения, которые вы установили в CreateSolution вызов.

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

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

response = personalize.list_solution_versions(solutionArn=solution_arn)['solutionVersions']
print("List Solution Version responsen")
for val in response:
    print(f"SolutionVersion: {val}")
    print("n")

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

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

Создать кампанию

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

  1. В консоли Amazon Personalize создайте новую кампанию.
  2. Укажите название вашей кампании.
  3. Выберите только что созданное решение.
  4. Выберите Автоматически использовать последнюю версию решения.
  5. Установить минимальное количество подготовленных транзакций в секунду.
  6. Создайте свою кампанию.

Кампания готова, когда ее статус ACTIVE.

Ниже приведен пример кода для создания кампании с syncWithLatestSolutionVersion установлен в true с помощью AWS SDK. Вы также должны добавить суффикс $LATEST до solutionArn in solutionVersionArn когда вы устанавливаете syncWithLatestSolutionVersion в true.

campaign_config = {
    "syncWithLatestSolutionVersion": True
}
resource_name = "test_campaign_sync"
solution_version_arn = "arn:aws:personalize:<region>:<accountId>:solution/<solution_name>/$LATEST"
response = personalize.create_campaign(name=resource_name, solutionVersionArn=solution_version_arn, campaignConfig=campaign_config)
campaign_arn = response['campaignArn']
print(campaign_arn)

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

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

response = personalize.describe_campaign(campaignArn=campaign_arn)
Print(response)

Ваш ответ будет содержать поле syncWithLatestSolutionVersion под campaignConfig, отображая значение, которое вы установили в CreateCampaign вызов.

Вы можете включить или отключить опцию автоматического использования последней версии решения в консоли Amazon Personalize после создания кампании путем ее обновления. Аналогичным образом вы можете включить или отключить syncWithLatestSolutionVersion UpdateCampaign с помощью AWS SDK.

Заключение

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

Дополнительную информацию об оптимизации взаимодействия с пользователем с помощью Amazon Personalize см. Руководство для разработчиков Amazon Personalize.


Об авторах

Ба'Карри Джонсон — старший технический менеджер по продукту, работающий с AWS AI/ML в команде Amazon Personalize. Имея опыт работы в области компьютерных наук и стратегии, она увлечена инновациями в продуктах. В свободное время она любит путешествовать и исследовать природу.

Аджай Венкатакришнан — инженер-разработчик программного обеспечения в команде Amazon Personalize. В свободное время он любит писать и играть в футбол.

Пранеш Анубхав — старший инженер-программист в Amazon Personalize. Он увлечен разработкой систем машинного обучения для обслуживания клиентов в больших масштабах. Вне работы он любит играть в футбол и является страстным болельщиком «Реала».

Чат с нами

Всем привет! Могу я чем-нибудь помочь?