当前位置: 首页 > news >正文

生产级AI/ML特征存储平台:Feast全面使用指南 — Use Cases Third party integrations FAQ

生产级AI/ML特征存储平台:Feast全面使用指南 — Use Cases & Third party integrations & FAQ

Feast(Feature Store)是一个开源特征存储平台,通过帮助团队定义、管理、验证和提供生产级AI/ML特征,助力大规模生产机器学习系统的运营。

文中内容仅限技术学习与代码实践参考,市场存在不确定性,技术分析需谨慎验证,不构成任何投资建议。

Feast

应用场景

本文涵盖 Feast 的常见应用场景,以及特征存储如何优化 AI/ML 工作流程。

推荐引擎

推荐引擎需要与用户、商品及其交互相关的个性化特征数据。Feast 可通过以下方式提供支持:

  • 特征数据管理:存储并提供用户偏好、商品特征和交互历史
  • 低延迟服务:为动态推荐提供实时特征
  • 时间点准确性:确保训练与服务数据一致性,避免数据泄漏
  • 特征复用:允许多个推荐模型共享相同特征定义

示例:用户-商品推荐

典型推荐引擎可能需要以下特征:

  • 用户特征:人口统计、偏好、历史行为
  • 商品特征:分类、属性、流行度评分
  • 交互特征:过往用户-商品交互记录、评分

Feast 允许您一次性定义这些特征,并在不同推荐模型中复用,确保训练与服务环境的一致性。

驾驶员评分教程

风险评分卡

风险评分卡(如信用风险、欺诈风险、营销倾向模型)需要具备历史上下文的实体数据全景视图。Feast 通过以下方式提供帮助:

  • 特征一致性:确保所有模型使用相同特征定义
  • 历史特征检索:生成具有正确时间点特征值的训练数据集
  • 特征监控:跟踪特征分布以检测数据漂移
  • 治理能力:维护受监管环境中特征使用的审计追踪

示例:信用风险评估

信用风险模型可能使用以下特征:

  • 交易历史模式
  • 账户年龄与状态
  • 还款历史特征
  • 外部征信数据
  • 就业与收入验证

Feast 使您能够整合不同来源的这些特征,同时保持数据一致性和新鲜度。

AWS 实时信用评分

GCP 欺诈检测

NLP / RAG / 信息检索

自然语言处理(NLP)和检索增强生成(RAG)应用需要高效的文本嵌入存储与检索。Feast 通过以下方式支持这些场景:

  • 向量存储:存储并索引嵌入向量以实现高效相似性搜索
  • 文档元数据:将嵌入与元数据关联以实现情境化检索
  • 检索扩展:为实时应用提供低延迟向量服务
  • 版本控制:跟踪嵌入模型和文档集合的变更

示例:检索增强生成

RAG 系统可利用 Feast 实现:

  • 在向量数据库中存储文档嵌入和分块
  • 检索与用户查询上下文相关的文档
  • 将文档检索与实体特定特征相结合
  • 扩展到大规模文档集合

Feast 通过提供存储和查询向量嵌入的简单 API,显著简化了数据检索的可用性。

Feast RAG 教程

时间序列预测

Feast 通过以下方式支持需求预测、库存管理和异常检测等时间序列预测场景:

  • 时序特征管理:存储和检索时间绑定特征
  • 特征工程:创建基于时间的聚合和转换
  • 一致性特征检索:确保训练和推理使用相同特征定义
  • 历史数据回填能力:生成模型训练所需的历史特征

示例:需求预测

需求预测应用通常使用以下特征:

  • 具有时间模式的历史销售数据
  • 季节指标和节假日标记
  • 天气数据
  • 价格变动与促销信息
  • 外部经济指标

Feast 使您能够整合这些多样化数据源,并为批量训练和在线推理提供可用性。

图像与多模态处理

虽然 Feast 最初为结构化数据设计,但也可通过以下方式支持多模态应用:

  • 存储特征元数据:跟踪图像路径、嵌入和元数据
  • 向量嵌入:存储图像嵌入用于相似性搜索
  • 特征融合:将图像特征与结构化数据特征结合

Feast 的核心价值

在所有应用场景中,Feast 提供以下核心优势:

  1. 训练与服务一致性:通过相同特征定义消除训练-服务偏差
  2. 特征复用:一次定义特征即可跨模型复用
  3. 可扩展特征服务:为生产应用提供低延迟特征服务
  4. 特征治理:维护包含元数据的中心化特征注册表
  5. 数据新鲜度:通过批流处理保持在线特征更新
  6. 降低运维复杂度:跨模型标准化特征访问模式

