写点什么

加速机器学习模型开发:AirBnb 利用 Chronon 实现特征工程

  • 2023-10-01
    北京
  • 本文字数:879 字

    阅读完需:约 3 分钟

大小:463.26K时长:02:38
加速机器学习模型开发:AirBnb利用Chronon实现特征工程

AirBnb 经常要创建用于机器学习模型的新特征,为了提高生产力和可扩展性,他们构建了一个名为Chronon的解决方案,用于创建将原始数据转换为特征并进行训练和推理所需的基础设施。

 

AirBnb 工程师兼 Chronon 创始人 Nikhil Simha 解释说,将原始数据转换为特征并用于训练 ML 模型是一项复杂且耗时的任务,工程师需要从 AirBnb 数据仓库中提取数据,并编写复杂的 ETL 逻辑将其转换为特征。另一个难点在于要确保这个逻辑所生成的推理特征分布与训练时的相同。

 

Simha 说,Chronon 就是为了解决这些问题,使机器学习工程师在训练和推理中以可复制的方式定义特征并中心化数据计算。


作为用户,你只需要声明一次计算,Chronon 就会生成所需的所有基础设施,不断地将原始数据转换为训练和服务所需的特征。AirBnb 的机器学习从业者不用再花费数月的时间手动实现复杂的管道和特征索引。通常,他们用不到一周的时间就可以为他们的模型生成新的特征集。

 

Chronon的第一个组件支持从各种数据源获取数据,包括事件数据源、实体数据源和累积事件源,从每个数据源收集不同类型的数据。

 

摄取数据后,它就可以使用类似 SQL 的操作和聚合进行转换,从而生成服务于在线模型的低延迟端点,以及用于离线训练的 Hive 表。在底层,Chronon 使用 Kafka、Spark/Spark Streaming、Hive 和 Airflow 来构建管道。类似 SQL 的操作包括GroupByJoinStagingQuery,它们是 Spark SQL 查询,每天脱机计算一次。聚合包括窗口、桶和基于时间的聚合。

 

最后,它还有一个 Python API,提供了类似 SQL 的原语,并将基于时间的聚合和窗口作为一级概念。例如,使用 Python API,你可以过滤和转换用户在过去五个小时内查看某个物品的次数。

 

Chronon 有一个重要的概念是准确性,即特征值更新的频率,是实时更新还是固定时间间隔更新。要根据特定的用例选择合适的准确性,因此,Chronon 让用户可以方便地将计算的准确性设为为 temporal snapshot

 

在写这篇文章的时候,我还不知道 AirBnb 是否会在 GitHub 上提供 Chronon,但如果你想创建自己的特征工程管道,可以读下原文中的讨论,非常有趣。

 

原文链接:

https://www.infoq.com/news/2023/08/airbnb-chronon-ml-features/

2023-10-01 08:006670

评论

发布
暂无评论
发现更多内容

过去一周行业热点|Hoo labs开启OUTSPACE项目支持

区块链前沿News

Hoo labs

图解 DevOps

看,未来

一次软件的可靠性测试实践

PingCode研发中心

软件测试 开发 PingCode 软件可靠性

哈希Hash竞猜游戏系统规则开发

薇電13242772558

区块链 哈希值

最好用的 6 款 Vue 实时消息提示通知(Message/Notification)组件推荐与测评

蒋川

JavaScript Vue 组件 低代码平台 消息提示通知

K8s 网关选型初判:Nginx 还是 Envoy?

阿里巴巴云原生

阿里云 容器 微服务 云原生 网关

战码先锋直播预告丨参与ArkUI,共建OpenHarmony繁荣生态

OpenHarmony开发者

Open Harmony

Spring Boot系列(一)

DC.夜猫

Java Spring Boot Spring Boot 2

Docker 实践经验(三):Docker 容器数据卷

看,未来

Docker 实践经验(六):Docker 网络

看,未来

云原生

A8hash哈希竞猜娱乐游戏开发(源码搭建)

开发微hkkf5566

Docker 实践经验(五)docker上部署 redis 三主三从集群

看,未来

云原生

docker之搭建zookeeper和kafka集群

echoes

不改一行代码,将微信小程序生成商用App可行吗?

Speedoooo

微信小程序 APP开发 小程序转app 用户留存

[protobuf 笔记]01- 认识 protobuf

南吕

protobuf

[protobuf 笔记]02-protobuf 语法

南吕

protobuf

Docker实践经验(四)docker 上部署 mysql8 主从复制

看,未来

学会Pandas这六大函数,数据分析够用了

happymove

Python 数据分析 pandas Python数据分析 5月月更

不改一行代码,将微信小程序转成商业App?

Geek_99967b

小程序

未来已来:云原生时代(二)云计算发展现状调研

看,未来

云原生

“Docker 实践经验” 系列导航

看,未来

云原生

Vue3 Typescript + Axios 全栈开发教程:手把手教你写「待办清单」APP

蒋川

typescript 低代码 Vue3 axios 全栈开发

幸运赛车赛马游艇游戏开发逻辑分析

开发微hkkf5566

OneFlow最新版本登陆矩池云,快来体验吧

OneFlow

开箱即用!Linux 内核首个原生支持,让你的容器体验飞起来!| 龙蜥技术

OpenAnolis小助手

Linux 容器化 内核 高性能存储 龙蜥技术

什么是微幕小程序

Geek_99967b

小程序

Docker 实践经验(一)简介、安装与实操

看,未来

云原生

Docker实践经验(二)镜像的构建、镜像仓库、压缩、导入

看,未来

CopyOnWriteArrayList 源码分析-删除

zarmnosaj

5月月更

存储厂商旌存半导体加入龙蜥社区

OpenAnolis小助手

芯片 龙蜥社区 CLA 旌存半导体

[protobuf 笔记]03-Protobuf 生成各语言类库

南吕

protobuf

加速机器学习模型开发:AirBnb利用Chronon实现特征工程_机器学习/深度学习_Sergio De Simone_InfoQ精选文章