使用 Feast 和 Ray 扩展特征工程管道

在生产机器学习系统中利用 Feast 等特征存储和 Ray 等分布式计算框架使用 Feast 和 Ray 扩展特征工程管道的帖子首先出现在《走向数据科学》上。

来源:走向数据科学

项目涉及构建倾向模型来预测客户的预期购买,我遇到了以前多次见过的特征工程问题。

这些挑战可大致分为两类:

1) 功能管理不足

  • 团队生成的特征的定义、沿袭和版本没有被系统地跟踪,从而限制了特征的重用和模型运行的可重复性。
  • 特征逻辑是在单独的训练和推理脚本中手动维护的,导致训练和推理特征不一致的风险(即训练服务偏差)
  • 功能存储为平面文件(例如 CSV),缺乏架构实施和对低延迟或可扩展访问的支持。
  • 2) 高特征工程延迟

  • 在处理时间序列数据时,通常会出现繁重的特征工程工作量,其中必须计算多个基于窗口的转换。
  • 当这些计算按顺序执行而不是针对并行执行进行优化时,特征工程的延迟可能会显着增加。
  • 在本文中,我清楚地解释了用于生产机器学习 (ML) 管道中特征工程的特征存储 (Feast) 和分布式计算框架 (Ray) 的概念和实现。

    内容

    (1) 示例用例 (2) 了解 Feast 和 Ray (3) Feast 和 Ray 在特征工程中的作用(4)代码演练

    您可以在此处找到随附的 GitHub 存储库。

    (i) 目标

    为了说明 Feast 和 Ray 的功能,我们的示例场景涉及构建 ML 管道来训练和服务 30 天客户购买倾向模型。

    (ii) 数据集

    我们将使用 UCI 在线零售数据集 (CC BY 4.0),其中包含英国在线零售商 2010 年 12 月至 2011 年 12 月期间的购买交易。

    (iii) 特征工程方法

    我们将通过将其限制为以下功能来保持功能工程范围的简单(除非另有说明,否则基于 90 天的回溯窗口):