前置知识: AI工程

影子流量、金丝雀发布与LLM渐进式部署

5 minIntermediate

理解LLM部署的三阶段策略:影子→金丝雀→A/B测试

影子流量、金丝雀发布与LLM渐进式部署

LLM发布结合了软件部署最难的部分:无单元测试、扩散的失败模式、延迟信号。序列是(1)影子模式——复制生产请求到候选模型,记录,比较,零用户影响;捕获明显分布问题但不是质量保证;(2)金丝雀发布——渐进流量转移10% → 25% → 50% → 75% → 100%带每步门控;追踪延迟百分位、成本/请求、错误/拒绝率、输出长度分布、用户反馈率;(3)A/B测试用于稳定后确认的明确替代方案。非确定性是不可约的——相同输入跨运行高达15%准确率变化由于GPU FP非结合性加批次大小方差。成本是变量,非恒定——20%更好的模型可能每次调用3x更贵。回滚速度是决定性的:如果回滚需要重新部署,你太慢了。策略活在配置/标志中;模型活在带固定摘要的注册表中;回滚 = 翻转策略 + 恢复阈值 + 秒级固定旧模型。

类型: 学习 语言: Python (stdlib, toy金丝雀进展模拟器) 前置知识: Phase 17 · 13 (可观测性), Phase 17 · 21 (A/B测试) 时间: ~60分钟

学习目标

  • 画出三阶段部署序列:影子→金丝雀→A/B测试。
  • 解释为什么非确定性是不可约的(15%准确率变化)以及如何门控。
  • 描述金丝雀每步门控指标:延迟百分位、成本/请求、错误率、输出长度、用户反馈。
  • 设计回滚策略:配置/标志 + 模型注册表 + 秒级回滚。

问题

LLM部署不像软件部署。你不能写单元测试验证输出质量。失败模式是扩散的——更长的输出、不同的语气、微妙的推理错误。信号是延迟的——用户反馈数小时或数天后到达。你需要渐进式部署带每步门控。

概念

三阶段序列

  1. 影子模式:复制生产请求到候选模型。记录和比较。零用户影响。捕获分布问题(输出长度、拒绝率)但不是质量保证。

  2. 金丝雀发布:渐进流量转移10% → 25% → 50% → 75% → 100%。每步门控检查:延迟百分位、成本/请求、错误/拒绝率、输出长度分布、用户反馈率。

  3. A/B测试:稳定后确认的明确替代方案。统计显著性测试。

非确定性

相同输入跨运行高达15%准确率变化。原因:GPU浮点非结合性 + 批次大小方差。门控:运行多次取众数,或在金丝雀期间使用更宽的容忍带。

回滚策略

  • 策略活在配置/标志中(非代码)。
  • 模型活在带固定摘要的注册表中。
  • 回滚 = 翻转策略 + 恢复阈值 + 秒级固定旧模型。
  • 如果回滚需要重新部署,你太慢了。

实践

code/main.py模拟金丝雀进展带每步门控检查。

输出

本课程产生outputs/skill-llm-deployment-playbook.md。给定模型变更,设计三阶段部署计划。

练习

  1. 设计金丝雀发布:从Claude 3.5升级到3.7。每步门控指标?
  2. 为什么影子模式不是质量保证?它捕获什么,遗漏什么?
  3. 15%非确定性如何影响金丝雀门控?设计容忍带。
  4. 设计回滚策略:配置格式、模型注册表、回滚流程。
  5. 成本是变量:20%更好的模型3x更贵。如何在金丝雀期间追踪成本?

关键术语

术语常见说法实际含义
影子模式”双写比较”复制请求到候选模型,零用户影响
金丝雀发布”渐进流量转移”10%→25%→50%→75%→100%带门控
门控”每步检查”每步检查指标是否在阈值内
非确定性”15%方差”相同输入不同运行间的输出变化
回滚”秒级恢复”翻转配置恢复旧模型

延伸阅读