亚马逊AWS官方博客

使用机器学习和 AWS Inferentia 扩缩广告验证

Amazon 广告通过在 Amazon 商城内部以及商城以外的平台投放广告(包括超过 15 个国家/地区的网站、应用程序和流媒体电视内容),帮助公司建立自己的品牌,并与购物者建立良好的联系。各种规模的企业或品牌,包括注册卖家、供应商、图书供应商、Kindle Direct Publishing (KDP) 作者、应用程序开发人员和 Amazon Marketplaces 上的代理商都可以上载自己的广告素材,其中可以包括图片、视频、音频,当然还有在 Amazon 上销售的产品。为了促进准确、安全和愉快的购物体验,这些广告必须遵守内容准则

举一个简单的例子。您知道以下两条广告为什么不符合规定吗?

Amazon 广告

位于中心位置的广告没有对产品进行具体的介绍。它还多次显示同一产品。右边的广告看起来要好得多,但它包含文字,而这种广告格式是不允许的。

新的广告素材有多种尺寸、形状和语言,而且规模非常大。假设这些素材可以使用的话,手动验证该素材将会十分复杂,不仅进程缓慢,而且还容易出错。那么机器学习 (ML) 前来救援!

使用机器学习来验证广告素材
每条广告都必须依据众多规则来进行评估,没有任何一个模型可以合理有效地学习这些规则。事实上,需要许多模型来检查广告属性,例如:

  • 媒体特定模型,用于分析描述广告商品的图像、视频、音频和文本。
  • 内容特定模型,用于检测标题、文本、背景和对象。
  • 语言特定模型,用于验证句法和语法,并标记未经批准的语言。

其中一些功能在 AWS AI 服务中随时都有提供。例如,Amazon 广告团队使用 Amazon Rekognition 从图像和视频中提取元数据信息。

其他功能需要在内部数据集上训练自定义模型。为此,Amazon 团队通过 Truth Amazon SageMaker Ground Truth 为大型广告数据集贴标签,结合使用手动贴标和自动贴标以及主动学习功能。接着,利用这些数据集,团队使用 Amazon SageMaker 训练模型,然后使用 AWS Cloud Development Kit (AWS CDK) Amazon SageMaker Pipelines 在实时预测端点自动部署这些模型。

当企业上载新广告时,会同时调用相关模型来处理特定的广告组件、提取信号并输出质量得分。然后合并所有分数,并将其发送到最终模型,该模型将预测是否需要手动审核该广告。

借助这一流程,大多数新广告都可以自动验证和发布,这意味着企业可以快速推广他们的品牌和产品,而 Amazon 也可以保持优质的购物体验。

然而,面对越来越多的复杂模型,Amazon 广告团队开始寻找一种可以在降低成本的同时提高预测吞吐量的解决方案。他们在 AWS Inferentia 中找到了解决方案。

什么是 AWS Inferentia?
AWS Inferentia 在 Amazon EC2 Inf1 实例中提供,AWS Inferentia 是一种由 AWS 构建的自定义芯片,用于加速机器学习推理工作负载,并优化其成本。每个 AWS Inferentia 芯片中包含四个 NeuronCores。每个 NeuronCore 都可以部署高性能脉动阵列矩阵乘法引擎,大幅加快典型深度学习运算的速度,例如卷积和 Transformer。NeuronCores 还配有大型芯片上缓存,可帮助减少外部存储器访问,降低延迟并提高吞吐量。

借助用于机器学习推理的软件开发工具包 AWS Neuron AWS Inferentia 可以从机器学习框架(如 TensorFlowPyTorchApache MXNet)中按原生方式使用。它由编译器、运行时和分析工具组成,使您能够运行高性能和低延迟推理。对于众多训练有素的模型,使用 Neuron SDK 编译是一气呵成的,不需要改变任何额外的应用代码。最终实现了高性能推理部署,可以在控制成本的同时轻松扩展。Neuron 文档中提供了许多示例。另外,借助 Amazon SageMaker Neo,您还可以直接在 SageMaker 中编译模型。

使用 AWS Inferentia 扩缩广告验证
Amazon 广告团队开始为 Inferentia 编译他们的模型,并将其部署在由 Inf1 实例提供支持的 SageMaker 端点上。他们将 Inf1 端点与迄今为止一直使用的 GPU 端点进行了对比。结果发现,像 BERT 这样的大型深度学习模型在 Inferentia 上运行效率更高,延迟减少了 30%,成本降低了 71%。几个月前,在 Amazon Alexa 上工作的机器学习团队得出了同样的结论

预测质量怎么样? GPU 模型通常使用单精度浮点数据 (FP32) 进行训练。Inferentia 使用较短的 FP16、BF16 和 INT8 数据类型,这可能会使预测输出产生轻微差异。并行运行 GPU 和 Inferentia 模型,团队分析了概率分配,调整了 Inferentia 模型的预测阈值,并确保这些模型能够像 GPU 模型一样预测广告。您可在文档的性能优化部分了解详情。

随着这些最终调整的进行,Amazon 广告团队开始逐步淘汰 GPU 模型。现在,所有文本数据都可以在 Inferentia 上进行预测,计算机视觉管道的迁移正在进行中。

AWS 客户通过 AWS Inferentia 获得成功
除了 Amazon 团队之外,客户也反馈说,在使用 Inferentia 扩缩和优化其机器学习工作负载方面取得了非常好的效果。

欧特克高级数据科学家欧阳炳辉 (Binghui Ouyang) 说道:“欧特克正在通过使用 Inferentia 来推进我们的 AI 虚拟助手 Autodesk Virtual Agent (AVA) 的认知技术。AVA 通过应用自然语言理解 (NLU) 和深度学习技术来提取咨询背后的背景、意图和意义,每月回答超过 10 万个客户问题。试行 Inferentia 后,我们的 NLU 模型能够获得比 G4dn 高 4.9 倍的吞吐量,并有望在基于 Inferentia 的 Inf1 实例上运行更多工作负载。

CondéNast AI 基础设施首席工程师保罗·弗里泽尔 (Paul Fryzel) 说:“康德纳仕的全球产品组合涵盖了 20 多个领先的媒体品牌,包括《连线》(Wired)、《Vogue》和《名利场》(Vanity Fair)。在几周内,我们的团队就能够将我们的建议引擎与 AWS Inferentia 芯片集成在一起。这一整合使最先进的自然语言模型在 SageMaker 的 Inf1 实例上实现多种运行时优化。因此,我们发现成本比之前部署的 GPU 实例降低了 72%。”

入门指南
您现在可以在 Amazon SageMaker 或 Neuron SDK 上开始使用 Inferentia 和 Inf1 实例。这个自定进度研讨会将引导你完成这两个选择。

立即试用,并向我们提供反馈。如往常一样,我们期待您的反馈。您可以通过常规 AWS Support 联系人发送反馈,将其发布到适用于 SageMaker 的 AWS 论坛或 Neuron SDK Github 存储库中。

– Julien