#18 机器学习基础 困难

特征平台/特征仓库和数仓有什么不同?线上线下特征一致性怎么保证?

特征一致性训练推理

🎯 考察意图

算法数据/数据工程交叉题。考察是否理解 train-serve skew。

📐 回答框架

  1. 数仓服务分析;特征服务模型训练与在线推理。
  2. 一致性风险:口径、时间点、窗口计算。
  3. 手段:同一套计算、回填、监控分布差。

💬 参考答案(口述版)

数仓面向分析与报表,强调口径治理与批量可靠;特征平台面向模型,强调低延迟取特征、点查、以及训练/推理一致。

最大风险是 train-serve skew:线下训练用的特征与线上推理不一致(时间旅行错误、窗口统计实现不同、缺失值填充不同)。

保障手段:
1. 同一份特征定义与代码路径(或由同一 SQL/DSL 生成离线回填与在线计算)
2. 严格的时间对齐:用请求时刻之前的信息,禁止泄露未来
3. 离线回放线上日志做一致性校验
4. 监控线上线下特征分布漂移

加分:区分实时特征与批特征;强调数据时间(event time)而非处理时间。

🔍 关键词

train-serve skew时间对齐回放校验event time

💭 面试官可能的追问

追问 1:什么是标签泄露?

训练时用了只有「未来」才知道的信息,导致离线指标虚高、上线失效。特征必须截止在预测时刻之前。

⚠️ 常见踩坑

  • 线下用数仓宽表随便 join 造成未来泄露
  • 线上一条链路、线下另一套 SQL,长期漂移

🧠 记忆锚点

特征的生命线是训练/推理一致;用同一套定义挡住未来泄露。