滚动新闻 →
加拿大最高法院如何解释宪法 法国暴乱 民众遭殃 法总理宣布“宵禁” 以色列下周大选 川普:支持内塔尼亚胡竞选连任 美日利剑军演规模历来最大 美罗斯福号航母参演 卢比奥:美国从未停止向乌分享情报 经济学家:中共狂关小银行 大银行估值近破产 10月19日维权动态 中财大发文:大学生网路翻墙使用即违法 卢比奥与乌兹别克外长会谈 加强贸易与安全合作 传湖北外卖员骑在车上猝死 还保持着坐姿 洗白武汉封城的电影将上映 网斥:全民噩梦 中国多地推社银贷 逼底层举债供养权贵? 日本探测器发射在即 挑战带回“火卫一”样本 波卡洪塔斯真实的人生经历 推拉窗为什么越来越难开 奥斯卡小金人与神有关?2700前的铜像告诉你 法国周末骚乱背后是哪些人? AI 系统为什么需要 MLOps,它与传统 DevOps 到底有哪些不同 Cloud SQL 数据库连接数过高怎么办,从应用连接池到实例配置逐项检查 汶川地震余震?绵阳发生5.0级地震 多地震感明显 马斯克宣布给全美儿童每人一股股票 普京提议美中俄峰会 泽连斯基被晾一边? 美国向中东12国发警报 以军进入高度戒备 超强台风蔷琵略过关岛 恐直扑台湾 PHP 定时任务处理大量 SaaS 数据时,应该怎样分批执行 笔记本电脑电池掉电速度突然加快,如何判断是电池老化还是硬件故障 亚股跳水!何时止跌?关键看利率 下季财报是重点! 1000步的缤纷台湾:坪林一日游 太好玩了! 美军前狙击手:曾在51区秘密作战 击毙外星人 Windows 11 文件属性怎么看?大小、位置、创建日期等信息全面了解 MySQL 表应该怎么设计?从一个简单新闻网站建立数据库结构 李清照前后期作品为什么变化如此明显 薏米在传统饮食文化中的地位 金鸡奖提名无辛芷蕾惹议 观众:不能办别办了! 中国第3季GDP4.5% 依赖出口加剧失衡 书法为什么不仅仅是把字写漂亮 让孩子理解集体利益不是个人利益的牺牲品 【概览】“国手山脉杯”国际围棋赛(个人赛) 全红婵现身上海参加活动 重返训练未来仍不确定 视频格式和视频编码有什么区别 唐朝为什么在安史之乱后逐渐衰落

AI 系统为什么需要 MLOps,它与传统 DevOps 到底有哪些不同

发布时间: 2026-10-19 10:00:02    最后更新: 2026-10-19 12:11:34    阅读:13  约11 分钟阅读     

AI 系统为什么需要 MLOps,它与传统 DevOps 到底有哪些不同
图片说明:示意图   图片来源:Public Domain(公有领域)
AI 系统进入生产环境以后,真正困难的部分往往不再是“把模型训练出来”,而是怎样让这个模型长期稳定、可追踪、可回滚,并且能够随着数据和业务变化持续更新。传统软件可以在代码通过测试之后打包、部署、监控,发现 Bug 再修改代码;机器学习系统却多了一层非常特殊的变量:模型的行为不仅由代码决定,还受到训练数据、特征工程、标签质量、超参数、模型版本以及线上数据分布影响。也正因为如此,传统 DevOps 的工程方法进入机器学习领域之后,需要进一步扩展为 MLOps。

DevOps,也就是 Development and Operations,核心思想是把软件开发、测试、部署和运维连接起来,通过版本控制、持续集成、持续交付、自动化测试和基础设施自动化,让软件能够更快、更稳定地进入生产环境。传统 Web 服务通常可以把代码视为系统行为的主要来源。只要代码版本、依赖环境和配置能够被准确记录,同一个版本的软件通常就可以重新构建和部署。

机器学习系统却不是这样。

假设一个推荐模型今天使用 model-v17,明天使用 model-v18。如果只保存两个模型文件,很多关键问题仍然无法回答:这个模型到底使用了哪一批训练数据?数据当时经过什么清洗?特征工程代码是哪一个版本?使用了什么 Python、CUDA 和深度学习框架?训练使用了哪些超参数?训练过程中使用了什么硬件?最终验证集指标是多少?

因此,MLOps 首先需要解决的是“可复现性”。

