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

人工智能
数据库
机器学习
0
0
OpenMLDB 社区新开源了特征平台产品 - FeatInsight(https://github.com/4paradigm/FeatInsight),是一个先进的特征存储(Feature Store)服务,基于 OpenMLDB 数据库实现高效的特征管理和编排功能。FeatInsight 特征平台提供简便易用的 UI 界面,用户可以进行[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)特征开发的全流程,包括数据的导入、查看、编辑,特征的生成、存储、上线等功能。 针对离线场景中,用户可以选择特征生成离线样本用于后续的[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)开发;针对在线场景中,用户可以选择特征创建特征服务,实现实时特征计算。 # 核心特性 FeatInsight 的主要目的是解决在[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)项目中常见的问题,包括简便快捷地进行特征提取、转换、组合、选择以及血缘管理,特征的重用和共享,特征服务版本控制,以及确保在训练和推理过程中使用的特征数据的一致和可靠。一些范例应用场景包括: - 上线在线特征服务:提供本地化部署的高性能特征存储和在线特征计算功能。 - 搭建 MLOps 平台:基于 OpenMLDB 在线离线一致性快速实现完成的 MLOps 工作流。 - 搭建 FeatureStore 平台:提供完备的特征创建、删除、上线、血缘管理等功能,低成本实现本地 FeatureStore 服务。 - 复用开源特征方案:在本地复用开源共建的特征数据集,实现特征重用和共享。 - [机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)业务组件:为推荐系统、自然语言处理、金融医疗等领域[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)模型提供一站式特征工程落地方案。 更多内容请参见 FeatInsight [文档](https://openmldb.ai/docs/zh/main/app_ecosystem/feat_insight/index.html "文档")。 # 快速开始 这里我们将通过一个简单的例子来演示如何简便快速地使用 FeatInsight 特征平台。使用流程大致包括导入数据、创建特征、离线场景的使用,以及在线场景的使用四个步骤。 1. 导入数据 首先创建数据库`test_db`表,和数据表`test_table`,可以直接执行 SQL 来创建。 ``` CREATE DATABASE test_db; CREATE TABLE test_db.test_table (id STRING, trx_time DATE); ``` 也可以在 FeatInsight 的“数据导入”前端页面直接创建。 <!--StartFragment--> ![](https://internal-api-drive-stream.feishu.cn/space/api/box/stream/download/preview/NQHNbo8Ozox88yxF9ULcQrTrn8b/?preview_type=16) <!--EndFragment--> ![image.png](https://dev-media.amazoncloud.cn/5bde9d7a90b2419c982a818b71874ac1_image.png "image.png") 为了测试方便,我们准备一个 CSV 文件并保存到 `/tmp/test_table.csv`。注意,这里本地是 OpenMLDB TaskManager 服务器的本地路径,一般也是 FeatInsight 的服务器路径,需要提前登陆编辑。 ``` 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 DATA` 或 `INSERT` 命令来导入,这里演示通过点击 “使用 CSV 导入” 来执行。 <!--StartFragment--> ![](https://internal-api-drive-stream.feishu.cn/space/api/box/stream/download/v2/cover/TE4Wb979GoMeICxrMJTcw1sUnmg/?fallback_source=1\\&height=1280\\&mount_node_token=KhFDd0Tquox4p7xbTvocM70OnDc\\&mount_point=docx_image\\&policy=equal\\&width=1280) <!--EndFragment--> ![image.png](https://dev-media.amazoncloud.cn/8360c4e07ffd41b395789e340e11d714_image.png "image.png") 通过前端页面可以预览已导入的在线数据。 <!--StartFragment--> ![](https://internal-api-drive-stream.feishu.cn/space/api/box/stream/download/v2/cover/QqxGbHCnsoEcBfxRQm7cJfGInbe/?fallback_source=1\\&height=1280\\&mount_node_token=TGwQd8kuqoX0D7xQQGBcXw82nme\\&mount_point=docx_image\\&policy=equal\\&width=1280) <!--EndFragment--> ![image.png](https://dev-media.amazoncloud.cn/b5be128819a14ab1a271eae17c3fb5a9_image.png "image.png") 离线数据也可以使用 `LOAD DATA` 命令或前端选择“使用 CSV 导入”来执行。 <!--StartFragment--> ![](https://internal-api-drive-stream.feishu.cn/space/api/box/stream/download/preview/JmgnblnUxoe27vxl4bwc2lP6ncd/?preview_type=16) <!--EndFragment--> ![image.png](https://dev-media.amazoncloud.cn/2ac58de34e334588bb454bd9d3f4b699_image.png "image.png") 等待半分钟后导入任务完成,可以查看任务的状态以及日志。 <!--StartFragment--> ![](https://internal-api-drive-stream.feishu.cn/space/api/box/stream/download/preview/IrxFboij0ocLOgxoneocpha2nh7/?preview_type=16) <!--EndFragment--> ![image.png](https://dev-media.amazoncloud.cn/5533e908457a4247a53efbccb003ac90_image.png "image.png") 2. 创建特征 数据导入完成后,可以开始创建特征,本示例使用 SQL 来创建两个基本特征。 ``` SELECT id, dayofweek(trx_time) as trx_day FROM test_table ``` 在“特征”页面选择“创建特征”,填写特征组名称以及 SQL 语句。 <!--StartFragment--> ![](https://internal-api-drive-stream.feishu.cn/space/api/box/stream/download/preview/Ne9AbQQrQosJsLxPcn1cARvcnE4/?preview_type=16) <!--EndFragment--> ![image.png](https://dev-media.amazoncloud.cn/d766fffb5874450e821a9586c8a24205_image.png "image.png") 创建完成后,可以在“特征”页面查看成功创建的特征。 <!--StartFragment--> ![](https://internal-api-drive-stream.feishu.cn/space/api/box/stream/download/preview/DlJwbDDvUouMQ0x4pi9cuPGJnae/?preview_type=16) <!--EndFragment--> ![image.png](https://dev-media.amazoncloud.cn/cf6129a39d98421e83476a9b8991d1ac_image.png "image.png") 点击特征名称,进入特征详情页,可以查看特征基础信息,并提供特征预览功能。 <!--StartFragment--> ![](https://internal-api-drive-stream.feishu.cn/space/api/box/stream/download/preview/RHKCbQg7roSNu3xZWoecn9Ujn7c/?preview_type=16) <!--EndFragment--> ![image.png](https://dev-media.amazoncloud.cn/9e5de9dc29c34f7fbc4314de0f23ab64_image.png "image.png") 3. 生成离线样本 在“离线场景”页面,可以选择导出离线样本,只要选择刚创建好的特征和提供导出路径即可,前端还提供了“更多选项”可以选择到处格式、运行参数等。 <!--StartFragment--> ![](https://internal-api-drive-stream.feishu.cn/space/api/box/stream/download/preview/AYAQbtVCVoYpbkxvHN8cT7Sdnhf/?preview_type=16) <!--EndFragment--> ![image.png](https://dev-media.amazoncloud.cn/6bce49c41fba44988d6d7a9cf5d38e8d_image.png "image.png") 提交导出任务后,可以在“离线样本”详情页查看导出信息,大概半分钟后成功完成。 <!--StartFragment--> ![](https://internal-api-drive-stream.feishu.cn/space/api/box/stream/download/preview/SaeRb2kcloxJNnxtpazceBYAnSc/?preview_type=16) <!--EndFragment--> ![image.png](https://dev-media.amazoncloud.cn/268231e679bb4c7da62ce9b5e358770b_image.png "image.png") 在本地即可查看导出的样本文件内容。为了验证 FeatInsight 特征平台提供的在线离线一致性,可记录离线特征结果,并于后面的在线特征计算做比较。 <!--StartFragment--> ![](https://internal-api-drive-stream.feishu.cn/space/api/box/stream/download/preview/VycobwW0wox4yyxItzocvkRnncc/?preview_type=16) <!--EndFragment--> ![image.png](https://dev-media.amazoncloud.cn/bb0153a6de7e44ab89cdb2cc2ef5cc69_image.png "image.png") 4. 创建在线服务 在“特征服务”页面可以选择创建特征服务,同样是只需要选择上线的特征,以及提供特征服务名称和版本即可。 <!--StartFragment--> ![](https://internal-api-drive-stream.feishu.cn/space/api/box/stream/download/preview/P2SvbOWb9ohaDtxfadUcv8XJnog/?preview_type=16) <!--EndFragment--> ![image.png](https://dev-media.amazoncloud.cn/54ef3a40f2fc4b22b7339cc2b12080bb_image.png "image.png") 创建成功后,可以在特征服务详情页查看到服务的基本信息,上线包含的特征列表,以及依赖数据表的血缘关系等。 <!--StartFragment--> ![](blob:https://openmldb.feishu.cn/814948be-cca1-480b-8236-c97b9a3b775f) <!--EndFragment--> ![image.png](https://dev-media.amazoncloud.cn/99f0858ef27843f2ad4074d2a624f09c_image.png "image.png") 最后通过“请求特征服务”页面,我们可以输入测试数据进行在线特征计算,并且和离线样本的特征结果进行比对。 <!--StartFragment--> ![](https://internal-api-drive-stream.feishu.cn/space/api/box/stream/download/preview/T3UTbd7dQodSXax4yhCcGmKBndb/?preview_type=16) <!--EndFragment--> ![image.png](https://dev-media.amazoncloud.cn/b5d6f4c7de614483a7d84042c447c647_image.png "image.png") 这就是使用 FeatInsight 特征平台的完整流程,通过编写简单的 SQL 即可实现在线和离线的特征定义,通过选择不同的特征,甚至是组合不同特征组的特征,即可实现快速的特征复用和上线,并且对比离线和在线的计算结果验证了特征计算的一致性。 如果您想进一步了解 FeatInsight 的使用方式及范例场景,可参照[应用案例](https://openmldb.ai/docs/zh/main/app_ecosystem/feat_insight/use_cases/index.html "应用案例")。 # 附录:高级功能 除了特征工程的基本功能之外,FeatInsight 特征平台还提供了高级功能以方便用户进行特征工程的开发: - SQL 实验室:提供了 OpenMLDB SQL 语句的调试和执行功能,方便用户执行任意 SQL 操作并调试特征抽取的 SQL 语句。详情请见[这里](https://openmldb.ai/docs/zh/main/app_ecosystem/feat_insight/functions/sql_playground.html "这里")。 - 预计算特征:可以将通过外部批计算或流式处理后得到的特征值直接存入OpenMLDB在线表中,然后访问在线表数据进行读写特征。详情请见[这里](https://openmldb.ai/docs/zh/main/app_ecosystem/feat_insight/functions/computed_features.html "这里")。 # 相关阅读 - FeatInsight Github 主页:https://github.com/4paradigm/FeatInsight - FeatInsight 文档:https://openmldb.ai/docs/zh/main/app_ecosystem/feat_insight/index.html - OpenMLDB 官网:https://openmldb.ai/OpenMLDB - OpenMLDB GitHub 主页 https://github.com/4paradigm/OpenMLDB - OpenMLDB 文档 https://openmldb.ai/docs/zh/ - 微信交流群 ![WX QR.png](https://dev-media.amazoncloud.cn/a6c2ce179ea74503989c103e2147c754_WX%20QR.png "WX QR.png")
目录
亚马逊云科技解决方案 基于行业客户应用场景及技术领域的解决方案
联系亚马逊云科技专家
亚马逊云科技解决方案
基于行业客户应用场景及技术领域的解决方案
联系专家
0
目录
关闭