Airbnb 开源其机器学习特征平台 Chronon

Chronon:Airbnb 的开源机器学习特征平台

Chronon 是 Airbnb 开发的一个平台,旨在将原始数据转换为机器学习模型所需的特征。该平台现已开源,支持多种数据源,并致力于提供低延迟的流数据处理。

主要目标与痛点

Airbnb 的机器学习基础设施工程师 Varant Zanoyan 指出,Chronon 的诞生是为了解决机器学习从业者常见的一个痛点:他们花费了大量的时间管理数据,而不是专注于建模本身。Chronon 的目标是简化特征工程的过程,使从业者能够更高效地工作。

训练与推理的特征处理

特征工程在训练和推理阶段通常需要不同的处理方式。在训练阶段,从数据仓库中获取数据更为便捷;而在推理阶段,从日志中提取数据更为直接。Chronon 通过区分批量特征流特征来简化这一过程。批量特征每天计算一次,而流特征则用于实时更新,并包含在批量作业中。

特征定义与 API

Chronon 允许机器学习从业者只需定义一次特征,即可同时支持离线的模型训练和在线的模型推理。Chronon 提供了 Java、Scala 和 Python 的客户端 API,用于创建和获取这两种特征,并确保低延迟。

未来发展计划

Chronon 的开源只是其发展的开始。未来的目标包括进一步降低迭代和计算成本,通过自然语言处理(NLP)简化特征定义过程,并增加智能功能以帮助从业者构建更好的模型。

使用指南与主要组件

对于想要开始使用 Chronon 的用户,可以参考快速入门指南,其中提供了一个模型的示例实现,并解释了如何使用其 API 的两个主要组件:GroupByJoin

底层技术栈与高级功能

Chronon 的底层技术栈包括 Kafka、Spark/Spark Streaming、Hive 和 Airflow。除了 GroupByJoin 之外,Chronon 还支持 StagingQuery,并提供了多种聚合功能,如窗口、桶和其他基于时间的聚合。此外,Chronon 还支持高级特征计算,如特征推导、特征链以及外部和上下文特征。

通过开源 Chronon,Airbnb 希望为机器学习社区提供一个强大的工具,帮助从业者更高效地进行特征工程,从而加速机器学习模型的开发和应用。

阅读 20
0 条评论