首页 > 其他分享 >Machine Learning Operations

Machine Learning Operations

时间:2024-08-04 19:39:28浏览次数:6  
标签:Operations machine Learning models Machine learning MLOps model data

Machine Learning Operations

https://ml-ops.org/

With Machine Learning Model Operationalization Management (MLOps), we want to provide an end-to-end machine learning development process to design, build and manage reproducible, testable, and evolvable ML-powered software.

 

Getting started

Being an emerging field, MLOps is rapidly gaining momentum amongst Data Scientists, ML Engineers and AI enthusiasts. Following this trend, the Continuous Delivery Foundation SIG MLOps differentiates the ML models management from traditional software engineering and suggests the following MLOps capabilities:

  • MLOps aims to unify the release cycle for machine learning and software application release.
  • MLOps enables automated testing of machine learning artifacts (e.g. data validation, ML model testing, and ML model integration testing)
  • MLOps enables the application of agile principles to machine learning projects.
  • MLOps enables supporting machine learning models and datasets to build these models as first-class citizens within CI/CD systems.
  • MLOps reduces technical debt across machine learning models.
  • MLOps must be a language-, framework-, platform-, and infrastructure-agnostic practice.

MLOps: Machine Learning Life Cycle

https://www.ml4devs.com/articles/mlops-machine-learning-life-cycle/#formulate

Building machine learning products or ML-assisted product features involve two distinct disciplines:

  • Model Development: Data Scientists — highly skilled in statistics, linear algebra, and calculus — train, evaluate, and select the best-performing statistical or neural network model.

  • Model Deployment: Developers — highly skilled in software design and engineering — build a robust software system, deploy it on the cloud, and scale it to serve a huge number of concurrent model inference requests.

Of course, that is a gross over-simplification. It takes several other vital expertise in building useful and successful ML-assisted products:

  • Data Engineering: Build data pipelines to collect data from disparate sources, curate and transform it, and turn it into homogenous, clean data that can be safely used for training models.

  • Product Design: Understand business needs, identify impactful objectives and relevant business matrices; define product features or user stories for those objectives, recognize the underlying problems that ML is better suitable to solve; design user experience to not only utilize ML model prediction seamlessly with rest of the product features but also collect user (re)action as implicit evaluation of the model results, and use it to improve the models.

  • Security Analysis: Ensure that the software system, data, and model are secure, and no Personally Identifiable Information (PII) is revealed by combining model results and other publicly available information or data.

  • AI Ethics: Ensure adherence to all applicable laws, and add measures to protect against any kind of bias (e.g. limit the scope of the model, add human oversight, etc.)

 

 

Getting Started with MLOps

https://www.datacamp.com/blog/getting-started-with-mlops

MLOps vs DevOps—what is the difference?

In the previous section, we broke down why machine learning needs a specialized operations function. However, how does MLOps differ from DevOps in practice? 

DevOps is a contraction of Development (Dev) and Operations (Ops). It combines two essential functions of the IT department: application development and systems engineering.  DevOps tries to shorten development cycles—and accelerate the velocity of output for software engineering teams. It does so by introducing automation, updated processes, and working methods for development teams. More broadly, DevOps brings in two principles to the software development process:

  • Continuous Integration (CI)—the process of making frequent, small iterations to version control repositories. This alleviates dealing with deployment issues as code is deployed into production frequently.
  • Continuous Delivery (CD)—the process of automating the steps needed to deliver applications and software to production environments.

Given the unique nature of machine learning, here are some practical ways MLOps differs from DevOps: 

  • Continuous Integration is extended from testing and validating code, to also testing and validating models and data
  • Continuous Delivery is extended from automating steps to delivering applications into production to automatically delivering data pipelines that trigger a machine learning prediction
  • Continous Training is introduced—which is unique to machine learning—where models are automatically retrained for deployment
  • Continuous Monitoring is introduced—which monitors production data breaks in quality, model performance, and business metrics tied to the machine learning model

 

Reimagining data roles for MLOps

In smaller data science teams, one person can have more than one role and wear many hats. However, in bigger, more processed data teams, you can find a variety of roles and skills that own different elements of the MLOps workflow. These roles can be seen as follows:

  • Data Scientist: Often seen as the major player in any MLOps team, data scientists are experts who use the company’s data to generate value. Their role is to understand, structure, and interpret this data to bring and provide insights from this data in the form of predictive models. They create, test, and evaluate machine learning models. In some companies, also deploy and monitor the models' performance once it’s in production.
  • Data Engineer: Data Engineers are responsible for creating and maintaining the environment that allows almost every other function in the data team to operate. They are responsible for developing, building, maintaining, and testing architectures, such as databases and processing systems. In simple terms, they enable the flow of data from extraction, to transformation, to delivery.
  • Software Engineer: In an MLOps process, software engineers are in charge of integrating machine learning models into the company’s applications and systems. They also work on ensuring that machine learning models work effortlessly with any non-machine learning-based applications within the company.  
  • Machine Learning Engineer: The machine learning engineer is at the crossroads of data science and data engineering. The role of the machine learning engineer is to optimize and put into production the models developed by the data scientist within the infrastructure prepared by the data engineer.

 

