0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

开发和部署ML模型介绍

jf_pJlTbmA9 来源:NVIDIA 作者:NVIDIA 2023-07-05 16:30 次阅读

本系列介绍 开发和部署 ( M L ) 模型 。本文概述了 ML 工作流,考虑到使用机器学习和数据科学来实现业务价值所涉及的各个阶段。在第 2 部分中,训练并保存 ML 模型 可以将其部署为 ML 系统的一部分。第 3 部分向您展示了 如何部署 ML 模型到 Google 云平台 ( GCP )。

当使用 machine learning 解决问题并提供业务价值时,您使用的技术、工具和模型会根据用例而变化。然而,当从一个想法转移到一个已部署的模型时,需要经过一组通用的工作流阶段。

之前,我讨论过 如何搭建机器学习微服务 和 如何使用 Streamlit 和 FastAPI 构建即时机器学习 Web 应用程序 。在这两个教程中, ML 模型仅在本地运行。这对于演示来说已经足够了,但如果您的模型必须在互联网上持续提供预测,则这是不切实际的。

机器学习工作流

ML 工作流包含以下主要组件:

勘探和数据处理

建模

部署

每个阶段都可以细分为更小的程序。

ml-workflow-udacity-625x337.png 图 1. 机器学习工作流
(Source: Become a Machine Learning Engineer Nanodegree (Udacity) )

图 1 显示了典型机器学习项目的端到端工作流的可视化表示。下面是有关每个组件的更多信息

勘探和加工

重要的工作是确保用于 ML 项目的数据集质量良好,因为这些数据是建模阶段可靠性能的基础。如果您向模型提供低质量的数据,则可能会产生较差或错误的结果。

这部分工作流程通常占用最多的时间。数据勘探和处理可进一步分为以下几个阶段:

Data retrieval : ML 项目需要高质量的数据,而这些数据并不总是可以立即访问的。您可能需要实施数据采集技术,例如刮取或手动数据采集。

数据清理和探索 :数据也很少能够立即处理。您必须对其进行清理,以在所需的用例中获得最佳性能。您还应该了解正在使用的数据集,因此需要进行探索。

数据准备或转换 :在最后阶段,对数据进行设计,以提取正在解决的现实世界问题的代表性特征。然后将数据转换为 ML 模型可以使用的格式。

建模

当大多数数据从业者想到机器学习时,他们的注意力都集中在建模组件上。建模阶段包括以下阶段:

模型开发和培训 :这一阶段是关于向机器学习模型提供数据,然后调整超参数,以便模型可以很好地推广到不可见的数据输入。

模型验证和评估 :必须评估机器学习模型的性能,以确定其行为是否符合预期。这涉及到确定一个数字度量,以评估模型对未知数据输入的性能。

模型部署

最后,部署阶段涉及使最终用户可以访问 ML 模型,监控模型在生产中的性能,并更新模型。

部署 ML 模型不仅仅是孤立的模型。数据从业者部署整个 ML 管道,这决定了如何编码和自动化端到端工作流。

如何实现这一点有几个选项。

不同的模型部署选项

生成 ML 应用程序是为了解决特定问题。因此,任何 ML 应用程序的真正价值通常只有在模型或算法在生产环境中被积极使用时才能实现。

将 ML 模型从离线研究环境转换到实时生产环境的过程称为 deployment 。

部署是 ML 工作流的一个关键组件。它使模型能够达到其预期目的。在项目规划阶段,必须考虑如何部署 ML 模型。在决定部署类型时要考虑的因素超出了本文的范围。然而,我提供了一些关于可用选项的见解。

Web 服务

部署机器学习模型最直接的选择是创建 web 服务。这意味着通过查询 web 服务来获得来自模型的预测。

使用 web 服务部署机器学习模型包括以下主要步骤:

Building the model: 必须创建 ML 模型,然后将其包装在 web 服务中。然而,模型构建通常需要与主 web 服务应用程序不同的一组资源。将模型培训和 web 服务应用程序环境分开是有意义的。

构建 web 应用程序: 训练模型后,必须将其持久化,以便将其导入 web 应用程序。 web 应用程序是使用开发 web 服务的框架(如 Flask 、 FastAPI 和 Django )包装的推理逻辑。

托管 web 服务: 为了让您的 web 服务全天候、自动化和可扩展,您必须托管应用程序。这可以通过使用托管提供商来完成。在本系列的第三部分中,您将使用 Google App Engine 。

有关前两个步骤的更多信息,请参见 Building a Machine Learning Microservice with FastAPI 。

无服务器计算

使用无服务器计算部署机器学习模型意味着您希望为模型预测提供服务,而不必担心如何管理底层基础设施,例如计算资源。

仍然有一个服务器。所发生的一切是,您将管理服务器的责任交给了云提供商。现在,您可以更加专注于编写性能更好的代码。

无服务器计算提供程序的示例包括:

Amazon Web Services (AWS) Lambda

Microsoft Azure

Google Cloud Functions

要使用 Google Cloud Functions 部署机器学习模型,请参阅本系列的第 3 部分“实践中的机器学习:在 Google Cloud Provider 上部署 ML 模型[LINK]”。

托管 AI

一个管理的人工智能云正是它在锡上所说的。您提供了一个串行化模型,云提供商以较少的控制为代价,为您完全管理基础架构。换句话说,您可以获得云计算的优化好处,而不必成为任何方面的专家。

