柏拉图数据智能。
垂直搜索和人工智能。

在 Amazon Personalize 中引入解决方案自动训练 |亚马逊网络服务

日期:

亚马逊个性化 很高兴地宣布解决方案的自动培训。解决方案培训对于维持模型的有效性并确保建议符合用户不断变化的行为和偏好至关重要。随着数据模式和趋势随着时间的推移而变化,使用最新的相关数据重新训练解决方案使模型能够学习和适应,从而提高其预测准确性。自动训练生成新的解决方案版本,减轻模型漂移并保持建议的相关性并根据最终用户的当前行为量身定制,同时包含最新的项目。最终,自动训练提供了更加个性化和引人入胜的体验,可以适应不断变化的偏好。

Amazon Personalize 通过机器学习 (ML) 加速您的数字化转型,让您可以轻松地将个性化推荐集成到现有网站、应用程序、电子邮件营销系统等中。 Amazon Personalize 使开发人员能够快速实施定制的个性化引擎,而无需 ML 专业知识。 Amazon Personalize 提供必要的基础设施并管理整个 ML 管道,包括处理数据、识别特征、使用适当的算法以及根据您的数据训练、优化和托管自定义模型。您的所有数据均经过加密,确保私密且安全。

在这篇文章中,我们将指导您完成配置自动训练的过程,以便您的解决方案和建议保持其准确性和相关性。

解决方案概述

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 将自动创建您的第一个解决方案版本。 A 解决方案版本 指经过训练的 ML 模型。为解决方案创建解决方案版本后,Amazon Personalize 会根据配方和训练配置训练支持该解决方案版本的模型。开始创建解决方案版本最多可能需要 1 小时。

以下是使用 AWS 开发工具包创建自动训练解决方案的示例代码:

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 开发工具包确认已启用自动训练:

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

您的回复将包含以下字段 performAutoTrainingautoTrainingConfig,显示您在中设置的值 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 开发工具包。您还必须附加后缀 $LATESTsolutionArn in solutionVersionArn 当你设置 syncWithLatestSolutionVersiontrue.

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 开发工具包确认 syncWithLatestSolutionVersion 已启用:

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

您的回复将包含该字段 syncWithLatestSolutionVersioncampaignConfig,显示您在中设置的值 CreateCampaign 呼叫。

您可以通过更新您的活动来启用或禁用在创建活动后在 Amazon Personalize 控制台上自动使用最新解决方案版本的选项。同样,您可以启用或禁用 syncWithLatestSolutionVersion UpdateCampaign 使用 AWS 开发工具包。

结论

通过自动训练,您可以简化工作流程并在 Amazon Personalize 中自动部署最新解决方案版本,从而减轻模型漂移并保持推荐相关性。

有关使用 Amazon Personalize 优化用户体验的更多信息,请参阅 亚马逊个性化开发人员指南.


关于作者

巴卡里·约翰逊 是一位高级技术产品经理,在 Amazon Personalize 团队中负责 AWS AI/ML。 她拥有计算机科学和战略背景,对产品创新充满热情。 在业余时间,她喜欢旅行和探索户外活动。

阿贾伊·文卡塔克里希南 是 Amazon Personalize 团队的软件开发工程师。业余时间,他喜欢写作和踢足球。

普拉内什·阿努巴夫 是 Amazon Personalize 的高级软件工程师。 他热衷于设计机器学习系统来大规模服务客户。 工作之余,他喜欢踢足球,并且是皇家马德里队的狂热追随者。

现货图片

最新情报

现货图片

在线答疑

你好呀! 我怎么帮你?