OpeNMLDB加速企业上线智能化应用

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. OpeNMLDB加速企业上线智能化应用 陈迪豪 OpenMLDB PMC,第四范式平台架构师 2022 年 6 月 第四范式(北京)技术有限公司|Copyright ©2021 4Paradigm All Rights Reserved.
2. About Me 陈迪豪 chendihao@4paradigm.com - - - - 第四范式平台架构师 开源项目 OpenMLDB 核心研发与 PMC 成员 开源项目 HBase / OpenStack / TVM 贡献者 目前专注于分布式计算存储系统以及AI应用 2
3. 目录 1. 人工智能工程化落地的数据和特征挑战 2. OpenMLDB:构建线上线下一致的生产级特征平台 3. OpenMLDB v0.5.2:性能、成本、易用性升级 3
4. 1. 人工智能工程化落地的数据和特征挑战 4
5. 正确、高效的 AI 数据和特征供给成为数据侧的新挑战 95% 时间精力花费在数据上 Source: How to Operationalize Machine Learning and Data Science Projects, Gartner ≠ AI
6. 机器学习应用从开发到上线全流程(MLOps) 离线开发 FeatureOps(特征) ModelOps(模型) • 数据采集 • 离线特征计算 • 模型训练 • 数据存储 • 特征存储和共享 • 超参数调优 DataOps(数据) 线上服务 ModelOps(模型) FeatureOps(特征) DataOps(数据) • 在线推理 • 实时特征计算 • 实时数据流接入 • 结果数据回流 • 特征服务 • 实时请求 ProductionOps 高可用、可扩缩容、平滑升级、实时监控
7. 应用背景:决策类场景基于时序数据的特征工程 - 面向结构化数据和决策类场景 - 处理时序数据 - 基于时间窗口的聚合函数 举例:针对 用户 A 的 一天内 的 交易总额 分组 时间窗口 聚合函数
8. 业务场景:满足生产级上线需求的实时推荐系统 实时行为数据 user date searching 小李 2022.1.15 洗衣机 + 交易数据库 商品数据库 用户数据库 实时特征计算 特征平台需求 user 过去三个月30-35岁顾客买的前 三畅销洗衣机 小李一小时内浏览过的 洗衣机平均价格 小李半小时内浏览过 的洗衣机优惠力度最 大的型号 小李 1. Samsung WW75TA046TE 2. Bosch WAJ20180SG 3. Panasonic NA-V11FX2LSG 3000 Bosch WAJ20180SG 模型推理 ü 特征实时计算,满足延迟 < 20 ms ü 线上模型精度符合业务需求
9. 特征计算开发到上线全生命周期 离线开发 Python/SparkSQL 离线特征抽取 离线特征 线下模型训练 数据科学家 计算逻辑 一致性校验 线上服务 Database/C++ 工程化团队 实时特征抽取 实时特征 线上预估服务 特征计算平台 9
10. 线上线下不一致性可能的原因 工具能力的不一致性 需求沟通的认知差 离线开发 线上应用 Account Balance 线上应用 current “account balance” 离线开发 “account balance” as of yesterday
11. 线上线下一致性校验带来的高昂工程化落地成本 线下开发 两套 系统的开 发、运营 对 齐 两组 不同技能栈的 校 验 开发人员投入 线上服务
12. 特征平台工程化解决方案 1% 头部企业 非头部企业 拥抱开源 • 耗费上千小时 • 采购昂贵的 • OpenMLDB 自研构建平台 SaaS 工具和 服务 • 低成本、高效 的企业级解决 方案
13. 2. OpenMLDB:线上线下一致的生产级特征计算平台 13
14. 过往5年 MLDB → OpenMLDB 在 100+场景 落地,覆盖超过 300个节点 信用卡现金分期精准营销 贷前风险评分 营销获客 个性化推荐 反洗钱可疑交易智能识别 信用卡账户风险预警 合规额度决策 风险管理 投顾客户挖掘 信用卡申请反欺诈 欺诈养卡防控 理财个性化推荐 零售贷款反欺诈 历史客户激活 客户流失预警 网点流量预测 交易欺诈评分 现金分期个性化推荐 信用卡交易反欺诈 金融产品推荐 14
15. OpenMLDB 是一个开源机器学习数据库,提供线上线下一致的特征平台 开发即上线 三步骤 1. 线下 SQL 特征脚本开发 2. 一键部署上线 3. 接入实时请求数据流 15
16. 解决一个核心问题,提供一个核心特性 解决核心问题 线上线下一致性 核心特性 毫秒级实时特征计算 16
17. OpenMLDB 应用场景和使用方式 高 OpenMLDB 使用:已有特征脚 本,需求实时特征计算 离线引擎 ☑ 在线引擎 线上线下一致性 OpenMLDB 使用:从离线开发 到实时线上计算的完整流程 ☑ 离线引擎 ☑ 在线引擎 ☑ 线上线下一致性 OpenMLDB 使用:离线特征探 索,或者使用跑批进行推理预测 ☑ 离线引擎 在线引擎 线上线下一致性 离线计算性能需求 高
18. 从离线开发到线上服务完整流程 Model training 1. Offline data import Offline database 2. Offline feature extraction 3. SQL deployment Offline Mode 4. Data import for cold-start 5. Real-time data streams Online database 6. Online data preview (optional) SQL Online Mode Real-time requests Time window Request Mode 7. Real-time feature extraction Real-time features Inference 18
19. OpenMLDB 上下游生态 * 自研组件 FeatureOps - DataOps ModelOps Online Storage Engine Online SQL Engine Online Data Sources … (external storage) (*built-in, in-mem) Offline Data Sources (*built-in) Offline SQL Engine … (*OpenMLDB Spark Distribution) = … ProductionOps Deployment DolphinScheduler Monitoring 19
20. 产品特性一:线上线下一致性执行引擎 § 统一的底层计算函数 § 逻辑计划到物理计划的线上线 下执行模式自适应调整 线上线下一致性得到 天然保障 20
21. 产品特性二:高性能在线特征计算引擎 - 高性能双层跳表内存索引数据结构 - 混合优化策略:实时计算 + 预聚合技术 Double-layer skiplist Pre-aggregate 21
22. 产品特性三:面向特征计算的优化的离线计算引擎 - 多窗口并行计算优化 - 数据倾斜计算优化 - SQL 语法扩展 - 针对特征计算优化的 Spark 发行版 Spark 3.0.0 OpenMLDB 22
23. 产品特性四:针对特征工程的 SQL 扩展 LAST JOIN Fetch the latest record when matching multiple rows WINDOW UNION Window aggregation across two tables 23
24. 产品特性五:企业级特性支持 高可用 为大规模 企业级 应用而生 可无缝 多租户 扩缩容 已在 上百个 场景中实践落地 可平滑 云原生 升级 企业级 监控 24
25. 产品特性六:以 SQL 为核心的开发和管理体验 OpenMLDB CLI 离线特征计算 SQL 方案上线 线上请求 基于 SQL 和 CLI 的全流程开发体验 25
26. 拥抱前沿新硬件技术:基于持久内存的优化 持久内存(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 58.4% of TCO Reduce 99.7% of recovery time Reduce 20% of tail latency
27. OpenMLDB 上下游生态 * 自研组件 FeatureOps - DataOps ModelOps Online Storage Engine Online SQL Engine Online Data Sources … (external storage) (*built-in, in-mem) Offline Data Sources (*built-in) Offline SQL Engine … (*OpenMLDB Spark Distribution) = … ProductionOps Deployment DolphinScheduler Monitoring 27
28. OpenMLDB 案例 – 某银行事中反欺诈交易 事中交易风控系统架构图 银行要求毫秒级业务响应 卡核心 · 客户需求:响应时间20ms内、高准召率的事中反欺诈系统 下发授权前交易报文 实时风控应用 风控引擎 通过SDK调用推送 授权前交易流水 Kafka 解决方案 响应时间 准召率 传统规则系统 ~200ms 较差 PRM 订阅授权后 交易流水 客户自研系统 机器学习平台 授权后交易流水 API模块 数据对接模块 基于 OpenMLDB 方案 、 50ms 中等 <20ms 优等 人工核查结果数据 预处理 SQL 数据引入 SQL 批处理特征计算 实时特征计算 增量训练 模型预估 在线预估 模型缓存 模型预估 自学习 OpenMLDB 提供分布式、可扩展的在线预估服务快速响应能力,将毫秒 级变化作为特征入模 · 对接实时流计算引擎及消息队列 · 高性能实时时序数据抽取 · 实时交易闭环数据回写 · 实时高并发的读写分离支持 28
29. OpenMLDB 案例 – Akulaku 智能计算架构中的特征平台 智能应用 行为评分 团伙模型 地理位置标签 设备唯一ID 异常文本识别 反洗钱模型 风险设备标签 地址评分 智能客服 智能投顾 模型训练 模型计算层 特征计算层 微服务与容器管理 异构计算 调度 参数搜索与 优化 模型部署 微服务与容器管理 在线特征数据库 高性能存储 图数据库 离线特征数据库 流式计算引擎 分布式锁 离线计算引擎 高性能存储 知识推理引擎 知识图谱 推理组件 粗排组件 图数据库 召回组件 消息队列 场景驱动:OpenMLDB 29
30. OpenMLDB 对 10 亿条订单进行窗口特征计算,达到 4 毫秒延迟性能 特征计算环节难点 • 线上部署:低延迟,高 OpenMLDB 解决方案 • 时效性,尽可能反映数 据变更 • 基于 OpenMLDB 的业务实现 场景驱动:业务调用环节驱动,调用时计算 • 场景:近1天订单个数实时计算 结果,现用现算 • 数据量:10亿条订单数据/天 具体方案:1)使用PMem,空间换时间;2) • 需求:实时更新,时间窗口实时 滑动,存在复杂关联需求 • 线下分析:高吞吐量 使用SQL作为离线和在线的桥梁;3)在线 • 逻辑一致:线下分析和 基于时序数据库做时间滑窗 • 线上部署的逻辑需要完 全一致 资源占用:3 x 256G PMEM 三 节点集群 • 测试结果:4毫秒 延迟 30
31. 3. OpenMLDB v0.5.2:性能、成本、易用性增强 31
32. OpenMLDB发展历程 开源前 2017.02 2017.08 commit第一行代码 第一个金融客户 2021.6 OpenMLDB 正式宣布开源 2021 7月 0.2.0版本发布,支持RestAPI访问 2022 1月 ,优化代码风格和注释 8月 OpenMLDB 基于 OpenMLDB 的优化创新论 第一次Meetup 文在国际顶级数据库学术会议 2019.09 2020.12 第一个零售客户 VLDB 2021 发表 获得Gitee认可,荣获GVP称号 落地超过100个场景 9月 0.4.0版本发布 5月 0.5.0版本 发布,支持 预聚合,UDF 第一个开源企业用户 Akulaku 荣获信通院“开源社区及开源项目”奖项 11月 0.3.0版本发布,支持单机模式 12月 OpenMLDB贡献者计划启动 举办国内首次Feature Store Meetup 32
33. OpenMLDB v0.5.2:性能升级 预聚合技术:显著提升长窗口性能 - 预聚合优化使得在长窗口查询下,无论延迟还是吞吐,性能都提升了 两个数量级 - 详细配置和结果参照官方发布的 第一版性能测试报告
34. OpenMLDB v0.5.2:成本降低 SQL 在线引擎提供基于内存和外存的两种存 储引擎选择 - 基于内存:低延迟、高并发;较高使用成本 è 提供毫秒级延迟响应 Real-Time SQL Engine - 基于外存:对性能较不敏感;低成本使用落地 è 基于 SSD 的典型配置下成本可下降 75% - 两种引擎上层业务代码无感知,零成本切换 Built-in (DRAM) RocksDB (HDD/SSD) Storage Engine
35. OpenMLDB v0.5.2:易用性增强 用户自定义函数(UDF) - 目前支持 C/C++ UDF - 支持 UDF 动态注册 - 方便使用者扩展计算逻辑,提升 应用覆盖范围 自定义函数开发 — OpenMLDB documentation
36. 感谢 OpenMLDB 的社区开发者 0.4.0 版本以来参与贡献的社区开发者(GitHub IDs): HuilinWu2 keyu813 TanZiYen L-Y-L nautaa yabg-shuai666 zoyopei Leowner Ivyee17 jingchen2222 mangoGoForward wuxiaobai24 wuteek zjx1319 prashantpaidi Cupid0320 aimanfatima TheFu527 bxiiiiii yangcol 1korenn Manny-op shiyoubun kfiring KaidoWang hezhaozhao-git johndinh391 Stevinson jasleon lwq20020127 zhouxh19 kutlayacar Liu-2001
37. OpenMLDB v0.6 Roadmap 重点关注易用性和可运维性 - 数据库状态自检和报告工具 - 查询调试和 tracing 工具 - 数据库性能分析和统计报告生成工具 - Flink connector - 整合特征编码等相关算法 关注 v0.6.0 roadmap,参与需求讨论 https://github.com/4paradigm/OpenMLDB/issues/1519
38. 欢迎加入 OpenMLDB 开源社区 OpenMLDB 中文官网:https://openmldb.ai/ GitHub: https://github.com/4paradigm/OpenMLDB WE ARE HIRING! (Fulltime & Intern) OpenMLDB 微信交流群 个人微信 38

Accueil - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-09 10:47
浙ICP备14020137号-1 $Carte des visiteurs$