Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >一站式机器学习开业平台 MLflow 怎么样?

一站式机器学习开业平台 MLflow 怎么样?

作者头像
程序员荒生
发布于 2022-04-02 09:05:33
发布于 2022-04-02 09:05:33
2.4K00
代码可运行
举报
运行总次数:0
代码可运行

机器学习工作流程

机器学习(ML)通常需要使用广泛的数据集、数据预处理步骤和算法逻辑进行实验,以构建最优指标的模型。模型构建成功后,还需要将其部署到生产系统,监控其效果和性能,并根据新数据不断对其进行重新训练和迭代模型工作,如下:1

早期,各种算法烟花齐放,多种框架各自为政,因此,如何保障 ML 流程的生产可靠性和共通性成了一个棘手问题,具体如下:

追踪实验困难:如果只是在笔记本电脑或 Jupyter Book 上处理文件,你如何汇总数据、代码、参数和对应的结果呢? 复现代码困难:有时候我们对代码版本和参数进行细致的保存,由于环境的不一致或某个第三方依赖包版本的不一致,换平台复现代码,通常也比较困难。 缺少统一的打包、部署模型标准:多团队协作或多深度框架协作时,都有各自的一套模型管理方式,导致不通用。 缺少模型管理Hub:缺乏统一的模型管理服务,各自维护自己的算法,重复造轮子常态化。

MLflow 解决了什么问题?

MLflow是一个用于管理 ML 生命周期的开源平台,旨在简化机器学习的开发流程,提供实验追踪、将代码打包成可重现的运行模块以及共享和部署模型功能。支持多种工具和内嵌算法,使算法开发者能更加专注于算法本身的工作。

项目架构

MLflow提供了一组轻量级 API,可用于任何现有的机器学习应用程序或库,如:TensorFlow、PyTorch、XGBoost 等。 MLflow还支持在任何环境中运行 ML 代码,如:本地笔记本电脑、独立应用程序或者云环境中 MLflow目前提供四个组件,具体如下:

MLflow Tracking

用于记录机器学习实验中的参数、代码、数据和结果,并提供交互式 UI 和 API 支持实验对比和查看。

MLflow Projects

可在任何平台上重复运行的打包格式,基于 Conda 和 Docker 构建,因此你可以很方便的与他人共享你的 ML 代码,并且可在任何平台上重复运行它们。

MLflow Models

将模型发送到各种部署工具的通用格式,支持让你轻松的将相同模型(如:来自其他任务 ML 库)部署到 Docker、Apache Spark Azure ML 和 AWS SageMaker 等平台的批处理或实时处理任务。

MLflow Registry

一个集中的模型存储库,提供了简单的 API 和UI,支持在公共存储库中存储、注释、发现和管理模型,主要用于协作管理 MLflow 模型的整个生命周期。

API 算法服务构建

  • Anaconda环境 搭建,可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本

mlflow安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install mlflow
OR
conda install mlflow

UI启动

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git clone https://github.com/mlflow/mlflow.git
cd mlflow/examples
mlflow ui

模型运行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 模型生成
python sklearn_logistic_regression/train.py

# 启动算法服务
mlflow models serve -m runs:/<Model_id>/model --port 1234
可能报错:mlflow.utils.process.ShellCommandException: Non-zero exitcode: 1
mlflow models serve -m runs:/<Model_id>/model --port 1234 --no-conda

# API 推理验证
curl -d '{"columns":["x"], "data":[[1], [-1]]}' -H 'Content-Type: application/json; format=pandas-split' -X POST localhost:1234/invocations

# 结果:[1, 0]

对于简单的输入->推理->结果场景,通过使用MLflow平台功能,我们只需要专注于train.py代码开发即可很方便的完成一个算法的训练和上线工作。

但生产场景多种多样,有时候并不仅仅是一个简单的算法API就可以满足,算法直接还可能存在层级关系、依赖关系、转换关系,我们接着往下。

流处理服务构建

API算法服务MLflow旨在输出一个完全独立的算法服务,而流处理服务中描述了如何将多个API算法服务链接在一起,每个运行都封装一个转化或者训练步骤,定义各个流程间的接口和允许缓存和重用中间结果,如下:

该流程包含四个步骤:

  • Load 流程:加载数据集
  • ETL 流程:ETL 预处理数据集
  • ML 流程:ML 预处理数据集
  • Train流程:模型训练

具体代码参见:[3]

总结一下

优点:相比谷歌的 TFX、Facebook FBLearner Flow等平台,MLflow的创建为了统一多种深度框架训练标准和流程管理标准,立意更高。支持多种模型存储方式和软件插件机制,便于第三方集成和定制接入。 缺点:当前 MLflow Pipeline 还过度依赖代码,缺少平台功能,对于快速接入生产,需要一定的学习成本。