在传统软件开发中,Git 通常可以记录主要代码变化。但机器学习项目除了代码之外,还存在规模可能达到数GB、数TB甚至PB级别的数据集。数据本身不适合简单地全部放进 Git,因此实际系统往往需要数据版本管理、对象存储、数据目录以及模型注册机制共同工作。DVC 等工具可以参与数据和模型文件版本管理,但它只是整个体系中的一个组件,并不是 MLOps 的必选标准。

更重要的是,数据版本和代码版本必须能够建立关联。

例如一个模型上线后出现性能下降,工程团队需要知道它究竟是模型结构发生变化,还是训练数据发生变化。如果只记录“模型从 v17 更新到了 v18”,却没有保存训练数据版本和特征处理代码,那么出现问题以后很容易陷入一种非常尴尬的状态:模型文件还在,但当时究竟怎样训练出来的已经无法完整复现。

这也是机器学习系统与普通软件最大的工程区别之一。软件的输入主要由运行时请求决定,而机器学习模型已经把历史数据中的统计规律“写入”模型参数。训练数据发生变化,就可能改变模型行为。

因此,MLOps 的 CI/CD 也不应该只是“代码提交后自动部署”。

更准确地说,机器学习领域经常使用 CI、CT、CD 三个概念。CI 是 Continuous Integration,持续集成;CD 可以表示 Continuous Delivery 或 Continuous Deployment;CT 则经常被用于表示 Continuous Training,也就是持续训练。

持续训练并不意味着“每天自动训练一次模型”。真正成熟的系统应该根据业务条件决定什么时候重新训练。例如训练数据规模达到某个程度、数据分布发生明显变化、模型线上指标持续下降,或者业务规则发生变化时,才可能触发重新训练。

这里就出现了传统 DevOps 不太需要面对的一类问题:数据漂移。

假设一个金融风控模型最初使用过去两年的交易数据训练。上线之后,用户行为、经济环境或者欺诈模式发生变化,线上数据的分布逐渐偏离训练数据。即使程序代码一行都没有修改,模型的预测质量也可能下降。

从传统 DevOps 的角度来看,这个服务可能完全正常:服务器在线、CPU正常、内存正常、HTTP返回200、容器没有崩溃。

但从 MLOps 的角度来看,系统可能已经出现严重问题。

所以 MLOps 的监控不能只监控 CPU、内存、磁盘、网络、HTTP 5xx 和请求延迟,还需要观察机器学习模型自身的指标。例如分类模型可能关注 Precision、Recall、F1、ROC-AUC;回归模型可能关注 MAE、RMSE 等;推荐系统可能关注 CTR、转化率或者其他业务指标。

不过,这里又比单纯监控模型准确率复杂,因为线上系统通常并不知道每一条预测结果的真实标签。

例如信用风险模型今天预测了100万笔交易,但真实结果可能需要几周甚至几个月以后才能知道。如果等到所有标签都回来以后才发现模型已经退化,监控系统就已经晚了一步。

因此生产环境还需要监控输入数据本身,包括特征分布、缺失率、异常值比例、类别变化以及训练数据和线上数据之间的分布差异。常见概念包括 Data Drift 和 Concept Drift,但二者并不是完全相同的问题。前者主要关注输入数据分布发生变化,后者则涉及输入与目标变量之间关系的变化。

模型服务的资源管理也是 MLOps 与传统 DevOps 差异明显的地方。

一个普通 Web API 可能主要消耗 CPU 和内存,而大型机器学习模型可能需要 GPU。不同模型的显存需求、批处理能力、推理延迟和吞吐量差异非常大。一个模型可能适合单请求实时推理,另一个模型则可能更适合批量推理。

因此,部署模型不能只考虑“容器是否启动成功”。

还需要考虑模型加载时间、显存占用、GPU利用率、请求队列长度、批处理大小、并发请求数以及 P50、P95、P99 延迟。特别是 GPU 服务,如果模型占用大量显存,但实际 GPU 利用率很低,单纯增加 GPU 数量可能只是增加成本,并没有提高吞吐量。

Kubernetes 可以提供容器编排和自动扩缩容能力,但 Kubernetes 本身并不等于 MLOps。它可以帮助部署模型服务,却不能自动解决训练数据版本、模型质量、数据漂移和模型回滚等问题。

同样,MLflow 也不能单独等同于完整的 MLOps 平台。MLflow 可以承担实验跟踪、模型注册等重要工作,但实际生产系统还需要数据存储、训练平台、CI/CD、容器环境、模型服务、监控系统和权限管理等多个组件。

因此,一个典型的 MLOps 流程可能是:

