返回 S01~S90 教材库
S05 · 总 Day 095教材已备 ≠ 学习已完成

S05:Event Time、Point-in-Time、Lineage、Freshness 与 Skew

数据平面正确性来自时间语义、来源追踪、数据新鲜度与训练/服务一致性的共同约束,任何单一指标都不能独立保证决策可靠。

2026-11-27W1概念连接、freshness、training-servingskew

内容类型:预习教材(不代表已完成)
日期:2026-11-27
阶段:P2 · AI Systems Engineering 90
总路线:Day 095 / 360
周次 / 节奏:W1 · 周五知识整理
状态:教材已备;学习未完成
主题:W1 概念连接、freshness、training-serving skew

一句话定义

数据平面正确性来自时间语义、来源追踪、数据新鲜度与训练/服务一致性的共同约束,任何单一指标都不能独立保证决策可靠。

学习目标

  1. 能把本周五组概念画成因果关系,而不是孤立背诵定义。
  2. 能区分 freshness、latency、completeness 和 correctness。
  3. 能解释 training-serving skew 的数据、代码和时间三类来源。
  4. 能用低压力方式整理仍不清楚的问题,不创建考试或补考任务。

核心知识

Event time 决定事实属于哪个业务时刻;point-in-time correctness 限制在该时刻可以使用哪些已可用信息;lineage 说明这些信息从哪里来、如何变换;freshness 描述当前值距其有效更新的时间;skew 则表示训练和服务阶段的特征定义、数据分布或计算路径不一致。

Freshness 并非越新越好,而应相对业务更新频率和决策风险定义。例如每日更新的客户风险画像在数小时内可能仍有效,毫秒级行情则完全不同。数据延迟低不等于完整:一个源很快到达、另一个源迟到,整体特征仍可能缺失。完整也不等于正确,错误来源可以完整而及时地传播。

Training-serving skew 常见于三类差异:训练用离线 SQL,线上用另一段服务代码;训练数据用事后修正值,线上只有当时值;训练阶段缺失值和类别编码与服务不同。减少 skew 的方法包括共享定义、统一变换 artifact、point-in-time retrieval、版本记录和线上离线对比,但不能假定完全消除分布变化。

机制与推导

设特征真实有效时间为 t_e,最后更新时间为 t_u,决策时间为 t_d。可定义简单 age:

[ age=t_d-t_u ]

只有当 age ≤ freshness_SLOavailable_time ≤ t_d 时,特征才满足本场景时效前提。训练/服务 skew 可用同一组样本的离线与在线变换差异观察:

[ skew_j=distance(f^{offline}_j(x), f^{online}_j(x)) ]

数值特征可比较绝对/相对误差,类别特征可比较不一致率。距离小只说明实现接近,不证明特征对任务有效。

概念图应同时包含失败传播:迟到→point-in-time join 错误→训练泄漏;lineage 缺失→无法定位;freshness 失效→线上输入过期;离线/在线变换分叉→skew→质量回退。

最小练习或观察步骤

  1. 不看笔记,先用自己的话写五个术语,每个限定两句。
  2. 画一张概念图,至少包含三个因果箭头和两个“不能证明”边界。
  3. 从 S02~S04 的合成事件中选一条,标注 event、available、update 和 decision time。
  4. 写一个训练特征与线上特征不一致的具体例子,指出应在哪一层发现。
  5. 将最多三个模糊点写入复习清单;本日不要求补完。

常见误区与边界

  • 把 freshness 仅当数据管道延迟,忽略源系统本身更新频率。
  • 认为共享 feature store 后一定没有 skew;调用版本和在线降级仍可能不同。
  • 把 lineage 当成正确性证明,或把 point-in-time 正确当成模型有效性证明。
  • 周总结变成背诵测验和大量文档;这里只需建立连接。
  • 看到概念不会就扩大学习范围,而不先写清具体疑问。

系统场景连接

授信决策中的收入、余额、逾期与设备风险可能有不同更新频率。即便模型版本固定,某个源延迟也会改变输入组合。若训练集使用月末修正余额而线上使用授权时余额,便形成时间 skew。明确五概念关系,才能在后续 registry 中把数据和变换也纳入 AI 版本,而不是只登记模型权重。

自检问题

  1. freshness、latency 和 completeness 为什么不能互换?
  2. point-in-time 正确的数据是否必然新鲜?
  3. training-serving skew 至少有哪些不同来源?
  4. lineage 完整时仍可能发生什么质量问题?

专业课程对齐

  • 阅读 Feast 官方文档 的 historical features、online store 与 point-in-time correctness,把离线训练和在线读取画在同一时间线上。
  • 阅读 Stanford CS329S 的 data shift、monitoring 与 production ML 内容,重点分清输入变化、实现 skew 和模型退化。
  • 阅读 Full Stack Deep Learning 2022 的 data management 与 monitoring 讲次,将 freshness 信号连接到系统故障而非仅模型指标。

深入学习提示

用“一个事实、四个时间、两个实现”做精读主线:事实发生、可用、更新、决策的时间,以及离线和在线两条计算路径。每个课程概念都要落到这张图上。尝试给出反例:数据很新但错误、point-in-time 正确但缺失、离线在线一致但模型无用。能说清反例,比记住更多工具名称更接近系统工程能力。

学后填写区

  • 我的五概念定义:
  • 最关键的三个连接:
  • 一个 skew 场景:
  • 最多三个复习问题:
  • 本周最有帮助的最小练习:
重点主线 · H01 · 任务契约与上下文架构本周配套机制实验 · W1 · 历史数据:当时发生,不等于当时已知 →详细讲义、离线示例与源码;按需要选读,不新增必交任务。
本页是未来 P2 的预习教材。等 P1 完成并正式进入 P2 后,再填写真实理解、练习结果和不确定项;现在阅读不会改变P1 唯一进度账本