写点什么

加速机器学习模型开发: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:007133

评论

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

甲方日常 20

句子

工作 随笔杂谈 日常 Java 25 周年

架构师训练营 1 期第 2 周:框架设计 - 作业

piercebn

极客大学架构师训练营

架构师训练营第 1 期 -week2

习习

Spring系列之新注解配置+Spring集成junit+注解注入

Java spring 微服务 架构师

第7周的总结

Vincent

极客时间 极客大学

响应式编程到底是什么?

博文视点Broadview

Java 响应式 响应式编程 reactor 并发

第2周

Geek_fabd84

架构师训练营第 1 期 第 1 周作业

李循律

架构师训练营 - 第 2 周课后作业(1 期)

阿甘

oeasy 教您玩转 linux 010400 总结 summary

o

LeetCode题解:145. 二叉树的后序遍历,递归,JavaScript,详细注释

Lee Chen

大前端 LeetCode

网站日志分析最完整实践

MySQL从删库到跑路

第7周作业

Vincent

极客时间 极客大学

救人于无形的“环境智能”,到底是一种什么智能?

脑极体

c++杂谈-1

菜鸟小sailor 🐕

c++

第6周作业

方堃

众盟科技2020智能化白皮书:穿越新商业周期,读懂商业智能化的真义

脑极体

一个草根的日常杂碎(9月22日)

刘新吾

生活 随笔 记录

译文|简明指南:Apache Pulsar 的分层存储

Apache Pulsar

开源 云原生 存储分离 Apache Pulsar 消息中间件

一夜爆火,只因阿里内部作为参考的SpringBoot巅峰之作git开源

小Q

Java 架构 面试 微服务 springboot

Redis 发布订阅,小功能大用处,真没那么废材!

楼下小黑哥

Java redis spring

看动画学算法之:排序-count排序

程序那些事

动画 看动画学算法 看动画学数据结构 count排序

解Bug之路-记一次对端机器宕机后的tcp行为

无毁的湖光

Linux TCP socket MQ Java 分布式

船长梁晓玲的猎鹰号真的能赚钱嘛?不分析不知道……

成周

心理学 船长梁晓玲 诈骗

高并发下为什么更喜欢进程内缓存

架构师修行之路

缓存 架构设计

架构师训练营 - 第 2 周学习总结(1 期)

阿甘

微前端qiankun从搭建到部署的实践

fengxianqi

大前端 微应用

超越色彩的魅力:读《黑白适界》

北风

艺术 摄影 黑白 摄影征文 画册

判断一个请求是否是Ajax异步请求

麦洛

ajax

时空碰撞优化系列·二

誓约·追光者

hive Sparksql 计算效率 优化

分布式高并发下Actor模型如此优秀

架构师修行之路

系统设计 reactor 高并发

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