设想你是一家川菜馆的老板,招牌菜“麻辣水煮鱼”是店里的灵魂。可你心里清楚,配方写下来只是开始,真正的功夫在“养”:花椒换了供应商,辣味就偏了;天气转热,客人就想吃清爽些;隔壁新店一开张,老主顾都可能被抢走。所以你得一遍遍做同一件事——看剩菜翻差评,收集客人口味的数据;舌头保持敏感,尝出辣度在悄悄漂移;定期微调配方,但不天天大改;要上新菜,先在 VIP 包厢小范围试菜,用数据说话;万一翻车,后厨还留着旧配方的完整记录,说切就切回。这套“收集反馈—感知漂移—控制节奏—实验验证—安全回滚”的打法,正是风控模型迭代的全部秘密。 风控模型正是银行的招牌菜:它审批贷款、拦截欺诈,同样会因客群迁移、策略调整、经济波动而慢慢“变味”。这篇文章把招牌菜的保养心法一次讲透——从数据回流、漂移监控,到迭代节奏、AB 实验、回滚机制,再到时效与稳定的平衡,让你从“会训练模型”进阶为“会经营模型”。

岗位关联

学透这套迭代方法论,你将不再是只会调参的“训练工”,而是能独立规划模型生命周期、为业务长期稳定增长护航的进阶风控算法工程师——从执行者走向决策者,这正是资深从业者的核心能力。

目录
  1. 可视化演示
  2. 迭代闭环流程:从尝菜到换菜单的循环
  3. 数据回流体系:看剩菜,攒反馈
  4. 特征漂移监控:一条敏感的舌头
  5. 迭代节奏把控:多久换一次菜单
  6. AB实验设计:VIP 包厢试菜法
  7. 线上回滚机制:永远备着旧配方
  8. 时效稳定平衡:招牌菜的变与不变
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

本节配有交互动效(进入视口后自动加载,约 3KB)。

风控模型迭代闭环 ——数据回流→PSI监控→重训练→AB验证→灰度发布 数据回流:线上预测+真实标签采集 PSI监控:特征分布偏移检测 PSI0.25需重训练

迭代闭环流程:从尝菜到换菜单的循环

假设你是一家川菜馆的老板,招牌菜麻辣水煮鱼是店里的灵魂。你深知,哪怕配方写得再细,也不能永远不变——花椒换了供应商,辣味就偏了;天气转热,客人就想吃清爽些。所以你得一遍遍做同一件事:尝菜、调整、上新、观察食客反应。这四步循环往复,就是“闭环”。

风控模型就是银行的招牌菜。它审批贷款、拦截欺诈,但客群在迁移、骗术在升级、宏观政策在变化,上线那一刻效果最好的模型,三个月后可能就“过味”了。因此行业形成了标准的迭代闭环:数据回流(把线上新样本收回来)→ 模型训练(重新学一遍)→ 效果评估(对比新旧模型能力)→ 线上部署(小步上线),再回到数据回流,周而复始。

每一轮迭代值不值得做,业务上要算一笔账:模型效果提升多少、覆盖多大业务体量、又花了多少成本。净收益公式如下:

就像换菜单要算清食材成本、后厨工时和老客流失风险一样,风控迭代同样要量化收益与代价。闭环的意义正在于此:每一轮“尝味—调整—上新—观察”都用数据记账,让招牌菜越做越稳,而不是凭感觉瞎改。

ΔU=(ΔA×V)−(Ctrain+Cdeploy+Crisk)\Delta U = (\Delta A \times V) - (C_{train} + C_{deploy} + C_{risk})
净收益 = 效果提升 × 业务体量 − 训练/部署/试错成本。只有算得过账,这轮迭代才有意义。
  1. 效果提升 \Delta A新模型相对旧模型在核心指标上的增益,是迭代收益的“单价”。
    ΔA=AUCnew−AUCold\Delta A = AUC_{new} - AUC_{old}
  2. 业务体量 V模型实际服务的申请量或交易量,是把收益放大的倍数。
    V=NtotalV = N_{total}
  3. 成本合计 C训练算力人力、部署上线、试错风险三类成本相加。
    Call=Ctrain+Cdeploy+CriskC_{all} = C_{train} + C_{deploy} + C_{risk}

