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

简介: 快速学习使用 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快速上手——如何使用ossbrowser
本实验是对象存储OSS入门级实验。通过本实验,用户可学会如何用对象OSS的插件,进行简单的数据存、查、删等操作。
相关文章
|
9月前
|
机器学习/深度学习 人工智能 JSON
【解决方案】DistilQwen2.5-R1蒸馏小模型在PAI-ModelGallery的训练、评测、压缩及部署实践
阿里云的人工智能平台 PAI,作为一站式的机器学习和深度学习平台,对DistilQwen2.5-R1模型系列提供了全面的技术支持。无论是开发者还是企业客户,都可以通过 PAI-ModelGallery 轻松实现 Qwen2.5 系列模型的训练、评测、压缩和快速部署。本文详细介绍在 PAI 平台使用 DistilQwen2.5-R1 蒸馏模型的全链路最佳实践。
|
8月前
|
人工智能 JSON 算法
【解决方案】DistilQwen2.5-DS3-0324蒸馏小模型在PAI-ModelGallery的训练、评测、压缩及部署实践
DistilQwen 系列是阿里云人工智能平台 PAI 推出的蒸馏语言模型系列,包括 DistilQwen2、DistilQwen2.5、DistilQwen2.5-R1 等。本文详细介绍DistilQwen2.5-DS3-0324蒸馏小模型在PAI-ModelGallery的训练、评测、压缩及部署实践。
|
5月前
|
机器学习/深度学习 自然语言处理 算法
Java 大视界 -- Java 大数据机器学习模型在自然语言处理中的对抗训练与鲁棒性提升(205)
本文探讨Java大数据与机器学习在自然语言处理中的对抗训练与鲁棒性提升,分析对抗攻击原理,结合Java技术构建对抗样本、优化训练策略,并通过智能客服等案例展示实际应用效果。
|
人工智能 调度 芯片
PAI训练服务:云上大模型训练新篇章
本文介绍了通用AI时代下的新训练方法及PAI平台的优化。随着大模型时代的到来,算力需求激增,硬件和网络通信成为瓶颈。PAI平台通过自动容错、3D健康检测等技术确保训练稳定性;通过资源配额、智能调度等提高性价比;并推出PAI-TorchAcc和PAI-ChatLearn两大引擎,分别实现高效训练加速和灵活的对齐训练,显著提升训练性能与效果。这些改进解决了大规模AI训练中的关键问题,提升了效率和稳定性。
|
10月前
|
人工智能 自然语言处理 算法
MT-MegatronLM:国产训练框架逆袭!三合一并行+FP8黑科技,大模型训练效率暴涨200%
MT-MegatronLM 是摩尔线程推出的面向全功能 GPU 的开源混合并行训练框架,支持多种模型架构和高效混合并行训练,显著提升 GPU 集群的算力利用率。
802 18
|
10月前
|
机器学习/深度学习 人工智能 边缘计算
DistilQwen2.5蒸馏小模型在PAI-ModelGallery的训练、评测、压缩及部署实践
DistilQwen2.5 是阿里云人工智能平台 PAI 推出的全新蒸馏大语言模型系列。通过黑盒化和白盒化蒸馏结合的自研蒸馏链路,DistilQwen2.5各个尺寸的模型在多个基准测试数据集上比原始 Qwen2.5 模型有明显效果提升。这一系列模型在移动设备、边缘计算等资源受限的环境中具有更高的性能,在较小参数规模下,显著降低了所需的计算资源和推理时长。阿里云的人工智能平台 PAI,作为一站式的机器学习和深度学习平台,对 DistilQwen2.5 模型系列提供了全面的技术支持。本文详细介绍在 PAI 平台使用 DistilQwen2.5 蒸馏小模型的全链路最佳实践。
|
机器学习/深度学习 人工智能
Diff-Instruct:指导任意生成模型训练的通用框架,无需额外训练数据即可提升生成质量
Diff-Instruct 是一种从预训练扩散模型中迁移知识的通用框架,通过最小化积分Kullback-Leibler散度,指导其他生成模型的训练,提升生成性能。
337 11
Diff-Instruct:指导任意生成模型训练的通用框架,无需额外训练数据即可提升生成质量
|
人工智能 JSON 算法
Qwen2.5-Coder 系列模型在 PAI-QuickStart 的训练、评测、压缩及部署实践
阿里云的人工智能平台 PAI,作为一站式、 AI Native 的大模型与 AIGC 工程平台,为开发者和企业客户提供了 Qwen2.5-Coder 系列模型的全链路最佳实践。本文以Qwen2.5-Coder-32B为例,详细介绍在 PAI-QuickStart 完成 Qwen2.5-Coder 的训练、评测和快速部署。
Qwen2.5-Coder 系列模型在 PAI-QuickStart 的训练、评测、压缩及部署实践
|
人工智能 JSON 算法
魔搭支持在阿里云人工智能平台PAI上进行模型训练、部署了!
现在,魔搭上的众多模型支持在阿里云人工智能平台PAI-Model Gallery上使用阿里云算力资源进行模型训练和部署啦!
840 22
如何看PAI产品下训练(train)模型任务的费用细节
PAI产品下训练(train)模型任务的费用细节
241 6

相关产品

  • 人工智能平台 PAI