- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 视频嵌入链接 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
基于OpenMLDB的实时特征计算架构 - 陈迪豪
基于OpenMLDB的实时特征计算架构 - 陈迪豪
- 人工智能工程化落地过程中企业面临的数据和特征挑战
- OpenMLDB 为企业提供全栈实时特征计算平台(FeatureOps)的开源解决方案
- 面向开源开放的 OpenMLDB 社区发展
陈迪豪-OpenMLDB PMC以及第四范式平台架构师。曾担任小米云深度学习平台架构师以及优思德云计算公司存储和容器团队负责人。活跃于分布式系统、机器学习相关的开源社区,也是HBase、OpenStack、TensorFlow、TVM等开源项目贡献者。
展开查看详情
1 .基于OpenMLDB的实时特征计算架构 陈迪豪 第四范式平台架构师,OpenMLDB PMC Member 2022 年 4 月 第四范式(北京)技术有限公司|Copyright ©2021 4Paradigm All Rights Reserved.
2 .About Me 陈迪豪 chendihao@4paradigm.com - 第四范式平台架构师 - 开源项目 OpenMLDB 核心研发与 PMC 成员 - 开源项目 HBase / OpenStack / TVM 贡献者 - 目前专注于分布式计算存储系统以及AI应用 2
3 .目录 1. 人工智能工程化落地的数据和特征挑战 2. OpenMLDB:线上线下一致的生产级特征计算平台 3.拥抱开源、面向社区 3
4 .1. AI 工程化落地的数据和特征挑战 4
5 . 正确、高效的 AI 数据和特征供给成为数据侧的新挑战 95% 时间精力花费在数据上 ≠ AI Source: How to Operationalize Machine Learning and Data Science Projects, Gartner
6 . MLOps 的完整生命周期 离线开发 DataOps FeatureOps ModelOps • 数据采集 • 离线特征计算 • 模型训练 • 数据存储 • 特征存储和共享 • 超参数调优 部署上线 结果反馈 线上服务 ModelOps FeatureOps DataOps • 在线推理 • 实时特征计算 • 实时数据流接入 • 结果数据回流 • 特征服务 • 实时请求 ProductionOps 高可用、可扩缩容、平滑升级、实时监控
7 .应用背景:决策类场景基于时序数据的特征工程 - 面向结构化数据和决策类场景 - 处理时序数据 - 基于时间窗口的聚合函数
8 . 开发场景:满足生产级上线需求的实时推荐系统 实时行为特征 + user date searching 交易数据库 小李 2022.1.15 洗衣机 商品数据库 用户数据库 实时特征计算 业务需求 ✓ 特征实时计算,满足延迟 < 20 ms ✓ 线上模型精度符合业务需求 user 过去三个月30-35岁顾客买的前 小李当天浏览过的洗衣 小李半小时内浏览过 三畅销洗衣机 机平均价格 的洗衣机当前优惠力 度最大的型号 小李 1. Samsung WW75TA046TE 3000 Bosch 2. Bosch WAJ20180SG WAJ20180SG 3. Panasonic NA-V11FX2LSG
9 .特征计算平台开发到上线全生命周期 离线开发 大数据框架 离线特征 离线特征抽取 线下模型训练 数据科学家 计算逻辑 一致性校验 线上服务 高性能数据库 实时特征 实时特征抽取 线上预估服务 工程化团队 特征计算平台 9
10 .线上线下不一致性可能的原因 工具能力的不一致性 需求沟通的认知差 离线开发 线上应用 Account Balance 线上应用 current “account balance” 离线开发 “account balance” as of yesterday
11 .线上线下一致性校验带来的高昂工程化落地成本 线下开发 两套 系统的开 发、运营 对 齐 + 校 验 两组 不同技能栈的 开发人员投入 线上服务
12 .特征计算平台工程化解决方案 1% 头部企业 非头部企业 拥抱开源 • 耗费上千小时 • 采购昂贵的 • OpenMLDB 自研构建平台 SaaS 工具和 • 低成本、高效 服务 的企业级解决 方案
13 .2. OpenMLDB:线上线下一致的生产级特征计算平台 13
14 .OpenMLDB 是一个开源机器学习数据库,提供线上线 下一致的特征计算平台解决方案 开发即上线 三步骤 1. 线下 SQL 特征脚本开发 2. 一键部署上线 3. 接入实时请求数据流 14
15 .OpenMLDB 应用场景和使用方式 高 OpenMLDB 使用:已有特征脚 OpenMLDB 使用:从离线开发 本,需求实时特征计算 到实时线上计算的完整流程 实时计算性能需求 离线引擎 离线引擎 在线引擎 在线引擎 线上线下一致性 线上线下一致性 OpenMLDB 使用:离线特征探 索,或者使用跑批进行推理预测 离线引擎 在线引擎 线上线下一致性 离线计算性能需求 高
16 .从离线开发到线上服务完整流程 Model training 1. Offline data Offline 2. Offline feature 3. SQL import database extraction deployment Offline Mode 4. Data import for cold-start SQL Online 6. Online data database preview 5. Real-time data streams Online Mode Real-time requests 7. Real-time Time window feature extraction Request Mode Real-time Inference features 16
17 .产品特性一:线上线下一致性执行引擎 ▪ 统一的底层计算函数 ▪ 逻辑计划到物理计划的线上线 下执行模式自适应调整 线上线下一致性得到天然保障 17
18 .产品特性二:高性能在线特征计算引擎 - 高性能双层跳表内存索引数据结构 - 混合优化策略:实时计算 + 预聚合技术 Double-layer skiplist Pre-aggregation 18
19 . 产品特性三:面向特征计算的优化的离线计算引擎 - 多窗口并行计算优化 - 数据倾斜计算优化 - 现代化硬件优化技术 - 针对特征计算优化的 Spark 发行版 Elapsed time (sec) Spark 3.0.0 OpenMLDB 19
20 . 产品特性四:针对特征工程的 SQL 扩展 LAST JOIN WINDOW UNION Fetch the last record when matching multiple rows Window aggregation across two tables 20
21 .产品特性五:企业级特性支持 高可用 可无缝 多租户 扩缩容 为大规模 企业级 应用而生 已在 上百个 场景中实践落地 可平滑 云原生 升级 企业级 监控 21
22 .产品特性六:以 SQL 为核心的开发和管理体验 OpenMLDB CLI 离线特征计算 SQL 方案上线 线上请求 基于 SQL 和 CLI 的全流程开发体验 22
23 .OpenMLDB 上下游生态 * 自研组件 DataOps FeatureOps- ModelOps Online Data Sources Online Storage Engine Online SQL Engine … (external storage) (*built-in, in-mem) (*built-in) Offline Data Sources Offline SQL Engine … (*OpenMLDB Spark Distribution) … = ProductionOps Deployment Monitoring 23
24 .拥抱前沿新硬件技术:基于持久内存的优化 持久内存(Persistent Memory): 提供低成本、大容量、可持久性的革命性内存技术 OpenMLDB 基于持久内存的优化:秒级恢复、更高性能、更低成本 研究成果:Cheng Chen, et al. Optimizing in-memory database engine for AI-powered on-line decision augmentation using persistent memory. VLDB 2021. Reduce 99.7% of recovery time Reduce 20% of tail latency Reduce 58.4% of TCO
25 .OpenMLDB 典型案例 – 某银行事中反欺诈交易 事中交易风控系统架构图 银行要求毫秒级业务响应 卡核心 · 客户需求:响应时间20ms内、高准召率的事中反欺诈系统 实时风控应用 下发授权前交易报文 解决方案 响应时间 准召率 风控引擎 Kafka PRM 传统规则系统 ~200ms 较差 通过SDK调用推送 订阅授权后 授权前交易流水 交易流水 客户自研系统 、50ms 中等 机器学习平台 授权后交易流水 API模块 数据对接模块 基于 OpenMLDB 方案 <20ms 优等 人工核查结果数据 预处理 数据引入 SQL SQL OpenMLDB 提供分布式、可扩展的在线预估服务快速响应能力,将毫秒 级变化作为特征入模 批处理特征计算 实时特征计算 增量训练 · 对接实时流计算引擎及消息队列 模型预估 · 高性能实时时序数据抽取 模型缓存 模型预估 在线预估 自学习 · 实时交易闭环数据回写 · 实时高并发的读写分离支持 25
26 .3. 拥抱开源、面向社区 26
27 . 过往5年 MLDB → OpenMLDB 在 100+场景 落地,覆盖超过 300个节点 信用卡现金分期精准营销 贷前风险评分 营销获客 个性化推荐 反洗钱可疑交易智能识别 信用卡账户风险预警 合规额度决策 风险管理 投顾客户挖掘 信用卡申请反欺诈 欺诈养卡防控 理财个性化推荐 零售贷款反欺诈 历史客户激活 客户流失预警 网点流量预测 交易欺诈评分 现金分期个性化推荐 信用卡交易反欺诈 金融产品推荐 27
28 .OpenMLDB发展历程 开源前 2021.6 2021 2022 OpenMLDB 7月 0.2.0版本发布,支持RestAPI访问, 1月 0.4.0版本发布 2017.02 commit第一行代码 优化代码风格和注释 正式宣布开源 OpenMLDB 2017.08 第一个金融客户 8月 基于 OpenMLDB 的优化创新论 第一次Meetup 文在国际顶级数据库学术会议 第一个零售客户 3月 累积社区用户: 2019.09 VLDB 2021 发表 Akulaku,华为,京 获得Gitee认可,荣获GVP称号 东,中哲慕尚 等 2020.12 落地超过100个场景 9月 第一个开源企业用户 4月 0.5.0版本发布 荣获信通院“开源社区及开源项目”奖项 11月 0.3.0版本发布,支持单机模式 12月 OpenMLDB贡献者计划启动 举办国内首次Feature Store Meetup 28
29 .OpenMLDB 开源基本信息 基本信息 具体内容 发布时间 2021年6月 当前版本 OpenMLDB 0.4.4 https://github.com/4paradigm/ 代码开源地址 OpenMLDB 开源许可 Apache Licence 2.0 https://openmldb.ai/ 项目创始人 第四范式 贡献者人数 51 代码行数 30w + 测试 cases 18k + 29