数据进入数据平台
↓
数据质量检查
↓
特征处理
↓
训练任务
↓
实验记录与指标比较
↓
模型验证
↓
模型注册
↓
部署到测试环境
↓
自动化验证
↓
生产部署
↓
线上推理
↓
模型、数据和业务指标监控
↓
满足条件后重新训练

其中任何一个环节都可能成为生产事故的来源。

例如模型训练完成之后,离线验证集的 F1 提升了5%,看起来非常漂亮,但上线之后业务转化率却下降。原因可能并不是模型算法本身,而是训练数据与线上数据存在分布差异,或者特征工程在训练环境和生产环境中的实现并不完全一致。

这就是所谓的 Training-Serving Skew,也就是训练和线上推理之间的数据处理不一致。

如果训练阶段把某个字段进行了标准化,而生产推理阶段使用了另一套标准化逻辑,那么模型即使完全没有改变,线上结果也可能出现明显变化。对于复杂 AI 系统,这种问题甚至比传统软件中的普通 Bug 更难发现,因为程序本身可能完全正常运行。

因此,MLOps 需要特别强调数据和特征处理的一致性。

在团队协作方面,传统 DevOps 通常围绕开发人员、测试人员和运维人员展开,而 MLOps 往往需要数据科学家、机器学习工程师、数据工程师、平台工程师和运维团队共同参与。不同角色关心的问题并不一样。

数据科学家关心模型指标和实验结果;数据工程师关心数据质量和数据流水线;机器学习工程师关心训练、模型服务和推理性能;平台工程师关心 GPU、容器、集群和资源调度;业务团队则更关心模型最终是否改善收入、风险控制、推荐点击率或者其他业务指标。

MLOps 的价值就在于把这些不同层面的工作连接起来。

不过,MLOps 并不是要取代 DevOps。更准确地说,它是在 DevOps 工程体系之上增加机器学习系统所需要的数据、模型和实验管理能力。

可以把两者的核心对象简单理解为:

传统 DevOps
代码
配置
构建
测试
部署
基础设施
服务监控

MLOps
代码
数据
特征
训练环境
实验
模型
模型服务
数据监控
模型监控
业务指标

这也是为什么一个成熟的 AI 系统通常不能仅仅依靠“训练一个模型 + 部署一个 API”来完成。

真正进入生产环境之后,模型会面对新的数据、新的用户、新的业务规则和新的硬件环境。昨天效果不错的模型,今天可能仍然能够正常运行,但并不代表它今天仍然适合业务。

所以,MLOps 真正解决的不是“如何把 AI 模型部署出去”,而是如何让模型从实验室走向生产环境以后,仍然能够被追踪、验证、监控、更新和回滚。

对于小规模项目,完整建立一套复杂的 MLOps 平台可能反而增加维护成本。一个模型、几个工程师、每天几千次推理的内部工具,没有必要一开始就部署一整套庞大的机器学习平台。Git、对象存储、容器、基础监控和简单的模型版本记录可能已经足够。

但当模型数量增加、训练数据持续变化、GPU成本开始明显上升,或者模型直接影响订单、广告、风控、推荐等核心业务时,MLOps 的价值就会迅速提高。因为到了这个阶段,真正昂贵的已经不只是计算资源,而是一个模型出现问题以后,团队能不能准确知道发生了什么、能不能恢复到上一版本,以及能不能证明当前生产模型究竟是用什么数据和代码训练出来的。

最终可以把 MLOps 理解为机器学习系统的工程化生命周期管理。DevOps 解决的是软件怎样稳定地构建、测试、发布和运行,而 MLOps 在此基础上继续回答数据怎样管理、模型怎样复现、训练怎样自动化、线上性能怎样监控以及什么时候应该重新训练。机器学习最大的特殊性,是代码不变并不代表系统行为不变;只要数据、环境和现实世界发生变化,模型就可能发生变化。因此,真正成熟的 AI 系统,必须把代码、数据、模型和生产指标放在同一条可追踪的工程链路中。

喜欢这篇报道?

使用下面的功能,方便以后继续阅读和分享 MNewsTV

设为 Google 新闻首选来源 让 Google 新闻优先显示 MNewsTV 的最新报道 ›
★ 我的收藏 查看已经收藏的文章
关于文章收藏 收藏不需要注册帐号,收藏信息仅保存在当前浏览器中。 删除收藏请进入「我的收藏」进行管理。
分享这篇报道

捐助(Paypal): https://www.paypal.me/observeccp
订阅中国观察电报 Telegram : https://t.me/s/ObserveCCP