Apache Hudi与机器学习特征存储

简介: Apache Hudi与机器学习特征存储

1. 在线和离线特征

如果在训练和推理系统中特征工程代码不相同,则存在代码不一致的风险,因此,预测可能不可靠,因为特征可能不相同。一种解决方案是让特征工程作业将特征据写入在线和离线数据库。训练和推理应用程序在做出预测时都需要读取特征-在线应用可能需要低延迟(实时)访问该特征数据,另一种解决方案是使用共享特征工程库(在线应用程序和训练应用程序使用相同的共享库)。

2. 时间旅行

“考虑到过去发生的事件,事件发生期间特征价值是什么?“

通常数据库不支持时间旅行,即通常无法在某个时间点查询某个列的值。当然可以通过确保定义特征数据的schema都包含datetime / event-time列来解决此问题,最近的数据湖通过存储所有更新以支持对旧特征值查询,从而增加了对时间旅行查询的支持。一些支持时间旅行功能的数据平台:

  • Apache Hudi
  • Databricks Delta
  • Data Version Control (更像Git而不是数据库)

3. 特征工程

Michelangelo添加了特定领域语言(DSL)以支持原始数据源(数据库,数据湖)的工程特征。使用通用框架(如Apache Spark / PySpark,Pandas,Apache Flink和Apache Beam)也是一个不错的选择。

4. 物化训练/测试数据

模型的训练数据既可以直接从特征存储传输到模型中,也可以物化到存储系统(例如S3,HDFS或本地文件系统)中。如果将多个框架用于ML – TensorFlow,PyTorch,Scikit-Learn,则建议将训练/测试数据物化为框架的本机文件格式(Tensorflow为.tfrecords,PyTorch为.npy)。

ML框架的常见文件格式:

  • .tfrecords(TensorFlow / Keras)
  • .npy(PyTorch,Scikit-Learn)
  • .csv(Scikit-Learn等)
  • .petastorm(TensorFlow / Keras,PyTorch)
  • .h5(Keras)

5. 在线特征存储

模型可能具有数百个特征,但是在线应用程序可能只是从用户交互(userId,sessionId,productId,datetime等)中接收了其中的一些特征。在线应用程序使用在线特征存储来查找缺失的特征并构建特征向量,该特征向量被发送到在线模型以进行预测。在线模型通常通过网络提供服务,因为它将模型的生命周期与应用程序的生命周期不相同。在线特征存储的延迟、吞吐量、安全性和高可用性对于其在企业中的成功至关重要。下面显示了现有特征存储中使用k-v数据库和内存数据库的吞吐量。

6. 特征存储对比

7. Hopworks特征存储架构

目录
相关文章
|
2月前
|
存储 Apache
Apache Hudi Savepoint实现分析
Apache Hudi Savepoint实现分析
36 0
|
2月前
|
机器学习/深度学习 数据采集 监控
机器学习-特征选择:如何使用递归特征消除算法自动筛选出最优特征?
机器学习-特征选择:如何使用递归特征消除算法自动筛选出最优特征?
75 0
|
3天前
|
机器学习/深度学习 人工智能 并行计算
人工智能平台PAI产品使用合集之机器学习PAI中特征重要性的原理不知道如何解决
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
23天前
|
机器学习/深度学习 数据可视化 算法
【python】Python大豆特征数据分析 [机器学习版一](代码+论文)【独一无二】
【python】Python大豆特征数据分析 [机器学习版一](代码+论文)【独一无二】
|
2月前
|
机器学习/深度学习 数据采集 数据可视化
【机器学习】样本、特征、标签:构建智能模型的三大基石
【机器学习】样本、特征、标签:构建智能模型的三大基石
237 0
|
2月前
|
机器学习/深度学习 数据挖掘 Python
机器学习-特征选择:如何使用互信息特征选择挑选出最佳特征?
机器学习-特征选择:如何使用互信息特征选择挑选出最佳特征?
35 1
|
2月前
|
机器学习/深度学习 算法
机器学习-特征选择:如何使用交叉验证精准选择最优特征?
机器学习-特征选择:如何使用交叉验证精准选择最优特征?
39 0
|
2月前
|
存储 SQL 分布式计算
使用Amazon EMR和Apache Hudi在S3上插入,更新,删除数据
使用Amazon EMR和Apache Hudi在S3上插入,更新,删除数据
116 0
|
2月前
|
存储 分布式计算 Hadoop
一文了解Apache Hudi架构、工具和最佳实践
一文了解Apache Hudi架构、工具和最佳实践
117 0
|
2月前
|
SQL 分布式计算 NoSQL
使用Apache Hudi和Debezium构建健壮的CDC管道
使用Apache Hudi和Debezium构建健壮的CDC管道
19 0

推荐镜像

更多