Featureform是一个为机器学习工作流设计的开源特征存储系统。它提供了一个集中式平台,用于定义、管理和提供特征,,即用于训练和运行机器学习模型的输入变量。该项目旨在通过提供一个虚拟特征存储来简化特征工程生命周期,该存储可以在现有数据基础设施(如数据仓库和对象存储)之上运行,而无需单独的专用数据库。
Featureform成立于2021年,旨在解决生产机器学习系统中特征管理的挑战。它由一家同名公司开发,其核心软件以开源许可证提供。该平台被数据科学和机器学习团队用于改善协作、确保训练与服务数据之间的一致性,并减少特征工程所花费的时间。
核心功能
Featureform作为一个虚拟特征存储运行,这意味着它本身不存储数据,而是在现有存储系统上编排和管理特征定义。用户使用Python或SQL定义特征,平台处理这些特征的转换、物化和提供。它支持批处理和流式数据源,允许从历史数据计算特征用于训练,并从实时数据计算特征用于推理。
该系统引入了一个声明式API,用户可以在其中注册数据源、定义转换,并创建特征和训练集对象。这种方法支持版本控制、血缘追踪和特征定义的可重用性。Featureform还提供了一个服务API,可以与模型训练管道和在线推理服务集成,确保在两种上下文中使用相同的特征值。
架构与集成
Featureform设计为基础设施无关,可与常见数据平台集成,如亚马逊网络服务 S3、微软Azure Blob存储、谷歌云存储以及各种SQL数据库。它支持Spark等计算引擎,并可在这些平台上运行转换。该架构包括一个元数据目录,用于追踪从原始数据到模型预测的每个特征的来源。
该平台将控制平面(管理定义和元数据)与数据平面(实际计算发生的地方)分离。这种设计允许组织将数据保留在现有系统中,同时获得特征资产的统一视图。Featureform还提供本地开发模式,用于在部署前测试和调试特征定义。
在机器学习管道中的使用
Featureform常用于机器学习管道中,以解决训练-服务偏差问题,即训练与推理数据之间的差异会降低模型性能。通过确保特征定义一致,并在批处理和实时服务中使用相同的代码,该平台有助于维护模型准确性。它还促进了不同模型之间的特征重用,减少了重复的工程工作。
团队可以使用Featureform创建训练集,结合来自多个来源的特征,并自动处理连接和时点正确性。这对于时间序列数据以及欺诈检测、推荐系统和预测性维护等应用尤其有价值。该平台的血缘功能通过准确显示每个特征的推导方式,有助于调试和法规合规。
社区与发展
作为一个开源项目,Featureform拥有一个贡献者和用户社区。该项目托管在GitHub上,提供文档、问题跟踪和贡献指南。Featureform背后的公司还为需要额外可靠性和支持的企业提供商业支持和托管云服务。开发活跃,定期发布新版本,增加新集成、性能改进和可用性增强。
该项目是更广泛的人工智能基础设施工具生态系统的一部分,与编排框架和模型注册表互补。其专注于特征管理填补了机器学习生命周期中的一个关键空白,其开源性质允许组织定制和扩展平台以满足特定需求。