基于机器学习场景如何搭建特征数据管理中台?.docx
《基于机器学习场景如何搭建特征数据管理中台?.docx》由会员分享,可在线阅读,更多相关《基于机器学习场景如何搭建特征数据管理中台?.docx(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于机器学习场景,如何搭建特征数据管理中台?11月30日,2021亚马逊云科技re:Invent全球大会,即将浩大开启!2021re:Invent十周年度十分活动,内容的饕餮盛宴,涵盖产品、行业、社区等专题!立即预约免费学习60节公开课投票页面点击讲师头像|陈迪豪第四范式资深架构师编辑|Jane出品|AI科技大本营IDrgznai100本文为CSDN即将推出的?新战场决胜中台?专刊的第5篇文章。一、机器学习场景与高性能特征管理中台理想的机器学习场景是给到数据训练模型后就能直接上线效劳。然而真实的AI应用落地经过非常复杂并不是有数据、懂算法就可以了。首先建模具有一定门槛建模科学技术人才除了要懂机
2、器学习算法还要知道熟悉建模业务场景会使用SQL、Python做数据处理、特征拼接、支持时序特征建模完成到上线要保持在线与离线一致性实现高性能硬实时预估效劳工程上涉及特征监控、读写别离、实时特征计算这些情况在真实的AI应用场景中都要考虑到。以我们合作的某银行事中反欺诈场景下的性能要求为例首先实时性要求P99响应时间在20毫秒以内比大众在业务里统计的平均延时要小很多只有1%的时间可以在20毫秒以上二是建模特征非常复杂在线以及离线的模型特征超过1000个三是窗口特征需要可以在实时场景中生成四是模型迭代周期短需要定期上线更新。在这种情况下对企业特征管理中台有什么要求1、存储以及计算必须是高性能的2、对
3、离线特征的支持要与在线保持一致性3、训练得到的模型要支持端到端的预估4、支持单行以及时序特征5、预估效劳支持分布式高可用。其中为什么强调特征的离线在线一致性用开源软件一般可以做到的是离线积累一局部数据然后用开源的深度学习框架训练模型模型上线时把模型加载进来但是机器学习除了模型预估还包括前面的处理经过每个离线特征要支持在线预估都需要花几倍时间进展维护以确保离线数据到在线预估的特征数据是一致的。我们怎样保证离线在线一致性呢通过一个统一的特征描绘语言用户离线环境中用这种统一特征描绘语言进展表示与建模在线环境中直接使用这个建模脚本来上线。它的根本逻辑架构1、离线阶段是模型训练阶段使用分布式存储存储原始
4、数据大数据处理引擎获得数据后进展划窗窗口有不同的聚合计算逻辑通过聚合计算得到一系列特征这种特征可能是跨行以及跨表的最后生成的数据处理经过特征签名可以直接给深度机器学习框架做训练。这是离线的阶段将数据处理局部翻译成Spark以分布式任务的方式运行。2、在线阶段肯定不能依赖Spark做实时预估只可以使用流式接口实现近实时的计算但因为我们有一个统一的特征描绘语言所以可以保证特征计算生成的代码与离线阶段是一样的这样也就保证了离线在线保持了计算逻辑的一致性。3、特征抽取的数据怎么来离线阶段可以通过读分布式存储然后通过划窗来获取AI特征管理中台中的存储组件包括一个实时特征时序数据库通过这个时序数据库可以获
5、取在线的窗口数据然后实现一个高性能的模型评分效劳。二、特征管理中台的计算以及存储核心剖析这局部将主要介绍整体架构以及计算、存储两大引擎。如上图所示整体架构的左侧是用户接口用户可以用控制台、命令行、SDK的方式访问核心组件。底层是硬件包括HDD、SSD、网卡等中间层是特征管理的两个重要组件FE特征计算与存储引擎在线有超高性能全内存时序数据库得到的数据可以给自研的机器学习框架使用或给TensorFlow等开源的框架使用。我们的特征描绘语言是什么其实是针对机器学习场景中定制的DSL有针对这种语法的编译器以及解析器。语法可以参考下面的例子第1行代码表示创立一个窗口通过窗口的参数可以保证后续每一行的特征
6、计算都在一个窗口数据内在窗口数据内可以做很多复杂的计算。第3行是单行计算特征很简单像大众用过的Spark或者Python都包含了很多特征计算如内置支持日期处理像条件表达式这类复杂的计算大众可以用SQL或Spark。另外我们自己跟标准窗口不一样的局部是根据科学家反应设计跨表的窗口计算、拼表计算特征、特殊拼表特征可以以在DSL中描绘。为什么要设计DSL首先机器学习产品中数据处理的逻辑是固定的它跟SQL不一样。SQL是通用数据处理语言很多方法是标准SQL中没有的对条件表达式的处理或者某种时间特征的计算都是通过自定义来支持的。通过这种描绘语言生成一个特征可以保证在线也可以使用。第二种接口是SQL。SQ
7、L是目前最流行的数据处理语言可以对全表做Partion分区分区后可以排序或做聚合计算可以以做全表的数据处理但标准的SQL是没方法上线的有很多支持SQL的系统如MySQL、Spark、Hive等固然支持了丰富的数据处理逻辑但都是不可以直接上线的。为什么SQL上线这么困难了因为SQL的聚合计算可以是当前行可以以是当前一段时间的窗口数据实际上假如在SQL里对当前行以后的数据做聚合计算就会造成差数据穿越问题。用一个机器学习场景中的例子进展解释你要计算当前交易是否属于欺诈交易获得的时间是在这个时间以前某一天的时间以及当前时间以后的某一个时间进展特征计算但在实际上线时是没方法获取将来数据作为特征计算的这种
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 机器 学习 场景 如何 搭建 特征 数据管理
限制150内