基于机器学习场景,如何搭建特征数据管理中台?
作者头像
  • 瑞为技术
  • 2020-01-04 17:16:01 5

机器学习场景与特征管理中台

理想的机器学习场景是给定数据后,通过训练模型即可直接上线提供服务。然而,实际应用过程中会遇到许多复杂问题,不仅仅是拥有数据和算法就能解决的。

首先,建模需要较高的专业技能,不仅需要掌握机器学习算法,还需要熟悉具体业务场景,能够运用SQL、Python等工具进行数据处理和特征拼接。从建模到上线,需确保在线和离线的一致性,并提供高性能的实时预测服务。工程上,需要考虑特征监控、读写分离、实时特征计算等问题。

以某银行的事中反欺诈场景为例,对实时性的要求非常高,P99响应时间需在20毫秒以内。此外,特征数量庞大,且需要支持实时计算,模型迭代周期短,需定期更新。

在这种情况下,特征管理中台应具备哪些关键特性?

  1. 存储和计算必须高效;
  2. 离线特征需与在线特征保持一致性;
  3. 训练得到的模型需支持端到端的预测;
  4. 支持单行和时序特征;
  5. 预测服务需支持分布式高可用。

为什么强调离线与在线特征的一致性?

通常情况下,使用开源软件可以实现离线数据的积累和模型训练,但上线时还需额外维护离线特征以确保其与在线预测的一致性。我们通过一种统一的特征描述语言,使得用户在离线环境中用该语言表示和建模,然后直接在在线环境中使用该建模脚本上线。

特征管理中台的基本逻辑架构

离线阶段:模型训练阶段,使用分布式存储存储原始数据,通过大数据处理引擎进行窗口划分和聚合计算,生成特征。这些特征可用于深度机器学习框架的训练。离线阶段的数据处理部分可以转换为Spark任务,以分布式方式运行。

在线阶段:不能依赖Spark进行实时预测,而应使用流式接口进行近实时计算。由于使用统一的特征描述语言,确保了离线和在线阶段的计算逻辑一致。

特征提取:离线阶段可以通过读取分布式存储并进行窗口划分来获取特征。AI特征管理中台中的存储组件包括实时特征时序数据库,可以获取在线窗口数据,从而提供高性能的模型评分服务。

特征管理中台的核心计算与存储

这部分主要介绍整体架构及计算、存储两大引擎。

如上图所示,整体架构的左侧是用户接口,用户可以通过控制台、命令行、SDK等方式访问核心组件。底层是硬件设备,包括HDD、SSD、网卡等;中间层是特征管理的两个重要组件,即FE特征计算与存储引擎。在线部分采用超高性能全内存时序数据库,数据可供给自研的机器学习框架或开源框架使用。

我们使用的特征描述语言是一种定制化的DSL,具有相应的编译器和解析器。语法示例如下:第1行代码表示创建一个窗口,通过窗口参数保证后续特征计算均在窗口数据范围内;第3行是单行计算特征,简单易用,类似于Spark或Python中的特征计算。

为什么要设计DSL?因为机器学习产品的数据处理逻辑固定,不同于SQL。SQL是通用数据处理语言,很多方法在标准SQL中未涵盖。通过DSL生成的特征可确保在线使用。

另一种接口是SQL。SQL是最流行的数据处理语言,支持全表分区、排序和聚合计算,但标准SQL无法直接上线。我们对SQL进行了定制化拓展,例如对数据处理后的列进行连续或离散特征签名计算,这适用于稠密和稀疏特征。此外,我们还支持AutoML自动特征工程,用户只需输入原始数据表,AutoML程序可自动分组和选择特征,给出组合后的特征效果评估,并在一定计算资源下进行迭代优化。

计算引擎优化

计算引擎优化点包括:支持多行时序特征、强类型检查、Last Join功能、定制化跨表窗口功能、支持多种机器学习框架、预热编译及内存编译优化等。

此外,还对Spark Window进行了优化,支持CodeGen函数和跨表窗口计算;支持特征级别异常隔离,防止数据异常影响其他特征计算;优化表达式计算,提前剪枝重复计算等。

在反欺诈机器学习场景中,与PySpark、SparkSQL相比,相同特征下性能提升10倍。支持RDMA和FPGA硬件加速,对生成样本进行高性能压缩,提升性能3倍以上。

高性能存储核心

存储核心是自主研发的全内存分布式时序数据库,适用于机器学习场景中基于时序特征的计算。支持多维度查询和聚合,支持常见的数据淘汰策略和TTL。

我们还引入了英特尔傲腾持久内存AEP技术,介于内存和SSD之间的非易失性存储介质,兼具高性能和低成本优势。基于AEP技术,可实现根据数据热度的分层存储,提高整体性能。

实际应用案例

在B2C反欺诈业务中,交易表原始数据包含两张交易表和七张属性表,数据量巨大,特征数量超过800个。特征包括基于卡号维度的窗口聚合等数据。模型训练所需基础特征包括交易特征、卡特征、客户特征、商户特征及其交叉组合。时序特征包括每张卡和每个设备在过去交易的最大值、最小值、数量等统计信息。

在特征管理中台中,还支持不同类型数据和特征脚本的管理,支持远程调试环境和单机Notebook运行,支持全流程一键上线。用户可通过Python客户端执行特征抽取逻辑,也可使用支持的SQL语法。此外,还支持TensorFlow的分布式训练和外部机器学习框架的分布式计算,模型部署仅需一条简单命令,部署成高可用的预测服务。

所有CSDN用户均可参与投票和抽奖活动,加入福利群还可获得更多精选学习资料和技术图书。

希望这些信息对您有所帮助!

    本文来源:图灵汇
责任编辑: : 瑞为技术
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
中台数据管理搭建场景特征基于机器如何学习
    下一篇