数据回流体系:看剩菜,攒反馈

厨师怎么知道客人满不满意?看剩菜、翻差评、问熟客。其中“看剩菜”最诚实——真正吃进嘴里的才是有效反馈。对风控模型来说,“剩菜”就是线上真实跑过的样本:一笔笔贷款申请、一次次交易,以及它们最终的结局(逾期没有、是不是欺诈)。

数据回流,就是把线上新产生的“特征 + 标签”定期收回来,作为下一轮训练的养料。它有几个要点:样本采集要覆盖拒绝人群(只用批过的样本训练,模型永远学不会“被拒客户里其实也有好客户”);标签获取要等待观察期(逾期标签通常要等 30 或 90 天);特征加工必须与线上推理一致,否则“训练时看的菜”和“上线时做的菜”不是同一道;最后是质量校验——缺失率、重复率、异常值都要在回流阶段拦截,坏食材不能进厨房。

回流数据够不够用?可以套用最小样本量公式:预计坏样本率越极端、要求精度越高,需要的样本就越多。

攒够一周的剩菜记录再下结论,比盯着某一天的波动焦虑更靠谱。数据回流同样讲究“观察窗”:在固定周期后统一收割带标签的样本,才能过滤短期噪声,给下一轮迭代提供稳定的土壤。

n=z2×p^×(1−p^)ε2n = \frac{z^2 \times \hat{p} \times (1 - \hat{p})}{\varepsilon^2}
n 是最小回流样本量,\hat{p} 是坏样本率预估,\varepsilon 是允许误差,z 是置信水平系数。这就是风控样本“多多益善”的原因——坏样本是稀缺资源。
  1. 坏样本率 \hat{p}训练集里逾期或欺诈样本的占比,通常远低于 50%。
    p^=NbadNall\hat{p} = \frac{N_{bad}}{N_{all}}
  2. 允许误差 \varepsilon对坏样本率估计的精度要求,如 0.01 表示允许 ±1% 的偏差。
    ε=0.01\varepsilon = 0.01
  3. 置信系数 z95% 置信水平对应 1.96,置信要求越高,需要的样本越多。
    z0.95=1.96z_{0.95} = 1.96

特征漂移监控:一条敏感的舌头

客人的口味不是一夜变的,而是悄悄迁移:先是有人申请“少麻”,接着“微辣”的占比慢慢变高。等你觉得水煮鱼“有点不对味”,往往已经漂移了几百单。高明厨师的习惯是:每道菜上桌前先尝一口,舌头要足够敏感。

模型也需要这张敏感的嘴。特征漂移(Feature Drift)指特征的分布随时间悄悄改变:客群变了、数据源换了、业务规则改了,都会让线上输入偏离训练时的样子。行业最常用的“尝味工具”是 PSI(群体稳定性指数),它对比同一个变量在训练期和当前期的分布差异。

PSI 的做法是先把变量分箱,再逐箱比较占比差:

除了 PSI,还要一起盯关键指标(KS、逾期率、通过率)等业务指标;一旦告警触发,就进入归因定位——是哪个特征在漂、为什么漂(政策变化?数据源异常?),再决定是修数据还是重训模型。这就像厨师尝出“不麻”之后,要查清是花椒批次问题,还是菜谱本身该微调了。

PSI=∑i=1k(Ai−Ei)×ln⁡AiEiPSI = \sum_{i=1}^{k} (A_i - E_i) \times \ln \frac{A_i}{E_i}
A_i 是当前样本在第 i 箱的占比,E_i 是训练样本在第 i 箱的占比。PSI 小于 0.1 说明稳定,0.1~0.25 需要关注,超过 0.25 说明显著漂移,应告警并启动迭代。
  1. 分箱把变量取值切成 k 个区间,再逐箱比较占比。
    i=1,2,…,ki = 1, 2, \dots, k
  2. 占比差当前占比减训练占比,差异越大,漂移越强。
    Δi=Ai−Ei\Delta_i = A_i - E_i
  3. 对数放大占比比例取对数,把轻微漂移的差异“体感”拉大。
    ln⁡AiEi\ln \frac{A_i}{E_i}

迭代节奏把控:多久换一次菜单

