十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

ai-engineering-from-scratch 如何用影子流量与金丝雀发布安全上线新的 LLM 模型?

ai-engineering-from-scratch 如何用影子流量与金丝雀发布安全上线新的 LLM 模型? ai-engineering-from-scratch 如何用影子流量与金丝雀发布安全上线新的 LLM 模型【免费下载链接】ai-engineering-from-scratchLearn it. Build it. Ship it for others.项目地址: https://gitcode.com/GitHub_Trending/ai/ai-engineering-from-scratch你手里有一个通过了离线评测的候选 LLM 模型想切到生产流量上但担心成本飙升、输出长度回归、拒绝率变化这些问题在真实流量上才暴露而回滚又要重新部署、耗时数小时。ai-engineering-from-scratch 课程 Phase 17Infrastructure and Production第 20 课 Shadow Traffic, Canary Rollout, and Progressive Deployment for LLMs 给出了这条上线路径先 shadow影子模式零用户影响地复制生产请求给候选模型并记录对比再 canary按 1% → 10% → 25% → 50% → 75% → 100% 逐级放量每级过 5 道 gate任何 gate 触发就按秒级回滚。适用前提你的生产环境已经能采到 5 项 gate 所需的基线指标且回滚不需要重新部署。课程声明的前置内容为 Phase 17 · 13LLM Observability和 Phase 17 · 21A/B Testing文档见 docs/en.md。准备条件先把 5 项基线指标找齐金丝雀的每一级都靠 5 项 gate 指标决定是否继续放量这些指标必须先有生产基线值baseline。runbook 把它列为硬性前提如果团队给不出 5 项 gate 指标的基线这次 rollout 直接拒绝执行。Gate 指标文档中的 breach越线定义模拟器中的倍率阈值Latency percentilesP50/P95/P99canary P99 超过 baseline 的 1.5 倍1.5Cost per request混合单价高于 baseline 20%1.2Error / refusal rate5xx 显式拒绝超过 baseline 的 2 倍2.0Output length distribution均值 P99分布发生漂移1.4P99User-feedback ratethumbs-down / 工单超过 baseline 的 1.5 倍1.5注意区分课程模拟器 code/main.py 里的BASELINE如latency_p99_ms: 900、cost_per_req: 0.02只是模拟演示用的假数值你的实际基线必须来自自己的生产环境。第一步影子模式零用户影响地对照Shadow 阶段把生产请求复制一份发给候选模型输出只记录、不返回给用户用户零感知。文档要求记录四类数据输出内容与生产输出做 diffToken 数量用来算成本差延迟拒绝与错误。Shadow 能抓到成本爆炸、输出长度回归、明显的拒绝行为变化、硬错误。它抓不到用户能感知到的质量差异。文档明确定性 shadow 是 smoke test不是 quality test。影子阶段的告警规则来自 outputs/skill-rollout-runbook.md成本漂移超过 20%、输出长度漂移超过 30%、任何 schema 违规任一命中即告警。建议时长 24–72 小时目的是让候选模型暴露出离线评测抓不到的分布问题。第二步金丝雀按 1% → 10% → 25% → 50% → 75% → 100% 逐级放量Shadow 通过后进入金丝雀每升一级都要用上面 5 道 gate 检查任一越线就停止放量并回滚而不是继续观察。文档给出的操作细节检查节奏每 5–15 分钟查一次 gate取决于流量大小。样本量决定停留时间1% 流量下若 10 req/min每个检查窗口约 50–150 个数据点——够看延迟但对用户反馈类指标噪声很大升到 10% 后样本量约增大 10 倍。所以每一级要暂停足够长时间积累够样本再决定升降级runbook 给出每级 30 分钟到 24 小时的范围按流量定。gate 阈值要设在噪声地板之上LLM 输出不可复现相同输入的运行间准确率波动最高可达 15%GPU 浮点非结合律、batch size 差异、采样随机性共同造成。因此“稳定”的定义是指标落在预期波动范围内而不是与基线完全一致runbook 同时把“gate 设得比 15% 方差还紧”列为硬性拒绝项因为假告警会拦住正常的 rollout。回滚按秒计算策略开关 模型 pin金丝雀能不能敢放量取决于回滚速度。文档的要求如果回滚需要重新部署那说明你的栈太快不够先修栈再上线。回滚的两个组件Policy flagfeature flag 系统流量百分比写在配置里翻转开关即生效秒级。Model pinningregistry digest模型按 registry 摘要 pin 住pin 住的模型不会自动升级。回滚就是三步翻转 flag → 把 pin 的 digest 恢复到上一版本 → 验证。runbook 给的目标时间是端到端 60 秒以内并要求在第一次真实上线前把回滚演练完整跑一遍。文档列出的可选工具Kubernetes 渐进式交付控制器 Argo Rollouts / Flagger可配合 Istio/Linkerd 加权路由、服务网格层流量切分的 Istio weighted routing、自带 canary 能力的模型服务 KServe / Seldon Core、策略级翻转的 feature flag 系统LaunchDarkly、Flagsmith、Unleash。按你现有栈选文档不指定唯一组合。验证跑金丝雀模拟器看哪个阶段被哪道 gate 拦住课程提供了纯 Python 标准库实现的金丝雀模拟器无第三方依赖。在仓库根目录下运行python3 phases/17-infrastructure-and-production/20-shadow-canary-progressive/code/main.py脚本内置 6 个场景干净晋升、10% 轻微成本回归、25% 成本回归、80% 延迟回归、60% thumbs-down 回归、质量隐性劣化 成本爬升。每个场景按 6 个阶段逐级输出 5 项指标状态为PASS或HALT (指标名)任一 gate 越线就打印→ ROLLBACK (policy flip, pinned model reverted)并终止全部通过则打印→ PROMOTED to 100%。可以据此核对两个行为Clean promotion 场景每一级的噪声被代码限制在 ±8% 内低于所有 gate 倍率最小的是成本 gate 的 1.2 倍因此会逐级 PASS 直到→ PROMOTED to 100%。课程练习 1 要求注入 25% 成本回归后观察哪一级被拦住。做法是取一份本地副本在main()里用现成的Regressiondataclass 注入例如rollout(Cost regression 25% (mine), Regression(cost_mult1.25))模拟器的随机数使用固定种子stage_seed(i) 11 i * 3同一场景每次运行输出可复现。想核对 gate 配置本身直接看文件里的STAGES与GATES两个常量即可它们与上表的阈值一致。如果你还想看 shadow 评估与flag promote/rollback策略引擎的实现仓库里有对应的 TypeScript 移植版 code/main.ts按其文件头说明该版本面向 Node 20 且无 npm 依赖除同一套金丝雀场景外还包含 shadow 模式评估和策略引擎演示。边界与限制Shadow 模式不是质量测试。它能在任何用户看到之前拦住成本尖刺和长度回归但用户可感知的质量差异要靠后面的金丝雀反馈指标或 A/B确认。低流量服务要延长每级停留时间runbook 规定流量低于 100 req/hour 时必须延长金丝雀各级时长否则 gate 噪声会淹没信号。安全敏感变更例如涉及 PII 处理的变化要求加一道前置 gateshadow 样本中 PII 泄漏为零之前不允许开始金丝雀。三条硬性拒绝runbook 原文规则跳过 shadow 模式gate 设得比 15% 方差还紧回滚依赖重新部署。成本是变量不是常数一个准确率提升 20% 的模型单次调用可能贵 3 倍成本 gate 越线本身就是回滚理由不能只看准确率。什么时候还需要 A/B如果新模型只是改进版行为、成本曲线、语气都没有本质变化金丝雀 5 道 gate 全部通过后直接升到 100%跳过 A/B。如果它明显不同行为、成本曲线、语气都不一样则先升到 50% 做 A/B确认稳定后再推全——A/B 平台的细节在课程 Phase 17 · 21A/B Testing LLM Features中覆盖。课程这一课的 Ship It 产物是一页式 rollout runbookoutputs/skill-rollout-runbook.md给定候选模型、基线指标和风险容忍度输出 shadow 计划、金丝雀各级时长、5 道 gate 的具体阈值、工具选型、回滚路径和 A/B 取舍结尾附带一条要求——第一次真实上线前完成一次回滚演练。【免费下载链接】ai-engineering-from-scratchLearn it. Build it. Ship it for others.项目地址: https://gitcode.com/GitHub_Trending/ai/ai-engineering-from-scratch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表