什么是模型部署?

作者

Rina Diane Caballar

Staff Writer

IBM Think

Cole Stryker

Staff Editor, AI Models

IBM Think

什么是模型部署?

模型部署就是将机器学习 (ML) 模型应用于生产环境中。将模型从开发阶段迁移到生产环境,使其可以供最终用户、软件开发人员以及其他软件应用和人工智能 (AI) 系统使用。

部署机器学习模型是 AI 生命周期中的一个关键阶段。数据科学家、AI 开发人员和 AI 研究人员通常在数据科学和机器学习项目的前几个阶段工作,包括数据收集与准备、模型开发、模型训练和模型评估。模型部署是将研究应用于现实世界的后续步骤。一旦部署,AI 模型就会真正接受考验,不仅仅是通过推理或在新数据上的实时性能,还包括它在解决其设计问题时的表现。

根据 Gartner 的一项调查,生成式 AI 是组织中部署最频繁的 AI 解决方案,但只有一半(约 48%)的 AI 项目投入生产。1只有部署了机器学习模型,其真正价值才能显现出来。用户可以与模型互动并从中获得洞察,而企业则可以利用模型的分析和预测进行决策,并通过自动化推动效率提升。

专家为您带来最新的 AI 趋势

获取有关最重要且最有趣的 AI 新闻的精选洞察分析。订阅我们的每周 Think 时事通讯。请参阅 IBM 隐私声明

谢谢!您已订阅。

您的订阅将以英语提供。您会在每份时事通讯中找到一个取消订阅链接。您可以在此处管理您的订阅或取消订阅。有关更多信息,请参阅我们的 IBM 隐私声明

模型部署方法

企业可以根据他们为新模型设想的应用程序和用例,在不同的部署方法之间进行选择。以下是一些常见的模型部署方法:

  • 实时
  • 批处理
  • 流式传输
  • 边缘

实时

实时部署意味着将一个预训练模型集成到生产环境中,能够立即处理数据输入和输出。这种方法支持持续更新在线 ML 模型,并随着新数据的进入快速生成预测结果。

即时预测可以带来更好的用户体验和更高的用户参与度。但实时部署还需要高性能计算基础设施,具备快速响应时间和缓存功能,以处理同步的低延迟请求。

实时部署可以用于 AI 应用,例如推荐引擎快速提供建议,或是聊天机器人为客户提供实时支持。

批处理

批量部署涉及离线处理数据输入。数据集被分组为批次,然后定期应用于机器学习算法。因此,批量部署不需要像实时部署那样强大的基础设施。

这种方法适用于可以异步处理的大量数据,例如金融交易、医疗记录或法律文件。批量部署的用例包括文档分析、预测、产品描述生成、图像分类以及情感分析

流式传输

流式部署将定期的数据流输送到机器学习系统,以进行连续计算和近乎实时的预测。它通常需要与实时部署相同的基础设施。

这种方法可以应用于欺诈检测物联网 (IoT) 应用,例如依赖传感器数据流的电厂监控和交通管理。

边缘

边缘部署是指在智能手机和可穿戴设备等边缘设备上部署 AI 模型。这种方法可用于边缘 AI 应用程序,包括健康监测、个性化移动体验、预测性维护和预测性路线。

AI 学院

成为 AI 专家

获取相关知识,以确定 AI 投资的优先级,从而推动业务增长。立即开始观看我们的免费 AI 学院视频,引领 AI 在组织中的未来应用。

模型部署和 MLOps

机器学习运营 (MLOps) 是一组实践,旨在创建一条装配线,用于在生产环境中部署、监控、管理和改进机器学习模型。MLOps 建立在 DevOps 的原则之上,该原则侧重于简化传统软件应用程序的开发、测试和部署,并将其应用于机器学习生命周期。

模型部署只是 MLOps 管道的一个组件。但是,模型部署过程中的某些步骤与 MLOps 中的步骤重叠。

模型部署的工作原理

模型部署可以根据组织的 IT 系统以及已有的 DevOps 或 MLOps 流程有所不同。但这一过程通常包括以下一系列步骤:

  1. 规划
  2. 设置
  3. 打包和部署
  4. 测试
  5. 监控
  6. 持续整合和持续部署 (CI/CD)

规划

在部署开始之前,公司必须为此做好准备。以下是企业如何在规划阶段做好技术准备的方法:

  • 确保 ML 模型处于生产就绪状态。
  • 创建模型注册表,以存储、跟踪和管理模型版本。
  • 选择一种部署方法。
  • 选择部署环境的类型,无论是本地部署、通过云计算服务,还是在边缘设备上部署。
  • 评估 CPUGPU、内存和存储等计算资源的可用性和充足性。

这个阶段还需要制定部署时间表,明确相关人员的角色与职责,并为模型部署流程建立清晰的指导方针和标准化的工作流

设置

与规划一样,设置也是一个多步骤阶段。在这一阶段通常会发生以下情况:

  • 任何必要的依赖项,例如框架和库,都已安装。
  • 配置生产环境设置以优化模型性能。
  • 已建立访问控制、身份验证加密等安全措施来保护数据和模型。
  • 当前的备份和灾难恢复策略被修改,以纳入机器学习模型及其相关的数据和基础设施。