菜单多久换一次?天天换,客人记不住、后厨累垮、供应链乱套;一年不变,客人吃腻、竞对抄走。川菜馆的智慧是:招牌菜按季微调,新菜先试后上,节奏本身就是一门手艺。

模型迭代同理,节奏把控就是“何时重训”的决策。两种主流打法:固定周期(每月或每季重训一次,适合业务相对稳定的场景)和按需触发(PSI 超阈值、核心指标下降、业务规则大改时马上启动)。实践常常是“周期保底 + 异常插队”:定时体检,急症随时入院。

为什么不能无限延长模型寿命?因为模型的区分能力会随时间衰减,近似一条指数曲线:

每次迭代还要讲版本管理:模型文件、特征版本、训练数据版本一一归档,像菜谱一样可追溯。上线走灰度发布——先在一个店试卖,再全部门店铺开,配合监控数据决定放量节奏。节奏不是拍脑袋,而是看衰减曲线和业务节奏算出来的。

Pt=P0×e−λtP_t = P_0 \times e^{-\lambda t}
P_0 是上线时的区分能力(如 KS),\lambda 是衰减速率,t 是运行时间。衰减越快,迭代周期就该越短。
  1. 初始能力 P_0模型上线时刻的区分度,是所有衰减的起点。
    P0=KS0P_0 = \mathrm{KS}_0
  2. 衰减速率 \lambda由业务变化速度决定,如每季度衰减 5%。
    λ=0.05\lambda = 0.05
  3. 运行时间 t模型上线后的运行时长,单位与 \lambda 对齐。
    t=月t = \text{月}

AB实验设计:VIP 包厢试菜法

改配方最怕“我觉得好吃”。老主顾可能觉得变了味,而你天天尝早已麻木。稳妥的做法是:把一部分熟客当作“小白鼠”,同一道菜两个版本各上一半,看哪份剩菜少、哪份好评多,让数据当裁判。

这就是 AB 实验。新模型上线前,按流量随机分成对照组(旧模型)和实验组(新模型),在同一时间窗口观察核心指标。关键设计有四条:分流要随机且同源;流量要分层,避免多个实验互相污染;评估指标(坏账率、通过率)必须在实验前定好;样本量和实验时长要覆盖完整业务周期。

怎么判断差异是“真进步”还是“撞大运”?用双样本比例检验:

试菜逻辑一模一样:VIP 包厢试两周,回访满意度与剩菜率显著优于现役配方,才敢换主菜单。样本不足就多试几天——别拿三桌客人的结论当全城口味的天花板。

Z=p^A−p^Bp^(1−p^)(1nA+1nB)Z = \frac{\hat{p}_A - \hat{p}_B}{\sqrt{\hat{p}(1-\hat{p})\left(\frac{1}{n_A} + \frac{1}{n_B}\right)}}
\hat{p}_A、\hat{p}_B 是两组的坏账率,\hat{p} 是合并后的总比例,n_A、n_B 是两组样本量。当 |Z| ≥ 1.96 时差异显著,才敢把新模型推全量。
  1. 组内比例实验组与对照组各自观测到的坏账率。
    p^A=BAnA,p^B=BBnB\hat{p}_A = \frac{B_A}{n_A}, \quad \hat{p}_B = \frac{B_B}{n_B}
  2. 合并比例两组坏样本之和除以总样本,作为共同的基准。
    p^=BA+BBnA+nB\hat{p} = \frac{B_A + B_B}{n_A + n_B}
  3. 标准误把两组的样本量压缩成一个波动尺度。
    SE=p^(1−p^)(1nA+1nB)SE = \sqrt{\hat{p}(1-\hat{p})\left(\frac{1}{n_A}+\frac{1}{n_B}\right)}
  4. 显著性判定|Z| 超过临界值,说明差异是真实而非偶然。
    ∣Z∣≥1.96|Z| \geq 1.96

线上回滚机制:永远备着旧配方

新菜单全量上线第二天,差评炸了:“水煮鱼怎么不麻了?”怎么办?立刻恢复旧配方。但前提是:仓库里旧配方原料没清空、后厨记得老做法、切换路径事先演练过。没有预案的迭代,等于裸奔。

