前言

Amazon SageMaker Feature Store https://aws.amazon.com/sagemaker/feature-store/  作为Amazon SageMaker 中的一项新功能,Feature Store将帮助数据科学家与机器学习工程师轻松安全地存储发现并共享训练预测工作流中使用的被选中数据

如同正确算法之于机器学习(ML)模型训练,经验丰富的从业者都很清楚高质量数据的重要意义。数据清洗无疑是良好的起点,包括在机器学习工作流中填充缺失值、消除异常值等。以此为基础,我们往往使用一种既常见、又相当不可思议的技术(即「特征工程」)进行数据转换。

简而言之,特征工程的目标在于转换数据并提高其表达能力,借此改善算法的学习效果。例如,大部分列式数据集都包含字符串,例如街道地址。对大多数机器学习算法而言,字符串没有任何意义,必须通过编码以数字形式表示。因此,我们可以将街道地址转换为GPS坐标,这就是一种更具表现力的位置概念学习方法。换句话说,如果数据是原油,那么特征工程就是将其转化为高辛烷值燃料的精炼过程,由此推动模型获得更高精度。

事实上,机器学习从业者往往耗费大量时间来开发特征工程代码、将其应用于初始数据集、在工程数据集上训练模型,最终评估模型的准确性。考虑到这项工作的实验性质,即使是最小的项目也需要进行多次迭代。同样的特征工程代码会一遍又一遍运行,这些重复的操作无疑既浪费时间、又浪费资源。在大型组织当中,这可能引发更严重的生产力损失,导致不同团队需要执行相同的工作,甚至因为不了解之前的工作成果而编写重复的特征工程代码。

机器学习团队还需要解决另一个难题。由于模型在工程数据集之上训练而成,因此必须对用于预测的数据执行相同的转换。在此期间,我们往往需要重写特征工程代码(有时需要使用另一种语言)、将其集成至预测工作流内,并在预测时进行这部分代码。整个过程不仅极为耗时,而且由于数据转换中极其微小的变化都可能对预测结果产生重大影响,因此往往存在严重的不一致问题。

为了解决这些问题,机器学习团队有时会建立特征库。这是一类中央存储库,团队可以在其中保存并检索可供训练及预测工作使用的工程数据。可以想见,要建立这样一套特征存储体系,我们需要大量的工程、基础设施与运营工作,这又会占用本应用于实际机器学习工作的宝贵时间。客户希望我们提供相应的解决方案,于是我们开始付诸行动。

关于Amazon SageMaker Feature Store

Amazon SageMaker Feature Store是一套完全托管的集中存储库,可安全便捷地存储并检索机器学习特征,用户无需管理任何基础设施。Feature Store是亚马逊云科技推出的 Amazon SageMaker 的组成部分,并可支持所有算法。它也能够与我们基于Web的机器学习开发环境Amazon SageMaker Studio相集成。

Amazon SageMaker Feature Store中存储的特征将以组为单位进行组织,并使用元数据加以标记。以此为基础,您可以快速判断哪些特征可用,以及是否适用于您的模型。各团队之间还可以轻松共享并重用这些特征,从而降低开发成本并加快创新速度。

在存储完成之后,各项特征即可在模型训练、批量转换以及低延迟实时预测等 Amazon SageMaker工作流内各环节被检索与使用。以此为基础,您不仅可以避免重复工作,同时也可以建立起统一的工作流,确保各工作流使用存储在离线及在线存储库内的相同特征。

作为拜耳旗下子公司,The Climate Corporation (Climate) https://climate.com/  致力于帮助农民获得数字化创新能力。该公司气候数据与分析副总裁Daniel McCaffrey表示: “在Climate,我们坚信应当为世界各地的农民提供准确信息,帮助他们以数据为依据做出决策,最终在单位土地上获得最大回报。为了实现这一目标,我们投资构建机器学习工具等多种技术,并通过「特征」这类可量化实体(例如亩产指标)构建模型。借助 Amazon SageMaker Feature Store,我们得以使用这套中央特征库加速机器学习模型的开发,轻松跨多个团队实现特征访问与重用。Amazon SageMaker Feature Store使用户能够轻松使用在线存储库实时访问特征,或使用离线存储库按计划在不同用例内运行特征,由此加快机器学习模型的开发速度。”

全球领先的高质量家庭护理服务搜索与管理平台Care.com https://www.care.com/也在使用Amazon SageMaker Feature Store。根据 Care.com 公司数据科学经理 Clemens Tummeltshammer 的介绍: “要推动从个人、家庭到整个国家的经济增长,我们必须建立起供需相匹配的健壮产业。我们对 Amazon SageMaker Feature Store 与 Amazon SageMaker Pipelines 深表赞赏,也相信它们将通过使用统一的精选数据集帮助我们在整个数据科学及开发团队中建立良好的扩展能力,由此构建起可扩展的数据准备与部署体系,进而支撑起可扩展的端到端机器学习模型管道。借助 Amazon SageMaker 新近公布的这项功能,我们能够加快不同应用程序中机器学习模型的开发与部署,加快实时建议交付速度、帮助客户做出更明智的决策。”

