# 简介 FeatInsight 是一个先进的特征存储(Feature Store)服务,基于 [OpenMLDB](https://github.com/4paradigm/OpenMLDB) 数据库实现高效的特征管理和编排功能。 FeatInsight 提供简便易用的 UI 界面,用户可以进行机器学习特征开发的全流程,包括数据的导入、查看、编辑,特征的生成、存储、上线等功能。 针对离线场景中,用户可以选择特征生成离线样本用于后续的机器学习开发;针对在线场景中,用户可以选择特征创建特征服务,实现实时特征计算。 ![](./images/bigscreen.png) ## 主要功能 FeatInsight 包括以下几个主要功能: - [数据管理](./functions/import_data.md):用于导入和管理特征工程需要的原始数据和在线数据。 - [特征管理](./functions/manage_feature.md):用于存储原始特征数据和派生特征数据的存储系统。 - [在线场景](./functions/online_scenario.md):上线特征服务,使用在线数据提供硬实时的在线特征抽取接口。 - [离线场景](./functions/offline_scenario.md):对离线数据进行特征计算并导出样本文件,提供离线样本、任务管理功能。 - [SQL实验室](./functions/sql_playground.md):可调试和执行任意的 OpenMLDB SQL 语句,使用在线模式或离线模式完成特征计算任务。 - [预计算特征](./functions/computed_features.md):用户可以通过预计算把特征值直接存入 OpenMLDB 在线表中,然后访问在线表数据进行读写特征。 ## 核心特性 FeatInsight 的主要目的是解决在机器学习项目中常见的问题,包括简便快捷地进行特征提取、转换、组合、选择以及血缘管理,特征的重用和共享,特征服务版本控制,以及确保在训练和推理过程中使用的特征数据的一致和可靠。一些 FeatInsight 的范例应用场景包括: * 上线在线特征服务:提供本地化部署的高性能特征存储和在线特征计算功能。 * 搭建 MLOps 平台:基于 OpenMLDB 在线离线一致性快速实现完成的 MLOps 工作流。 * 搭建 FeatureStore 平台:提供完备的特征创建、删除、上线、血缘管理等功能,低成本实现本地 FeatureStore 服务。 * 复用开源特征方案:在本地复用开源共建的特征数据集,实现特征重用和共享。 * 机器学习业务组件:为推荐系统、自然语言处理、金融医疗等领域机器学习模型提供一站式特征工程落地方案。 ## 核心概念 以下是 FeatInsight 所使用到的一些术语及其定义,以方便理解: * 特征:通过对原始数据进行特征抽取得到的可直接用于模型训练和推理的数据。 * 预计算特征:通过外部批计算或流式处理后存储的特征值,可直接上线使用。 * 特征视图:通过单个SQL计算语句定义的一组特征。 * 特征服务:将单个或多个特征组成一个特征服务,提供给在线场景使用。 * 在线场景:通过上线特征服务,使用在线数据提供硬实时的在线特征抽取接口。 * 离线场景:使用分布式计算,对离线数据进行特征计算并导出机器学习所需的样本文件。 * 在线离线一致性:通过相同的SQL定义可保证在线场景和离线场景计算的特征结果一致。