M8-010M8: ML Systems, Engineering & ResearchML System Design FrameworkHard
Mastery:

ML System Design Framework: 设计一个 A/B 实验平台。

📐 Mathematical Definition
platform: assign→metrics→analysis→manage;layer/domain+CUPED\text{platform}:\ \text{assign}\to\text{metrics}\to\text{analysis}\to\text{manage};\qquad \text{layer/domain}+\text{CUPED}
⚡ Executive Summary
Core Concept: 流量分配(分层/互斥)→ 指标计算(实时/离线/CUPED)→ 分析与决策(多重比较/序贯)→ 实验管理。

📌 Key Takeaways

  • •
    流量分配:用户级随机、分层(正交)、互斥域
  • •
    指标:实时/离线、口径一致、CUPED 降方差、护栏
  • •
    分析:样本量/MDE、多重比较、序贯检验;管理:元数据/生命周期

📐 Mathematical Derivations

数学机理:<strong>A/B 实验平台的设计</strong>(详见 M7 的在线指标与实验题)——(1) <strong>流量分配</strong>——(a) <strong>随机化单元</strong>(用户/会话/设备);(b) <strong>分层(layer)</strong>——不同层用<strong>独立随机化</strong> → 层间<strong>正交</strong> → 同一用户可参与多层(<strong>提高实验密度</strong>);(c) <strong>互斥域(domain)</strong>——<strong>相互干扰</strong>的实验放同一域(互斥);(d) <strong>按模块分层</strong>(推荐/搜索/UI/广告各一层);(e) <strong>一致性</strong>(同一用户在同一层始终同组);(f) <strong>支持非用户级随机</strong>(switchback/集群)。(2) <strong>指标计算</strong>——(a) <strong>实时</strong>(早停/风险监控)+ <strong>离线</strong>(最终决策);(b) <strong>口径一致</strong>(与业务报表一致);(c) <strong>护栏指标</strong>(自动监控);(d) <strong>分层指标</strong>(新/老用户、场景、物品);(e) <strong>方差降低(CUPED)</strong>——用'实验前指标'作为协变量:Y'=Y−θ(X−E[X]);通常降 30%~50% 方差(相当于样本量 ×2~4)。(3) <strong>统计分析</strong>——(a) <strong>样本量/MDE</strong>(事前计算:n ∝ σ²/MDE²);(b) <strong>多重比较</strong>(FDR/Bonferroni + 预注册主指标);(c) <strong>序贯检验</strong>(alpha spending,支持早停);(d) <strong>主指标 + 护栏</strong>框架(一票否决);(e) <strong>异质性分析</strong>(HTE——不同用户群体的效应差异);(f) <strong>长期效应</strong>(holdout 组)。(4) <strong>实验管理</strong>——(a) <strong>元数据</strong>(目的/假设/指标/配置/负责人);(b) <strong>生命周期</strong>(创建→运行→分析→归档);(c) <strong>权限与审计</strong>;(d) <strong>冲突检测</strong>(同层实验冲突);(e) <strong>与特征平台集成</strong>(实验配置与训练一致)。<strong>关键决策</strong>——(a) <strong>随机化粒度</strong>(用户级 vs 会话级 vs 集群);(b) <strong>层与域的划分</strong>(按模块);(c) <strong>方差降低</strong>(CUPED/分层);(d) <strong>早停策略</strong>(alpha spending);(e) <strong>指标口径</strong>(与业务对齐)。<strong>失败模式</strong>——(a) <strong>样本比例失衡</strong>(SRM——Sample Ratio Mismatch,说明随机化有 bug);(b) <strong>多重比较未校正</strong>(假阳性);(c) <strong>偷看数据早停</strong>(假阳性);(d) <strong>网络效应</strong>(干扰);(e) <strong>指标口径不一致</strong>;(f) <strong>实验污染</strong>(同层冲突)。<strong>实践建议</strong>——(a) <strong>分层 + 互斥域</strong>(提高密度);(b) <strong>CUPED</strong>(几乎免费降方差);(c) <strong>预注册主指标 + 护栏</strong>;(d) <strong>SRM 检查</strong>(每次实验必做);(e) <strong>alpha spending</strong>(支持早停);(f) <strong>元数据与生命周期管理</strong>。<strong>度量</strong>——(a) 实验密度;(b) SRM 检出率;(c) 假阳性率(模拟);(d) 方差降低比例(CUPED);(e) 平台稳定性。

🏭 Production Trade-offs

深度剖析与工程权衡:① <strong>'分层提高实验密度'</strong>——同一用户可参与多层;面试中能指出是深度理解的标志。② <strong>'SRM 检查必做'</strong>——样本比例失衡说明随机化有 bug(最实用的实验健康检查)。③ <strong>'CUPED 几乎免费降方差'</strong>——用实验前数据;通常降 30%~50%。④ <strong>'预注册主指标'避免多重比较与'挑指标'</strong>。⑤ <strong>'口径一致性'常被忽视</strong>——实验指标与业务报表不一致会导致困惑。⑥ <strong>面试要点</strong>——被问'设计实验平台',应给出'<strong>流量分配(分层/互斥域)+ 指标(实时/离线/CUPED/护栏)+ 分析(MDE/多重比较/序贯)+ 管理(元数据/生命周期)+ SRM 检查</strong>';能指出'SRM 检查'是深度理解的标志。
⚠️ Common Interview Pitfalls
  • ✕
    不支持分层(实验密度低)
  • ✕
    不做 SRM 检查(随机化 bug 无法发现)
🎯 Interviewer Follow-ups
  • ?
    为什么要分层与互斥域?
  • ?
    CUPED 如何降方差?
📚

Associated Knowledge Base Guides & Mindmaps

Explore the comprehensive technical article, exam cards, and global architecture tree.

← PreviousM8-009: ML System Design Framework: 设计一个内容审核(安全)系统。📋Back to BankNext →M8-011: Feature Store & Training-Serving Skew: 解释特征存储的作用与核心能力。