下面,我们一起了解如何上手使用 Amazon SageMaker Feature Store。

使用Amazon SageMaker Feature Store

存储及检索特征

在数据之上运行特征工程代码之后,您可以将工程处理后的特征按组的形式组织并存储在 Amazon SageMaker Feature Store当中。特征组属于记录的集合,类似于表中的行。每条记录都拥有唯一标识符,并保存原始数据源内某一数据实例的工程特征值。作为可选项,您还可以选择使用自己的亚马逊云科技密钥管理服务(KMS)密钥对静态数据进行加密。各特征组分别使用唯一的密钥。

您可以随意定义各个特征组。例如,您可以为每种数据源(CSV文件、数据库表等等)创建一个组,也可以方便地使用唯一列作为记录标识符(主键、客户ID、事务ID等)。

在完成分组之后,即可各个组重复以下操作步骤:

1.    创建特征定义,并在记录中保存每项特征的名称与类型
(Fractional, Integral
或者
String
)。
2.    使用
create_feature_group()API创建各个特征组:
3.    sm_feature_store.create_feature_group(
4.         # 特征组的名称
5.         FeatureGroupName=my_feature_group_name,
6.         # 用作记录标识符的列名称
7.         RecordIdentifierName=record_identifier_name,
8.         # 作为特征时间戳的列行为名称
9.         EventTimeFeatureName = event_time_feature_name,
10.         # 特征名称与类型清单
11.         FeatureDefinitions=my_feature_definitions,
12.         # 离线特征存储库的S3位置
13.         OfflineStoreConfig=offline_store_config,
14.         # 可选项,启用在线特征存储库
15.         OnlineStoreConfig=online_store_config,
16.         # 一个IAM角色
17.         RoleArn=role
)
18.    在各个特征组内,使用
put_record()API存储包含特征名称/特征值对的集合记录:
19.    sm_feature_store.put_record(
20.       FeatureGroupName=feature_group_name,
21.       Record=record,
22.       EventTime=event_time
)

*左滑查看更多

为了加快数据摄取速度,您可以创建多个线程以实现操作并行化。

到这里,Amazon SageMaker Feature Store即可提供各项特征。以离线存储库为基础,您可以使用Amazon Athena https://aws.amazon.com/athena , Amazon Glue https://aws.amazon.com/glue/ 或者Amazon EMR https://aws.amazon.com/emr 等服务构建供训练使用的数据集:在 Amazon S3 中获取相应的JSON对象、选择必要的特征,而后以机器学习算法需要的格式将其保存在 Amazon S3当中。之后的工作即可全部交给Amazon SageMaker,就这么简单!

除此之外,您也可以使用 get_record() API访问在线存储库内存储的各具体记录,并传递组名称与待访问记录的唯一标识符,如下所示:

record = sm_feature_store.get_record(FeatureGroupName=my_feature_group_name,RecordIdentifierValue={"IntegralValue": 5962}
)

*左滑查看更多

Amazon SageMaker Feature Store专为实时推理场景下的高效访问需求与设计,对于15 KB的载荷,可以95% 的概率将预测中的延迟控制在10毫秒以内。凭借这种能力,大家可以在预测过程中查询工程特征,并将上游应用程序发送的原始特征替换为模型训练时曾经使用的具体特征。通过这种方式,我们可以消除特征不一致问题,帮助大家将精力集中在最佳模型的构建当中。

最后,Amazon SageMaker Feature Store当中包含特征创建时间戳,因此大家可以根据特定时间点检索特征状态。

如果将Amazon SageMaker Feature Store 与 Amazon SageMaker Studio相集成,我们可以看到两个特征组。

右键点击“Open feature group detail”,即可打开身份特征 identity feature group。

这里可以看到特征定义。

最后,我们可以为离线存储库生成查询,并将其添加至Amazon SageMaker Data Wrangler https://aws.amazon.com/sagemaker/data-wrangler 工作流,借此在训练之前加载特征。

如何快速上手

Amazon SageMaker Feature Store

如大家所见,Amazon SageMaker Feature Store极大降低了在各训练与预测工作流之间存储、检索及共享特征的门槛。

现在,您已经可以在提供Amazon SageMaker服务的各个亚马逊云科技区域中使用这项服务,具体成本取决于特征读取/写入量以及所存储的数据总量

您可以扫描下方二维码参考示例 notebooks 立即体验,我们也期待听取您关于使用体验的感受。

欢迎大家通过亚马逊云科技客户支持渠道以及扫描下方二维码进入Amazon SageMaker论坛与我们交流。

本篇作者

Julien Simon

亚马逊云科技布道师

作为EMEA的人工智能和机器学习布道师,Julien致力于帮助开发人员和企业将他们的想法变为现实。

听说,点完下面4个按钮

