Press "Enter" to skip to content

How Getir通过使用Amazon SageMaker和AWS Batch将模型训练时间缩短了90%

这是一篇由Nafi Ahmet Turgut,Hasan Burak Yel和Damla Şentürk共同撰写的客座文章,来自Getir。

成立于2015年的Getir已经将自己定位于极速超市配送领域的开拓者。这家创新科技公司通过提供“分钟级”生鲜杂货的服务,彻底改变了最后一公里配送的方式。Getir如今在土耳其、英国、荷兰、德国和美国等多个国家拥有业务,成为一股不可忽视的跨国力量。如今,Getir品牌代表着一个多元化集团,旗下九个不同的垂直领域相互协同运作。

在本文中,我们将解释如何利用Amazon SageMaker和AWS Batch构建了一个端到端的产品类别预测流水线,以帮助商业团队,同时将模型训练时间缩短了90%。

深入了解我们现有的产品组合是我们和许多企业在今天快节奏、竞争激烈的市场中所面临的重要挑战。解决这个问题的有效方法之一是产品类别的预测。一个可以生成全面类别树的模型使我们的商业团队能够将我们现有的产品组合与竞争对手的产品组合进行比较,提供战略优势。因此,我们的核心挑战是创建和实施准确的产品类别预测模型。

我们利用AWS提供的强大工具来应对这一挑战,有效地在机器学习和预测分析的复杂领域中航行。我们的努力导致了一个成功的端到端的产品类别预测流水线的创建,结合了SageMaker和AWS Batch的优势。

特别是能够准确预测产品类别的预测分析能力,已经证明是非常宝贵的。它为我们的团队提供了关键的数据驱动见解,优化了库存管理,增强了客户互动,加强了我们在市场中的存在感。

我们在本文中介绍的方法涉及从收集特征集的初始阶段到预测流水线的最终实施。我们的策略的一个重要方面是使用SageMaker和AWS Batch为七种不同的语言优化预训练的BERT模型。此外,我们与AWS的对象存储服务Amazon Simple Storage Service(Amazon S3)的无缝集成,对于高效存储和访问这些优化模型至关重要。

SageMaker是一个全面托管的机器学习服务。借助SageMaker,数据科学家和开发人员可以快速无缝地构建和训练机器学习模型,然后直接将它们部署到生产就绪的托管环境中。

AWS Batch作为一个全面托管的服务,可以帮助您运行任何规模的批处理计算工作负载。AWS Batch会根据工作负载的数量和规模自动分配计算资源并优化工作负载分布。使用AWS Batch,无需安装或管理批量计算软件,因此您可以将时间集中在分析结果和解决问题上。我们使用了GPU作业来帮助我们运行使用实例的GPU的作业。

解决方案概述

Getir的数据科学团队和基础架构团队共有五名成员共同参与了此项目。该项目在一个月内完成,并在一周的测试后部署到生产环境。

下图显示了解决方案的架构。

How Getir通过使用Amazon SageMaker和AWS Batch将模型训练时间缩短了90% 四海 第1张

模型流水线是针对每个国家分别运行的。该架构包括每个国家的两个AWS Batch GPU定时作业,按照定义的计划运行。

我们通过战略部署SageMaker和AWS Batch GPU资源来克服一些挑战。下面的部分将详细介绍解决每个困难所使用的过程。

使用AWS Batch GPU作业调整多语言BERT模型

我们寻求一种解决方案,以支持我们多样化的用户群体使用的多种语言。由于BERT模型在处理复杂的自然语言任务方面具有良好的能力,所以它们是一个明显的选择。为了将这些模型调整到我们的需求,我们利用AWS的单节点GPU实例作业的强大能力。这使我们能够为我们需要支持的七种语言中的每一种调整预训练的BERT模型。通过这种方法,我们确保了在预测产品类别方面的高准确度,克服了潜在的语言障碍。

Efficient model storage using Amazon S3

我们下一步要解决的是模型的存储和管理问题。为此,我们选择了以可扩展性和安全性而闻名的Amazon S3。将我们的精调BERT模型存储在Amazon S3上,使我们能够为组织内的不同团队提供便捷访问,从而极大地简化了我们的部署流程。这在实现操作敏捷性和我们机器学习工作的无缝集成方面起着至关重要的作用。

创建端到端的预测流水线

为了充分利用我们的预训练模型,我们需要一个高效的流水线。我们首先将这些模型部署在SageMaker上,这一举措可以实现低延迟的实时预测,从而提高用户体验。对于同样对我们操作至关重要的大规模批量预测,我们使用了AWS Batch GPU任务。这确保了我们资源的最佳利用,为我们提供了性能和效率的完美平衡。

探索使用SageMaker MMEs的未来可能性

随着我们不断发展和寻求机器学习流水线的效率,我们渴望探索使用SageMaker多模型端点(MMEs)部署我们的精调模型。通过使用MMEs,我们有可能简化部署各种精调模型的过程,同时也可以从SageMaker的原生能力中受益,比如影子变体、自动扩展和Amazon CloudWatch集成。这个探索与我们持续提升预测分析能力和为客户提供卓越体验的不断追求是一致的。

结论

我们成功集成SageMaker和AWS Batch不仅解决了我们的特定挑战,而且大大提高了我们的运营效率。通过实施复杂的产品类别预测流水线,我们能够为商业团队提供数据驱动的见解,从而促进更有效的决策。

我们的结果充分证明了我们方法的有效性。在所有四个级别的类别细化程度上,我们实现了80%的预测准确率,这在塑造我们为每个国家服务的产品组合方面起着重要作用。这种高精度超越了语言障碍,确保我们以最高准确性迎合多样化的用户群体。

此外,通过策略性地使用定时的AWS Batch GPU任务,我们将模型训练时间缩短了90%。这种效率进一步简化了我们的流程,增强了我们的运营敏捷性。使用Amazon S3进行高效的模型存储在实现这一成就中起到了关键作用,实现了实时预测和批量预测的平衡。

要了解如何使用SageMaker构建自己的机器学习流水线的更多信息,请参阅Amazon SageMaker资源。如果您正在寻找低成本、可扩展的批处理作业解决方案,并附带低操作成本,那么AWS Batch是一个很好的选择。要开始使用,请参阅使用AWS Batch入门

Leave a Reply

Your email address will not be published. Required fields are marked *