实时特征计算平台架构方法论和基于 OpenMLDB 的实践

本文探讨了实时特征计算在机器学习闭环中的重要性,以及当前存在的开发与上线痛点,如两套开发流程和一致性校验。提出了优化目标——开发即上线,并详细描述了实现这一目标的架构设计方法论。重点介绍了OpenMLDB,一个开源的机器学习数据库,如何通过其统一的SQL接口、一致性执行计划生成器和实时、批处理SQL引擎,实现开发即上线的实时特征计算平台,从而降低开发成本和提高效率。

实时特征计算平台架构方法论和基于 OpenMLDB 的实践

导读:在机器学习从开发到上线的闭环中,实时特征计算是其中的重要一环,用于完成数据的实时特征加工。由于其高时效性需求,数据科学家完成特征脚本离线开发以后,往往还需要工程化团队通过大量的优化才能完成上线。另一方面,由于存在离线开发和工程化上线两个流程,线上线下计算一致性验证成为一个必要步骤,并且会耗费大量的时间和人力。本文将从以上两个痛点出发,描述实时特征计算系统架构的优化目标 - 开发即上线,以及针对此优化目标的架构设计原则。最后,将会基于开源实时特征计算解决方案 OpenMLDB,具体描述其在实践中的架构设计和优化。

1.背景介绍

1.1 机器学习闭环

今天,机器学习应用已经在各行各业积累了广泛的应用落地案例。归纳来说,机器学习从开发到上线的全生命周期闭环可以用如下图(Figure-1)概括性描述。

Figure-1: 机器学习闭环

从 Figure-1 可以看到,从横向维度,机器学习全流程被划分成离线开发和线上服务两个相辅相成的流程。从纵向维度,信息价值承载的形式会经历从数据、特征、再到模型的转换过程。

  • 数据:原始的数据信息,比如交易的流水信息,包含金额、时间、商户名称等。

  • 特征:基于原始数据所生产计算的进一步表达能力更为丰富的信息,有利于产出后续质量更高的模型,比如某客户在过去三个月内的消费平均金额等特征。本文即针对特征计算的工程化问题进行详细展开讨论。

  • 模型:通过隐含的上万甚至上亿条基于特征生成的数据规则,从超高维度上来描述数据本质的规律,包含了基于数据预测行为的能力。

今天,对于数据和模型已经有充分的讨论和事实上的工业界标准处理方式。但是对于特征,今天工业界还并没有形成统一的方法论和处理工具。主要因为在人工智能开始应用落地的初期,大量关注都在基于深度学习的感知类应用上,此类应用的特征工程流程相对标准。但是今天,决策类场景(如风控、个性化推荐等)在大量企业级应用落地。对于决策类场景,特征工程的处理逻辑相对灵活和复杂,因此在这一块目前尚未形成标准化的方法论和工具。这也正是本文所要聚焦的领域,通过从方法论和架构优化目标的阐述,让大家深刻理解实时特征计算系统及其典型使用流程。

1.2 实时特征计算

本文主要关注具有非常强时效性的实时特征计算,其查询计算的端到端延迟一般设定在几十毫秒的量级。实时特征的常见计算模式,是当事件发生时,基于从当前时间点往前推移的一个时间点,形成一个时间窗口,进行窗口内的相关聚合计算。如下图 Figure-2 列举了一个典型的风控领域的实时特征计算场景,其产生了十天、一个小时、五分钟三个时间窗口,基于窗口进行了不同的聚合计算。

Figure-2: 风控领域的典型实时特征计算举例

实时特征计算今天已经在越来越多的场景中体现出其重要性,其本质在于抓住最新时间段内的数据特征,为快速决策提供有力支撑。本文主要针对实时特征计算,来进行相关设计理念和架构的阐述。

滴滴出行作为全球最大的移动出行平台,每天收集需要分析处理的数据量非常大。这些数据形式多样:既包括存储于数据库中的业务数据,也包括各种API请求所记录的文本日志。此外,更大的挑战在于业务上需要我们实时的分析处理如此大规模的数据。从数据生成到可被分析查询,系统延迟在秒级。我们选用Druid/Samza/Kafka/Spark/Hadoop等开源技术栈,开发了符合Lambda architecture的OLAP系统。本次演讲我们以滴滴大数据实时监控系统为例,介绍滴滴实时计算系统架构所面临的挑战及相应解决方案。 滴滴大数据实时监控系统服务于滴滴各个业务线,对关键业务指标的变化进行实时监控。研发、产品、运营人员可以据此及时了解业务现状,发现系统问题、调整业务决策。 演讲主要包括以下话题: 1. 实时计算的挑战及解决方案: (1)可扩展性 (2)有状态的实时计算 (3)数据被重复处理 (4)高可用 (5)实时数据流与外部系统或服务关联计算 2. OLAP系统架构选型:KV store与column store 哪种存储更适合OLAP应用? 3. 简要介绍Kafka的特性,阐述为何Kafka是实时计算系统中理想的数据存储方案 4. 详细介绍Druid的架构设计及原理,阐述Druid作为OLAP解决方案的优点 5. 详细介绍Samza的架构设计及原理,阐述如何通过Samza解决实时计算中的各种挑战 6. 介绍Lambda architecture,阐述如何将离线计算实时计算统一起来,通过离线计算来修正实时计算
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值