10 月 23 - 25 日,QCon 上海站即将召开,现在大会已开始正式报名,可以享受 8 折优惠 了解详情
写点什么

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

评论

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

软银从阿里套现340亿美元,阿里、腾讯为何纷纷被大股东撤仓?

雨果

阿里云 软银 DaaS数据即服务

【直播回顾】OpenHarmony知识赋能六期第五课—WiFi子系统

OpenHarmony开发者

OpenHarmony

JavaScript Promise 的使用技巧

汪子熙

JavaScript Promise 异步编程 await 8月月更

如何有效进行回顾会议(中)?

敏捷开发

Scrum 敏捷开发 回顾会 Scrum团队

前端线下培训的就业前景怎么样?

小谷哥

学习大数据课程后好找工作吗?

小谷哥

Linux面试最高频的5个基本问题

千锋IT教育

最佳实践|Apache Doris 在小米数据场景的应用实践与优化

SelectDB

数据库 数据分析 小米 Doris OLAP 场景实践

5 个 JavaScript “罕见”原生的 API

掘金安东尼

JavaScript 前端 8月月更

万丈高楼平地起--java基础语法

Geek_ba5ac7

Java core

Synchronized锁升级原理与过程深入剖析:无锁>偏向锁>轻量级锁>重量级锁

Java全栈架构师

Java 程序员 面试 程序人生 多线程

Java编程学习好就业薪资高吗

小谷哥

音视频开发进阶|音频编解码的必要性解读与格式选取

ZEGO即构

上海前端培训学习好就业难吗

小谷哥

vue-i18n国际化语言在项目中的使用

CRMEB

Netty实战 -- 使用Netty实现分布式框架Dubbo RPC

Bug终结者

dubbo Netty RPC 网络通信 8月月更

云原生(十四) | Kubernetes篇之深入万物基础-容器

Lansonli

云原生 8月月更

北京JAVA开发3年,拿到美团35K的offer面试心得(全干货)

程序知音

Java 程序员 java面试 后端技术 Java面试八股文

Kyligence 连续三年入选 Gartner 增强数据分析推荐厂商

Kyligence

数据分析 Gartner

karmada调度策略想要实现,这三个组件必须了解 | K8S Internals系列第4期

BoCloud博云

容器 云原生 k8s

手写webpack tapable源码,官方tapable的性能真的就一定是好的吗?

爱切图的木子老师

前端 webpack 前端面试 webpack-tapable

面试官怒了:多级缓存不了解怎么行,那可是数量级的提升?

知识浅谈

缓存 8月月更

MYSQL最朴素的监控方式

京东科技开发者

MySQL 数据库 数据 监控数据

快的不止一点点!阿里强推的“Redis速成手册”也太香了吧

程序知音

Java 数据库 redis 程序员 后端技术

浅谈-大数据工程师面临的困境和要学习的技术

Geek_c8a6a0

视频1对1源代码——简单的搭建方式也有技术要求

开源直播系统源码

软件开发 直播系统源码 语音直播系统源码 语音直播

zzcase&接口自动化-质&效的探索

转转技术团队

测试工具 用例设计平台开发

Python也许很友好,但它也容易弄得一团槽

梦想橡皮擦

Python 爬虫 8月月更

深圳大数据编程培训机构哪家比较靠谱

小谷哥

海泰方圆政务信息系统密码应用解决方案 保障政务业务和数据安全

电子信息发烧客

Go-Excelize API源码阅读(八)——UngroupSheets()

Regan Yue

Go 开源 源码刨析 8月日更 8月月更

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