回滚机制就是迭代的安全网。核心设计:旧模型保持可用(不覆盖、不删除),通过独立的流量开关控制新旧模型的路由;一旦新模型异常,秒级切回旧模型。触发条件要在上线前定义好:风险指标突增、通过率异常波动、预测分布严重偏离等。还要配套应急预案,明确“谁决策、谁操作、怎么通知”。

回滚本质上是个决策问题:比较“硬撑”与“误切”的期望损失:

每次回滚后必须复盘改进:告警为什么没更早拦住、监控指标要不要加、灰度节奏要不要调。就像厨师长永远备着两本菜谱——新的大胆试,旧的不停供。失手不可怕,可怕的是失手后没有下一版更好的配方。

E[Lrollback]=Pmistake×Lmistake,E[Lkeep]=Pdegrade×LdegradeE[L_{rollback}] = P_{mistake} \times L_{mistake} \quad,\quad E[L_{keep}] = P_{degrade} \times L_{degrade}
E[L_rollback] 是误切回旧模型的代价(业务抖动),E[L_keep] 是继续硬撑新模型的代价(坏账扩大)。当硬撑代价明显大于误切代价时,果断回滚。
  1. 硬撑损失 E[L_keep]新模型确实恶化、继续运行导致的坏账或误杀损失。
    E[Lkeep]=Pdegrade×LdegradeE[L_{keep}] = P_{degrade} \times L_{degrade}
  2. 误切损失 E[L_rollback]新模型其实没问题却被回滚,带来的业务抖动与口碑代价。
    E[Lrollback]=Pmistake×LmistakeE[L_{rollback}] = P_{mistake} \times L_{mistake}
  3. 决策条件当硬撑代价显著更大时,触发回滚。
    E[Lkeep]≫E[Lrollback]⇒回滚E[L_{keep}] \gg E[L_{rollback}] \Rightarrow \text{回滚}

时效稳定平衡:招牌菜的变与不变

川菜馆最难的是招牌菜的“变”与“不变”:老顾客冲着记忆里的味道来,年轻人却期待新惊喜。天天改,老客懵;永远不改,新客走。风控团队面临同样的两难。

模型时效性要求跟上最新数据和最新策略,系统稳定性要求少折腾、低风险,二者天然矛盾。频繁迭代,每次上线都有风险窗口、AB 分流也会影响体验;不迭代,模型老化、漂移放大,风险敞口持续扩大。成熟的团队不站队,而是用成本模型找到最优迭代间隔,用工程机制兜住稳定。

把迭代成本拆成两项:部署上线成本(每次迭代的固定开销)和漂移损失成本(随模型老化增长的代价)。总成本是迭代周期 T 的函数:

聪明的川菜馆:招牌菜一年微调四次,风味基线不动,每次改动控制在老客能感知但不反感的分寸;同时坚持每周试菜、每月推新实验。风控也是一样——用监控数据校准节奏,用实验和回滚守住底线,让“常吃常新”和“还是那个味”不再零和,这才是可持续的迭代方法论。

C(T)=CdeployT+λT×CdriftC(T) = \frac{C_{deploy}}{T} + \lambda T \times C_{drift}
C_deploy/T 是摊薄的部署成本,迭代越频繁摊得越薄;\lambda T C_drift 是漂移代价,周期越长累积越多。两项相交的谷底,就是最优迭代周期,也是“变”与“稳”的平衡点。
  1. 摊薄部署成本固定迭代开销除以周期,周期越短摊得越薄。
    CdeployT\frac{C_{deploy}}{T}
  2. 漂移损失成本周期越长,模型老化累积的损失越大。
    λT×Cdrift\lambda T \times C_{drift}
  3. 最优周期两项平衡处成本最低,即最优迭代间隔。
    T∗=Cdeployλ×CdriftT^{*} = \sqrt{\frac{C_{deploy}}{\lambda \times C_{drift}}}

AI 应用场景

消费金融信贷风控的季度迭代

阶段:模型监控与再训练(迭代闭环)

解决的问题:客群结构随政策与经济环境变化,旧模型区分度衰减。传统做法靠人工导出报表、凭经验半年重训一次,漂移早期根本发现不了。AI 方案:搭建特征 PSI 监控看板,每日自动计算核心特征的分布漂移,超阈值自动告警并触发再训练流水线,让迭代从“半年一次”变成“监控驱动、按需进行”。

