Amazon SageMaker 特征存放区是一个完全托管且专门构建的存储库,用于存储、更新、检索和共享机器学习 (ML) 功能。
功能是在训练和推理过程中用于进行预测的属性或属性模型。例如,在推荐音乐播放列表的 ML 应用程序中,功能可能包括歌曲评级、之前听过的歌曲以及听歌所用的时长。机器学习模型的准确性基于功能的精确集和组成。通常,多个团队训练多个模型时会反复使用这些功能。而且,无论使用哪种功能集来训练模型,都需要提供实时预测(推理)。在这些不同访问模式中保持单一功能源的一致性和最新状态是一项挑战,因为大多数组织会保留两个不同的特征存放区,一个用于训练,另一个用于推理。
Amazon SageMaker 特征存放区是一个专门构建的存储库,您可以用以存储和访问功能,以便更轻松地在团队中对功能进行命名、组织和重复使用。SageMaker 特征存放区在训练和实时推理期间为功能提供统一存储,无需通过编写额外的代码或创建手动流程来保持功能的一致。SageMaker 特征存放区会跟踪存储功能的元数据(例如,功能名称或版本号),以便您可以批量查询或使用交互式查询服务 Amazon Athena 实时查询功能的正确属性。SageMaker 特征存放区还会保持功能的更新,因为单个存储库会随着新数据在推理过程中的生成而更新,因此新功能可供模型在训练和推理期间始终可用。
主要功能
从多个来源提取数据
有多种方法可将功能提取到 Amazon SageMaker 特征存放区。您可以使用流式数据源 Amazon Kinesis Data Firehose。您还可以在数据准备工具(例如,例如 Amazon SageMaker Data Wrangler)中创建功能,只需点击几下即可将功能直接存储到 SageMaker 特征存放区。
搜索和发现
Amazon SageMaker 特征存放区对功能进行标记和索引,以便通过 SageMaker Studio 的可视界面即可轻松发现功能。通过浏览功能目录,团队可以更好地了解功能并确定某项功能对特定模型是否有用。
确保功能的一致性
Amazon SageMaker 特征存放区通过使相同的功能在训练和推理期间均可使用,以帮助确保模型做出准确的预测。训练和推理是非常不同的用例,两者的存储请求也不同。SageMaker 特征存放区可处理这两种请求。训练期间,模型使用完整的数据集且通常需要数小时,而推理时则在需要在数毫秒内完成且通常需要数据的子集。例如,在预测播放列表中下一首最佳歌曲的模型中,您可以在数千首歌曲上训练模型,但在推理期间,SageMaker Feature Store 仅访问最后三首歌曲以预测下一首歌曲。SageMaker 功能商店允许模型访问相同的功能集进行训练(通常是离线和批量完成)以及实时推理。
功能标准化
对于跨业务中的类似功能,通常会看到不同的定义。例如,“温度” 可以用摄氏度或华氏度来定义,或者 “日期” 可以用“日-月-年”或“月-日-年”表示。Amazon SageMaker 特征存放区通过将功能的定义存储在单一存储库中,以便消除团队间的混淆,从而明确每项功能的定义。明确功能的定义可以使您更轻松地在不同的应用程序中重复使用功能。
与 Amazon SageMaker Pipelines 集成
Amazon SageMaker 特征存放区与 Amazon SageMaker Pipelines 集成,以向自动化机器学习流创建、添加功能搜索和发现,以及重新使用。因此,您可以轻松将功能搜索、发现添加到机器学习工作流中,并且重复使用它。