写点什么

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

评论

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

STM32+HC05串口蓝牙设计简易的蓝牙音箱

DS小龙哥

7月月更

同事看了我的代码惊呼:居然是这么在Unity中用单例的

恬静的小魔龙

游戏开发 Unity 单例模式 游戏引擎

大话DevOps监控,团队如何选择监控工具?

龙智—DevSecOps解决方案

DevOps 监控 监控软件

C#入门系列(三十) -- 异常处理

陈言必行

7月月更

Qt|QLable多行展示时更改行间距

中国好公民st

qt 7月月更

idea / eclipse 配置 Tomcat 并发布 Web 项目

攻城狮杰森

eclipse tomcat IDEA javaWeb 7月月更

【高并发】如何实现亿级流量下的分布式限流?这些理论你必须掌握!!

冰河

并发编程 多线程 高并发 协程 异步编程

数据中台建设(一):数据中台出现的背景

Lansonli

数据中台 7月月更

游戏背包系统,“Inventory Pro插件”,研究学习-----妈妈再也不用担心我不会做背包了(Unity3D)

恬静的小魔龙

游戏开发 Unity 插件 游戏引擎

只知道预制体是用来生成物体的?看我如何使用Unity生成UI预制体

恬静的小魔龙

游戏开发 Unity 游戏引擎

玩游戏想记录一下自己超神的瞬间?那么就来看一下如何使用Unity截图吧

恬静的小魔龙

游戏开发 Unity 游戏引擎

“你真的入门前端了吗”

bo

前端 7月月更

LeetCode-69. x的平方根(java)

bug菌

Leet Code 7月月更

异步Servlet在转转图片服务的实践

转转技术团队

Servlet 异步

Android内存溢出

沃德

android 7月月更

【IJCAI 2022】参数高效的大模型稀疏训练方法,大幅减少稀疏训练所需资源

阿里云大数据AI技术

深度学习 模型稀疏训练

Linux常用命令

五分钟学大数据

Linux 7月月更

阿里 Seata 新版本终于解决了 TCC 模式的幂等、悬挂和空回滚问题

阿里巴巴云原生

阿里云 开源 微服务 云原生 seata

RocketMQ 消息集成:多类型业务消息-普通消息

阿里巴巴云原生

阿里云 RocketMQ 云原生 消息队列

推荐系统-协同过滤在Spark中的实现

vivo互联网技术

spark 推荐系统 协同过滤

语音聊天app源码-钠斯网络源码出品

开源直播系统源码

语聊房 直播系统源码 开源源码 语音聊天系统

用Unity不会几个插件怎么能行?Unity各类插件及教程推荐

恬静的小魔龙

游戏开发 Unity 插件 游戏引擎

QCon 大会广州站它来了!独家定制双肩背包等你领取!

InfoQ写作社区官方

Qcon

如何判断静态代码质量分析工具的性能?这五大因素必须考虑

龙智—DevSecOps解决方案

静态代码分析 代码静态分析 静态代码安全

活动报名 | 玩转 Kubernetes 容器服务提高班正式开营!

阿里巴巴云原生

阿里云 容器 云原生 训练营 课程

java零基础入门-异常、线程(中)

喵手

Java 7月月更

C# 类库的生成,使用类库对象对DataGridView 进行数据绑定

IC00

C# 7月月更

我为OpenHarmony 写代码,战“码”先锋第二期正式开启!

OpenHarmony开发者

OpenHarmony

Qt | 鼠标事件和滚轮事件 QMouseEvent、QWheelEvent

YOLO.

qt 7月月更

【策略模式】就像诸葛亮的锦囊

掘金安东尼

前端 设计模式 7月月更

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