返回 Papers
AI 底层逻辑 / 经典论文

Feature Stores / Real-Time ML:Feast、Michelangelo 与实时决策

Feature Store 的本质不是“给模型读取特征的缓存”,而是把模型需要的业务事实做成可定义、可版本化、可回放、可服务、可监控、可审计的数据产品。

239ai-foundations/papers/37-feature-stores-real-time-ml-feast-michelangelo.md

Feature Stores / Real-Time ML 解读

Source Anchors

SourceLink用途
Feast docshttps://docs.feast.dev/理解开源 feature store 的 entity、feature view、offline/online serving(在维护的活文档,访问日期: 2026-07-01)
Feast GitHubhttps://github.com/feast-dev/feast理解工程边界、注册表、provider 和 serving 模式(活跃仓库,访问日期: 2026-07-01)
Uber Michelangelohttps://www.uber.com/blog/michelangelo-machine-learning-platform/理解大规模 ML 平台、特征、训练、部署和监控(博客 2017-09,经典案例)
Metaflow docshttps://docs.metaflow.org/理解 ML/data workflow、版本化、实验和生产流水线(在维护的活文档,访问日期: 2026-07-01)
NIST AI RMFhttps://www.nist.gov/itl/ai-risk-management-framework把实时 ML 纳入治理、测量、监控和风险管理(AI RMF 1.0 发布 2023-01)

核心导读

Feature Store 的本质不是“给模型读取特征的缓存”,而是把模型需要的业务事实做成可定义、可版本化、可回放、可服务、可监控、可审计的数据产品。

实时 AI 决策失败往往不是因为模型结构落后,而是因为训练和服务看到的特征口径不同、时间点错误、实时特征过期、实体映射不一致、默认值掩盖缺失、审计无法还原当时输入。Feature Store 要解决的是 AI 决策的事实层一致性。

从系统学习角度看,Feature Store 位于数据平台、模型平台和决策引擎之间的契约层。它不替代数据仓库、流处理或模型注册表,而是把“可用于决策的事实”定义成有 owner、SLO、用途边界和证据链的资产;评估它也不能只看查询延迟,还要看 point-in-time correctness、offline/online parity、freshness breach 对下游决策的影响。

它的治理边界也要明确:特征平台可以阻止过期、越权或未批准用途的特征进入模型,但不能替代信贷政策、欺诈策略、模型验证或人工复核。模型是否可靠、决策是否允许、客户影响是否可接受,仍需要模型风险、policy engine、decision service 和 workflow 共同承担。

问题定义

实时 ML 决策需要回答一个看似简单但极难保证的问题:

At decision time T,
what facts about entity E were actually available,
under which definitions, permissions, versions, and freshness guarantees?

没有这个能力,系统会出现:

  • 训练集使用了未来才知道的信息,离线效果虚高。
  • 线上服务用另一套代码计算特征,造成 training-serving skew。
  • 多个团队重复计算“过去 30 天交易次数”,但窗口、过滤条件和时区不同。
  • 支付欺诈模型读取 stale velocity feature,错误放行或误拒。
  • 信贷预审批无法证明某次客户决策使用了哪些特征值。
  • Agent 工具风险判断缺少实时上下文,只能依赖模型直觉。

Feature Store 解决的是特征生命周期,而不是单次特征查询。

核心原理

Feature 是带语义的业务事实,不是裸字段。一个合格特征至少需要定义:

维度含义
Entitycustomer、account、device、merchant、case、agent session
Definition业务口径和计算逻辑
Source原始系统、表、topic、owner
Timestamp semanticsevent time、processing time、available time
Freshness SLO最大可接受延迟
Null/default policy缺失、异常和默认值如何处理
Allowed use训练、服务、监控、分析、人工辅助
Prohibited use禁止用于某些自动决策或客户分群
Privacy classPII、sensitive、consent required、retention
Quality checksrange、distribution、missing、drift、schema
Consumers模型、规则、决策服务、Agent、dashboard
Version特征定义、数据源和转换逻辑版本

Feature Store 的核心结构通常包括 offline store 与 online store:

作用典型能力
Offline store历史训练、回放、验证、审计point-in-time join、backtesting、数据血缘
Online store低延迟线上服务key-value lookup、materialization、freshness control
Registry特征定义、owner、schema、版本feature view、entity、依赖关系
Materialization把批处理或流式结果推到 online storeschedule、streaming、backfill
Feature service对模型和决策服务提供特征向量权限、默认值、SLO、trace