具体案例:某消费金融公司发现“收入负债比”特征的 PSI 在三个月内从 0.08 攀升到 0.31,看板告警并归因到信贷政策收紧、客群下沉。团队随即提取最近 90 天带标签样本重训模型,灰度上线后坏账率回落 0.8 个百分点。

反欺诈模型的 AB 实验与秒级回滚

阶段:AB 实验与灰度发布

解决的问题:新欺诈模型全量上线风险高,一旦误伤真实用户就会投诉激增。传统做法是“冲一把”赌运气。AI 方案:把新模型部署为可路由的独立版本,先放 5% 流量做 AB 实验,实时对比拒付率与误杀率,确认显著提升再分批放量;监控指标一旦突破预设红线,自动切换回旧模型。

具体案例:某电商平台大促前用 AB 实验验证新欺诈模型:实验组欺诈拒付率下降 18%,真实用户误杀率无显著上升,随即分三批放量至 100%,全程零事故。

模型迭代管理平台的搭建

阶段:模型全生命周期管理

解决的问题:模型文件散落在个人电脑、训练脚本没人维护、上线靠手工切换,严重拖慢迭代节奏。AI 方案:将数据回流、训练、评估、灰度发布、监控回滚封装成标准流水线,配合版本管理与开关中心,让每一次迭代都可复现、可审计、可回退。

具体案例:一家中型支付公司搭建“特征库 + 训练平台 + 监控中心 + 开关中心”四件套,模型迭代周期从 3 周缩短到 3 天,回滚从小时级缩短到秒级。

Python 演示

python74 行
# -*- coding: utf-8 -*-"""风控模型迭代模拟: 特征漂移监控 + AB 实验决策"""import mathimport random  def generate_samples(n, feature_mean, label_rate):    """生成一批样本: 特征值加违约标签"""    samples = []    for _ in range(n):        x = random.gauss(feature_mean, 1.0)        y = 1 if random.random() < label_rate else 0        samples.append((x, y))    return samples  def compute_psi(train_samples, current_samples, bins=10):    """计算群体稳定性指数 PSI, 衡量特征分布漂移"""    train_vals = [s[0] for s in train_samples]    cur_vals = [s[0] for s in current_samples]    lo, hi = min(train_vals), max(train_vals)    step = (hi - lo) / bins    psi = 0.0    for i in range(bins):        left = lo + i * step        right = lo + (i + 1) * step        expected = sum(1 for v in train_vals if left <= v < right) / len(train_vals)        actual = sum(1 for v in cur_vals if left <= v < right) / len(cur_vals)        if expected == 0 or actual == 0:            continue        psi += (actual - expected) * math.log(actual / expected)    return psi  def ab_test_z(p_bad_a, p_bad_b, n_a, n_b):    """AB 实验: 计算两组坏账率差异的 Z 统计量"""    p_hat = (p_bad_a * n_a + p_bad_b * n_b) / (n_a + n_b)    se = math.sqrt(p_hat * (1 - p_hat) * (1.0 / n_a + 1.0 / n_b))    return (p_bad_a - p_bad_b) / se  def main():    random.seed(42)    train = generate_samples(10000, feature_mean=0.0, label_rate=0.10)     print("=" * 46)    print("阶段一: 特征漂移监控 (PSI)")    print("=" * 46)    for month in range(1, 7):        current = generate_samples(5000, feature_mean=0.08 * month, label_rate=0.12)        psi = compute_psi(train, current)        if psi < 0.1:            status = "稳定"        elif psi < 0.25:            status = "关注"        else:            status = "强漂移,推荐重训"        print("第 %d 月 PSI=%.4f -> %s" % (month, psi, status))     print()    print("=" * 46)    print("阶段二: AB 实验评估新模型")    print("=" * 46)    # 旧模型坏账率 10%, 新模型 8.5%, 各 5000 样本    z = ab_test_z(0.10, 0.085, 5000, 5000)    print("Z=%.3f" % z)    if abs(z) >= 1.96:        print("差异显著, 可灰度发布新模型")    else:        print("差异不显著, 继续实验或增加样本")  if __name__ == "__main__":    main()
目的:用一段可运行的脚本复现“特征漂移监控 + AB 实验”两个核心环节——PSI 超阈值触发再训练建议,Z 检验决定新模型是否有资格上位。
  1. current = generate_samples(5000, feature_mean=0.08 * month, label_rate=0.12)每个月的特征均值向右漂移,模拟客群口味悄悄变化
  2. psi += (actual - expected) * math.log(actual / expected)累加每一箱的 PSI 贡献:占比差 × 占比比值的对数
  3. if psi < 0.1:PSI 低于 0.1 视为稳定,无需干预
  4. elif psi < 0.25:0.1 到 0.25 进入“关注”区,开始排查原因
  5. status = "强漂移,推荐重训"超过 0.25 判定强漂移,建议立即启动再训练
  6. se = math.sqrt(p_hat * (1 - p_hat) * (1.0 / n_a + 1.0 / n_b))AB 检验的标准误,把两组样本量压成同一个波动尺度
  7. if abs(z) >= 1.96:95% 置信水平下差异显著,新模型才有资格全量替换