通过使用 Feast 构建特征存储,团队可专注于模型开发而非数据工程挑战,加速 ML 应用的生产部署。

第三方集成

我们与众多工具和技术集成,以便您在现有技术栈中使用Feast。其中许多集成以插件形式维护在Feast主仓库中。

此处未列出您所需的离线存储或在线存储?请查看我们的指南以自定义实现!

  • 添加新离线存储
  • 添加新在线存储

集成列表

参见功能与路线图

准入标准

若要使某个插件集成被重点展示,必须满足以下要求:

  1. 该插件必须具备测试。理想情况下应使用Feast通用测试(参见此指南中的示例),但自定义测试也可接受
  2. 该插件必须具备基本的使用文档
  3. 贡献者需与维护者合作完成基础代码审查(例如确保实现方式与核心Feast实现大致匹配)

若要将某个插件集成合并至Feast主仓库,必须满足以下要求:

  1. PR必须通过所有集成测试。必须更新通用测试(专为自定义集成设计的测试)以验证该集成
  2. 提供该集成的使用文档和教程
  3. 贡献者(或其他人)同意接管所有文件,并负责后续维护
  4. 若插件由组织而非个人贡献,该组织应提供集成测试所需的基础设施(或云服务额度)

常见问题解答

没有找到您的问题?

我们鼓励您在 GitHub 上提问。更好的做法是,当您获得解答后,可以通过 pull request 将答案添加到本 FAQ 中!

入门指南

在微服务架构中运行 Feast,应该使用哪种编程语言?

我们推荐使用 Python。

是否有 Feast 的典型使用案例?

快速入门 是了解 Feast 最简便的方式。更详细的教程请参见 教程 页面。

核心概念

特征视图必须包含实体吗?

不需要,存在 不包含实体的特征视图。

Feast 如何处理模型或特征版本控制?

Feast 期望每个模型版本对应不同的特征服务。

特征视图在被特征服务使用后应保持不可变且不可删除(直到特征服务被移除)。未来版本中,feast planfeast apply 命令会对此类操作抛出错误。

数据源与离线存储有什么区别?

数据源本身定义了存储特征的基础数据仓库表。离线存储接口定义了使任意计算层与 Feast 协同工作所需的 API(例如:从数据源拉取指定特征视图的特征,将数据集结果导出为不同格式)。详见 数据源 和 离线存储。

能否混合使用不同云服务商的离线存储和在线存储?

可以。例如可以使用 BigQuery 作为离线存储,Redis 作为在线存储。

功能特性

如何在未提供实体数据框的情况下运行 get_historical_features

当前版本 Feast 暂不支持此功能。我们欢迎对此功能的贡献,参见 GitHub 问题。

Feast 是否提供安全或访问控制功能?

当前 Feast 仅支持 Provider 环境的基础访问控制(例如 GCP 和 AWS 权限)。建议锁定注册表文件仅允许 CI/CD 管道修改,以防止数据科学家等用户意外修改注册表导致数据丢失。

Feast 是否支持流式数据源?

支持。早期版本使用 Feast Spark 管理流式数据源接入,当前版本支持 基于推送的接入方式。Feast 还定义了与流式数据源深度集成的 流处理器。

Feast 是否支持特征转换?

支持以下几种转换类型:

  • 按需转换(参见 文档)
    • 这些 Pandas 转换会在调用 get_historical_features 时在批数据上运行,在调用 get_online_features 时在线执行
    • 注意:如果使用推送源接入流式特征,这些转换也会实时执行
  • 批处理转换(开发中,参见 RFC)
    • 包含基于 SQL 和 PySpark 的批数据源转换
  • 流式转换(RFC 制定中)

Feast 是否有 Web 界面?

有。参见 文档。

Feast 是否支持复合主键?

特征视图可以通过多个实体定义。由于每个实体都有唯一的 join_key,使用多个实体即可实现复合主键效果。

Feast 的性能/延迟特性如何?

Feast 设计支持大规模数据和低延迟在线服务。详见 基准测试博客。

Feast 是否支持嵌入向量和列表特征?

支持以下形式:

  • 简单列表/密集嵌入:
    • BigQuery 原生支持列表类型
    • Redshift 不支持列表类型,需序列化为字符串(如 JSON 或 protocol buffers)
    • Feast 的在线存储实现将特征序列化为 protocol buffers 并支持列表类型(参见 参考)
  • 稀疏嵌入(如 one-hot 编码)
    • 有效方法是将 TensorFlow 稀疏张量 序列化为 protobuf 或字符串

