- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 视频嵌入链接 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
开源机器学习数据库OpenMLDB:线上线下一致的生产级特征平台-祁利国
祁利国-第四范式系统架构师、OpenMLDB PMC
第四范式系统架构师,OpenMLDB PMC。负责开源机器学习数据库OpenMLDB研发工作,主要工作方向为1. 持续优化SQL性能,以适应实时上线的要求,2. 拓展OpenMLDB SQL语法边界和上线能力边界,满足复杂场景需求,3. 维护OpenMLDB开发生态,实现OpenMLDB与其他开源工具的集成,例如SDK,监控方案等
分享介绍:
OpenMLDB是一个机器学习数据库,为企业提供一个降低人工智能落地成本数倍的实时特征平台,让科学家开发的特征脚本可以直接上线生产环境,并且提供线上毫秒级低延迟、高吞吐、高可用等生产级特性。本次演讲主要覆盖的内容为:1)机器学习应用落地所面临的特征计算线上线下不一致、线上实时特征计算延迟高、落地成本高等问题,2)介绍以开源机器学习数据库OpenMLDB为核心的线上线下一致的特征平台,3)基于OpenMLDB为实时特征平台的最新实践案例
展开查看详情
1 .开源机器学习数据库OpenMLDB: 以实时特征驱动实时智能决策 祁利国 - OpenMLDB PMC 1
2 .目录 Content 1. 实时智能决策的工程化挑战 2. OpenMLDB 提供线上线下一致的实时特征计算 3. 社区生态和案例分享 2
3 .1. 实时智能决策的工程化挑战 3
4 .基于机器学习的实时智能决策,需要毫秒级的实时计 算能力 两大 AI 应用:感知类、决策类 硬实时计算真正满足实时决策需求 – 实时数据、实时计算 流式计算为 Big Data 和 BI 设计 银行要求毫秒级业务响应 分钟/小时 级别 Seconds 秒级 Milliseconds 毫秒级 以某银行反欺诈场景为例 批量计算 流式计算 硬实时计算 客户需求: Batch Streaming Hard Real Time 特征计算响应时间 20ms 内,高准召率的事中反欺诈系统 解决方案 响应时间 准召率 传统规则系统 ~200ms 较差 、 AI无人车 AI事中反欺诈 客户自研系统 ~50ms 中等 现在市面上所谓的AI实时计算 第四范式先知 <20ms 优等 大都是流式计算 量化交易 航空航天 硬实时场景蕴藏巨大商业价值,鲜有通用商业化产品 4
5 . 历史交易表 卡号 刷卡金额 刷卡时间(已排序) 事中反欺诈交易的实时特征计算 012112 223 2022/01/12 02:00:00 基于窗口聚合 012159 15 2022/01/12 06:00:00 刷卡记录 012159 1000 2022/01/12 07:59:55 3h 卡号 刷卡金额 刷卡时间 10s 虚拟插入 012159 1000 2022/01/12 08:00:00 012159 012159 2000 1000 2022/01/12 2022/01/12 07:59:57 08:00:00 特征计算 卡号 刷卡金额 过去10秒内:刷卡次数 | 刷卡最 过去三小时内:刷卡次数 | 刷卡 大金额 | 最小金额 | 平均金额 最大金额 | 最小金额 | 平均金额 生成的特征 012159 1000 3 | 2000 | 1000 | 1333 4 | 2000 | 14 | 1003 工程化需求 1. 线上线下一致性 模型推理 2. 低延迟、高并发、高可用 欺诈交易? 5
6 .传统特征开发:离线开发和线上服务分离,高成本投入 离线开发 Python/SparkSQL 离线特征 离线特征计算 线下模型训练 数据科学家 计算逻辑 线上线下一致性校验带来的高昂工程化落地成本 一致性校验 线上服务 实时特征 Database/C++ 实时特征计算 线上预估服务 工程化团队 特征平台 6
7 .2. OpenMLDB 提供线上线下一致的实时特征计算 7
8 .OpenMLDB 发展历程:从闭源走向开源 过往5年 RTIDB/FEDB 2021. 6 OpenMLDB (第四范式闭源) (开源/商业化) 开源前,跟随第四范式 先知 平台,在 100+场景 落地,覆盖超过 300个节点。 开源后,以开放姿态积极拥抱社区开发者、整合开源生态,提供商业化定制和支持。 主要使用场景 信用卡现金分期精准营销 贷前风险评分 营销获客 个性化推荐 反洗钱可疑交易智能识别 信用卡账户风险预警 合规额度决策 风险管理 投顾客户挖掘 信用卡申请反欺诈 欺诈养卡防控 理财个性化推荐 零售贷款反欺诈 历史客户激活 客户流失预警 网点流量预测 交易欺诈评分 现金分期个性化推荐 信用卡交易反欺诈 金融产品推荐 8
9 .OpenMLDB:开源机器学习数据库,线上线下一致的 特征平台 原有流程 OpenMLDB 抽象架构 基于 OpenMLDB 的流程 • Step 1:特征脚本 • Step 1:特征脚本开发 开发 科学家 科学家 离线数据 批处理 SQL 引擎 模型训练 (Spark++) 线下 • Step 2:重构, 使用OpenMLDB, 满足线上低延时、 研发工程师 高吞吐、高可用 SQL 一致性执行 计划生成器 实现开发即上线, • Step 3:线上线下 节省数月人天成本 一致性校验 科学家+研发工程师 线上 实时数据 实时 SQL 引擎 模型推理 (自研时序数据库) • Step 4:生产上线 • Step 2:一键生产上线 运维工程师 运维工程师 9
10 .从离线开发到线上服务完整流程 模型训练 1. 导入离线数据源 离线存储 2. 离线特征计算 3. SQL 部署上线 离线开发(离线模式) 时间窗口 SQL 4. 接入在线数据源 在线存储 实时请求 5. 实时特征计算服务 生产上线(在线模式) 实时特征 Inference 10
11 .OpenMLDB 提供了一个 线上线下一致 的 毫秒级 实时特征计算平台 - 基于实时数据按需计算 (on-demand) - 基于 SQL 定义特征 - 生产级特征平台,分布式、可扩展、高可用 11
12 .核心组件一:线上线下一致性执行引擎 统一的底层计算函数 逻辑计划到物理计划的线上线下执行 模式自适应调整 线上线下一致性得到 天然保障 12
13 .核心组件二:高性能实时 SQL 引擎 分布式实时 SQL 引擎主要模块 - ZooKeeper – 元数据存储和管理 - Nameserver – tablet 管理和故障转移 - Tablets - 分布式 SQL 执行引擎 - 分布式存储引擎: 内存、磁盘双存储引擎 - 高性能、可扩展、高可用 详细线上引擎架构描述参见: https://openmldb.feishu.cn/wiki/wikcnavULzxKH5A ka3ox0871R2f 13
14 .核心组件二(续):高性能实时 SQL 引擎 – 核心优化技术 实时计算性能:OpenMLDB 和其他商业化内存数据库作比较 核心优化:双层跳表(内存引擎) OpenMLDB 使用预聚合技术的性能提升 完整测试报告: https://openmldb.feishu.cn/wiki/wikcnZRB9VRkqgD1vDFu1F9AaTh 核心优化技术:预聚合 14
15 .核心组件三:面向特征计算的优化的离线计算引擎 - 多窗口并行计算优化 - 数据倾斜计算优化 - SQL 语法扩展 - 针对特征计算优化的 OpenMLDB Spark 发行版 Elapsed time (sec) Spark 3.0.0 OpenMLDB 15
16 .核心组件四:针对特征工程的 SQL 扩展 LAST JOIN WINDOW UNION 多行匹配时,仅匹配最新记录 跨表的 join 和窗口聚合操作 (point-in-time),避免特征穿越 16
17 . 高级生产级特性,保证系统稳定性和可扩展性 跨机房容灾 构建主从集群,进一步提升可靠性 线上内存/磁盘双引擎存储架构 智能化运维和诊断 平衡性能和成本 智能诊断 分片自动平衡 一键数据恢复 SQL 支持不同部署模式 Real-Time SQL Engine 自动化在离线数据同步 简化运维操作,保证数据一致性 Built-in RocksDB (DRAM) (HDD/SSD) Storage Engine 原生形态部署 17
18 .3. 社区生态和案例分享 18
19 .OpenMLDB 上下游开源生态 FeatureOps - OpenMLDB 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 DolphinScheduler Monitoring 19
20 .OpenMLDB 应用生态 – 基于 OpenMLDB 的特征平台 - 可视化特征开发和管理界面 - 基于 DAG 的大型复杂特征开发辅助 - 特征灵活复用 - 特征血缘管理和版本管理 - 同时支持毫秒级实时特征、离线特征 即将于 11 月开源发布,敬请关注! 20
21 .OpenMLDB 案例 – Akulaku 智能计算架构中的特征平台 行为评分 团伙模型 地理位置标签 设备唯一ID 异常文本识别 智能应用 反洗钱模型 风险设备标签 地址评分 智能客服 智能投顾 模型训练 模型部署 知识推理引擎 知识图谱 微服务与容器管理 微服务与容器管理 粗排组件 推理组件 模型计算层 异构计算 参数搜索与 在线特征数据库 高性能存储 图数据库 召回组件 调度 优化 图数据库 离线特征数据库 流式计算引擎 消息队列 特征计算层 分布式锁 离线计算引擎 高性能存储 场景驱动:OpenMLDB 21
22 .Akulaku 智能风控场景,对 10 亿条订单进行窗口特 征计算,达到 4 毫秒延迟性能 特征计算环节难点 OpenMLDB 解决方案 基于 OpenMLDB 的业务实现 • 线上部署:低延迟,高 • 场景驱动:业务调用环节驱动,实时计算结 • 场景:近1天订单个数实时计算 时效性,尽可能反映数 果,现用现算 • 数据量:10亿条订单数据/天 据变更 • 具体方案:1)使用SQL作为离线和在线的 • 需求:实时更新,时间窗口实时 • 线下分析:高吞吐量 桥梁;2)在线基于时序数据库做时间滑窗 滑动,存在复杂关联需求 • 逻辑一致:线下分析和 • 测试结果:4毫秒 延迟 线上部署的逻辑需要完 全一致 22
23 .唯品会将 OpenMLDB 应用于商品及品牌个性化 推荐场景,带来特征开发迭代速度60%的提升 数据处理 基于 OpenMLDB 的特征工程 商品及品牌的 (静态特征及特征组合) 个性化推荐业务场景 样本表 样本表 特征开发迭代速度 用户表 5人天 → 2人天 Item表 Item表 DolphinScheduler 部署 + 监控 注: • 样本表:不同场景下的用户行为表,包括曝光点击收藏 • 用户表:用户侧所有用户画像信息 • Item表:不同物料的全量信息表 23
24 .FEBench:首个针对机器学习实时特征计算的基准测试模型 业界首个针对机器学习实时特征计算的工业级基准测试模型,由清华大学、新加坡国立大 学、以及 OpenMLDB 社区合作完成。 - 从 118 个实际场景中通过建模,挑选出 6 个典型场景,作为 benchmark - 比较了若干个常见支持实时特征计算平台的特性,包括 OpenMLDB, Flink 等。 OpenMLDB 在处理实时特征计算场景有显著优势。 - 被国际顶级数据库学术会议 VLDB 2023 录取,获得 Best Industry Paper Runner-Up GitHub 开源: https://github.com/decis- bench/febench 从 118 个实际场景中挑选出 6 个典型场景,作为基准测试模型 24
25 .欢迎加入 OpenMLDB 社区 OpenMLDB 中文官网: https://openmldb.ai/ GitHub: https://github.com/4paradigm/OpenMLDB OpenMLDB 微信交流群 25
26 .26