常见误区

误区辛苦训练、上线跑起来,指标也正常,就觉得任务完成了。直到某天逾期率飙升,才发现模型早就在“带病工作”。

正解上线只是迭代闭环的起点,不是终点。数据在漂、客群在变、骗术在升级,模型能力必然衰减。必须建立 PSI、KS、业务指标的多维监控,像厨师每天尝菜一样持续盯防,在衰减到危险线之前启动再训练。

为何常见:传统软件工程“上线即交付”的思维惯性太强,很多人没意识到模型是“数据喂养的活物”,环境一变它就变味。

误区既然模型会衰减,那就每月、每周甚至每天重训,数据越新模型越强,总没错吧?

正解迭代有显性成本和隐性风险:训练、评估、灰度、AB 实验都有开销;重训还会改变模型行为(误杀率、通过率波动),伤害用户体验。最优迭代节奏由总成本曲线决定,C_deploy/T 与 λTC_drift 两项平衡处才是黄金点,频繁不等于好。

为何常见:把“模型新鲜度”误当成“模型效果”,忽略了发布验证的成本与风险,属于局部最优思维。

误区两组各放 5000 单,看谁坏账低就上谁,三天就能出结果,何必等那么久?

正解AB 结论要过显著性检验:样本量由基线率和最小可检测差异估算,实验时长要覆盖完整业务周期(账单日、发薪日、大促)。Z 值不够 1.96,差异可能只是运气。拿三天的数据做全量决策,等于拿三桌客人定全城菜单。

为何常见:业务方催得急,加上对“量够大就行”的直觉误用——量不仅要大,还要随机、同源、跨周期。

误区回滚不就是把旧模型换回来吗?等新模型出了问题再找开发切,来得及。

正解没有预案的“救火式回滚”通常来不及:旧模型可能已被覆盖、开关没预埋、操作要手工改配置,等切回去坏账损失已经扩大。回滚必须前置:旧模型保持可用、流量开关预埋、触发条件写进文档、操作演练过,才能做到秒级恢复。

为何常见:回滚机制“不生效时看不见”,容易被当成无用的提前投入,直到火着起来才发现消防通道是堵的。

误区监控看板里所有特征的 PSI 都在 0.1 以下,绿油油的,模型肯定没问题,可以放心摸鱼。

正解PSI 只衡量分布稳定性,不衡量预测能力。存在“概念漂移”:特征分布没变,但特征与标签的关系变了——比如客群收入分布照旧,可整体还款意愿下滑。只看 PSI 会漏诊,必须结合 KS、AUC 和逾期率等能力指标一起看。

为何常见:PSI 是最早上线的监控指标,绿油油的仪表盘给人虚假安全感,忽略了它只是“分布体检”而非“能力体检”。

面试题

Q1. 风控模型迭代闭环的起点是哪个环节?

单选题 · easy

  • A.数据回流← 正确答案
  • B.模型训练
  • C.线上部署
  • D.效果监控

答案:A。闭环第一步是数据回流——把线上新样本和它们的结局标签收回来。没有数据,训练就是“无米之炊”。就像换菜单前先看剩菜,数据回流是迭代的信息源头,其余选项都是回流之后的环节。

Q2. PSI(群体稳定性指数)主要用于监控什么?

单选题 · easy

  • A.模型运行速度
  • B.特征分布漂移← 正确答案
  • C.服务器负载
  • D.数据存储容量

