前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Oceanus-ML:端到端的在线机器学习能力

Oceanus-ML:端到端的在线机器学习能力

作者头像
腾讯大数据
发布2019-09-16 11:10:46
1.3K0
发布2019-09-16 11:10:46
举报

导语丨Oceanus平台在原本的streaming(流计算)场景上全新升级,新增支持ML(在线学习)场景。本文将介绍Oceanus-ML,端到端的在线机器学习能力。用户可通过Oceanus拖拽式画布及参数配置,高效搭建训练逻辑,轻松完成模型训练、评估以及部署整个流程。

背景介绍

从应用场景划分,流式应用主要可分为两种:一是实时计算;二是在线学习。实时计算应用于ETL、实时报表、监控预警等实时流数据分析场景。在线学习应用于在线推荐、实时搜索等机器学习场景。Oceanus 作为一站式可视化高性能流计算平台,自上线以来,凭借其灵活易用,维护简单,性能优越,兼备低延时高吞吐的特点,很好地满足公司内实时计算的业务场景。现在,依托于Oceanus实时的计算能力,我们正式上线Oceanus-ML,支持在线学习的能力,满足业务方在线机器学习的场景。

现实中,很多场景下会产生海量且时效性很强的数据,比如热点新闻、用户的兴趣点等,往往变化很快。对于离线训练而言,通常天级甚至月级对模型进行更新,时效性得不到保证。而在线学习可以实时更新模型,将数据的变化即时反应在模型之上。

Oceanus-ML旨在提供一套端到端(数据接入-数据处理-特征工程-模型训练-模型评估)的在线学习解决方案。Oceanus-ML包含多样的数据处理函数,集成丰富的在线学习及深度学习算法(ftrl-lr,ftrl-fm,deepfm等),用户通过简单的拖拽、填写参数,即可搭建起完整的训练框架,并可轻松完成模型的训练、评估、部署整个流程。

设计原理

01

算法流程

Source节点产生样本的数据流,经过一系列处理后ML Model对样本流进行训练及验证。通过继承ML Model实现graph接口来实现不同模型算法,借助于自动求导的框架,无需手写公式求导,大大简化算法的实现。

02

增量信息表

同时,我们引入了一种数据结构维护并增量更新输入数据的统计信息,为实时数据分析及各种假设检验提供支持,并且方便实现LDA、SVM、PCA、Markov Chains等基于统计信息的算法的增量版本。

  • Learner:实时增量更新表里维护的关于输入数据的一二阶统计信息。
  • Explorer:使用表里的信息对数据每个维度做单变量分析及维度与维度之间做双变量分析。 
  • Modeler:基于表里的信息实时构建模型。 
  • Predictor:使用模型进行实时预测。 

功能特色

01

拖拽式画布,轻松构建在线学习应用

如上图所示,Oceanus-ML根据机器学习的流程,将算子分为6类:

  • 数据源
  • 数据预处理
  • 特征工程
  • 算法
  • 验证
  • 输出

对于用户而言,构建应用逻辑时,只需向画布拖拽算子、填写参数、按逻辑连接算子 ,即可生成一个在线学习画布应用。

我们以使用DeepFM算法解决CTR预测问题为例。我们使用算法竞赛常用的criteo数据集(来自欧盟criteo的大型互联网广告数据集),作为经典权威的广告点击日志,数据集大小达到了TB级别。我们把criteo数据集经过特征处理后得到百万维的数据,生成样本流,作为算法的数据输入。

如上图,画布中包含数据源(TDBank),DeepFM算法,模型验证以及模型输出算子。画布中的在线DeepFM算法会实时消费TDBank数据,更新模型参数。模型输出会定时将最新的模型保存到HDFS。而模型验证会拉取部分数据对产生的模型验证,并将验证的结果即时保存在HDFS。

通过构拖拽配置画布流的逻辑,我们即可构建一个典型的CTR算法训练及评估的任务。

02

丰富的算子,涵盖多样化业务逻辑

如下图所示,在Oceanus-ML的画布中,我们提供了6类共计24种算子,用户只需根据业务逻辑,拖拽连接相应的算子,即可构建画布流。

2.1 数据源

结合Oceanus,可以方便的支持各种数据源作为输入和输出,如Tube、Hippo、Kafka以及HDFS、Mysql、HBase等等, 一键无缝对接现有数据源,而且数据源支持直接使用CSV以及LibSVM格式。

2.2 预处理

类似于spark,我们同样能够对数据流进行各种聚合和划分,Oceanus提供了众多的预处理算子,得益于Flink非常完善的窗口机制,我们能做到远比Spark Streaming粒度更细的操作,比如构建基于事件时间的滚动窗口来处理数据。

