FeatInsight: 基于 OpenMLDB 的特征平台助力高效的特征管理和编排

OpenMLDB 社区新开源了特征平台产品 - FeatInsight([github.com/4paradigm/F...](https://link.juejin.cn?target=https%3A%2F%2Fgithub.com%2F4paradigm%2FFeatInsight%25EF%25BC%2589%25EF%25BC%258C%25E6%2598%25AF%25E4%25B8%2580%25E4%25B8%25AA%25E5%2585%2588%25E8%25BF%259B%25E7%259A%2584%25E7%2589%25B9%25E5%25BE%2581%25E5%25AD%2598%25E5%2582%25A8(Feature "https://github.com/4paradigm/FeatInsight),是一个先进的特征存储(Feature") Store)服务,基于 OpenMLDB 数据库实现高效的特征管理和编排功能。FeatInsight 特征平台提供简便易用的 UI 界面,用户可以进行机器学习特征开发的全流程,包括数据的导入、查看、编辑,特征的生成、存储、上线等功能。 针对离线场景中,用户可以选择特征生成离线样本用于后续的机器学习开发;针对在线场景中,用户可以选择特征创建特征服务,实现实时特征计算。

核心特性

FeatInsight 的主要目的是解决在机器学习项目中常见的问题,包括简便快捷地进行特征提取、转换、组合、选择以及血缘管理,特征的重用和共享,特征服务版本控制,以及确保在训练和推理过程中使用的特征数据的一致和可靠。一些范例应用场景包括:

  • 上线在线特征服务:提供本地化部署的高性能特征存储和在线特征计算功能。
  • 搭建 MLOps 平台:基于 OpenMLDB 在线离线一致性快速实现完成的 MLOps 工作流。
  • 搭建 FeatureStore 平台:提供完备的特征创建、删除、上线、血缘管理等功能,低成本实现本地 FeatureStore 服务。
  • 复用开源特征方案:在本地复用开源共建的特征数据集,实现特征重用和共享。
  • 机器学习业务组件:为推荐系统、自然语言处理、金融医疗等领域机器学习模型提供一站式特征工程落地方案。 更多内容请参见 FeatInsight 文档

快速开始

这里我们将通过一个简单的例子来演示如何简便快速地使用 FeatInsight 特征平台。使用流程大致包括导入数据、创建特征、离线场景的使用,以及在线场景的使用四个步骤。

  1. 导入数据

首先创建数据库test_db表,和数据表test_table,可以直接执行 SQL 来创建。

sql 复制代码
CREATE DATABASE test_db;
CREATE TABLE test_db.test_table (id STRING, trx_time DATE);

也可以在 FeatInsight 的"数据导入"前端页面直接创建。

为了测试方便,我们准备一个 CSV 文件并保存到 /tmp/test_table.csv。注意,这里本地是 OpenMLDB TaskManager 服务器的本地路径,一般也是 FeatInsight 的服务器路径,需要提前登陆编辑。

bash 复制代码
id,trx_time
user1,2024-01-01
user2,2024-01-02
user3,2024-01-03
user4,2024-01-04
user5,2024-01-05
user6,2024-01-06
user7,2024-01-07

其中,在线数据可以使用 LOAD DATAINSERT 命令来导入,这里演示通过点击 "使用 CSV 导入" 来执行。

通过前端页面可以预览已导入的在线数据。

离线数据也可以使用 LOAD DATA 命令或前端选择"使用 CSV 导入"来执行。

等待半分钟后导入任务完成,可以查看任务的状态以及日志。

  1. 创建特征

数据导入完成后,可以开始创建特征,本示例使用 SQL 来创建两个基本特征。

vbnet 复制代码
SELECT id, dayofweek(trx_time) as trx_day FROM test_table

在"特征"页面选择"创建特征",填写特征组名称以及 SQL 语句。

创建完成后,可以在"特征"页面查看成功创建的特征。

点击特征名称,进入特征详情页,可以查看特征基础信息,并提供特征预览功能。

  1. 生成离线样本

在"离线场景"页面,可以选择导出离线样本,只要选择刚创建好的特征和提供导出路径即可,前端还提供了"更多选项"可以选择到处格式、运行参数等。

提交导出任务后,可以在"离线样本"详情页查看导出信息,大概半分钟后成功完成。

在本地即可查看导出的样本文件内容。为了验证 FeatInsight 特征平台提供的在线离线一致性,可记录离线特征结果,并于后面的在线特征计算做比较。

  1. 创建在线服务

在"特征服务"页面可以选择创建特征服务,同样是只需要选择上线的特征,以及提供特征服务名称和版本即可。

创建成功后,可以在特征服务详情页查看到服务的基本信息,上线包含的特征列表,以及依赖数据表的血缘关系等。

最后通过"请求特征服务"页面,我们可以输入测试数据进行在线特征计算,并且和离线样本的特征结果进行比对。

这就是使用 FeatInsight 特征平台的完整流程,通过编写简单的 SQL 即可实现在线和离线的特征定义,通过选择不同的特征,甚至是组合不同特征组的特征,即可实现快速的特征复用和上线,并且对比离线和在线的计算结果验证了特征计算的一致性。

如果您想进一步了解 FeatInsight 的使用方式及范例场景,可参照应用案例

附录:高级功能

除了特征工程的基本功能之外,FeatInsight 特征平台还提供了高级功能以方便用户进行特征工程的开发:

  • SQL 实验室:提供了 OpenMLDB SQL 语句的调试和执行功能,方便用户执行任意 SQL 操作并调试特征抽取的 SQL 语句。详情请见这里
  • 预计算特征:可以将通过外部批计算或流式处理后得到的特征值直接存入OpenMLDB在线表中,然后访问在线表数据进行读写特征。详情请见这里

相关阅读

相关推荐
Chef_Chen3 分钟前
从0开始学习机器学习--Day19--学习曲线
人工智能·学习·机器学习
hummhumm11 分钟前
Oracle 第29章:Oracle数据库未来展望
java·开发语言·数据库·python·sql·oracle·database
计算机科研狗@OUC15 分钟前
【TMM2024】Frequency-Guided Spatial Adaptation for Camouflaged Object Detection
人工智能·深度学习·目标检测·计算机视觉
悟兰因w22 分钟前
论文阅读(三十五):Boundary-guided network for camouflaged object detection
论文阅读·人工智能·目标检测
大山同学24 分钟前
多机器人图优化:2024ICARA开源
人工智能·语言模型·机器人·去中心化·slam·感知定位
Topstip31 分钟前
Gemini 对话机器人加入开源盲水印技术来检测 AI 生成的内容
人工智能·ai·机器人
gavin_gxh36 分钟前
ORACLE 删除archivelog日志
数据库·oracle
一叶飘零_sweeeet39 分钟前
MongoDB 基础与应用
数据库·mongodb
小嗷犬1 小时前
【论文笔记】VCoder: Versatile Vision Encoders for Multimodal Large Language Models
论文阅读·人工智能·语言模型·大模型·多模态
Struart_R1 小时前
LVSM: A LARGE VIEW SYNTHESIS MODEL WITH MINIMAL 3D INDUCTIVE BIAS 论文解读
人工智能·3d·transformer·三维重建