1. 课程导论与业务背景

1.1 实时风控的定义

实时风控(Real-time Risk Control)是指在用户行为发生的瞬间(毫秒至秒级),通过规则引擎、机器学习模型或混合策略,对交易、登录、信贷申请等操作进行风险识别与决策的技术体系。其核心特征是低延迟与高并发,通常要求单次决策在 100ms 内完成,且能支撑每秒数万笔请求。

关键指标: 实时风控系统通常以 P99 延迟 < 200ms、吞吐量 > 10,000 TPS 作为工程基线。

1.2 典型业务场景

实时风控覆盖金融、电商、社交等多个领域,以下三个场景最具代表性:

场景 风险类型 决策时效 典型特征
支付风控 盗刷、洗钱、虚假交易 < 100ms 高频、小额、跨设备
信贷风控 欺诈申请、多头借贷、身份冒用 < 1s 低频、大额、强时效
反欺诈 账户盗用、恶意注册、刷单 < 500ms 行为异常、设备指纹关联
业务视角: 支付场景更关注交易链路中的实时拦截;信贷场景则侧重申请阶段的欺诈识别;反欺诈往往需要跨场景的全局图谱关联。

1.3 实时与离线模型训练集的本质区别

这是本课程最核心的概念基础。实时模型训练集与离线模型训练集在数据来源、特征时效、标签获取、样本分布四个维度存在根本差异:

  • 数据来源: 离线训练集通常来自 Hive/数仓的批量 T+1 数据;实时训练集则依赖 Kafka/Flink 的流式数据,包含当前会话的实时行为。
  • 特征时效: 离线特征可回溯历史 30 天甚至更久;实时特征仅能使用当前请求前 5 分钟内的滑动窗口统计。
  • 标签获取: 离线标签可通过事后确认(如逾期 30 天)获得;实时标签必须在请求发生后极短时间内(秒级)通过规则或人工标注生成。
  • 样本分布: 离线训练集通常经过采样平衡;实时训练集必须保持原始分布,否则模型在线上会出现概率偏移。
实时 vs 离线模型训练集核心差异 离线训练集 数据来源:Hive / 数仓 T+1 批量 全量历史数据,可回溯 30 天+ 特征时效:历史窗口统计 可跨天、跨周聚合 标签获取:事后确认 逾期 30 天 / 人工审核 样本分布:采样平衡 过采样 / 欠采样后训练 实时训练集 数据来源:Kafka / Flink 流式 当前会话实时行为 特征时效:滑动窗口 仅前 5 分钟 / 前 10 笔 标签获取:秒级反馈 规则判定 / 实时标注 样本分布:保持原始分布 避免概率偏移

1.4 为什么需要专门构建实时训练集

许多团队直接复用离线训练集训练模型并部署到实时场景,这会导致严重的特征穿越和分布漂移问题。实时训练集必须满足以下约束:

  1. 特征一致性: 训练时使用的特征必须与线上实时请求时能获取的特征完全一致,不能使用未来信息。
  2. 标签时效性: 标签必须在决策后短时间内(秒级)确定,不能依赖 T+1 的离线标签。
  3. 样本保真性: 训练集必须保留实时流中的原始样本分布,不做全局采样,否则模型概率校准会失效。
  4. 数据新鲜度: 实时训练集通常只保留最近 7~30 天的数据,避免旧分布干扰当前模型。
常见误区: 将离线训练集直接用于实时模型,会导致线上 AUC 衰减 5%~15%,且模型对突发风险(如新欺诈模式)完全无响应。

1.5 实时训练集构建的挑战

构建实时训练集并非简单的“把离线流程搬到流上”,它面临以下工程与算法挑战:

挑战维度 具体问题 影响
数据延迟 实时特征计算需要毫秒级完成,无法使用复杂聚合 特征维度受限,模型表达能力下降
标签稀疏 欺诈样本占比通常 < 0.1%,实时标注成本高 正样本不足,模型难以收敛
特征穿越 流式数据乱序、重试导致未来特征泄露 模型线上效果远低于离线评估
存储成本 实时特征需要高频写入,存储开销是离线的 10 倍+ 基础设施成本激增