一、实时特征系统概述
大家好,我是这次课程的主讲。今天咱们聊聊实时特征系统——这个在推荐、风控、搜索场景里越来越绕不开的话题。
先问个问题:你平时刷抖音、点外卖、用支付软件的时候,有没有想过——为什么你一打开App,推荐的内容就那么“懂你”?为什么刚输错一次密码,风控系统就立刻弹出了验证?
答案其实就藏在两个字里:实时。
什么是实时特征
实时特征,说白了就是从数据产生到特征可用,延迟极短的特征。这个“极短”有多短?
- 推荐场景:毫秒到秒级
- 风控场景:毫秒级
- 搜索场景:秒级到分钟级
我个人的习惯是,把实时特征理解为“当前时刻的状态快照”。比如用户刚刚点击了哪个商品、当前IP地址归属地、最近5秒内的行为序列——这些信息一旦产生,就要立刻变成特征,喂给模型。
核心定义:实时特征 = 数据产生 → 特征计算 → 模型推理,整个链路延迟在秒级甚至毫秒级完成。
实时特征与离线特征的区别
很多同学刚接触时容易混淆:离线特征和实时特征,不都是特征吗?有什么区别?
嗯,这里要注意。它们虽然都叫“特征”,但计算时机、数据范围、更新频率完全不同。
| 对比维度 | 离线特征 | 实时特征 |
|---|---|---|
| 计算时机 | T+1 或周期性批量计算 | 事件触发,毫秒/秒级响应 |
| 数据范围 | 全量历史数据 | 当前窗口 + 最近状态 |
| 更新频率 | 天级 / 小时级 | 每次请求 / 每次事件 |
| 存储介质 | HDFS / Hive / 数仓 | Redis / 内存 / 流计算引擎 |
| 典型特征 | 用户近7天购买次数、商品历史评分 | 用户当前浏览商品ID、最近10秒点击序列 |
| 模型使用方式 | 训练 + 离线评估 | 在线推理 + 实时更新 |
我在项目中遇到过不少团队,离线特征做得漂漂亮亮,一上线就发现模型效果“水土不服”。为什么?因为离线特征无法捕捉当前时刻的上下文。你想想看,用户上一秒刚搜了“羽绒服”,下一秒你还在推短袖——这不就尴尬了吗?
我的经验:离线特征负责“长期画像”,实时特征负责“当前意图”。两者不是替代关系,而是互补关系。好的系统,一定是离线 + 实时协同工作。
实时特征系统的应用场景
聊完了概念,咱们看看实际场景。实时特征系统在三个领域用得最多:推荐、风控、搜索。
推荐场景
推荐系统是实时特征的“头号玩家”。
- 实时行为序列:用户刚刚点击了哪些商品、停留了多久、是否加入购物车
- 实时上下文:当前时间、地理位置、设备类型、网络环境
- 实时统计特征:最近5分钟点击率、最近1小时购买转化率
我记得有一次做电商推荐,离线模型AUC很高,但线上CTR就是上不去。后来排查发现——用户从搜索到点击,中间隔了30秒,而离线特征用的是昨天的数据。换成实时特征后,CTR直接涨了12%。
避坑指南:我曾经踩过一个坑——实时特征计算延迟没控制好,导致特征和label时间错位。模型学到的全是“过去预测未来”,线上效果一塌糊涂。后来我强制要求:实时特征的时间戳必须和请求时间戳对齐,误差不能超过100ms。
风控场景
风控对实时性的要求,比推荐还要苛刻。
- 实时设备指纹:当前设备的IP、MAC、浏览器指纹
- 实时行为模式:短时间内操作频率、操作路径异常检测
- 实时关联网络:当前交易对手、设备关联的其他账号
你想想看,一笔支付从发起到完成,可能只有几百毫秒。风控模型必须在这个窗口内完成特征计算 + 模型推理。慢了,要么用户体验受损,要么风险已经发生。
我参与过一个支付风控项目,最初用离线特征做规则引擎,每天只能更新一次黑名单。结果呢?攻击者凌晨3点发起攻击,我们的规则要到早上8点才生效。后来上了实时特征系统,延迟降到50ms以内,拦截率提升了3倍。
搜索场景
搜索场景的实时特征,更侧重于查询意图的即时理解。
- 实时查询特征:当前query的embedding、query长度、是否包含热点词
- 实时用户状态:当前会话内的历史查询、点击反馈
- 实时文档特征:文档的实时热度、实时点击率
举个例子:你在搜索框里输入“iPhone”,还没敲完,系统就已经开始计算“iPhone 16”的实时热度了。这就是实时特征在起作用。
知识体系总览
为了让你对本章内容有个整体印象,我画了一张图。它把实时特征的核心概念、与离线特征的对比、以及三大应用场景串在了一起。
这张图把本章的核心脉络梳理清楚了。你可以看到:实时特征系统从定义出发,通过与离线特征的对比明确自身定位,最终落地到推荐、风控、搜索三大场景。后面的章节,我们会逐一深入每个环节。