Feast 是否支持 X 存储引擎?

支持的离线存储和在线存储列表分别参见 此处 和 此处。路线图 展示了计划支持的存储引擎。我们的 Provider 抽象支持扩展,可自行实现离线/在线存储。定制指南参见 此处。

能否为离线存储和在线存储使用不同云服务?

可以。在 feature_store.yaml 中使用 GCP 或 AWS Provider 主要设置默认存储和注册表文件位置,实际可覆盖为不同云服务。

数据源与离线存储有何区别?

数据源与离线存储紧密相关但有区别:

  • 离线存储控制 Feast 与历史特征存储的通信方式
  • 数据源指向数据存储中的具体表(或查询)

其他区别:

  • 数据源可针对具体项目(如推荐系统),离线存储是基础设施级连接器(如 Snowflake)
  • 单个项目可定义多个数据源,但只有一个离线存储
  • 用户需要定义数据源,但只需使用/配置现有离线存储

如何添加自定义在线存储?

请参考 此指南。

能否使用相同存储引擎作为离线/在线存储?

可以。例如 PostgreSQL 连接器可同时作为离线存储、在线存储和注册表。

Feast 是否支持 S3 作为数据源?

支持两种方式:

  • 通过 Redshift Spectrum 使用 S3(AWS 教程),参考 Feast 与 Snowflake/GCP/AWS 集成指南。参见 演示视频
  • FileSource 中使用 s3_endpoint_override(适合快速验证场景)

Feast 是否计划支持 X 功能?

请查看 路线图。

项目相关

如何为 Feast 做贡献?

社区贡献指南参见 此处 和 此处。

Feast 0.9(旧版)

Feast 0.9 与 0.10+ 有何区别?

Feast 0.10+ 更轻量、扩展性更强,设计更简单易用。详见 对比文档。

如何从 Feast 0.9 迁移到 0.10+?

请参考 迁移文档。如有疑问建议,欢迎在文档中留言!

Feast Core、Feast Serving 和 Feast Spark 的未来计划?

Feast Core 和 Serving 原属 Feast Java 组件。我们将继续支持 Feast Serving,但不再支持 Feast Core(改用对象存储注册表),也不再支持 Feast Spark。详细计划参见 路线图。

相关文章:

  • TransmittableThreadLocal:穿透线程边界的上下文传递艺术
  • PostgreSQL 的 pg_advisory_lock_shared 函数
  • 机器学习 day01
  • 【金仓数据库征文】金融行业中的国产化数据库替代应用实践
  • 抖音视频上传功能测试全维度拆解——从基础功能到隐藏缺陷的深度挖掘
  • 【25软考网工】第六章(2)信息加密技术
  • 机器视觉光源的特点及选择应用
  • springboot3+vue3融合项目实战-大事件文章管理系统-更新用户信息
  • [亲测搭建可用]LoliMeow主题二次元风博客WordPress主题模板
  • 基于GF域的多进制QC-LDPC误码率matlab仿真,译码采用EMS算法
  • Go语言超时控制方案全解析:基于goroutine的优雅实现
  • [面试]SoC验证工程师面试常见问题(七)低速接口篇
  • Webug4.0靶场通关笔记-靶场搭建方法(3种方法)
  • 【Oracle认证】MySQL 8.0 OCP 认证考试英文版(MySQL30 周年版)
  • 通过user-agent来源判断阻止爬虫访问网站,并防止生成[ error ] NULL日志
  • 《自动驾驶封闭测试场地建设技术要求》 GB/T 43119-2023——解读
  • 简易图片编辑工具,支持抠图和替换背景
  • WordPress插件targetsms存在远程命令执行漏洞(CVE-2025-3776)
  • 2.商户查询缓存
  • 刘强东杀入自动驾驶!京东注册“Joyrobotaxi”商标
  • 中山大学人类学系原系主任冯家骏逝世,享年95岁
  • 71岁导演詹姆斯・弗雷病逝,曾执导《纸牌屋》、麦当娜MV
  • 中国天主教组织发贺电对新教皇当选表示祝贺
  • 夜读丨古代有没有近视眼?
  • 山寨“小米”智能马桶、花洒销售额过亿,被判赔3500万元
  • 越秀地产前4个月销售额约411.2亿元,达年度销售目标的34.1%