AI模型部署流程:从训练到生产的完整生命周期
很多团队把「部署」理解成把模型推到服务器上,结果第一次线上事故才发现:没有回滚、没有监控、没人知道模型什么时候变差了。部署是一条完整的生命周期——验证、打包、分阶段发布、监控、维护退役,五段各有必须做的事。
💡 你将学到
很多团队把「部署」理解成把模型推到服务器上,结果第一次线上事故才发现:没有回滚、没有监控、没人知道模型什么时候变差了。部署是一条完整的生命周期——验证、打包、分阶段发布、监控、维护退役,五段各有必须做的事。
AI模型部署流程:从训练到生产的完整生命周期
很多团队把"部署"理解成把模型推到服务器上,结果第一次线上事故才发现:没有回滚、没有监控、没人知道模型什么时候变差了。部署是一条完整的生命周期——验证、打包、分阶段发布、监控、维护退役,五段各有必须做的事。
一、阶段一:验证,别只看一个总分
| 检查项 | 目的 | 常见坑 |
|---|---|---|
| 离线评测(留出集) | 判断有没有基本能力 | 留出集混入训练数据,分数虚高 |
| 新旧对比(冠军挑战者) | 确认真的比线上版本好 | 只比平均分,忽略子集退化 |
| 分组切片检查 | 找出被平均数掩盖的短板 | 长文本、低频语言、边界输入 |
| 成本与延迟评估 | 确认业务上跑得起 | 精度换来了三倍延迟 |
一条经验:对比新旧模型时,一定要看分位数和分组结果。平均分打平但 P95 延迟翻倍、长输入组准确率掉一截,这种模型上线就是事故。
二、阶段二:打包,让结果可复现
- 用标准格式导出:safetensors、ONNX、GGUF 等,按推理侧框架选择
- 锁定依赖版本(框架、驱动、量化库),别用浮动版本
- 镜像按摘要(digest)引用,而不是
latest标签 - 把模型文件哈希、提示词版本、参数配置一起写进发布记录
可复现的意义在于:出问题时你能确定"变的是模型本身还是环境"。没有这一层,回滚也只是重新碰运气。
三、阶段三:分阶段发布
- 先发预发环境,跑集成测试与冒烟用例
- 影子流量:真实请求同时发给新旧两版,只记录不返回新结果,用来对比输出分布
- 金丝雀:放小比例流量(常见 5% 起)跑一段观察期,看错误率、延迟、成本
- 全量:设置自动回滚条件,触发即回退,不需要等人拍板
四、回滚触发条件写清楚
| 指标 | 建议阈值方向 | 处置 |
|---|---|---|
| 错误率 | 明显高于基线 | 自动回滚 |
| P95/P99 延迟 | 超出基线一定比例 | 自动回滚 |
| 单请求成本 | 异常抬升 | 告警,人工确认 |
| 输出质量(抽样/自动评估) | 掉到阈值下 | 停止扩大流量 |
| 工具调用失败率 | 上升 | 回滚或降级到备用模型 |
具体数值要按自己的基线定,本文不给统一数字——没有基线的阈值都是摆设。关键是阈值和动作提前写进发布流程,故障当下不讨论。
五、阶段四:监控四个维度
- 性能:延迟分位数(P50/P95/P99)、吞吐、超时比例
- 质量:自动评估分数、用户反馈(点赞点踩、重问率)、拒答率
- 漂移:输入分布变化、检索命中变化、预测分布变化
- 成本:单请求 token 与费用、缓存命中率、按业务线分摊
其中拒答率和重问率最容易被忽略,它们往往比错误日志更早暴露问题。
六、阶段五:维护与退役
- 定期重训(按周期或按漂移告警触发)
- 版本退役留公告期,给调用方迁移时间
- 保留旧版本一段时间以便回滚,别急着删镜像
七、常见问题
Q:整个流程第一次要多久? A:第一次通常要一到两周,主要时间花在验证集和可复现打包上。之后接入 CI/CD,常规更新可以压缩到一天以内。
Q:小团队也要做影子流量吗? A:流量小的团队可以简化:先内部灰度(自己人用),再放小比例真实流量。但"先小后大"这一步不能省。
Q:怎么知道模型在线上变差了? A:靠前面说的漂移与质量指标,而不是等用户投诉。最省事的做法是固定一批"探针问题",每天定时跑一遍,分数掉了就告警。
Q:提示词改动要不要走同一套流程? A:要。提示词的改动对输出影响常常比换个模型版本更大,却常常被当成改配置随手发。
Q:模型多久重训一次? A:看数据变化速度。业务规则稳定、数据分布稳定的场景,季度级重训足够;分布变化快的场景要按漂移告警触发。
注:本文的流程与阈值方向是通用实践,具体数值需按自身基线确定;涉及工具能力时以官方文档为准。
相关文章
❓ 常见问题
How long is the whole process?
First time 1-2 weeks; with CI/CD, a routine update takes under a day.
What if the model is worse in production?
That is what shadow and canary phases exist for - you will see it before full rollout.
本站文章由编辑人工撰写,收录的工具均经过实测或公开资料核验。文中链接指向工具官网或 GitHub 仓库,仅作信息参考,不构成付费推广。