Fetch 利用 Amazon SageMaker 和 Hugging Face 将机器学习处理延迟降低 50%
本文交叉发布自 2023 年 9 月 在 AWS 网站上最初发布的一篇文章。
概述
消费者参与和奖励公司 Fetch 提供一款应用程序,允许用户通过扫描收据来赚取购买奖励。该公司还解析这些收据,以生成对消费者行为的洞察,并将这些洞察提供给品牌合作伙伴。随着每周扫描量迅速增长,Fetch 需要提高其速度和精度。
在亚马逊网络服务 (AWS) 上,Fetch 利用 Hugging Face 和 Amazon SageMaker 优化了其机器学习 (ML) 流程。Amazon SageMaker 是一种用于构建、训练和部署机器学习模型的服务,提供完全托管的基础设施、工具和工作流。现在,Fetch 应用程序可以更快、更准确地处理扫描。
机遇 | Fetch 利用 Amazon SageMaker 在 12 个月内加速机器学习流程
使用 Fetch 应用程序,客户可以扫描收据、获得积分,并用这些积分兑换礼品卡。为了立即奖励用户扫描收据,Fetch 需要能够从收据中捕获文本,提取相关数据,并对其进行结构化,以便其系统的其余部分能够处理和分析它。每周处理超过 8000 万张收据,在高峰期每秒处理数百张收据,它需要快速、准确且大规模地执行此过程。
2021 年,Fetch 着手优化其应用程序的扫描功能。Fetch 是一家 AWS 原生公司,其机器学习运营团队已经在使用 Amazon SageMaker 处理许多模型。这使得通过将模型迁移到 Amazon SageMaker 来增强其机器学习流程成为一个直接的决定。
在整个项目中,Fetch 每周与 AWS 团队进行电话会议,并获得了 AWS 为 Fetch 配对的领域专家支持。该公司在 12 个月内使用 Amazon SageMaker 构建、训练和部署了超过五个机器学习模型。2022 年底,Fetch 推出了更新后的移动应用程序和新的机器学习流程。
“Amazon SageMaker 对 Fetch 来说是一个颠覆性的改变。我们广泛使用了几乎所有功能。新功能一推出,就立即显现出价值。很难想象没有 Amazon SageMaker 的功能,我们是如何完成这个项目的。”
Sam Corzine,机器学习工程师,Fetch
解决方案 | 在 Amazon SageMaker GPU 实例上利用机器学习和 Hugging Face 将延迟降低 50%
“利用 Hugging Face AWS 深度学习容器的灵活性,我们可以提高模型的质量,Hugging Face 与 AWS 的合作意味着部署这些模型变得简单。”
Sam Corzine,机器学习工程师,Fetch
Fetch 的机器学习流程由多项 Amazon SageMaker 功能提供支持,尤其是 Amazon SageMaker 模型训练,它可缩短大规模训练和调整机器学习模型的时间和成本,以及 Amazon SageMaker Processing,一种简化、托管的数据处理工作负载运行体验。该公司使用多 GPU 实例运行其自定义机器学习模型,以实现快速性能。“Amazon SageMaker 上的 GPU 实例易于使用,”Fetch 后端工程师 Ellen Light 说。Fetch 训练这些模型来识别和提取收据上的关键信息,公司可以使用这些信息生成有价值的洞察并奖励用户。在 Amazon SageMaker 上,Fetch 的自定义机器学习系统可以无缝扩展。“通过使用 Amazon SageMaker,我们有一种简单的方法来扩展我们的系统,特别是对于推理和运行时,”Fetch 机器学习工程师 Sam Corzine 说。同时,标准化的模型部署意味着更少的手动工作。
Fetch 在改进和迭代模型时,严重依赖 Amazon SageMaker 的机器学习训练功能,尤其是其训练任务。Fetch 还可以并行训练机器学习模型,从而加快开发和部署。“我们部署模型几乎没有障碍,”Fetch 应用科学家 Alec Stashevsky 说。“基本上,我们不必考虑它。”这增强了整个公司的信心,提高了生产力。举例来说,一位新实习生在入职第三天就能够独立部署模型。
自采用 Amazon SageMaker 进行机器学习调优、训练和再训练以来,Fetch 已将其文档理解模型的准确性提高了 200%。它将继续微调其模型以进一步改进。“Amazon SageMaker 是构建这些出色模型的关键工具,”Fetch 机器学习工程师 Quency Yu 说。为了优化调优过程,Fetch 依赖于 Amazon SageMaker Inference Recommender,这是 Amazon SageMaker 的一项功能,通过自动化负载测试和模型调优,缩短了将机器学习模型投入生产所需的时间。
除了其自定义机器学习模型外,Fetch 还使用 AWS 深度学习容器 (AWS DL Containers),企业可以使用这些容器快速部署具有优化、预打包容器镜像的深度学习环境。这简化了使用来自Hugging Face Inc.(Hugging Face)的库的过程,Hugging Face 是一家人工智能技术公司,也是AWS 合作伙伴。具体来说,Fetch 使用 Amazon SageMaker Hugging Face 推理工具包(一个用于提供 Transformer 模型的开源库)和 Hugging Face AWS 深度学习容器进行训练和推理。“利用 Hugging Face AWS 深度学习容器的灵活性,我们可以提高模型的质量,”Corzine 说。“Hugging Face 与 AWS 的合作意味着部署这些模型变得简单。”
自采用 Amazon SageMaker 以来,Fetch 衡量的各项指标性能均有所提升。该公司已将其最慢扫描的延迟降低了 50%。“我们提高的准确性也让合作伙伴对我们的数据更有信心,”Corzine 说。随着信心的增强,合作伙伴将增加对 Fetch 解决方案的使用。“能够利用 Amazon SageMaker 显著提高每个数据点的准确性,这是一个巨大的优势,并会传播到我们整个业务中,”Corzine 说。
Fetch 现在可以从收据中提取更多类型的数据,并且可以灵活地根据品牌合作伙伴的具体需求来构建所得的洞察。“投入机器学习使我们能够准确提取合作伙伴想要从收据中获取的信息,”Corzine 说。“由于我们在机器学习方面的投入,合作伙伴可以提供新型的优惠,这对他们来说是一个巨大的额外好处。”
用户也喜欢这些更新;自从发布新版本以来,Fetch 的每月活跃用户从 1000 万增长到 1800 万。“Amazon SageMaker 对 Fetch 来说是一个颠覆性的改变,”Corzine 说。“我们广泛使用了几乎所有功能。新功能一推出,就立即显现出价值。很难想象没有 Amazon SageMaker 的功能,我们是如何完成这个项目的。”例如,Fetch 从自定义影子测试管道迁移到 Amazon SageMaker 影子测试——它验证新机器学习模型与生产模型的性能,以防止中断。现在,影子测试更加直接,因为 Fetch 可以直接比较与生产流量的性能。
成果 | 将机器学习扩展到新的用例
Fetch 的机器学习团队正在不断开发新模型,并迭代现有模型以优化其性能。“我们还喜欢能够让我们的技术栈与 Amazon SageMaker 的新功能保持同步,”Fetch 的机器学习开发人员 Chris Lee 说。该公司将继续将其 AWS 的使用扩展到不同的机器学习用例,例如跨多个团队的欺诈预防。
Fetch 已经是最大的消费者参与软件公司之一,其目标是继续增长。“AWS 是我们计划如何扩展的关键部分,我们将充分利用 Amazon SageMaker 的功能,以继续提高我们的准确性,”Corzine 说。
关于 Fetch
Fetch 是一家消费者互动公司,向品牌合作伙伴提供消费者购买洞察。它还提供一款移动奖励应用程序,允许用户通过收据扫描功能赚取购买奖励。
如果您在公司使用 Hugging Face on SageMaker 方面需要支持,请此处联系我们——我们的团队将联系您讨论您的需求!