2.3 算法

我们还在不断的增加机器学习和深度学习算法,现已覆盖常用的在线学习算法,包括FTRL、FTRL-FM、DeepFM、特征值分解、核密度分析,包含有监督算法以及无监督算法。我们可以快速方便的定义算法结构而无需考虑其梯度如何计算,比如FM算法,举例如下:

03

实时训练模型,3步部署模型服务

当应用训练出模型后,只需3步,即可部署模型服务:

  • 根据auc评估合适的模型,进行部署
  • 选择模型服务组,填写资源参数
  • 选择是否需要落地模型

部署后在“模型服务”中,可对模型进行管理,也可进行调试、查看模型评估报告等,方便的对比模型间的差异、效果及趋势。

如下图所示,以上文中的DeepFM为例,我们部署了3个不同时间生成的模型,通过评估报告,我们可以对比3个模型的效果。从AUC趋势可以看到,随着时间的推移,生成的模型越来越准确,最新的模型对于用户广告点击的预测会更加精准,部署到线上后广告点击率更高。

应用案例

实时检测应用异常

指标智能监控预警(增量多元核密度估计算法)

异常点检测(Outlier detection),又称为离群点检测,是找出与预期对象的行为差异较大的对象的一个检测过程。这些被检测出的对象被称为异常点或者离群点。异常点检测在生产生活中有着广泛应用,比如信用卡反欺诈、工业损毁检测、广告点击反作弊等。

核密度估计是一种非参数密度估计算法。与参数方法相比,非参数方法对真实分布做更少的假设。比如数据是多峰的,那么我们用单峰的正态分布去拟合效果一定不好,但非参数方法却可以取得不错的效果。

核密度估计的优点是“训练”阶段不需要计算,只需要存储训练集。同时,这也反映出这种方法的缺点,即计算概率密度值时的开销随数据集大小线性增长。我们对此进行了优化,将算法修改为增量形式,可以很方便的进行在线计算,同时不再需要储存相应的数据集。具体步骤如下:

1、将新样本更新到模型;

2、重新计算模型带宽;

3、重新构建和压缩模型;

K(.)为核函数(非负、积分为1,符合概率密度性质,并且均值为0),h>0为一个平滑参数,称作带宽(bandwidth)。Kh(x) = 1/h K(x/h). 为缩放核函数(scaled Kernel)

基于此,我们将该能力落地到Oceanus自身的监控模块上,用画布模式搭建了一个Oceanus全平台异常检测的ML任务,整体逻辑如下:

在Oceanus的集群上,每个任务在运行过程中会定时上报任务的指标以及机器节点的状态,储存在tdbank里,我们可以通过Oceanus ML模块,通过画布创建对应用、机器的指标异常检测,画布整体逻辑如下:

  • source节点对应tdbank的数据,在select节点可对数据进行解析,解析出任务id、指标类型、指标状态值等:
  • 通过split节点及streamSelect节点挑选我们想要监控的指标类型:
  • 通过join节点可以从mysql、hbase、redis等获取必要的配置参数,合并处理后输入到算法节点里,指定特征对应的列,配置相应的参数即可,当在索引列指定任务id时,可以针对每个任务生成相应的模型:

最后从算法节点能拿到相应预测结果,根据输出可作进一步推送预警,让业务提前预知可能会发生的风险,减少成本损失。

目前,智能监控预警已在Oceanus平台上开放,只需在告警配置里边一键勾选,即可体验指标智能监控,提前预知指标异常风险。

总结与展望

模型的升级路线往往为人工规则发展到线性模型,再到非线性模型以及集成学习,然后到深度学习和在线学习。总体上复杂度越来越高,时效性越来越强,收益也在不断提升。

通过Oceanus-ML,用户可以高效快捷搭建起在线学习的任务,轻松完成模型的训练、评估及部署整个流程,且模型定期落地,可直接用于线上预测。

后续,我们也将继续对平台进行优化及改进,包括:

  • 将迁移社区更多的算法及优化器,提供更丰富的算法算子
  • 引进基于Yarn的参数服务器,提供大规模模型在线训练的能力
  • 近期也将兼容Tensorflow框架和算法,提供相应的算子,方便灵活提供不同业务的支持
  • 对模型及结果提供更方便多样的可视化展示

……

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯大数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
流计算 Oceanus
流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的企业级实时大数据分析平台,具备一站开发、无缝连接、亚秒延时、低廉成本、安全稳定等特点。流计算 Oceanus 以实现企业数据价值最大化为目标,加速企业实时化数字化的建设进程。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档