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

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 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,搭建一个在线教育视频课程分享网站。
相关文章
|
7天前
|
存储 机器学习/深度学习 Apache
如何将Apache Hudi应用于机器学习
如何将Apache Hudi应用于机器学习
26 0
|
7天前
|
机器学习/深度学习 数据采集 数据处理
构建高效机器学习模型的策略与实践
【2月更文挑战第14天】 在数据驱动的时代,机器学习已成为智能系统的核心。本文将探讨构建高效机器学习模型的关键技术要素,包括数据预处理、特征工程、模型选择和调参策略等。通过实例分析,我们将展示如何优化模型性能,减少过拟合风险,并提高泛化能力。文章旨在为开发者提供实用的技术指导,帮助他们在实际项目中实现机器学习模型的高效构建与应用。
|
7天前
|
机器学习/深度学习 数据采集 监控
构建高效机器学习模型的策略与实践
【2月更文挑战第23天】 在数据科学领域,构建一个高效的机器学习模型是至关重要的。本文旨在探讨并提出一系列策略和最佳实践,以指导读者如何从数据处理到模型部署的各个阶段优化其机器学习项目。我们将重点讨论特征工程、算法选择、超参数调整以及模型评估等关键环节,并通过案例分析展示如何应对常见的挑战和误区。文章的目的是为从业者提供实用的指南,帮助他们构建出既准确又高效的机器学习系统。
|
7天前
|
机器学习/深度学习 人工智能 分布式计算
机器学习PAI常见问题之配了exporter_type: "final",训练完却没有如何解决
PAI(平台为智能,Platform for Artificial Intelligence)是阿里云提供的一个全面的人工智能开发平台,旨在为开发者提供机器学习、深度学习等人工智能技术的模型训练、优化和部署服务。以下是PAI平台使用中的一些常见问题及其答案汇总,帮助用户解决在使用过程中遇到的问题。
|
7天前
|
机器学习/深度学习 SQL 人工智能
机器学习PAI常见问题之训练模型报错如何解决
PAI(平台为智能,Platform for Artificial Intelligence)是阿里云提供的一个全面的人工智能开发平台,旨在为开发者提供机器学习、深度学习等人工智能技术的模型训练、优化和部署服务。以下是PAI平台使用中的一些常见问题及其答案汇总,帮助用户解决在使用过程中遇到的问题。
|
7天前
|
机器学习/深度学习 前端开发 算法
利用机器学习优化Web前端性能的探索与实践
本文将介绍如何利用机器学习技术来优化Web前端性能,探讨机器学习在前端开发中的应用,以及通过实际案例展示机器学习算法对前端性能优化的效果。通过结合前端技术和机器学习,提升Web应用的用户体验和性能表现。
|
7天前
|
机器学习/深度学习 数据采集 人工智能
构建高效机器学习模型的策略与实践
【2月更文挑战第26天】 在当今数据驱动的时代,构建高效的机器学习模型已经成为了企业获取竞争优势的关键。本文将探讨一系列实用的策略和技术,旨在指导读者如何从数据准备到模型部署的全过程中优化其机器学习项目。我们将重点讨论特征工程的重要性、超参数调优的技巧、以及模型评估和验证的最佳实践。通过这些方法的应用,读者可以提升模型的性能,确保在现实世界的复杂问题中达到更高的准确率和泛化能力。
|
7天前
|
机器学习/深度学习 算法 数据处理
构建高效机器学习模型的策略与实践
【2月更文挑战第25天】本文旨在探讨如何通过一系列策略性步骤来构建一个高效的机器学习模型。我们将从数据处理的重要性讲起,接着讨论特征选择的艺术以及模型训练的技巧。文章将提供实用的建议,并通过案例分析展示如何在实践中应用这些策略,以期帮助数据科学家和开发者提高他们的模型性能。
|
7天前
|
机器学习/深度学习 算法 数据可视化
机器学习-生存分析:如何基于随机生存森林训练乳腺癌风险评估模型?
机器学习-生存分析:如何基于随机生存森林训练乳腺癌风险评估模型?
40 1
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
探索机器学习:从基础概念到应用实践
探索机器学习:从基础概念到应用实践
15 0

相关产品

  • 人工智能平台 PAI