Feature Store
了解什么是特征库,离线库和在线库如何防止训练与推理偏差,以及特征管理为什么对可扩展的 MLOps 至关重要。
Feature store 是用于管理、存储、发现和提供机器学习模型所用数据特征的集中式系统。它帮助团队在训练和生产推理期间应用相同的特征定义,从而减少重复工作和不一致性。例如,团队无需在多个管道中重复重建客户的“过去 30 天购买次数”数值,只需定义一次、维护其历史记录,并在模型进行预测时检索其最新值。
Feature Store 的工作原理#
特征是模型的基准可测量输入,例如账户年龄、平均交易额、检测到的对象数量或图像嵌入。原始数据通过特征工程或自动化特征提取转化为有用的模型输入。
典型的 feature store 协调几个组件:
- 特征定义: 架构描述每个特征的名称、数据类型、所有者、转换逻辑、实体键和版本。相关特征可以组织成特征组或视图,正如亚马逊云科技 SageMaker Feature Store 概念中所述。
- 离线存储: 历史值支持探索、训练、验证和批处理推理。Feast 离线存储文档解释了如何从底层数据源检索历史时间序列特征。
- 在线存储: 最新值保存在低延迟数据库中,用于实时预测。例如,Feast 在线存储通常保留每个实体键的最新值。
- 物化: 定时或流式处理过程将计算出的特征值移动到在线存储中。
- 注册表和元数据: 可搜索的定义可帮助团队发现、管理、版本化和重用特征。
实体用于标识特征所描述的对象。它可能是客户 ID、产品 ID、机器 ID 或相机 ID。事件时间戳记录了该值有效的时间,而不是它碰巧被写入的时间。
为什么 Feature Stores 很重要#
一个主要的优点是训练和服务的统一性。如果模型使用一种计算进行训练,但在生产中收到略有不同的计算,则训练服务偏差可能会降低预测质量。中心化定义和共享检索逻辑使这种情况不太可能发生。
时间感知检索同样重要。训练行应仅包含预测事件发生时存在的信息。Feast 中的时间点连接重建了这些历史值,有助于防止来自未来信息的数据泄漏。谷歌云的特征服务指南同样强调了时间敏感特征的时间戳和时间点查找。
Feature stores 还支持:
- 复用: 多个模型可以使用受信任的特征,而无需重建管道。
- 新鲜度: 流式更新可以保持实时输入的当前性。
- 治理: 所有权、血缘、访问控制和版本使特征更易于审计。
- 监控: 团队可以检测缺失值、陈旧记录、架构更改和数据漂移。
这些功能使 feature stores 成为生产 MLOps 的重要组成部分,尤其是当许多模型和团队依赖共享数据时。
Feature Stores 与相关系统的比较#
Feature store 不仅仅是另一个数据库。
- 数据湖保存大量原始或处理过的数据,而 feature store 添加了面向模型的定义、时间戳、检索逻辑和提供接口。
- 向量数据库专门用于对向量进行相似性搜索。Feature store 可以管理嵌入,但它也可以保存标量、分类、聚合和时间序列特征。
- 特征工程管道计算特征;feature store 管理并提供结果值。
- 模型注册表管理模型版本和工件,而 feature store 管理模型输入。
托管系统可能会结合其中几项职责。例如,Azure Machine Learning 托管 feature stores 提供特征发现、版本控制、物化和历史检索。
实际应用#
欺诈检测: 支付模型可以使用交易速度、平均购买金额、账户年龄和最近失败支付次数。离线存储重建历史值用于训练,而在线存储在有新交易到达时在几毫秒内提供当前值。
计算机视觉检测: 制造系统可以存储按生产线和时间戳键入的滚动缺陷计数、设备状态、班次元数据和视觉嵌入。历史特征支持重新训练,而当前值帮助部署的模型解释新的检测结果。团队可以使用 Ultralytics Platform 管理图像、标注、训练、部署和监控,而单独的 feature store 提供操作输入。
Ultralytics YOLO26 可以生成图像特征,这些特征稍后可以向实体 ID、时间戳和版本元数据注册:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
images = [
"https://ultralytics.com/images/bus.jpg",
"https://ultralytics.com/images/zidane.jpg",
]
embeddings = model.embed(images)
first_image_features = embeddings[0]
print(len(embeddings))
print(first_image_features.shape)此示例执行特征提取,而不是完整的 feature-store 管理。生产工作流将验证向量,将其与记录和事件时间相关联,存储历史版本,并使用诸如谷歌云机器学习质量指南中的实践来监控新鲜度和质量。






