华为商城特征平台建设

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 华为商城特征平台建设实践 曾中铭 华为商城 算法工程师 2022.06.12
2. 特征平台建设实践 • 问题与挑战 • 特征平台设计目标 • Feature as Code • 特征数据一致性 • 业界前沿观察 • Q&A 2/30
3. 问题与挑战 数据集成 特征、样本 试算 模型训练 特征、样本 Pipeline开发 模型部署 服务集成 监控 &效果评估 图片来自Hidden Technical Debt in Machine Learning Systems. NIPS. 2494-2502. AI开发中存在诸多技术挑战,涉及技术栈多,流程长 3/30
4. 问题与挑战 数据集成 特征、样本 试算 模型训练 特征、样本 Pipeline开发 模型部署 服务集成 • 开箱即用的算法环境: JupyterLab、GPU资源等一应俱全 • 高性能的模型训练能力:海量资源池、按需计费、多机多卡训练、多级缓存等 • Serverless形式的模型部署能力:快速在线推理/批量推理服务部署 监控 &效果评估 4/30
5. 问题与挑战 数据集成 特征、样本 试算 特征、样本 Pipeline开发 模型训练 • 特征计算难 多种数据源组件 • 特征时效性保证 • 大数据场景下的SQL • 数据一致性保证 • 近线/实时计算 • 查询性能优化 • 规避特征穿越 服务集成 监控 &效果评估 • 特征Serving难 • • 样本生成难 模型部署 • 特征、样本监控难 • Pipeline作业监控 • 数据质量监控 • 特征、样本管理缺失 • 特征血缘 • 特征复用 5/30
6. 设计目标 数据集成 特征、样本 试算 特征、样本 Pipeline开发 模型训练 问题与挑战 模型部署 MVP 服务集成 监控 &效果评估 进阶形态 特征计算 1. 降低特征Pipeline创建难度 1. 2. 易用性/扩展性兼顾 融入DevOps流程 样本生成 1. 提供便捷的实时样本生成能力 1. 扩展离线样本生成能力,满足新特征试算 特征Serving 1. 2. 提供特征数据一致性保证 统一存储/消费入口(以SDK、RPC形式) 1. 透明缓存、容灾等 特征、样本监控 1. 2. 特征Pipeline作业监控 各底层组件可用性监控 1. 数据质量监控 特征管理 1. 2. 存量特征纳管 特征共享&复用 1. 2. 特征、样本血缘管理 特征探索&推荐 6/30
7. 逻辑架构 数据存储 特征平台 模型训练 Monitoring 特征Pipeline、特征服务API监控 数据质量监控 • • 消息中间件 数据摄入 Feature Computing 数据湖 样本消费 • • • • • 存量特征接入 离线特征创建、管理 近线特征创建、管理 实时特征创建、管理 离线/近线特征backfill Feature Serving • • • • 特征线下/线上存储 实时样本生成 离线样本生成 特征服务 Feature Registry 数据仓库 数据服务 /数据API • • 在线服务 特征消费 特征元数据管理 特征复用 Compute Storage 实时处理 批处理 流处理 7/30
8. 特征平台建设实践 • 问题与挑战 • 特征平台设计目标 • Feature as Code • 特征数据一致性 • 业界前沿观察 • Q&A 8/30
9. 特征生产简化 特征生产的本质:建立包含AI领域知识的数据Pipeline。 依赖 大数据工程能力 技术栈复杂,特征生产无法通过单个角色承担: 1. 算法工程师:无法独立完成数据Pipeline作 特征Pipeline作业 业创建、管理、维护 2. 数据工程师:对AI领域知识和业务信息了 解有限,跨团队效率下降 数据源 计算逻辑 特征存储 如何让算法工程师自助完成特征生产? 依赖 AI领域知识 和业务信息 9/30
10. 特征生产简化 Before 算法工程师: 以 SQL、PySpark 代码形式提供核 心计算逻辑 Now 依赖 大数据工程能力 特征平台 特征Pipeline作业 数据源 计算逻辑 依赖 AI领域知识 和业务信息 特征Pipeline作业 特征存储 数据源 计算逻辑 特征存储 特征平台: • 负责特征Pipeline作业创建、部署、管理 • 包办I/O逻辑、存储优化等工程难点 10/30
11. 特征生产简化 通过 SQL 创建特征, 提升平台易用性 11/30
12. 特征生产简化 多数据源、多模态、复杂计算 逻辑等场景, 通过 PySpark 代码创建特征, 扩展性好 12/30
13. 特征生产简化 特征平台 文件数据 数据仓库 流式数据 特征计算 特征存储 13/30
14. 特征生产简化 • AI数据由算法工程师“自产自销”,效率提高 • 特征元数据平台统一纳管,实现资产共享复用 • 特征Pipeline作业统一管理,责任清晰 14/30
15. 特征数据一致性 数据仓库 离线 特征存储 线下训练 (高吞吐) 离线层 在线层 实时处理 批处理 流处理 15/30
16. 特征数据一致性 数据仓库 离线 特征存储 线下训练 (高吞吐) 离线层 在线层 在线 特征存储 线上推理 (低时延) 实时处理 批处理 流处理 16/30
17. 特征数据一致性 数据仓库 离线 特征存储 线下训练 (高吞吐) 离线层 在线层 在线 特征存储 线下/线上两条Pipeline, 数据一致性难保证, 导致Training-Serve Skew, 引发线上效果劣化 线上推理 (低时延) 实时处理 批处理 流处理 17/30
18. 特征数据一致性 数据仓库 离线 特征存储 线下训练 (高吞吐) 离线层 在线层 在线 特征存储 • 问题本质是数据来自两条Pipeline 线上推理 (低时延) 实时处理 • 方案一:线下/线上消费同一套数据 批处理 • 方案二:线下/线上Pipeline实现逻辑归一 流处理 18/30
19. 特征数据一致性 方案一:线下/线上消费同一套数据(来自同一个Pipeline),样本实时生成用于训练 4. 实时样本生成 • 架构简单,只需要维护在线特征存储 • 计算量小,不涉及离线大规模Join操作 • 支持在线模型更新 • 但对特征试算不友好 特征服务 Feature Serving 5. 模型训练 2. 查询特征 在线服务 模型训练 1. 请求服务 3. 返回结果 端侧应用 实时处理 批处理 流处理 19/30
20. 特征数据一致性 方案一(Alter):线下/线上消费同一套数据(来自同一个Pipeline),样本实时生成用于训练 2. 实时样本生成 流式数据 用户行为日志 1. 日志上报 特征服务 Feature Serving 在线服务 端侧应用 3. 模型训练 模型训练 实时处理 批处理 流处理 20/30
21. 特征数据一致性 方案二:(演进中)线下/线上Pipeline实现逻辑归一 • 满足特征试算需求 • 特征支持backfill • 计算量较大 离线层 在线层 离线 特征存储 数据仓库 离线生成的 样本 Spark/Flink 批流一体计算 API 在线 特征存储 实时处理 批处理 流处理 21/30
22. 特征平台建设实践 • 问题与挑战 • 特征平台设计目标 • Feature as Code • 特征数据一致性 • 业界前沿观察 • Q&A 22/30
23. Feature as Code与GitOps 算法工程师: 以 SQL、PySpark 代码形式提供核 心计算逻辑 特征平台简化了特征作业开发过程,特征开发 周期从数周降低到数天。 特征平台 如何引入DevOps,以达成自动、可靠的版本 管理与发布? 特征Pipeline作业 数据源 计算逻辑 特征存储 23/30
24. Feature as Code与GitOps DevOps流程 特征平台简化了特征作业开发过程,特征开发 周期从数周降低到数天。 特征平台 如何引入DevOps,以达成自动、可靠的版本 管理与发布? 特征Pipeline作业 数据源 计算逻辑 特征存储 24/30
25. Feature as Code与GitOps • Feature as Code,代码定义Feature元数据和作业 • 依托Git完成Feature的版本管理 • 面向终态风格的变更流程(类似Terraform) • 平台自动编排调度Feature Pipeline • 参考Feast[feast.dev]、Tecton[https://www.tecton.ai/] 图片来自https://www.tecton.ai/ 图片来自https://www.tecton.ai/product/ 图片来自https://www.tecton.ai/product/ 25/30
26. Feature as Code与GitOps • 通过DevOps(gitOps)流程管理Feature • 变更审批、审计都前移到Git平台 • 集成自动化测试流程: • 单元测试:mock数据验证特征计算逻辑 • 集成测试:部署测试环境,验证作业正确启动 • UAT:部署验证环境,验证数据正确 图片来自https://www.tecton.ai/product/ 26/30
27. 模型效果衰退与数据漂移 • 数据漂移导致算法模型效果下降 • 如何检测&监控数据质量? 图片来自https://www.aporia.com/blog/concept_drift_in_machine_learning_101/ 27/30
28. 数据质量如何监控 • 参考Great Expectations • 数据Profiling • 图片来自https://docs.greatexpectations.io/docs/ • 基于对照组的profiling • 基于规则的profiling 基于Profiling结果的 • 可视化报告 • 监控&告警 图片来自https://docs.greatexpectations.io/docs/ 图片来自https://docs.greatexpectations.io/docs/ 28/30
29. 特征平台:最佳的AI数据监控落脚点 数据质量监控点 • • • • 特征平台入口: • 批式特征质量监控 • 流式特征质量监控 特征平台出口: • 训练样本质量监控 • 消费特征质量监控 挑战: • 流式数据质量监控 • 实时衍生特征质量监控 参考Feast,Data quality monitoring (Alpha) , [https://docs.feast.dev/reference/dqm] 29/30
30. 参考资料 • Hidden Technical Debt in Machine Learning Systems,https://papers.nips.cc/paper/5656-hidden-technical-debt-in-machine-learning- systems • 特征平台需求层次理论,https://www.infoq.cn/article/83sxswlgqvejae7f9vut • 特征平台(Feature Store):序论,https://zhuanlan.zhihu.com/p/406897374 • 特征平台(Feature Store):Tecton,https://zhuanlan.zhihu.com/p/410767474 • Back to the Future: Solving the time-travel problem in machine learning, https://www.tecton.ai/blog/time-travel-in-ml/ • 特征平台(Feature Store):从Feature as Code到Feature Pipeline as Code,https://zhuanlan.zhihu.com/p/512362076 • What is Infrastructure as Code with Terraform?, https://learn.hashicorp.com/tutorials/terraform/infrastructure-as-code • Concept drift in machine learning 101, https://www.aporia.com/blog/concept_drift_in_machine_learning_101/ 30/30
31. Q&A 31/30
32. Thank You 32/30

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