使用Databricks+Mlflow进行机器学习模型的训练和部署【Databricks 数据洞察公开课】

简介: 介绍如何使用Databricks和MLflow搭建机器学习生命周期管理平台,实现从数据准备、模型训练、参数和性能指标追踪、以及模型部署的全流程。

作者:李锦桂   阿里云开源大数据平台开发工程师


ML工作流的痛点

1.png

机器学习工作流中存在诸多痛点:


  • 首先,很难对机器学习的实验进行追踪。机器学习算法中有大量可配置参数,在做机器学习实验时,很难追踪到哪些参数、哪个版本的代码以及哪个版本的数据会产生特定的结果。
  • 其次,机器学习实验的结果难以复现。没有标准的方式来打包环境,即使是相同的代码、相同的参数以及相同的数据,也很难复现实验结果。因为实验结果还取决于采用的代码库。
  • 最后,没有标准的方式管理模型的生命周期。算法团队通常会创建大量模型,而这些模型需要中央平台进行管理,特别是模型的版本所处阶段和注释等元数据信息,以及版本的模型是由哪些代码、哪些数据、哪些参数产生,模型的性能指标如何。也没有统一的方式来部署这些模型。


MIflow 就是为了解决机器学习工作流中的上述痛点问题而生。它可以通过简单的 API 实现实验参数追踪、环境打包、模型管理以及模型部署整个流程。


MIflow的第一个核心功能:MIflow Tracking

2.png

它可以追踪基于学习的实验参数、模型的性能指标以及模型的各种文件。在做机器学习时实验时,通常需要记录一些参数配置以及模型的性能指标,而MIflow可以帮助用户免去手动记录的操作。它不仅能记录参数,还能记录任意文件,包括模型、图片、源码等。


从上图左侧代码可以看到,使用MIflow start_run可以开启一次实验;使用 log_param 可以记录模型的参数配置;使用log_metric 可以记录下模型的性能指标,包括标量的性能指标和向量的性能指标;使用 log_model 可以记录下训练好的模型;使用 log_artifact 可以记录下任何想要记录的文件,比如上图中记录下的就是源码。


MIflow的第二个核心功能:MIflow Project

3.png

它会基于代码规约来打包训练代码,并指定执行环境、执行入口以及参数等信息,以便复现实验结果。而且这种规范的打包方式能够更方便代码的共享以及平台的迁移。


如上图,miflow-training 项目里包含两个很重要的文件,分别是content.yaml MLprojectcontent.yaml 文件中指定了 project 的运行环境,包含它所有依赖的代码库以及这些代码库的版本;MLproject 里指定了运行的环境,此处为conda.yaml,指定了运行的入口,即如何将 project运行起来,入口信息里面包含了相应的运行参数,此处为 alpha l1_ratio 两个参数。


除此之外,MIflow还提供了命令行工具,使得用户能够方便地运行MIflow project 比如打包好project 并将其上传到 git 仓库里了,用户只需要通过mIflow run 指令即可执行project 通过-P 传入 alpha 参数。


MIflow 的第三个核心功能:MIflow Models

4.png

它支持以统一的方式打包记录和部署多种算法框架模型。训练完模型后,可以使用MIflow log_model将模型记录下来,MIflow 会自动将模型进行存储(可存储到本地或 OSS 上),而后即可在 MIflow WebUI上查看模型与代码版本、参数和metric 之间的关系,以及模型的存储路径。


此外,MIflow 提供了 API 用于部署模型。使用mIflow models serve 部署模型后,即可使用rest API 调用模型,得到预测的结果。


MIflow 的第四个核心功能:MIflow Registry

5.png

MIflow 不但能够存储模型,还提供了WebUI 以管理模型。WebUI 界面上展示了模型的版本和所处的阶段,模型的详情页显示了模型的描述、标签以及schema。其中模型的标签可以用于检索和标记模型,模型的schema 用于表示模型输入和输出的格式。此外MIflow还建立了模型以及运行环境、代码和参数之间的关系,即模型的血缘。


MIflow 的四个核心功能很好地解决了机器学习工作流中的痛点,总结起来可以分为三个方面:

  1. MIflow Tracking 解决了机器学习实验难以追踪的问题。
  2. MIflow Project解决了机器学习工作流中没有标准的方式来打包环境导致实验结果难以复现的问题。
  3. MIflow Models Model Registry 解决了没有标准的方式来管理模型生命周期的问题。


Demo演示

接下来介绍如何使用MIflow DDI 搭建机器学习平台以管理机器学习的生命周期。

6.png

在架构图中可以看到,主要的组件有 DDI 集群、OSS ECS DDI 集群负责做一些机器学习的训练,需要启动一台 ECS 来搭建MIflow tracking server 以提供 UI 界面。此外还需要在 ECS 上安装 MySQL 以存储训练参数、性能和标签等元数据。OSS 用于存储训练的数据以及模型源码等。


部署要点请观看演示视频