Point-in-time correctness 是最关键的机制:

entity_id + decision_event_time
  -> join only feature values available before that time
  -> enforce event time, processing time, and available time rules

如果 6 月 1 日做信贷预审批,训练样本不能使用 6 月 5 日才出现的逾期结果。否则模型学到的是未来信息,不是当时可用事实。

系统/架构模型

实时 AI 决策应拆成事实层、预测层、策略层和行动层:

Data sources
  -> batch transforms / streaming transforms
  -> feature registry
  -> offline feature store
  -> online feature store

Request / Event
  -> identity and entity resolution
  -> feature service
       -> online lookup
       -> real-time computation
       -> freshness and default checks
  -> model service
  -> rule / policy service
  -> decision service
  -> workflow / action
  -> trace log
  -> feedback and label capture
  -> offline replay and retraining

模型服务输出 score,决策服务输出 action。两者不能混在一起:

输出责任
Feature servicefeature vector事实口径、时效、权限、质量
Model servicescore、probability、embedding预测质量和模型版本
Policy serviceallow、deny、review、mask、constraint合规、风险和业务规则
Decision serviceapprove、decline、step-up、recommend、escalate决策编排和责任边界
Workflow servicecase、task、notice、approval人机流程和副作用管理

Feature Store 和模型注册表需要绑定。模型版本必须声明依赖哪些 feature view 版本,否则线上模型变更和特征变更会互相破坏。

关键机制与取舍

机制价值取舍
Offline/online parity降低训练和服务口径差异需要统一定义和自动化验证
Point-in-time join防止未来信息泄露增加数据建模和回放复杂度
Streaming features捕捉实时行为和风险pipeline lag、成本、乱序和迟到数据更难管理
Freshness SLO明确特征可用性承诺stale 时必须有降级或阻断策略
Entity registry统一客户、账户、设备、商户映射身份解析错误会系统性污染特征
Feature reuse减少重复计算和口径分裂需要 owner 承担稳定性和变更治理
Purpose limitation防止特征被滥用到不合适决策会限制快速实验,需要审批流程
Default policy线上缺失时可控降级默认值可能掩盖数据事故,必须可监控

Freshness 不是统一标准。支付拦截可能要求秒级,KYC routing 可以分钟级,长期客户画像可以日级。关键是每个特征的时效承诺与决策风险匹配:

Feature tierFreshness常见场景stale 策略
Critical real-timeseconds支付欺诈、account takeover拒绝自动放行、step-up 或人工复核
Operational real-timeunder 1 minuteKYC routing、Agent tool gating降级到保守规则
Near real-timeminutes推荐、next-best-action使用 batch fallback 并标记低置信
Batchdaily/weekly长期画像、策略分析不用于毫秒级高风险动作

证据与控制

Feature Store 的证据不是一张特征列表,而是能回放某次决策:

decision_id
  -> entity ids
  -> event time / processing time / available time
  -> feature values and feature versions
  -> model version
  -> policy version
  -> decision output
  -> action and feedback

发布门禁应包含:

控制检查
Feature contractcritical features 有定义、owner、SLO、用途边界
Leakage check训练集通过 point-in-time 和 label cutoff 检查
Parity testoffline 与 online 抽样对比,口径差异可解释
Freshness monitoringlag、stale rate、missing rate 有报警和降级
Schema and quality checks类型、范围、分布、entity coverage、异常值
Version binding模型版本绑定 feature view 和 transformation 版本
Purpose and privacy review敏感特征有使用目的、权限和保留期限
Incident replay可重现 stale feature、缺失特征或错误默认值导致的决策

监控指标应覆盖 freshness lag、missing rate、distribution drift、schema drift、online/offline parity、entity coverage、fallback rate、default value rate 和 downstream decision impact。

金融零售场景映射

支付欺诈:

transaction event
  -> card/account/device/merchant velocity features
  -> fraud model
  -> policy rules
  -> approve / step-up / decline / manual review
  -> dispute and feedback loop

这里 velocity 特征的 freshness 比模型类型更关键。过去 5 秒同设备失败次数、同商户异常交易、同卡跨境尝试如果延迟,模型分数会失真。

