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

本文涉及的产品
模型训练 PAI-DLC,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: 快速学习使用 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,搭建一个在线教育视频课程分享网站。
相关文章
|
23天前
|
机器学习/深度学习 人工智能 物联网
通义灵码在人工智能与机器学习领域的应用
通义灵码不仅在物联网领域表现出色,还在人工智能、机器学习、金融、医疗和教育等领域展现出广泛应用前景。本文探讨了其在这些领域的具体应用,如模型训练、风险评估、医疗影像诊断等,并总结了其提高开发效率、降低门槛、促进合作和推动创新的优势。
通义灵码在人工智能与机器学习领域的应用
|
24天前
|
机器学习/深度学习 传感器 自动驾驶
探索机器学习在图像识别中的创新应用
本文深入分析了机器学习技术在图像识别领域的最新进展,探讨了深度学习算法如何推动图像处理技术的突破。通过具体案例分析,揭示了机器学习模型在提高图像识别准确率、效率及应用场景拓展方面的潜力。文章旨在为读者提供一个全面的视角,了解当前机器学习在图像识别领域的创新应用和未来发展趋势。
|
19天前
|
机器学习/深度学习 人工智能 算法
探索机器学习中的线性回归模型
本文深入探讨了机器学习中广泛使用的线性回归模型,从其基本概念和数学原理出发,逐步引导读者理解模型的构建、训练及评估过程。通过实例分析与代码演示,本文旨在为初学者提供一个清晰的学习路径,帮助他们在实践中更好地应用线性回归模型解决实际问题。
|
28天前
|
机器学习/深度学习 数据采集 监控
如何使用机器学习模型来自动化评估数据质量?
如何使用机器学习模型来自动化评估数据质量?
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
思通数科AI平台在尽职调查中的技术解析与应用
思通数科AI多模态能力平台结合OCR、NLP和深度学习技术,为IPO尽职调查、融资等重要交易环节提供智能化解决方案。平台自动识别、提取并分类海量文档,实现高效数据核验与合规性检查,显著提升审查速度和精准度,同时保障敏感信息管理和数据安全。
98 11
|
24天前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
68 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
28天前
|
机器学习/深度学习 算法 PyTorch
用Python实现简单机器学习模型:以鸢尾花数据集为例
用Python实现简单机器学习模型:以鸢尾花数据集为例
74 1
|
1月前
|
机器学习/深度学习 数据采集 运维
智能化运维:机器学习在故障预测和自动化响应中的应用
智能化运维:机器学习在故障预测和自动化响应中的应用
56 4
|
1月前
|
机器学习/深度学习 TensorFlow API
机器学习实战:TensorFlow在图像识别中的应用探索
【10月更文挑战第28天】随着深度学习技术的发展,图像识别取得了显著进步。TensorFlow作为Google开源的机器学习框架,凭借其强大的功能和灵活的API,在图像识别任务中广泛应用。本文通过实战案例,探讨TensorFlow在图像识别中的优势与挑战,展示如何使用TensorFlow构建和训练卷积神经网络(CNN),并评估模型的性能。尽管面临学习曲线和资源消耗等挑战,TensorFlow仍展现出广阔的应用前景。
57 5
|
1月前
|
机器学习/深度学习 数据采集 Python
从零到一:手把手教你完成机器学习项目,从数据预处理到模型部署全攻略
【10月更文挑战第25天】本文通过一个预测房价的案例,详细介绍了从数据预处理到模型部署的完整机器学习项目流程。涵盖数据清洗、特征选择与工程、模型训练与调优、以及使用Flask进行模型部署的步骤,帮助读者掌握机器学习的最佳实践。
85 1

热门文章

最新文章

相关产品

  • 人工智能平台 PAI