https://developer.aliyun.com/live/248988



产品技术咨询

https://survey.aliyun.com/apps/zhiliao/VArMPrZOR  

加入技术交流群

image.png

相关文章
|
9月前
|
机器学习/深度学习 数据采集 算法
量子机器学习入门:三种数据编码方法对比与应用
在量子机器学习中,数据编码方式决定了量子模型如何理解和处理信息。本文详解角度编码、振幅编码与基础编码三种方法,分析其原理、实现及适用场景,帮助读者选择最适合的编码策略,提升量子模型性能。
776 8
|
机器学习/深度学习 数据采集 JSON
Pandas数据应用:机器学习预处理
本文介绍如何使用Pandas进行机器学习数据预处理,涵盖数据加载、缺失值处理、类型转换、标准化与归一化及分类变量编码等内容。常见问题包括文件路径错误、编码不正确、数据类型不符、缺失值处理不当等。通过代码案例详细解释每一步骤,并提供解决方案,确保数据质量,提升模型性能。
657 88
|
机器学习/深度学习 算法 数据挖掘
PyTabKit:比sklearn更强大的表格数据机器学习框架
PyTabKit是一个专为表格数据设计的新兴机器学习框架,集成了RealMLP等先进深度学习技术与优化的GBDT超参数配置。相比传统Scikit-Learn,PyTabKit通过元级调优的默认参数设置,在无需复杂超参调整的情况下,显著提升中大型数据集的性能表现。其简化API设计、高效训练速度和多模型集成能力,使其成为企业决策与竞赛建模的理想工具。
570 12
PyTabKit:比sklearn更强大的表格数据机器学习框架
|
机器学习/深度学习 数据采集 算法
机器学习在生物信息学中的创新应用:解锁生物数据的奥秘
机器学习在生物信息学中的创新应用:解锁生物数据的奥秘
1131 36
|
机器学习/深度学习 人工智能
Diff-Instruct:指导任意生成模型训练的通用框架,无需额外训练数据即可提升生成质量
Diff-Instruct 是一种从预训练扩散模型中迁移知识的通用框架,通过最小化积分Kullback-Leibler散度,指导其他生成模型的训练,提升生成性能。
451 11
Diff-Instruct:指导任意生成模型训练的通用框架,无需额外训练数据即可提升生成质量
|
人工智能 Kubernetes Cloud Native
跨越鸿沟:PAI-DSW 支持动态数据挂载新体验
本文讲述了如何在 PAI-DSW 中集成和利用 Fluid 框架,以及通过动态挂载技术实现 OSS 等存储介质上数据集的快速接入和管理。通过案例演示,进一步展示了动态挂载功能的实际应用效果和优势。
|
机器学习/深度学习 传感器 数据采集
基于机器学习的数据分析:PLC采集的生产数据预测设备故障模型
本文介绍如何利用Python和Scikit-learn构建基于PLC数据的设备故障预测模型。通过实时采集温度、振动、电流等参数,进行数据预处理和特征提取,选择合适的机器学习模型(如随机森林、XGBoost),并优化模型性能。文章还分享了边缘计算部署方案及常见问题排查,强调模型预测应结合定期维护,确保系统稳定运行。
1438 0
|
机器学习/深度学习 人工智能 自然语言处理
模型训练数据-MinerU一款Pdf转Markdown软件
MinerU是由上海人工智能实验室OpenDataLab团队开发的开源智能数据提取工具,专长于复杂PDF文档的高效解析与提取。它能够将含有图片、公式、表格等多模态内容的PDF文档转化为Markdown格式,同时支持从网页和电子书中提取内容,显著提升了AI语料准备的效率。MinerU具备高精度的PDF模型解析工具链,能自动识别乱码,保留文档结构,并将公式转换为LaTeX格式,广泛适用于学术、财务、法律等领域。
3279 4
|
机器学习/深度学习 数据采集 数据处理
谷歌提出视觉记忆方法,让大模型训练数据更灵活
谷歌研究人员提出了一种名为“视觉记忆”的方法,结合了深度神经网络的表示能力和数据库的灵活性。该方法将图像分类任务分为图像相似性和搜索两部分,支持灵活添加和删除数据、可解释的决策机制以及大规模数据处理能力。实验结果显示,该方法在多个数据集上取得了优异的性能,如在ImageNet上实现88.5%的top-1准确率。尽管有依赖预训练模型等限制,但视觉记忆为深度学习提供了新的思路。
413 2
|
机器学习/深度学习 存储 人工智能
揭秘机器学习背后的神秘力量:如何高效收集数据,让AI更懂你?
【10月更文挑战第12天】在数据驱动的时代,机器学习广泛应用,从智能推荐到自动驾驶。本文以电商平台个性化推荐系统为例,探讨数据收集方法,包括明确数据需求、选择数据来源、编写代码自动化收集、数据清洗与预处理及特征工程,最终完成数据的训练集和测试集划分,为模型训练奠定基础。
530 3