特征平台/特征仓库和数仓有什么不同?线上线下特征一致性怎么保证?
特征一致性训练推理
考察意图
算法数据/数据工程交叉题。考察是否理解 train-serve skew。
回答框架
- 数仓服务分析;特征服务模型训练与在线推理。
- 一致性风险:口径、时间点、窗口计算。
- 手段:同一套计算、回填、监控分布差。
参考答案(口述版)
数仓面向分析与报表,强调口径治理与批量可靠;特征平台面向模型,强调低延迟取特征、点查、以及训练/推理一致。
最大风险是 train-serve skew:线下训练用的特征与线上推理不一致(时间旅行错误、窗口统计实现不同、缺失值填充不同)。
保障手段:
1. 同一份特征定义与代码路径(或由同一 SQL/DSL 生成离线回填与在线计算)
2. 严格的时间对齐:用请求时刻之前的信息,禁止泄露未来
3. 离线回放线上日志做一致性校验
4. 监控线上线下特征分布漂移
加分:区分实时特征与批特征;强调数据时间(event time)而非处理时间。
关键词
train-serve skew时间对齐回放校验event time
面试官可能的追问
追问 1:什么是标签泄露?
训练时用了只有「未来」才知道的信息,导致离线指标虚高、上线失效。特征必须截止在预测时刻之前。
常见踩坑
- 线下用数仓宽表随便 join 造成未来泄露
- 线上一条链路、线下另一套 SQL,长期漂移
记忆锚点
特征的生命线是训练/推理一致;用同一套定义挡住未来泄露。