使用 Databricks 和 MLflow 进行机器学习模型训练和部署的应用实践| 学习笔记(二)

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,100CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
简介: 快速学习使用 Databricks 和 MLflow 进行机器学习模型训练和部署的应用实践

开发者学堂课程【Databricks数据洞察公开课:使用 Databricks 和 MLflow 进行机器学习模型训练和部署的应用实践】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/1058/detail/15565


使用 Databricks 和 MLflow 进行机器学习模型训练和部署的应用实践


image.png

Anaconda 的安装包已经下载好了,下一步,要把 conda 的路径添加到系统路径中。

ecal s(/root/anaconda3/bin/conda shell.bash hook)

然后,初始化 Conda

conda init

紧接着去创建一个新的 Anaconda 的环境

conda create-n m\flow-server

然后去激活这个环境。

conda activate m\flow-server

在这个新的环境中,我们去安装 python 3.9

conda install pathon=3.9

conda install pymysql

由于,Mlflow server 需要将原数据存储到数据库中,所以,还需要 python Mysql connecter ,接着就可以使用 pip 去安装Mlflow Server

Mlflow Server安装好之后需要在 Mysql 里创建一个新的数据库用来存储 Mlflow Server 的一些原数据信息,然后需要设置一些环境变:MLFLOW_OSS_ENDPOINT_URL=

http://oss-cn-beijing.aliyuncs.com/mlflow-demo

这个环境变量是 OSS ENDPOINT URL ,它的组成是oss 以及地域和 OSS Bucket ,下方是AK AK KEY AK SECRET

image.png

此外这里需要用到 Mlflow OSS conducter ,需要下载安装包,然后再在本地区安装,已经在本地下载好了后,直接在这个路径下执行 pip install ,如下图。

image.png

之后就可以在这个机器上启动一个Mlflow Server ,  Mlflow 的 Web UI 是开在5000端口,如下图:

image.png

可以看到Mlflow Server 已经运行起来了,但是目前这里还没有实验,也没有模型, Mlflow Server 环境搭建好之后,就可以在 DDI notebook 上进行操作,首先把需要的包都给导入进来,然后需要设置三个环境变量,如下图:

image.png

和前面的 ECS Server 设置的环境变量是一致的,再去设置一下 log 的级别,如下图:

image.png

还有下图定义了一个计算均方误差,平均绝对误差和 R2 的一个函数,这是用来计算模型的相应的指标的。

 image.png

之后,将 OSS 中的训练数据加载进来,下图是红酒质量数据,对应的每一行的是红酒的酸碱度,然后还有含糖量以及酒精含量等等这些信息,最后一列呢是这个酒的质量

image.png

把这些数据加载进来,加载完成后,我们先把它转成 Pandas

Pandas data free ,然后把它分割成训练集和测试集

image.png

然后,使用 SK LUNCH 去搭建一个简单的线性回归的模型,这里的参数设置为0.60.1如下图:

image.png

然后需要去设置tracking server uri ,使用的是内网的地址: http://10.0.0.2465000/

image.png

之后去创建一个实验环境,这个实验环境的名称叫 wine quality ,还需要设置模芯的存储地址,是存储到 models 里。

image.png

环境创建好之后,就可以开启一次实验,开启一次实验与打开一个文件是类似的,使用 with 语句,然后start run 方法就可以开启一次实验。

image.png

首先去把参数给记录下来,再使用这个 log_param alpha 还有 l1_racial这两个参数记录下来,去创建一个简单的线性回归模型,之后使用train_xtrain_y去训练这个模型,再计算这个模型的性能指标,再使用 log metric 把这些性能指标给记录下来,最后还需要把训练好的模型给记录下来,在这个 Mlflow 的这个 Web UI 上,可以看到实验以及这次实验产生的模型,还有性能指标以及参数。

image.png

在这次实验的详情页面,可以看到这次实验的详细的信息,比如参数、性能指标,还可以为这次实验打上一些标签,方便快速的去检索这个这次实验。

image.png

还有这次实验相关的一些 Artifacts ,包括了模型的参数、执行环境、以及这次训练得到的模型。

参数:执行环境:模型:

image.png

再次回到这个 DDI的这个notebook ,去修改一下 alpha r1_ratio ,再次去执行一次实验。

image.png

多修改几次:

image.png

Mlflow 的这个界面,就会看到新生成了两次实验。

image.png

并且可以将两次实验进行一个简单的对比,可以对比它们的性能指标和参数之间的关系。

image.png

Models 里可以看到,4次执行的这些模型以及它的版本。

image.png

可以把这个模型标记一下,标记为它目前处于什么阶段,它是出于那个 Staging阶段还是处于生产的阶段。

image.png

Mlflow的模型部署也非常的简单,比如这次实验它的性能不错,那要如何去部署它,先把Model OSS path copy下来。

