Amazon Personalize 近期引入了自动化训练功能,以提升解决方案的灵活性和整体性能。解决方案训练对保持模型的有效性至关重要,它确保了推荐符合用户不断变化的行为和偏好。随着数据模式和趋势的发展,使用最新的相关数据对解决方案进行重新训练使模型能够学习和适应,从而提升预测的准确性。自动化训练会生成新的解决方案版本,从而减轻模型漂移的影响,确保推荐持续符合最终用户当前的行为,并包含最新的项目。总之,自动化训练为用户提供了更加个性化和富有吸引力的体验。
加速器七天试用iosAmazon Personalize 通过机器学习ML加速了您的数字转型,使将个性化推荐集成到现有网站、应用程序和电子邮件营销系统变得轻而易举。开发者可以快速实现定制的个性化引擎,而无需具备 ML 专业知识。Amazon Personalize 提供所需的基础设施,并管理整个 ML 管道,包括数据处理、特征识别、使用适当的算法以及根据您的数据进行模型的训练、优化和托管。所有数据都是加密的,以确保私密和安全。
在本篇文章中,我们将指导您如何配置自动化训练,以保持您的解决方案和推荐的准确性与相关性。
一个 解决方案 是指 Amazon Personalize 配方、自定义参数及一个或多个解决方案版本训练模型的组合。当您创建自定义解决方案时,需要指定一个符合您用例的配方并配置训练参数。本文中,将重点介绍如何在训练参数内配置自动化训练。
要启用解决方案的自动化训练,您首先需要设置 Amazon Personalize 资源。您需要从 创建数据集组、创建模式和 数据集,来代表您的项目、交互和用户数据开始。有关详细步骤,请参考 快速入门控制台 或 快速入门AWS CLI。
导入完数据后,您就可以创建一个解决方案了。
要设置自动训练,请按照以下步骤操作:
在 Amazon Personalize 控制台上,创建一个新解决方案。为解决方案指定一个名称,选择您想要创建的解决方案类型,并选择您的配方。可选,添加任何标签。有关标记 Amazon Personalize 资源的更多信息,请参考 标记 Amazon Personalize 资源。在 自动化训练 部分中,选择 启用,并指定您的训练频率。自动化训练默认每 7 天训练一次。您可以根据业务需求调整训练频率,范围从每 1 到 30 天一次。
如果您的配方生成项目推荐或用户细分,您可以可选使用 训练列 部分选择 Amazon Personalize 在训练解决方案版本时考虑的列。在 超参数配置 部分,您也可以根据您的配方和业务需求可选地配置超参数选项。提供任何附加配置后,选择 下一步。审核解决方案详情,确保您的自动化训练配置如预期。选择 创建解决方案。Amazon Personalize 将自动创建您的第一个解决方案版本。一个 解决方案版本 是指经过训练的 ML 模型。当为解决方案创建解决方案版本时,Amazon Personalize 根据配方和训练配置来训练支持该解决方案版本的模型,解决方案版本的创建可能需要最多 1 小时的时间才会启动。
以下是使用 AWS SDK 创建带有自动化训练的解决方案的示例代码:
pythonimport boto3 personalize = boto3client(personalize)
solutionconfig = { autoTrainingConfig { schedulingExpression rate(3 days) }}
recipe = arnawspersonalizerecipe/awssimilaritemsname = testautomatictrainingresponse = personalizecreatesolution(name=name recipeArn=recipearn datasetGroupArn=datasetgrouparn performAutoTraining=True solutionConfig=solutionconfig)
print(response[solutionArn])solutionarn = response[solutionArn]
解决方案创建后,您可以在解决方案详情页面确认自动化训练是否已启用。此外,您还可以通过启用或禁用自动化训练,并根据需要调整训练频率来更新配置。
您还可以使用以下示例代码通过 AWS SDK 确认自动化训练是否启用:
pythonresponse = personalizedescribesolution(solutionArn=solutionarn)print(response)
输出将包括字段 performAutoTraining 和 autoTrainingConfig,显示您在 CreateSolution 调用中设置的值。
您可以使用以下示例代码通过 AWS SDK 更新自动化训练:
pythonsolutionconfig = { autoTrainingConfig { schedulingExpression rate(1 days) }}
response = personalizeupdatesolution(solutionArn=solutionarn performAutoTraining=True solutionConfig=solutionconfig)print(response[solutionArn])solutionarn = response[solutionArn]
输出将包含字段 latestSolutionUpdate,该字段中包括 performAutoTraining 和 autoTrainingConfig,显示您在 UpdateSolution 调用中设置的值。
在解决方案详情页面,您也可以查看自动创建的解决方案版本。训练类型 列指示解决方案版本是手动创建还是自动创建。

