详细内容或原文请订阅后点击阅览
从头开始的特征存储:最小的工作实现
构建每个功能商店所需的五个组件,然后看看人工智能在哪里改变了设计。
来源:KDnuggets简介
大多数团队都经历了一番艰难才发现他们需要一个特征存储。欺诈模型在笔记本中发挥作用,并在生产中悄然中断。支持代理给出通用答案,因为它不知道用户是谁。推荐管道在三个作业中重复相同的“30 天支出”计算,其中两个作业不一致。
特征存储是解决这些问题的基础设施。它定义一次特征,将它们存储为两种形状(一种用于训练,一种用于服务),并保持两者同步。我们将使用 DuckDB、Parquet、Redis 和 FastAPI 使用 Python 从头开始构建一个最小的数据库。然后我们将看看人工智能应用程序如何改变我们实际使用它的用途。
完整的代码足够短,我们将逐步介绍每个组件。
特征存储实际解决了什么问题
经典的观点是训练-服务偏差:构建训练集的 SQL 与推理时运行的代码路径不同,因此值会发生漂移。这个问题是真实存在的,离线加在线拆分是标准解决方案。
现代音调更广泛。大型语言模型 (LLM) 代理和检索增强生成 (RAG) 管道需要在推理时针对每个请求在 10 毫秒内获得结构化用户上下文。法学硕士不记得用户是谁。如果我们想要个性化的输出,我们必须将用户的计划层、最近的活动和帐户状态注入到提示中,并且我们需要一个能够快速且一致地返回这些值的系统。这正是特征商店的在线商店和检索 API 为我们提供的功能。
所以我们为两者构建。相同的五个组件处理预测机器学习用例和 LLM 上下文用例。
