实时特征计算平台架构方法论和基于 OpenMLDB 的实践
导读:在机器学习从开发到上线的闭环中,实时特征计算是其中的重要一环,用于完成数据的实时特征加工。由于其高时效性需求,数据科学家完成特征脚本离线开发以后,往往还需要工程化团队通过大量的优化才能完成上线。另一方面,由于存在离线开发和工程化上线两个流程,线上线下计算一致性验证成为一个必要步骤,并且会耗费大量的时间和人力。本文将从以上两个痛点出发,描述实时特征计算系统架构的优化目标 - 开发即上线,以及针对此优化目标的架构设计原则。最后,将会基于开源实时特征计算解决方案 OpenMLDB,具体描述其在实践中的架构设计和优化。
1.背景介绍
1.1 机器学习闭环
今天,机器学习应用已经在各行各业积累了广泛的应用落地案例。归纳来说,机器学习从开发到上线的全生命周期闭环可以用如下图(Figure-1)概括性描述。 
Figure-1: 机器学习闭环
从 Figure-1 可以看到,从横向维度,机器学习全流程被划分成离线开发和线上服务两个相辅相成的流程。从纵向维度,信息价值承载的形式会经历从数据、特征、再到模型的转换过程。
-
数据:原始的数据信息,比如交易的流水信息,包含金额、时间、商户名称等。
-
特征:基于原始数据所生产计算的进一步表达能力更为丰富的信息,有利于产出后续质量更高的模型,比如某客户在过去三个月内的消费平均金额等特征。本文即针对特征计算的工程化问题进行详细展开讨论。
-
模型:通过隐含的上万甚至上亿条基于特征生成的数据规则,从超高维度上来描述数据本质的规律,包含了基于数据预测行为的能力。
今天,对于数据和模型已经有充分的讨论和事实上的工业界标准处理方式。但是对于特征,今天工业界还并没有形成统一的方法论和处理工具。主要因为在人工智能开始应用落地的初期,大量关注都在基于深度学习的感知类应用上,此类应用的特征工程流程相对标准。但是今天,决策类场景(如风控、个性化推荐等)在大量企业级应用落地。对于决策类场景,特征工程的处理逻辑相对灵活和复杂,因此在这一块目前尚未形成标准化的方法论和工具。这也正是本文所要聚焦的领域,通过从方法论和架构优化目标的阐述,让大家深刻理解实时特征计算系统及其典型使用流程。
1.2 实时特征计算
本文主要关注具有非常强时效性的实时特征计算,其查询计算的端到端延迟一般设定在几十毫秒的量级。实时特征的常见计算模式,是当事件发生时,基于从当前时间点往前推移的一个时间点,形成一个时间窗口,进行窗口内的相关聚合计算。如下图 Figure-2 列举了一个典型的风控领域的实时特征计算场景,其产生了十天、一个小时、五分钟三个时间窗口,基于窗口进行了不同的聚合计算。

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

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

被折叠的 条评论
为什么被折叠?



