使用 Amazon SageMaker 构建语义内容推荐系统
简介
在本教程中,您将学习如何使用 Amazon SageMaker 中内置的神经主题模型 (NTM) 和 K 最近邻 (k-NN) 算法构建语义内容推荐系统,该系统结合使用主题建模和最近邻技术进行信息检索。
信息检索是一种搜索科学技术,旨在从文档中搜索信息、搜索文档本身或搜索用来描述数据的元数据。本教程结合使用主题建模和最近邻技术进行信息检索。此方法使用主题建模按主题生成表示文档含义的语义分布向量,然后使用最近邻技术来编制主题向量索引,以便基于主题相似度对给定输入文档的相似文档进行检索。通过使用 Amazon SageMaker 中内置的算法,您无需标记数据,而且信息检索基于语义相似度(而不是简单的字符串匹配)。
Amazon SageMaker 是全托管的端到端机器学习平台,涵盖了机器学习的整个生命周期。Amazon SageMaker NTM 是一种无监督学习算法,旨在按主题整理文档语料库,这些主题中包含基于其统计分布的词语分组。Amazon K 最近邻 (k-NN) 是一种基于索引的非参数监督式学习算法,可用于分类和回归任务。
为什么使用 Amazon SageMaker 检索信息?
Amazon SageMaker 中的一个关键组件是高度可扩展的内置算法列表。本教程使用 Amazon SageMaker 神经主题模型 (NTM) 算法和 Amazon SageMaker K 最近邻 (k-NN) 算法结合信息检索技术并构建推荐系统。
使用 Amazon SageMaker 进行信息检索的一些主要原因是:
- 可扩缩的训练:SageMaker 能够为您全面管理训练大规模模型所需的底层基础设施,包括自动配置训练实例,在存储和计算资源之间以及不同计算实例之间传输数据,并在训练作业完成后自动释放计算资源。使用 Spot 实例进行训练,最多可以节省 90% 的训练成本。
- 可扩缩的部署:模型训练完成后,SageMaker 可以为您创建托管端点,全面管理已训练模型的离线(批量)推理和在线部署。SageMaker 可以根据传入的流量自动扩缩端点。
- 监控:通过 Amazon SageMaker Model Monitor,您可以监控模型端点中的数据漂移。一旦检测到数据漂移,系统就会发出警报,提示需要重新训练模型。
- 全托管的超参数调优:训练机器学习模型通常需要耗费大量时间来调优超参数。SageMaker 可以为您管理超参数调优作业。您只需选择要并行运行的调优作业总数以及要监控的指标,Amazon SageMaker 就会处理其余的工作。
AWS 使用经验
中级
时长
2 小时
所需费用
不到 2 美元即可完成本教程(假设所有服务都运行 2 小时)*
使用的技术
- 有效 AWS 账户**
- 浏览器:AWS 推荐使用 Chrome
- Amazon SageMaker
- Amazon SageMaker Notebooks
- Amazon SageMaker 内置算法
- Amazon S3
- 适用于 Python 3 的 AWS SDK
*此估算值假设您在整个教程中都遵循推荐的配置,并在 2 小时内终止所有资源。
**在过去 24 小时内新创建的账户可能无法使用此项目所需的资源。