答案:B。PSI 衡量同一变量在训练期与当前期的分布差异,即特征漂移。它不关心运行速度、服务器负载或存储容量——那些属于系统监控范畴,对应的是机器健康而非模型的“口感”。

Q3. 以下哪个信号出现时最应该触发模型回滚?

单选题 · easy

  • A.新模型准确率提升
  • B.上线后风险指标骤升← 正确答案
  • C.训练耗时明显变长
  • D.样本数量暂时减少

答案:B。上线后风险指标(坏账率、拒付率等)骤升,说明新模型实际表现恶化,应立即回滚。准确率提升是好事不是坏事;训练耗时、样本量变化与线上质量没有直接关系。

Q4. AB 实验所需样本量主要取决于哪两个因素?

单选题 · mid

  • A.基线转化率与最小检测差异← 正确答案
  • B.服务器数量与网络带宽
  • C.模型参数个数与网络层数
  • D.训练轮数与学习率设置

答案:A。样本量由基线转化率和最小可检测差异共同决定:基线越极端、想检测出的差异越小,需要的样本就越多。服务器、模型参数、训练轮数都不影响统计功效的计算。

Q5. 回滚机制能够快速生效的核心前提是什么?

单选题 · mid

  • A.新模型参数完整备份
  • B.旧模型服务保持可用← 正确答案
  • C.数据库容量足够冗余
  • D.前端页面完全支持新版

答案:B。回滚要快,前提是旧模型服务仍然在线可用、流量开关能一键切回。新模型参数备份、数据库容量、前端兼容都不是回滚能否秒级完成的关键——关键在于“旧路还通着”。

Q6. 特征漂移监控的常用手段包括哪些?

多选题 · mid

  • A.每日计算群体稳定性指数← 正确答案
  • B.监控模型评分分布变化← 正确答案
  • C.观察逾期率等核心业务指标← 正确答案
  • D.定期重启模型服务进程

答案:ABC。漂移监控三板斧:PSI 量化分布漂移、监控评分分布变化、观察逾期率等业务指标。定期重启服务是无意义的运维动作,与特征漂移无关。

Q7. 设计 AB 实验时需要满足哪些条件?

多选题 · mid

  • A.实验组与对照组流量随机分流← 正确答案
  • B.保证足够样本量与实验时长← 正确答案
  • C.两组业务环境可以差异很大
  • D.评估指标需要在实验前定义← 正确答案

答案:ABD。AB 实验要求随机分流、样本量足、时长覆盖完整周期、指标事先定义。两组业务环境差异大会引入混淆变量,恰恰要避免——就像试菜时两桌客人得是同档消费水平,结论才公平。

Q8. 哪种现象最能说明模型需要迭代再训练?

单选题 · hard

  • A.业务规模出现大幅扩张
  • B.特征与标签关系发生变化← 正确答案
  • C.团队核心人员发生变动
  • D.公司更换品牌标识和包装

答案:B。特征与标签的关系发生变化(概念漂移)是模型失效的根本原因,最该触发迭代。业务规模扩张只是体量变化,不一定需要重训;人员变动、品牌更换更与模型能力无关。

Q9. 平衡模型时效性与系统稳定性的正确策略是?

单选题 · hard

  • A.新模型尽快全量铺开上线
  • B.模型生命周期尽量去延长
  • C.灰度发布搭配监控与回滚← 正确答案
  • D.完全依赖人工规则进行兜底

答案:C。灰度发布 + 监控 + 回滚的机制组合,让模型既能及时更新又不会伤筋动骨。尽快全量无视风险,无限延长生命周期无视漂移,纯人工规则放弃模型能力,都不是平衡之道。

Q10. 关于 PSI 的说法,正确的有哪些?

多选题 · extreme

  • A.PSI 越高表示分布差异越大← 正确答案
  • B.PSI 只衡量单个特征的漂移← 正确答案
  • C.分箱方式会影响 PSI 数值← 正确答案
  • D.PSI 为零说明特征毫无信息

答案:ABC。PSI 越高分布差异越大、按单变量计算、分箱方式影响数值,均正确。PSI 为零只说明分布没漂移,与特征是否有预测信息无关——这是新手常踩的坑。