微调模型回滚:部署策略
blue-green、canary 和 shadow 部署策略,让你在几秒内回滚出问题的微调模型,以及判断何时该回滚的决策框架。
你在周一部署了重新训练的模型。评估套件通过了。延迟看起来正常。团队很有信心。
到了周三,支持工单翻了一倍。客户反馈 AI "不再理解"他们的请求。一个之前运行完美的分类任务现在有 30% 的误分类率。有人问:我们多快能回滚?
如果答案是"让我找到旧模型文件,然后想办法重新加载它「,你有一个部署问题。如果答案是」30秒,我翻转一下配置",你有一个部署策略。
本文介绍三种部署策略,让回滚变得快速、安全且日常化。
为什么微调模型部署会失败
在讨论回滚之前,了解部署为何会出问题是有帮助的。微调模型在生产环境中失败有四个一致的原因:
对近期数据过拟合。你用上个月的数据重新训练。这些数据过度代表了某个模式。模型对该模式变得非常擅长,但对其他一切都变差了。你的评估套件没有发现,因为测试集有相同的分布偏差。
评估缺口。你的测试套件覆盖了 85% 的真实使用场景。另外 15% 包括边缘情况、罕见类别和新颖措辞,旧模型通过泛化能力来处理。新模型在微调过程中失去了这种泛化能力。评估说"通过"。生产环境却不这么认为。
分布漂移。你收集训练数据和部署之间,生产数据发生了变化 。新产品功能、新客户群体、季节性模式。模型是为上一季度的现实训练的。
基础模型不兼容。你更新了基础模型(比如从 Llama 3.1 到 Llama 3.2)并应用了现有的 LoRA 适配器。适配器是为旧基础模型训练的。权重不对齐。输出以微妙、难以检测的方式退化。
这些故障各有不同的修复方法。但它们都有相同的紧急需求:尽快恢复旧模型到生产环境。
策略 1:Blue-Green 部署
Blue-green 部署是最简单的策略,也是你应该首先实施的。
工作原理
你维护两个模型槽位:blue 和 green。在任何时候,一个是"活跃的「(服务生产流量),一个是」待命的"(已加载并就绪但未服务)。
当你部署新模型时:
- 将新模型加载到待命槽位
- 用 10-20 个代表性提示对待命槽位运行冒烟测试
- 将路由配置切换到新槽位