2. 沙盘推演基础:定义、角色与博弈逻辑

沙盘推演(Sandbox Simulation)在机器学习系统中,是一种离线、可重复、受控的模型评估与决策预演方法。它允许数据科学家在将模型部署到生产环境之前,通过历史数据或合成数据模拟“如果使用新模型,系统会如何表现”。

2.1 沙盘推演的定义

沙盘推演的核心是构建一个与生产环境高度一致的模拟器,将候选模型(Challenger)与当前线上模型(Champion)置于相同的输入条件下,对比其输出、业务指标与系统稳定性。

维度 沙盘推演 传统离线评估 在线 A/B 测试
数据来源 历史日志 + 合成数据 固定测试集 实时流量
环境模拟 模拟特征工程、延迟、缓存 静态特征矩阵 真实生产环境
风险等级 无风险(离线) 无风险 有风险(影响真实用户)
反馈速度 分钟级 秒级 小时/天级
主要目标 验证模型鲁棒性与业务假设 验证模型精度 验证业务收益
关键认知:沙盘推演不是 A/B 测试的替代品,而是其前置安全网。一个 Challenger 模型必须先通过沙盘推演,才能获得进入在线 A/B 测试的“入场券”。

2.2 在机器学习中的角色

沙盘推演在 ML 系统中扮演三个核心角色:

  1. 风险过滤器:在模型上线前发现数据泄露、特征穿越、推理延迟异常等致命问题。
  2. 假设验证器:验证新模型在特定业务场景(如促销活动、流量高峰)下的表现是否符合预期。
  3. 冠军/挑战者(Champion vs Challenger)博弈的裁判台:提供公平、可复现的对比环境,决定哪个模型进入下一轮。
沙盘推演在 ML 流程中的位置 数据准备 模型训练 沙盘推演 A/B 测试 全量上线 模型监控 数据回流 离线阶段 · 无风险 在线阶段 · 有风险

2.3 Champion vs Challenger 的博弈逻辑

Champion vs Challenger(CvC)是一种持续演化的模型管理策略。其核心博弈逻辑遵循“挑战-验证-替换或淘汰”的循环。

2.3.1 博弈角色定义

角色 定义 状态 目标
Champion(冠军) 当前在生产环境中服务流量的模型 线上运行 维持稳定收益,抵御挑战
Challenger(挑战者) 新开发的候选模型,准备挑战 Champion 沙盘/实验 在关键指标上显著超越 Champion
裁判(沙盘引擎) 执行推演、计算指标、判定胜负的系统 离线 提供公平、可复现的对比结果

2.3.2 博弈流程

  1. 挑战发起:数据科学家提交 Challenger 模型及其沙盘推演配置。
  2. 沙盘对决:沙盘引擎使用同一段历史数据,分别运行 Champion 和 Challenger,记录所有输出。
  3. 指标对比:计算核心业务指标(如 AUC、CTR、转化率、收入)的差异,并进行统计显著性检验。
  4. 判定结果:
    • Challenger 胜出:指标显著提升且无副作用 → 进入 A/B 测试。
    • Challenger 持平:指标无显著差异 → 考虑成本、延迟等因素决定是否替换。
    • Challenger 失败:指标下降或出现异常 → 拒绝挑战,返回优化。
  5. 循环迭代:无论结果如何,新的 Challenger 会持续产生,形成持续优化的飞轮。
Champion vs Challenger 博弈逻辑 提交 Challenger 沙盘对决 指标对比与判定 胜出 → A/B 测试 失败 → 返回优化 循环迭代:持续挑战,持续进化
实战要点:在沙盘推演中,Challenger 不仅要关注“是否赢了”,还要关注“赢在哪里”和“输在哪里”。建议在沙盘报告中同时输出 赢面分析(哪些样本上 Challenger 更好)和 输面分析(哪些样本上 Champion 仍然占优),为后续模型迭代提供方向。

2.4 博弈逻辑的数学表达

在沙盘推演中,判定 Champion 与 Challenger 胜负的核心是统计假设检验。设 Champion 的指标分布为 \( P_c \),Challenger 的指标分布为 \( P_t \),则:

H0: μ_t - μ_c ≤ 0  (Challenger 不优于 Champion)
H1: μ_t - μ_c > 0  (Challenger 显著优于 Champion)

判定规则:
- 若 p-value < α (通常 α=0.05),拒绝 H0,Challenger 胜出。
- 若 p-value ≥ α,无法拒绝 H0,Challenger 挑战失败。

沙盘推演引擎会为每个核心指标自动计算 p-value,并生成指标对比矩阵,帮助数据科学家快速定位 Challenger 的优势与劣势。