Tools to consider for MLOps

  • Kubeflow: Kubeflow is a suite of tools for running Machine Learning workflows on Kubernetes clusters. The goal of Kubeflow is to enable the best open-source machine learning solutions to run on a Kubernetes cluster in a simple, portable, and scalable way. Originally Kubeflow was the open-source implementation of TensorFlow Extended (TFX), which is an end-to-end platform for deploying machine learning pipelines in production. Kubeflow thus allowed to simplify the execution of TensorFlow jobs on KubernetesMLFlow: MLflow is a tool for industrializing the end-to-end development process of Machine Learning projects. Its ambition is to simplify the development of Machine Learning projects in companies by facilitating models' monitoring, reproduction, management, and deployment.

  • Data Version Control (DVC): DVC (Data Version Control) is a Python package that makes managing your data science projects easier. This tool is an extension of Git for Machine Learning, as stated by its main contributor Dmitry Petrov in this presentation. DVC is both comparable and complementary to Git.

  • Pachyderm: Pachyderm is a version control tool for machine learning and data science like DVC. On top of that, it is based on Docker and Kubernetes, which helps it run and deploy Machine Learning projects on any cloud platform. In addition, pachyderm ensures that all data ingested into a machine learning model is versioned and traceable.

 

标签:Operations,machine,Learning,models,Machine,learning,MLOps,model,data
From: https://www.cnblogs.com/lightsong/p/18342121

相关文章

  • 【详细版】Spring Tips: Spring Statemachine
    SpringTips:SpringStatemachine大纲引言介绍SpringStateMachine及其重要性解释状态机的基本概念和用途SpringStateMachine概述状态机的定义和功能状态机的应用场景SpringStateMachine的DSL和特性创建和配置SpringStateMachine使用start.spring.io创建......
  • Deep Learning-Based Multiclass Instance Segmentation for Dental Lesion Detection
    Abstract为此,我们提出了一种用于根尖周疾病检测的轻量级Mask-RCNN模型。该模型分为两部分构建:轻量级的改进MobileNet-v2骨干网和基于区域的网络(RPN),用于小数据集的根尖周疾病定位。为了测量所提出模型的有效性,轻量级的Mask-RCNN在包含五种不同类型根尖周围病变图像的自定义......
  • [ABC325D] Printing Machine
    这题主要是题面不知道为什么会有两个版本。//[x,y]某种颜色编号i只能放在一个区间内。。//且i之间不能冲突。。。贴份代码。。这题大部分都写的很乱。。我看题解。`include<bits/stdc++.h>usingnamespacestd;defineintlonglongdefinell__int128_tdefinear......
  • 吴恩达深度学习deeplearning.ai学习笔记(一)3.9 3.10 3.11
    3.9神经网络的梯度下降法对于单隐层神经网络而言,主要参数就是,并且输入特征的维度可以记为,第一层有个隐藏单元,第二层有个输出单元,目前仅仅见过只有一个输出单元的情况;的维度是,的维度是,的维度是,的维度是,成本函数为:训练神经网络时,随机初始化参数很重要,而不是全令其为0;每个梯......
  • 吴恩达深度学习deeplearning.ai学习笔记(一)1.2 1.3 1.4
     1.2什么是神经网络? 表示输入特征1.3用神经网络进行监督学习输入一幅图,即Input(x)isaimage;输出一个指数如1~1000,即Output(y)isaobject(1,2,……,1000),来表明这张照片是否是1000个不同图像中的一个,可用于给照片打标签。只有选择好输入x和输出y,才能解决特定的问......
  • 吴恩达深度学习deeplearning.ai学习笔记(一)2.1 2.2 2.3 2.4
    2.1逻辑分类/二元分类 logisticregression经典问题:假如你有一张图片作为输入,你想输出能识别此图的标签,也就是:如果是猫,输出1;如果不是猫,输出0。这是老吴最喜欢的猫检测器;我们用y来表示输出的结果标签;一张图片在计算机中是如何表示的?计算机保存一张图片,要保存三个独立矩阵,分......
  • N-way K-shot Few shot learning
    首先需要明确的是少样本领域的数据划分和大规模监督学习方法的数据划分不一样。在大规模监督学习方法中,训练集和测试集是混合后按比例随机切分,训练集和测试集的数据分布一致。以分类问题为例,切分后训练集中的类别和测试集中的类别相同,区别是样本数量不同。但是,在少样本领域,训练......
  • 《DNK210使用指南 -CanMV版 V1.0》第十六章 machine模块实验
    第十六章machine模块实验1)实验平台:正点原子DNK210开发板2)章节摘自【正点原子】DNK210使用指南-CanMV版V1.03)购买链接:https://detail.tmall.com/item.htm?&id=7828013987504)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/k210/ATK-DNK210.html5)正点......
  • 数学四则运算批计算软件Four mathematical operations Batch Software Cmpt4 download
    数学四则运算批计算软件FourmathematicaloperationsBatchSoftwareCmpt4download该软件能批量计算输入数据的自定义的四则计算。算是一个小型的数学自动化计算的软件。本软件是共享软件,支持Windows64位系统,也可以在兼容WinXP的32位系统上运行。本软件注册费用是48人民币......
  • 强化学习Reinforcement Learning算法的样本效率提升策略
    强化学习ReinforcementLearning算法的样本效率提升策略1.背景介绍1.1问题的由来在强化学习领域,提升算法的样本效率是关键挑战之一。在许多现实世界的应用场景中,比如机器人自主导航、智能游戏、自动驾驶、医疗健康决策以及大规模服务系统优化,获取高价值的环境反馈往往......