就不会碰到bug了!

使用Amazon SageMaker Feature Store存储、发现并共享机器学习特征相关推荐

  1. Feature Tools:可自动构造机器学习特征的Python库

    选自Towards data science,作者:William Koehrsen,机器之心编译. 目前,很多机器学习项目的模型选择开始转向自动化,而特征工程仍然主要以人工为主.这个过程的重要性可能 ...

  2. 亚马逊云服务(AWS)中国宁夏及北京区域正式上线Amazon SageMaker

    Amazon SageMaker 是一项完全托管的服务,使开发者和数据科学家能够更广泛.更成功地使用机器学习 亚马逊云服务Amazon Web Services, Inc. (AWS) 今天宣布,Am ...

  3. AI模型大杀器----Amazon SageMaker 实现高精度猫狗分类

    前言: Hello大家好,我是Dream. 最近受邀参与了 亚马逊云科技[云上探索实验室] 活动,基于他们的sagemaker实现了机器学习中一个非常经典的案例:猫狗分类.最让我惊喜的是的模型训速度比 ...

  4. 使用Amazon SageMaker构建高质量AI作画模型Stable Diffusion

    使用Amazon SageMaker构建高质量AI作画模型Stable Diffusion 0. 前言 1. Amazon SageMaker 与机器学习 1.1 机器学习流程 1.2 Amazon ...

  5. Amazon SageMaker简直就是机器学习平台的天花板

    一.前言 最近参与了亚马逊云科技[云上探索实验]活动,通过Amazon SageMaker基于Stable Diffusion模型,非常简单快速搭建的第一个AIGC,一开始以为非常复杂,不懂动手操作, ...

  6. amazon 使用密码登录_我们通过使用Amazon SageMaker大规模提供机器学习模型学到了什么...

    amazon 使用密码登录 by Daitan 通过大潭 我们通过使用Amazon SageMaker大规模提供机器学习模型学到了什么 (What We Learned by Serving Mach ...

  7. Amazon SageMaker和NVIDIA NGC加速AI和ML工作流

    Amazon SageMaker和NVIDIA NGC加速AI和ML工作流 从自动驾驶汽车到药物发现,人工智能正成为主流,并迅速渗透到每个行业.但是,开发和部署AI应用程序是一项具有挑战性的工作.该过 ...

  8. AWS 中国宁夏和北京区正式上线 Amazon SageMaker,中国用户终于能用到新工具和功能!

    2020年 5 月 12 日,亚马逊云服务 Amazon Web Services, Inc. (AWS) 宣布,Amazon SageMaker 在由西云数据运营的 AWS 中国 (宁夏) 区域和光 ...

  9. 在 Amazon SageMaker 上玩转 Stable Diffusion: 基于 Dreambooth 的模型微调

    本文将以 Stable Diffusion Quick Kit 为例,详细讲解如何利用 Dreambooth 对 Stable Diffusion 模型进行微调,包括基础的 Stable Diffus ...

最新文章

  1. 钱老论逻辑、思维科学、智能机(一)
  2. 谈谈产品开发团队的配置管理规则
  3. jquery 学习之二 属性---文本 值
  4. ASP.Net 验证正则表达式
  5. Github 上近万星的深度学习模型大全!
  6. tablesample oracle,Hive DDL 内部表外部表 分区 分桶 行格式 存储文件格式 概述
  7. SVN与TortoiseSVN实战:冲突详解(一)
  8. 时间管理类APP的Demo版本
  9. 一个基于 SpringBoot+Redis+Vue 仿饿了么外卖系统(后台+移动端),可二次开发接私活!...
  10. 人人都能学会的python编程教程4:关系运算符与循环
  11. jquery常用遍历循环处理
  12. 信息安全技术--轮转机密码
  13. 关于eclipse发送桌面快捷方式后打不开的问题
  14. python切换环境_python如何变换环境
  15. 从零开发全网搜索引擎
  16. 2016年终总结——学生时代的结束、北漂生活的开始
  17. Facebook批量养号分享
  18. 数据挖掘的常用方法、功能和一个聚类分析应用案例
  19. 《人工智能实践:Tensorflow笔记》听课笔记22_6.1输入手写数字图片输出识别结果
  20. 股票市场中有哪些是一般散户想不到但实际却很重要的知识?

热门文章

  1. JS常用的输出内容的方式详解(5种输出方式)
  2. 工作态度-《精要主义》书中的精髓:我们如何践行精要主义,摆脱拥挤不堪的生活?
  3. CS61A Lab 8
  4. python要学多久才可以,python一般需要学多久
  5. 数据库表设置外键VS不设置外键,哪个更好?
  6. 手机注册邮箱格式是什么?电子邮箱地址怎么填?
  7. 李连杰讲《功守道》:马云这个青年演员很敬业
  8. openmeetings 安装ssl
  9. K-means实现图像聚类
  10. 考研公共部分科目分支分布以及计算机408分值分布