托管 AI 云提供商的示例包括:

Amazon SageMaker

Google Cloud AI Platform

IBM Watson

Microsoft Azure Machine Learning

接下来是什么?

现在您已经了解了端到端 ML 工作流,并且已经看到了部署 ML 模型的可能方法,请继续第 2 部分 Machine Learning in Practice: Build an ML Model ,在这里您将根据一些数据训练模型。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • NVIDIA
    +关注

    关注

    14

    文章

    4595

    浏览量

    101724
  • AI
    AI
    +关注

    关注

    87

    文章

    26450

    浏览量

    264068
  • 机器学习
    +关注

    关注

    66

    文章

    8123

    浏览量

    130567
收藏 人收藏

    评论

    相关推荐

    介绍在STM32cubeIDE上部署AI模型的系列教程

    介绍在STM32cubeIDE上部署AI模型的系列教程,开发板型号STM32H747I-disco,值得一看。MCUAI原文链接:【嵌入式AI开发
    发表于 12-14 09:05

    eIQ软件对ML模型有何作用

    随着产品越来越复杂,具有了更强大的处理能力和更高的速度,使得机器学习(ML)技术逐渐扩展到边缘应用。借助eIQ软件,现在可以非常轻松地将新的ML模型引入边缘设备。机器学习...
    发表于 12-20 07:01

    如何在RK3308嵌入式开发板上使用ncnn部署mobilenetv2_ssdlite模型

    如何在RK3308嵌入式开发板上使用ncnn部署mobilenetv2_ssdlite模型呢?
    发表于 12-27 07:19

    介绍一种Arm ML嵌入式评估套件

    开发人员能够优化 ML 模型,以便在内存、功率限制和存储限制的设备上进行部署。有不同的优化技术,包括量化、修剪和聚类, 它们是 TensorFlow
    发表于 08-12 15:35

    在Arm虚拟硬件上部署PP-PicoDet模型

    1、在Arm虚拟硬件上部署PP-PicoDet模型  经典的深度学习工程是从确认任务目标开始的,我们首先来简单地介绍一下目标检测任务以及本期部署实战课程中我们所使用的工具和平台。  目
    发表于 09-16 14:42

    通过Cortex来非常方便的部署PyTorch模型

    到软件中。如何从“跨语言语言模型”转换为谷歌翻译?在这篇博客文章中,我们将了解在生产环境中使用 PyTorch 模型意味着什么,然后介绍一种允许部署任何 PyTorch
    发表于 11-01 15:25

    部署基于嵌入的机器学习模型

    1、如何在生产中部署基于嵌入的机器学习模型  由于最近大量的研究,机器学习模型的性能在过去几年里有了显著的提高。虽然这些改进的模型开辟了新的可能性,但是它们只有在可以
    发表于 11-02 15:09

    如何将ML模型部署到微控制器?

    大家好,的我正在尝试将 ML 模型部署到微控制器,我有两块 STM32L4R9I-Discovery 和 STM32H7B3I-Discovery 板。实验及相关结果如下所示:我使用 TFLite
    发表于 12-29 13:09

    如何使用TensorFlow将神经网络模型部署到移动或嵌入式设备上

    、iOS和Linux。每个框架和操作系统的部署过程是相似的,但每个框架和系统可能使用不同的工具。本演练专门介绍在Android、Linux和iOS上部署TensorFlow模型的准备工
    发表于 08-02 06:43

    使用Flask和Docker容器化一个简单的ML模型评分服务器

    我们将使用两种不同的方法演示 ML 模型部署:使用 Docker 和 Kubernetes 的第一原则方法;然后使用 Seldon Core Kubernetes 本机框架来简化 ML
    的头像 发表于 04-15 16:56 3239次阅读

    NVIDIA创建physics-ML模型

    NVIDIA创建physics-ML模型,该模型可以模拟全球天气模式的动态变化,由傅里叶神经算子提高动力支持。
    的头像 发表于 03-23 15:08 1114次阅读
    NVIDIA创建physics-<b class='flag-5'>ML</b><b class='flag-5'>模型</b>

    管理 ML 模型部署中的权衡

    情况的软件、固件、开发工具和硬件的正确组合。在 Samsara 的机器学习和计算机视觉 (ML/CV) 团队中,我们构建模型开发算法,帮助我们的客户提高其运营的安全性、效率和可持续性
    的头像 发表于 07-21 09:19 445次阅读

    如何部署ML模型到Google云平台

    实践中的机器学习:在 Google 云平台上部署 ML 模型
    的头像 发表于 07-05 16:30 423次阅读
    如何<b class='flag-5'>部署</b><b class='flag-5'>ML</b><b class='flag-5'>模型</b>到Google云平台

    机器学习构建ML模型实践

    实践中的机器学习:构建 ML 模型
    的头像 发表于 07-05 16:30 455次阅读

    使用爱芯派Pro开发部署人体姿态估计模型

    在经过之前对于开发板的使用,以及通过几个爱芯派官方给出的示例demo(mobilenet/yolov5)在开发板上的部署之后,笔者也逐渐了解了爱芯派这块开发板利用其官方的推理引擎和pi
    的头像 发表于 01-09 09:50 544次阅读
    使用爱芯派Pro<b class='flag-5'>开发</b>板<b class='flag-5'>部署</b>人体姿态估计<b class='flag-5'>模型</b>