参考文档

  • [0] https://github.com/mlflow/mlflow
  • [1] https://mlflow.org/docs/latest/index.html
  • [3] https://github.com/mlflow/mlflow/tree/master/examples/multistep_workflow
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 李三十一 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Databricks 开源 MLflow 平台,解决机器学习开发四大难点
雷锋网 AI 研习社按:机器学习开发有着远超传统软件开发的复杂性和挑战性,现在,Databricks 开源 MLflow 平台有望解决其中的四大痛点。
AI研习社
2018/07/26
1.7K0
Databricks 开源 MLflow 平台,解决机器学习开发四大难点
MLFlow︱机器学习工作流框架:介绍(一)
之前的很多研究其实跟工程化是比较脱节的,模型在小环境中工作得很好,并不意味着它在任何地方都可以工作得很好。 各类开源项目其实很大程度上满足了我这样的调包工程师的需求,那么工程化就非常有必要了。 之前《DataOps、MLOps 和 AIOps,你要的是哪个Ops?》文章提到:DataOps、MLOps 和 AIOps的一些异同:
悟乙己
2021/12/07
5K0
MLFlow︱机器学习工作流框架:介绍(一)
【机器学习】使用MLflow管理机器学习模型版本
在机器学习项目中工作通常需要大量的实验,例如尝试不同的模型、特征、不同的编码方法等。
黄博的机器学习圈子
2021/02/12
3.2K0
【机器学习】使用MLflow管理机器学习模型版本
MLFlow︱机器学习工作流框架:MLFlow docker 实践(二)
本来按照这个MLFlow教程(MLflow系列1:MLflow入门教程(Python)),找台机器跑起来没啥问题; 不过,看到项目的github有Dockerfile那必须上啊! 然后就被各类报错虐了一下午。。
悟乙己
2021/12/07
2.1K0
MLFlow︱机器学习工作流框架:MLFlow docker 实践(二)
使用托管MLflow解决常见的机器学习挑战
在 Amazon SageMaker 上使用开源 MLflow 简化了生成式 AI 和 ML 实验以及生命周期自动化,从而实现可扩展、高效的工作流程。
云云众生s
2024/12/18
2370
使用托管MLflow解决常见的机器学习挑战
明月机器学习系列025:机器学习建模实验的最佳实践
我们平时使用scikit-learn做机器学习建模,主要是实验环境是notebook(jupyter),有些问题就像牛皮癣一样,很难去除,例如:
明月AI
2021/10/28
1K0
明月机器学习系列025:机器学习建模实验的最佳实践
一站式机器学习平台建设实践
刚刚度过了一个特殊的春节,美美在这里给大家拜个晚年。相信大家作为各公司技术团队的骨干,应该也和我的同事们一样,正在紧张忙碌地用技术支撑着各方面的工作,同舟共济,抗击疫情吧。请大家注意做好个人和家庭防护,多加强运动,提高免疫力。让我们一起为武汉加油,愿疫情早日结束!
美团技术团队
2020/02/18
2.1K0
一站式机器学习平台建设实践
机器学习—— 机器学习运维(MLOps)
随着机器学习技术的日益成熟,如何高效地将模型部署到生产环境并持续维护,成为许多企业关注的核心问题。MLOps(机器学习运维) 应运而生,它结合了传统的DevOps理念和机器学习的独特需求,旨在通过自动化和协作提高模型的开发、部署和监控效率。
六点半就起.
2024/10/18
4140
机器学习—— 机器学习运维(MLOps)
开源项目汇总:机器学习前沿探索 | 开源专题 No.60
xFormers 是一个加速 Transformer 研究的工具包,主要功能如下:
小柒
2024/01/06
2820
开源项目汇总:机器学习前沿探索 | 开源专题 No.60
机器学习需要掌握的九种工具!
学术界在推进技术方面发挥了巨大作用,但学术界和工业界往往存在一种分割状态。我们经常会看到这种现象:无数很棒的辅助工具在学术界被忽视,但在工业界很受欢迎。对于很多研究者来说,学习一种新工具可能存在困难,不愿意花费过多的时间去尝试,在当前自己掌握的工具足以应对各种问题时尤其如此。
郭好奇同学
2022/02/25
1.6K0
机器学习需要掌握的九种工具!
还在用Github管理机器学习项目?你早该了解这些更专业的新工具!
机器学习,不过是和数据和软件打交道。那就应该是是运行代码、迭代算法的简单问题呀?一段时间后,我们就能拥有一个完美的训练有素的ML模型。
CDA数据分析师
2019/07/11
1.5K0
还在用Github管理机器学习项目?你早该了解这些更专业的新工具!
Spark团队新作MLFlow 解决了什么问题
中午的时候看到了Spark团队新作MLFlow,因为我本身也在做类似的解决方案MLSQL,自然要看看Meitai是怎么做的。所以第一时间把MLFlow相关文档 浏览了一遍,并且将MLFlow源码 clone下来大致也看了一遍。
用户2936994
2018/08/27
1.4K0
机器学习下的持续交付
机器学习在行业中的应用变得越来越流行,然而相对于传统软件开发,例如Web服务或者Mobile应用来说,这类程序的开发、部署和持续改进也变得更加的复杂。它们的功能改变通常由以下三个维度驱动:
ThoughtWorks
2020/03/13
5790
Azure - 机器学习:快速训练、部署模型
要深入 Azure 机器学习,首先确保你有一个工作区。如果你还未设置工作区,那么请按照指引,完成必要的资源配置来搭建你的工作区,并了解其基本操作。
TechLead
2023/11/03
4890
Azure - 机器学习:快速训练、部署模型
基于Machine Learning Studio的企业级MLOps架构设计指南
随着机器学习(ML)技术在企业中的广泛应用,如何高效管理从数据准备到模型部署的完整生命周期成为关键挑战。MLOps(机器学习运维)通过融合DevOps理念与机器学习特性,实现了模型开发与运维的协同优化。 Machine Learning Studio(以下简称Azure ML Studio)作为微软推出的云原生机器学习平台,提供了覆盖全生命周期的工具链,支持企业构建标准化、可扩展的MLOps架构。本文将从架构设计原则、核心组件、实施路径及最佳实践等方面,深入探讨基于Aure ML Studio的企业级MLOps解决方案。
Michel_Rolle
2024/12/26
2.1K0
20个必备的Python机器学习库,建议收藏!
来源丨网络 推荐阅读:终于来了,【第二期】 彭涛Python 爬虫特训营!! AutoML是指自动机器学习。它说明了如何在组织和教育水平上自动化机器学习的端到端过程。机器学习模型基本上包括以下步骤: 数据读取和合并,使其可供使用。 数据预处理是指数据清理和数据整理。 优化功能和模型选择过程的位置。 将其应用于应用程序以预测准确的值。 最初,所有这些步骤都是手动完成的。但是现在随着AutoML的出现,这些步骤可以实现自动化。AutoML当前分为三类: 用于自动参数调整的AutoML(相对基本的类型) 用于非深
sergiojune
2022/09/28
1K0
20个必备的Python机器学习库,建议收藏!
机器学习框架
机器学习是人工智能的一个分支,它使计算机系统能够从数据中学习并改进其性能,而无需进行明确的编程。通过机器学习,计算机可以识别模式、做出预测、并执行复杂的任务,如图像识别、自然语言处理、推荐系统等。随着数据量的爆炸性增长和计算能力的提高,机器学习已经成为推动技术创新的关键因素,广泛应用于金融、医疗、教育、交通等多个行业。
正在走向自律
2024/12/18
1840
机器学习框架
什么是MLOps?为什么要使用MLOps进行机器学习实践
随着数字化和计算能力的发展,机器学习(Machine Learning)技术在提高企业生产力方面所涌现的潜力越来越被大家所重视,然而很多机器学习的模型及应用在实际的生产环境并未达到预期,大量的ML项目被证明是失败的。从机器学习的发展历程来看,早期ML社区广泛关注的是ML模型的构建,确保模型能在预定义的测试数据集上取得较好的表现,但对于如何让模型从实验室走向用户的桌面,并未大家所关注。
人工智能日报
2023/06/22
1.6K0
AutoML:机器学习的下一波浪潮
AI 前线导读: 人工智能和机器学习仍然是一个进入门槛较高的领域,需要专业的知识和资源,很少有公司可以自己承担。—— 李飞飞自动机器学习(AutoML)是将机器学习应用于现实问题的端到端流程自动化的过程。AutoML 使真正意义上的机器学习成为可能,即使对于没有该领域专业知识的人也是如此。本文介绍了一些流行的 AutoML 框架,这些框架的趋势是自动化部分或整个机器学习的管道。更多优质内容请关注微信公众号“AI 前线”(ID:ai-front)
用户7886150
2020/12/27
1.3K0
云服务仿真:完全模拟 AWS 服务的本地体验 | 开源日报 No.45
LocalStack 是一个云服务仿真器,可以在您的笔记本电脑或 CI 环境中以单个容器运行。它提供了一个易于使用的测试/模拟框架,用于开发云应用程序。主要功能包括:
小柒
2023/10/08
4860
云服务仿真:完全模拟 AWS 服务的本地体验 | 开源日报 No.45
推荐阅读
相关推荐
Databricks 开源 MLflow 平台,解决机器学习开发四大难点
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验