当您的解决方案版本准备好后,您可以为该解决方案版本 创建一个活动。
一个 活动 将解决方案版本训练模型部署以生成实时推荐。在 Amazon Personalize 中,您可以简化工作流程,通过自动同步来自动部署最新的解决方案版本到活动上。要设置自动同步,请按以下步骤进行:
在 Amazon Personalize 控制台上,创建一个新活动。指定活动名称。选择刚刚创建的解决方案。选择 自动使用最新的解决方案版本。设置 最小预留每秒请求量。创建您的活动。活动的状态变为 ACTIVE 时即准备好。
以下是使用 AWS SDK 创建一个 syncWithLatestSolutionVersion 设置为 true 的活动的示例代码。在设置 syncWithLatestSolutionVersion 为 true 时,必须为 solutionVersionArn 添加后缀 LATEST。
pythoncampaignconfig = { syncWithLatestSolutionVersion True}resourcename = testcampaignsyncsolutionversionarn = arnawspersonalizeltregiongtltaccountIdgtsolution/ltsolutionnamegt/LATESTresponse = personalizecreatecampaign(name=resourcename solutionVersionArn=solutionversionarn campaignConfig=campaignconfig)campaignarn = response[campaignArn]print(campaignarn)
在活动详情页面,您可以查看选择的活动是否启用了自动同步。当启用时,无论是自动还是手动创建,您的活动都将自动更新以使用最新的解决方案版本。
使用以下示例代码通过 AWS SDK 确认 syncWithLatestSolutionVersion 是否启用:
pythonresponse = personalizedescribecampaign(campaignArn=campaignarn)print(response)
输出将包含字段 syncWithLatestSolutionVersion,在 campaignConfig 下显示您在 CreateCampaign 调用中设置的值。
您可以在创建活动后通过更新活动在 Amazon Personalize 控制台上启用或禁用自动使用最新解决方案版本的选项。同样,您可以使用 UpdateCampaign 和 AWS SDK 启用或禁用 syncWithLatestSolutionVersion。
通过自动化训练,您可以减少模型漂移,保持推荐的相关性,简化工作流程并自动部署 Amazon Personalize 中的最新解决方案版本。
欲了解有关优化用户体验的更多信息,请参阅 Amazon Personalize 开发者指南。
Ba’Carri Johnson 是一位高级技术产品经理,致力于 AWS AI/ML 的 Amazon Personalize 团队。拥有计算机科学和战略背景,她热衷于产品创新。在休闲时间,她喜欢旅行和探索大自然。
Ajay Venkatakrishnan 是 Amazon Personalize 团队的一名软件开发工程师。在闲暇时,他喜欢写作和踢足球。
Pranesh Anubhav 是 Amazon Personalize 的高级软件工程师。他热衷于设计机器学习系统,以满足大规模客户的需求。在工作之余,他喜欢踢足球,并且是皇家马德里的忠实粉丝。
为 Amazon 管理服务的 Apache Flink 启用基于指标和计划的扩展作者 Francisco Morillo 和 Deepthi Mohan 发表于 2024年1月10日,Amazon CloudWatch,Amazon EventBridge,Amazon 管理服务的 Apache F...
在Amazon Bedrock中导入经过微调的问题回答模型作为自定义模型作者:Jay Pillai、Evandro Franco、Felipe Lopez、Paras Mehra、Ragha Prasad、Rupinder Grewal 和 Sandeep Singh,发表日期:2024年9月30日...