模型漂移和数据更新
1)为什么这很重要
在iGaming中,流量,支付和游戏行为的分布迅速变化(季节性,提供商,股票,监管法规)。在没有系统漂移控制的情况下,暴露的成本错误正在增长:Net Revenue中的损失,虚假的RG/AML干扰,奖金借口的增长。目的是早期发现漂移,诊断原因,安全更新数据和模型。
2)漂移分类法(可能"漂浮")
Covariate drift (X): fichi发生了变化(例如,移动/ASN份额、提供商组合)。
Label/Outcome drift (Y):更改了事件基础(chargeback-rate, click/convert-rate)。
3)信号和阈值(地标)
PSI (Population Stability Index): 0.10–0.20个警告,>0。20是漂移事件。
KL-发散/JS:在关键速率/速率上向阈值增长。
Skors的KS(标签下):CDF差异的增加。
ECE(校准):>0.05警告,>0.07-行动。
Expected-cost@threshold:基本模型增长X%。
Coverage和Missing-rate:覆盖率下降<99%,missing/timeout>阈值上升。
Slice度量:按市场/设备划分的PR-AUC/ECE/expected-cost;下降触发器>Y%。
窗口选择:快速-1 小时/6h/24小时(滚动),报告-D+1/D+7(扣留标签的记录)。
4)窗口和标签(延迟)
快速代理标签:点击、存款7d,由RG桉例完成-用于早期评估。
延迟标签:chargeback(45-90d),churn/LTV-用于回顾性验证和阈值调整/校准。
作为纪律:无论是平局还是标签-"来自未来的事件"。
5)根本原因诊断(RCA支票单)
1.数据:PSI/KL按顶级,missing/lag, schema diffs,新类别。
2.来源:供应商变量(PSP/游戏提供商), API/timeout错误。
3.季节/促销活动:任务/锦标赛的高峰,RTP/目录更改。
4.区域/居民:跨市场流量转移,新的KYC/RG规则。
5.技术:幻灯片缓存降解,CDC缓慢,小文件风暴。
6.目录/汇率/日历:过时?(FX/假期)。
7.公平:在特定的幻灯片质量失败。
6)漂移时的动作剧本
6.1 Covariate/Feature drift
快速:更新校准(Platt/Isotonic D +1),调整开销阈值。
中期:部分改造(可持续单元/窗口),从time-aware CV升级TE/WOE。
长期:带有新样本/窗户的retrain,必要时重新设计相框。
6.2 Label/Outcome drift
重新计算新标签(D+1, D+7)的阈值,进行笔校准。
固定guardrails(限制攻击行动直到稳定)。
6.3 Concept drift
在最新数据上对新版本进行影子学习→金丝雀→完全滚动。
考虑域分解(按细分/市场划分的单个模型)。
6.4 Schema/Operational drift
启用v1/v2模式双写,在线等价测试/离线。
修复源,启用缓存/后退,补偿跳过后退。
6.5 Fairness drift
临时幻灯片阈值/校准,瞄准镜头/重新调整镜头,代理变量审核。
6.6个升级
Kill-switch (guardrails breach) →安全后卫/以前的版本。
在5xx/latency/expected-cost上升时单击滚动。
7)数据更新政策
7.1 Increments和CDC
稳定的水厂/日志复制;等效的MERGE/UPSERT。
7.2 Backfill/Reprocessing
Backfill:逐个范围(配额和窗口)。
Reprocessing:在逻辑更改/纠错时重新计算。
Метки: `logic_version`, `reprocessed_at`, `reason`;影响报告(指标/成本)。
7.3 Time-travel/WORM
ACID表(Delta/Iceberg/Hudi),报告/版本的WORM档案。
"与日期一样":监管报告的可重复性。
7.4 目录/FX/日历
自动更新,签名,版本和新鲜度检查(SLO到latency和age)。
8)度量标准和Alerts(最低设置)
数据: PSI/KL按顶级,误报率,功能性,fetch latency.
质量:PR-AUC/KS(在代理标签上),ECE,expected-cost@thr。
操作:p95/p99 latency, 5xx, coverage, autoscaling, cost/request。
公平:幻灯片面板(市场/设备/提供商)。
合同:计划暴力,在线/离线平等测试。
9)模型更新程序
1.影子:查询副本上的新模型,对比latency/quality/cost。
2.金丝雀:绿色SLO 5-10% 25% 50% 100%。
3.阈值/校准:计算D+1;阈值-注册表中的config。
4.文档:模型卡(数据、窗口、指标、风险、公平)。
5.归档:WORM版本(重量、校准、测试日志、漂移报告)。
10)示例(片段)
10.SQL想法中的1个PSI(预先准备了bining)
sql
-- ref_dist(bin, p_ref), prod_dist(bin, p_prod) для фичи amount_base
SELECT SUM((p_prod - p_ref) LN((p_prod + 1e-9)/(p_ref + 1e-9))) AS psi
FROM (
SELECT bin, COUNT()/SUM(COUNT()) OVER() AS p_prod
FROM prod_binned GROUP BY bin
) p
JOIN (
SELECT bin, COUNT()/SUM(COUNT()) OVER() AS p_ref
FROM ref_binned GROUP BY bin
) r USING (bin);
10.2根据expected-cost调整阈值(伪代码)
python thr_grid = np. linspace(0. 01, 0. 99, 99)
costs = [expected_cost(y_true, y_prob >= t, c_fp, c_fn) for t in thr_grid]
thr_best = thr_grid[int(np. argmin(costs))]
10.3等效于在线/离线照片
python diff = np. abs(f_online. values - f_offline. values)
assert np. quantile(diff, 0. 95) < MAX_ABS_DIFF_95
10.4带负载限制的Backfill(编排的想法)
yaml job: backfill_gold_ggr limits: {concurrency: 1, max_partitions_per_run: 4}
guards:
- window: "02:00-06:00"
- markets: ["EEA","UK"]
- budget: "compute_hours<=50"
11)测试和变更控制
电路合同/相框:消费者驱动测试,双v1/v2记录。
回归度量测试:不要使公差PR-AUC/ECE/expected-cost降级。
在线/离线等效性测试:在参考样本上。
混沌测试:远程缓存故障,源定时器,爆破流量。
12)Fairness和合规性
Slice报告(disparate impact, equalized odds), slice阈值/校准。
PII最小化,居住性(EEA/UK/BR),DSAR/RTBF,法律保留。
决策审核:"policy_id","threshold",干预的原因,WORM博客。
13)成本和性能
Cost dashboards: cost/request, cost/feature, state-size стрима, IO/scan/GB для batch.
优化:实现重型离线,热窗口缓存,INT8/FP16质量相等。
配额:背面/反冲限制,市场/团队背面预算。
14) RACI
R(响应):MLOps(监视/注册/释放),Data Eng(数据/CDC/backfill/合同),数据科学(诊断/校准/retrain/fairness)。
A (Accountable): Head of Data / CDO.
C(咨询):合规性/DPO(PII/RG/AML/DSAR),安全(KMS/审计),SRE(SLO/成本),财务(预算/ROI)。
I (Informed):产品/营销/运营/支持。
15)路线图
MVP(2-4周):1.PSI/KL在顶级股票和得分,ECE,代理标签上的开销。
2.Dashbords coverage/missing/feature-lag,alerta和runbook'和。
3.恢复程序(D+1)和阈值;新机型的影子路径。
4.电路合同/fich和在线/离线等价测试。
第二阶段(4-8周):- RCA面板,slice/fairness监视,带配额的背景计划。
- 自动偏转校准/阈值,阈值模拟器(如果为)。
- WORM漂移和发行报告存档。
- 跨越漂移事件(金丝雀),多区域政策。
- 成本配额/chargeback,chaos -/DR演习,自动文档。
16)售前支票清单
- SLI/SLO和Alertes已配置(PSI/ECE/expected-cost/coverage/latency/5xx)。
- 电路/摄影合同和双v1/v2记录-绿色。
- recalibration/threshold更新过程已记录并自动化。
- Shadow/Canary with one click rollback验证。
- Backfill/reprocessing配额和窗口-准备就绪;WORM存档已启用。
- Slice/fairness面板和段所有者已分配。
- 遵守PII/DSAR/RTBF/法律保留政策;已启用审计。
- 控制成本(cost/request, cost/feature), 定制缓存/TTL。
17)反模式和风险
看到高的PSI-retrain"盲目",没有RCA和校准。
没有记录被拘留的标签→错误的结论,每天的"急流锯"。
没有在线/离线等效性测试→"双重现实"。
无视公平:市场/设备的失败仍然不可见。
没有配额/窗口的Backfill →成本和SLA的打击。
阈值是"永远"固定的→季节性时会增加成本。
18)结果
漂移控制不是一次性回流,而是过程:可观察性→诊断→最低风险操作(校准/阈值)→安全回流/反射→成本控制和审计。有了这样的纪律,即使玩家的行为、提供者和市场发生变化,模型仍然准确、道德和兼容。