image.png

只需要在 ECS server上去执行这样一条指令。

模型已经部署在12345端口

 image.png

可以使用personnel 调用模型得到推断的结果。

image.png

使用 Post 方法。在 Body 面传入相应的参数。调用接口就可以得到反馈结果。


image.png

从开始一次实验去训练模型到模型的部署,整个流程都可以通过  Mlflow 去搞定,而且 Mlflow UI上会显示所有的实验以及所有训练好的模型。


相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
17天前
|
机器学习/深度学习 存储 设计模式
特征时序化建模:基于特征缓慢变化维度历史追踪的机器学习模型性能优化方法
本文探讨了数据基础设施设计中常见的一个问题:数据仓库或数据湖仓中的表格缺乏构建高性能机器学习模型所需的历史记录,导致模型性能受限。为解决这一问题,文章介绍了缓慢变化维度(SCD)技术,特别是Type II类型的应用。通过SCD,可以有效追踪维度表的历史变更,确保模型训练数据包含完整的时序信息,从而提升预测准确性。文章还从数据工程师、数据科学家和产品经理的不同视角提供了实施建议,强调历史数据追踪对提升模型性能和业务洞察的重要性,并建议采用渐进式策略逐步引入SCD设计模式。
35 8
特征时序化建模:基于特征缓慢变化维度历史追踪的机器学习模型性能优化方法
|
10天前
|
机器学习/深度学习 数据采集 JSON
Pandas数据应用:机器学习预处理
本文介绍如何使用Pandas进行机器学习数据预处理,涵盖数据加载、缺失值处理、类型转换、标准化与归一化及分类变量编码等内容。常见问题包括文件路径错误、编码不正确、数据类型不符、缺失值处理不当等。通过代码案例详细解释每一步骤,并提供解决方案,确保数据质量,提升模型性能。
133 88
|
30天前
|
机器学习/深度学习 监控 算法
机器学习在图像识别中的应用:解锁视觉世界的钥匙
机器学习在图像识别中的应用:解锁视觉世界的钥匙
347 95
|
15天前
|
机器学习/深度学习 数据采集 算法
机器学习在生物信息学中的创新应用:解锁生物数据的奥秘
机器学习在生物信息学中的创新应用:解锁生物数据的奥秘
130 36
|
20天前
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
134 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
22天前
|
机器学习/深度学习 人工智能
Diff-Instruct:指导任意生成模型训练的通用框架,无需额外训练数据即可提升生成质量
Diff-Instruct 是一种从预训练扩散模型中迁移知识的通用框架,通过最小化积分Kullback-Leibler散度,指导其他生成模型的训练,提升生成性能。
49 11
Diff-Instruct:指导任意生成模型训练的通用框架,无需额外训练数据即可提升生成质量
|
8天前
|
机器学习/深度学习 安全 PyTorch
FastAPI + ONNX 部署机器学习模型最佳实践
本文介绍了如何结合FastAPI和ONNX实现机器学习模型的高效部署。面对模型兼容性、性能瓶颈、服务稳定性和安全性等挑战,FastAPI与ONNX提供了高性能、易于开发维护、跨框架支持和活跃社区的优势。通过将模型转换为ONNX格式、构建FastAPI应用、进行性能优化及考虑安全性,可以简化部署流程,提升推理性能,确保服务的可靠性与安全性。最后,以手写数字识别模型为例,展示了完整的部署过程,帮助读者更好地理解和应用这些技术。
49 18
|
13天前
|
机器学习/深度学习 人工智能 自然语言处理
云上一键部署 DeepSeek-V3 模型,阿里云 PAI-Model Gallery 最佳实践
本文介绍了如何在阿里云 PAI 平台上一键部署 DeepSeek-V3 模型,通过这一过程,用户能够轻松地利用 DeepSeek-V3 模型进行实时交互和 API 推理,从而加速 AI 应用的开发和部署。
|
6天前
如何看PAI产品下训练(train)模型任务的费用细节
PAI产品下训练(train)模型任务的费用细节
30 4
|
14天前
|
存储 分布式计算 MaxCompute
使用PAI-FeatureStore管理风控应用中的特征
PAI-FeatureStore 是阿里云提供的特征管理平台,适用于风控应用中的离线和实时特征管理。通过MaxCompute定义和设计特征表,利用PAI-FeatureStore SDK进行数据摄取与预处理,并通过定时任务批量计算离线特征,同步至在线存储系统如FeatureDB或Hologres。对于实时特征,借助Flink等流处理引擎即时分析并写入在线存储,确保特征时效性。模型推理方面,支持EasyRec Processor和PAI-EAS推理服务,实现高效且灵活的风险控制特征管理,促进系统迭代优化。
41 6

热门文章

最新文章

相关产品

  • 人工智能平台 PAI