Chronon:Airbnb 的开源机器学习特征平台
Chronon 是 Airbnb 开发的一个平台,旨在将原始数据转换为机器学习模型所需的特征。该平台现已开源,支持多种数据源,并致力于提供低延迟的流数据处理。
主要目标与痛点
Airbnb 的机器学习基础设施工程师 Varant Zanoyan 指出,Chronon 的诞生是为了解决机器学习从业者常见的一个痛点:他们花费了大量的时间管理数据,而不是专注于建模本身。Chronon 的目标是简化特征工程的过程,使从业者能够更高效地工作。
训练与推理的特征处理
特征工程在训练和推理阶段通常需要不同的处理方式。在训练阶段,从数据仓库中获取数据更为便捷;而在推理阶段,从日志中提取数据更为直接。Chronon 通过区分批量特征和流特征来简化这一过程。批量特征每天计算一次,而流特征则用于实时更新,并包含在批量作业中。
特征定义与 API
Chronon 允许机器学习从业者只需定义一次特征,即可同时支持离线的模型训练和在线的模型推理。Chronon 提供了 Java、Scala 和 Python 的客户端 API,用于创建和获取这两种特征,并确保低延迟。
未来发展计划
Chronon 的开源只是其发展的开始。未来的目标包括进一步降低迭代和计算成本,通过自然语言处理(NLP)简化特征定义过程,并增加智能功能以帮助从业者构建更好的模型。
使用指南与主要组件
对于想要开始使用 Chronon 的用户,可以参考快速入门指南,其中提供了一个模型的示例实现,并解释了如何使用其 API 的两个主要组件:GroupBy 和 Join。
底层技术栈与高级功能
Chronon 的底层技术栈包括 Kafka、Spark/Spark Streaming、Hive 和 Airflow。除了 GroupBy 和 Join 之外,Chronon 还支持 StagingQuery,并提供了多种聚合功能,如窗口、桶和其他基于时间的聚合。此外,Chronon 还支持高级特征计算,如特征推导、特征链以及外部和上下文特征。
通过开源 Chronon,Airbnb 希望为机器学习社区提供一个强大的工具,帮助从业者更高效地进行特征工程,从而加速机器学习模型的开发和应用。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。