信贷预审批:

  • 区分营销资格、正式审批和人工复核。
  • Bureau、收入、余额、关系深度和还款行为特征需要时间语义。
  • 训练集必须按当时可见信息回放。
  • reason code 和 adverse action 边界不能由特征平台替代,但特征平台必须提供证据。

KYC onboarding:

  • 文档上传次数、OCR 失败次数、设备/IP 异常、补件历史可作为 routing 特征。
  • 文档充分性和最终 onboarding 决策仍要进入规则、政策和人工例外处理。

Agent 工具风险:

agent wants to call tool
  -> user role + customer context + action risk + recent behavior features
  -> policy/model decision
  -> allow / require approval / block
  -> audit trace

Agent 场景的特征包括会话状态、最近失败工具调用、policy violation count、客户同意状态和当前 workflow state。

反模式

  • 把 Feature Store 做成线上缓存表,没有特征定义、owner、SLO 和版本。
  • 训练 SQL 与线上代码分离维护,导致隐性 skew。
  • 训练数据没有 event time、available time,只按最新快照 join。
  • stale critical feature 仍然返回成功,模型也不知道输入已过期。
  • 缺失值默认填 0,但没有记录 default rate 和业务含义。
  • 特征复用只追求效率,不管理用途限制、隐私分类和客户影响。
  • 模型上线时不绑定 feature view 版本,特征变更变成隐性模型变更。
  • 审计只能看到模型分数,看不到当时特征向量和特征定义。

最终心智模型

Feature Store 是 AI 决策系统的事实控制面。它回答“当时系统知道什么、按什么口径知道、能否用于这个目的、是否足够新鲜、能否被回放”。

实时 AI 的可靠性不是模型服务单独提供的。事实层保证输入可信,模型层负责预测,策略层定义边界,决策层承担行动责任,日志层保存证据。


SOTA 检查 (2026-07-01)

  • Feast 仍是开源 feature store 的事实标准(2026-07 确认):现为 Linux Foundation 项目,Red Hat 持续投入并将其纳入其 AI 平台叙事;2026 年社区基准显示 Java gRPC feature server + Redis online store 组合可在大规模数据集与高 QPS 下稳定达到亚毫秒级 p99 延迟。本篇以 Feast 作为开源锚点仍然成立。
  • 商业格局已重排:Tecton 于 2025-08(2025-08-22 公告)被 Databricks 收购,官方定位从独立 feature store 转为「为个性化 AI agent 提供实时数据」。独立商业 feature store 赛道正收敛为大数据平台的内置能力,选型时"独立 Tecton"已不再是现役选项——评估对象变成 Databricks 平台内能力 vs Feast 自建 vs 云厂商托管。
  • feature store 的消费者从模型扩展到 agent 上下文(2025-2026 趋势):Databricks 收购 Tecton 的核心理由就是给 AI agent 供给实时事实;同时向量检索/RAG 工作负载(embedding 缓存、语义检索)成为与传统 KV 特征并列的新特征形态。这与本篇「Agent 工具风险」一节把 agent session、policy violation count 等列为特征消费场景的方向一致,且该节因此更重要而非过时。
  • **架构替代路径出现:流式 SQL 数据库(如 Apache 2.0 开源的 RisingWave,2026 年讨论热点)**用增量物化视图 + PostgreSQL 协议提供"定义即持续计算"的特征供给,运维面比传统 offline/online/materialization 多组件架构更小。2026 年主流评估维度(freshness 模型、一致性保证、语义/向量能力、计算发生位置、运维面积)与本篇「关键机制与取舍」表基本同构。
  • 不随版本过时的框架性结论:point-in-time correctness、offline/online parity、freshness SLO 分层(本篇 Feature tier 表)、特征用途限制(purpose limitation)、决策回放证据链(decision_id → feature values + versions)——从 Uber Michelangelo(博客 2017-09)到 2026 年各平台,这些问题一直是必答题,本篇正文以机制而非产品版本为主线,核心内容不过时。
  • 治理锚点仍现行:NIST AI RMF 1.0(2023-01 发布)的 Govern/Map/Measure/Manage 四功能未变,仍是把实时特征监控、freshness breach 与决策影响纳入风险管理的有效框架;本仓库同主题延伸可见 docs/ai-foundations/papers/45-data-lineage-contracts-openlineage-ai-data-quality.md(数据血缘与契约)与 docs/ai-foundations/papers/60-cd4ml-mlops-continuous-delivery-ai-release.md(MLOps 发布门禁)。