记录所有设置程序和配置设置,对于今后排除故障和解决问题至关重要。

打包和部署

为了保持一致性,无论选择何种部署方法和环境,模型及其依赖项都被打包到一个容器中(一种称为容器化的技术)。然后,将打包的模型加载到生产环境中。

测试

彻底的测试对于验证部署的模型是否按预期工作,并能够处理边缘情况和错误实例至关重要。测试包括使用样本数据集验证模型的预测与预期输出的一致性,并确保模型性能与关键的评估指标和基准保持一致。

整合测试是测试套件的另一个必要组件。这些测试将检查模型是否与生产环境无缝地融合,并与其他系统顺畅交互。此外,还进行压力测试,以观察模型如何处理高工作量。

与设置阶段一样,记录所做的测试及其结果也很重要。这有助于在将模型交付或发布给用户之前,找出可以进行改进的地方。

监控

跟踪模型的性能,尤其是模型漂移,是模型监控的关键任务。通过持续监控获得的洞察反馈到迭代模型重训练中,在此过程中,模型会通过改进的算法或包含更多近期和相关样本的新训练数据进行更新,以优化其性能。

还必须使用监控工具记录错误率、延迟、资源利用率和吞吐量等关键指标。模型监控在部署后立即进行,但从长期来看通常属于 MLOps 的范围。

持续整合和持续部署 (CI/CD)

持续集成持续部署(统称为 CI/CD)的组合实践可以自动化并简化机器学习模型的部署和测试过程。实施 CI/CD 管道有助于确保可以轻松快速地应用模型更新和增强功能,从而提高部署效率并加快交付周期。

模型部署平台和工具

有大量的平台和工具可以帮助企业加快模型部署工作流。在采用这些技术之前,组织必须评估其与现有技术堆栈和 IT 生态系统的兼容性。

版本控制

版本控制系统和模型注册库记录模型版本及其相关的数据源和元数据。选项包括数据版本控制 (DVC)、Git、GitLab 以及权重和偏差。

包装

Docker 是一个广泛使用的开源容器化平台。它与云服务提供商如 Amazon Web Services (AWS)、Google Cloud、IBM Cloud 和Microsoft Azure 兼容。替代方案包括 Buildah 命令行界面 (CLI)、Podman 和 Rancher Desktop。

编排

Kubernetes 是一个知名的开源容器编排平台,用于调度和自动化部署容器化应用程序。Kubernetes 和 Docker 通常是配合使用的。类似的编排工具包括 Red Hat® OpenShift®、Amazon Elastic Container Service (ECS) 以及像 Azure Kubernetes Service (AKS) 和 IBM Cloud Kubernetes Service 这样的托管 Kubernetes 解决方案。

部署

有多个平台可用于部署模型。例如,BentoML 是一个基于 Python 的平台,用于将机器学习模型作为应用程序编程接口 (API) 端点提供,甚至可以将大语言模型 (LLM) 作为 API 端点提供。Kubeflow 可促进 Kubernetes 上的模型部署,而 TensorFlow Serving 是 TensorFlow 模型的开源服务系统。

与此同时,其他平台不仅可以协助部署,还可以管理机器学习工作流。其中包括 Amazon SageMaker、Azure Machine Learning、Google Vertex AI Platform、IBM® Watson Studio 和 MLFlow。

CI/CD

CI/CD 工具可自动执行模型部署和测试。常见的工具包括 Continuous Machine Learning (CML)、GitHub Actions、GitLab CI/CD 和 Jenkins。

模型部署的挑战

部署深度学习模型需要大量活动部件,这可能会使其变得复杂。以下是与模型部署相关的一些挑战:

  • 成本
  • 复杂性
  • 整合
  • 可扩展性

成本

模型部署可能非常昂贵,基础设施和维护成本占用了大部分预算。企业必须做好准备,投资建设强大的基础设施和资源,以实现高效部署。

复杂性

自动执行模型部署有助于降低复杂性,但团队仍必须了解机器学习的基础知识,并熟悉新技术的部署。弥合这一差距需要培训和技能提升。

集成

将 AI 模型集成到当前的 IT 系统中可能是一项挑战。进行详细评估可以帮助企业确定是否需要任何 API、中间件或升级来实现模型与其他系统之间的无缝连接和通信。

可扩展性

根据需求扩展模型而不降低性能可能是一个挑战。实施自动扩展负载均衡机制有助于支持多个请求和不同的工作量。

相关解决方案
IBM watsonx.ai

使用面向 AI 构建器的新一代企业级开发平台 IBM watsonx.ai,可以训练、验证、调整和部署生成式 AI、基础模型和机器学习功能。使用一小部分数据,即可在很短的时间内构建 AI 应用程序。

了解 watsonx.ai
人工智能 (AI) 解决方案

借助 IBM 业界领先的人工智能专业知识和解决方案组合,让人工智能在您的业务中发挥作用。

深入了解 AI 解决方案
AI 咨询与服务

通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策和商业价值。

深入了解人工智能服务
采取后续步骤

一站式访问跨越 AI 开发生命周期的功能。利用用户友好型界面、工作流并访问行业标准 API 和 SDK,生成功能强大的 AI 解决方案。

深入了解 watsonx.ai 预约实时演示