产品设计理念
数据开发治理平台 WeData(以下简称 WeData)基于 MLOps 的产品设计理念,建设了数据科学模块。
MLOps 理念和价值
MLOps(Machine Learning Operations)是一套工程化方法,连接模型构建团队和业务及运维团队,为机器学习模型全生命周期建设标准化、自动化、可持续改进的过程管理体系,使组织可稳定可靠、规模化、高质效地持续生产机器学习模型,为业务赋能。核心是通过解决如下问题,实现企业大规模 AI 开发的降本增效:
模型全生命周期缺乏统一管理
代码、数据、算法、模型等资产缺乏统一的版本管理及可追溯能力;
企业在 ML 生产至应用过程中缺乏相应的规范;
模型开发部署迭代周期长
Algorithmia 2020:64%的企业部署一个新模型花费超过一个月的时间,其中18%的公司需要90天以上上线;
模型服务不可持续
模型迭代并部署上线的速度无法及时响应业务需求的快速变更;
上线那一刻开始模型存在降级退化风险(数据漂移、效果漂移);
自动化程度较低
存在较多手动流程,效率较低,人力成本大;
缺乏完善的监控和告警机制,无法在损害发生之前捕捉到错误,并及时修正;
跨团队协作困难
不同团队的工具和工作流程差异大;
业务团队、运维团队和 AI 团队间的孤岛效应、沟通鸿沟无法逾越;
潜在风险高
技术风险:不稳定的模型效果,脆弱的基础设施;
合规风险:违反政府监管规定和公司政策。
我们的洞察和优势
在 WeData 这样的数据平台上建设数据科学能力,本身具备了强大的数据集成、数据开发、数据治理的能力,天然可以解决传统数据平台和 AI 开发平台割裂的问题:
数据开发和 AI 开发分离
大数据和 AI 为两套独立系统,很难实现端到端的流程的样本清洗、存储、分析、训练、推理;
存储、计算成本高
数据需要在两套系统间来回流动;
大数据和 AI 的 CPU、GPU 算力无法复用。
我们的核心理念
1. 始终以业务目标为牵引,来推进 AI 项目研发;
2. 以数据为中心,来实现 AI 的研发;
3. 以模块化平台的方式实现全生命周期的驱动:如数据探索, 特征工程, 模型训练, 在线服务等;
4. 使用自动化流程实现持续训练、持续集成、持续交付。
功能概述
WeData 数据科学模块建设了实验管理、特征管理、模型管理和模型服务四个核心功能模块,与周边的关联产品 Studio、工作流、数据质量、引擎等密切协同,从而实现 MLOps 能力的构建,实现“数据--模型--推理”的全生命周期的端到端能力。
核心模块
模块 | 核心功能 |
模型实验 | 在 Studio 中启用 MLflow 服务,可以在实验中通过调用 MLflow 的相关函数来记录每一次实验的参数、指标和结果,并在实验管理中进行查看,从而实现实验的追踪和可复现性。 并且提供了 AutoML 能力,支持进行无代码开发。 |
特征管理 | 在 Studio 中使用 WeData 所提供的特征处理 API,可以创建、写入、读取、查找、同步、消费特征表,并在特征管理中进行查看、管理特征,实现特征统一管理、统一消费。 |
模型管理 | 在 Studio 中启用 MLflow 服务,可以在实验中通过调用 MLflow 的相关函数来注册模型,或者在实验管理中执行可视化的模型注册。支持查看模型的关键信息,以及与实验/运行、服务等关联关系。 |
模型服务 | 支持从模型管理中的模型创建 API 服务,并进行服务监控等功能,并可查看与模型的关联关系,方便进行信息回溯。 |
周边模块
模块 | 核心功能 |
Studio | AI 开发最主要的工作区,用户可在 Studio 中编辑、调试、运行代码,并且调用 MLflow 和特征工程 API,实现特征表增删改查、模型训练、模型注册等操作。 |
工作流 | 自动化流程主要的工作区,用户可在 Studio 中调试好代码后,提交至工作流设置周期性调度,实现模型的自动化、周期性生产。 |
数据质量 | 模型服务推理表、特征表、训练数据表都可以通过发起数据质量任务,查看相应的字段分析、漂移分析、模型指标等质量信息。 |
引擎 | 数据科学对接了 DLC 和 EMR 两种引擎,作为 AI 开发的数据来源、离线特征存储和训练资源。 |
必要说明及前置条件
类型 | 说明 |
Studio | 必须开通 Studio 才可使用数据科学相关功能。 说明: AI 开发最主要的工作区,用户可在 Studio 中编辑、调试、运行代码,并且调用 MLflow 和特征工程 API,实现特征表增删改查、模型训练、模型注册等操作。 |
引擎支持 | DLC 标准引擎 可用于模型训练、模型实验上报、特征管理、模型注册等操作 注意,只有 DLC 引擎建资源组时选择“wedata-data-science”镜像,才可以用于 AutoML 实验 EMR on CVM、EMR on TKE(注意需包含 EG 组件,否则无法在 WeData 使用) 可用于模型训练、模型实验上报、特征管理、模型注册等操作 注意,不可用于 AutoML 实验 EMR:Ray on TKE(注意需包含 EG 组件,否则无法在 WeData 使用) 可用于模型训练、模型实验上报、模型注册等操作 注意:不可用于 AutoML 实验、特征处理 |
MLflow 版本 | WeData 的实验管理默认兼容 MLflow 的2.17.2版本,相关镜像已经预装,连接 Studio 运行环境后可执行命令进行检查:
|
离线特征存储 | WeData 所管理的离线特征表,目前仅支持 DLC 的 Iceberg 表和 EMR 的 Hive 表,且注册特征表时必须指定表的主键及时间戳键,后续操作时将以所指定的主键和时间戳键进行特征索引。 |
表操作权限 | DLC: 如果开通了 Catalog: 需在 DLC 中“DLC--系统管理--用户与权限管理”对用户授权对应库表权限 并在 WeData 的“数据资产--Catalog 目录--对应的 Catalog--权限”中对用户进行授权 如果没有开通 Catalog: 只需要在 DLC 中“DLC--系统管理--用户与权限管理”对用户授权对应库表权限 EMR: 在 WeData 的“项目管理 > 存算引擎设置”中设置引擎访问账号和账号映射,来确定访问库表的权限 |
模型操作权限 | DLC: 如果开通了 Catalog: 需要在 WeData 的“数据资产 > Catalog 目录对应的模型 Catalog > 权限”对用户进行授权 如果没有开通 Catalog: 无需授权 EMR: 无需授权 |
在线特征存储 | WeData 支持 Redis 作为在线特征存储。准备如下: 地域、网络需要注意和调度资源组、所使用的引擎(DLC 或者 EMR)保持一致。 第二步:在 WeData 的“项目管理 -- 数据源管理”添加 Redis 数据源,测试可连通调度资源组。 第三步:在 WeData 的“离线开发 -- Studio”中连接远程内核后,验证 Redis 是否连通,如下:
|
特征工程包 | 连接引擎后执行如下命令,即可安装最新的特征工程包:
如果使用 DLC 引擎,构建资源组时选择“wedata-data-science”镜像,已经预安装特征工程包。可执行命令检查版本:
|
密钥管理说明 | |
环境变量设置 | DLC: 如果开通了 Catalog,无需额外设置。 如果没有开通 Catalog,需要设置环境变量,否则实验和模型上报可能报错:
EMR: 需要设置环境变量,否则实验和模型上报可能报错:
|