亚马逊AWS官方博客

大多数 Alexa 现在在更快、更经济高效的 Amazon EC2 Inf1 实例上运行

今天,我们宣布,Amazon Alexa 团队已将绝大多数基于 GPU 的机器学习推理工作负载迁移到由 AWS Inferentia 提供支持的 Amazon Elastic Compute Cloud (EC2) Inf1 实例。这样一来,执行 Alexa 的文本到语音转换工作负载时,与基于 GPU 的实例相比,端到端延迟降低了 25%,成本降低了 30%。较低的延迟使 Alexa 工程师能够利用更复杂的算法进行创新,并改善客户的整体 Alexa 体验。

AWS 从零开始构建了 AWS Inferentia 芯片,以在云中提供成本最低的机器学习 (ML) 推理。他们为我们在AWS re:Invent 2019 上推出的 Inf1 实例提供支持。与基于 GPU 的 G4 实例相比,Inf1 实例最高提高了 30% 的吞吐量并使每次推断的成本最多降低 45%,而在 Inf1 之前, G4 实例是云中用于 ML 推断的成本最低的实例。

Alexa 是 Amazon 基于云的语音服务,为 Amazon Echo 设备以及 140000 多种型号的智能扬声器、灯光、插头、智能 TV 和照相机提供支持。今天,客户已将超过 1 亿台设备连接到 Alexa。每个月,都有数千万客户通过与 Alexa 互动来控制他们的家用设备(“Alexa,调高客厅温度”,“Alexa,关闭卧室’”),听收音机和音乐(“Alexa,启动浴室的 Maxi 80”,“Alexa,播放 Spotify 中的 Van Halen),接收通知(“Alexa,有什么新闻?”“Alexa,今天会下雨吗?”) ,或接受教育或者玩转 10 万多种 Alexa 技能

如果您问 Alexa 住在哪里,她会告诉您她就在这里,但她的大脑在云中。的确,Alexa 的大脑部署在 AWS 中,在那里,她可以从我们为客户构建的敏捷性、大规模基础设施和全球网络中受益。

Alexa 的工作原理
当我在客厅里问 Alexa 天气情况时,我会触发一个复杂的系统。首先,设备上的芯片检测到唤醒词 (Alexa)。一旦检测到,麦克风就会记录我所说的话,然后在云中播放声音以进行分析。从较高层面来说,将通过两个阶段分析我的声音。首先,Alexa 将声音转换为文本。这一阶段称为自动语音识别 (ASR)。当了解文本后,第二阶段就是理解我的意思。这一阶段为自然语言理解 (NLU)。NLU 的输出是意图(客户想要什么)和关联的参数。在例子(“Alexa,今天天气怎么样?”)中,意图可能是“GetWeatherForecast”,参数可能是从我的个人资料中推断出来的邮政编码。

整个过程大量使用人工智能将我的声音转换为音素、将音素转换为单词、单词转换为短语、短语转换为意图。根据 NLU 的输出,Alexa 将意图路由给服务来实现它。该服务可能是 Alexa 内部或外部服务,就像我的 Alexa 帐户中激活的技能之一一样。履行服务将处理意图并将响应作为 JSON 文档返回。文档包含 Alexa 必须说的响应文本。

该过程的最后一步是从文本中生成 Alexa 的声音。这被称为文本到语音转换 (TTS)。一旦 TTS 开始产生声音数据,它就会被传送回我的 Amazon Echo 设备:“今天将部分阴天气,最高气温 16 度,最低低温 8 度。”(我住在欧洲,这些都是摄氏度 :-) )。这种文本转语音过程还大量涉及机器学习模型,以构建一个在发音、节奏、词与词之间的联系、语调等方面听起来自然的短语。

Alexa 是世界上最受欢迎的超大规模机器学习服务之一,每周有会处理数十亿次推理请求。在 Alexa 的三个主要推理工作负载(ASR、NLU 和 TTS)中,TTS 工作负载最初运行在基于 GPU 的实例上。但是,Alexa 团队决定尽快迁移到 Inf1 实例,以改善客户体验并降低服务计算成本。

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

AWS Inferentia 可以从 TensorFlowPyTorchMXNet 等常见的机器学习框架中进行本机使用,可与 AWS Neuron 一起使用。AWS Neuron 是一种软件开发工具包 (SDK),可用于使用 AWS Inferentia 芯片运行机器学习推理。它由编译器、运行时和分析工具组成,使您能够运行高性能和低延迟推理。

还有谁在使用 Amazon EC2 Inf1?
除了 Alexa 之外,Amazon Rekognition 也在采用 AWS Inferentia。与在 GPU 实例上运行这些模型相比,在 Inf1 实例上运行对象分类等模型会将延迟降低 8 倍,吞吐量增加一倍。

从财富 500 强公司到初创公司的客户都在使用 Inf1 实例进行机器学习推断。例如,Snap Inc.​ 将机器学习 (ML) 融入 Snapchat 的方方面面,探索这一领域的创新是他们的重中之重。他们听说 AWS Inferentia 之后,便与 AWS 合作采用 Inf1 实例帮助进行 ML 部署,包括性能和成本。他们从推荐模型推理开始,期待着未来在 Inf1 实例上部署更多模型。

Conde Nast 是世界领先的媒体公司之一,其推荐引擎与基于 GPU 的实例相比,推理成本降低了 72%。而美国领先的医疗保健公司之一Anthem 发现,其客户情绪机器学习工作负载的吞吐量比基于 GPU 的实例高 2 倍。

如何开始使用 Amazon EC2 Inf1
您现在就可以开始使用 Inf1 实例了。

如果您更喜欢管理自己的机器学习应用程序开发平台,您可以通过使用 AWS 深度学习 AMI(包括Neuron 开发工具包)启动 Inf1 实例开始,也可以通过 Amazon Elastic Kubernetes Service 或适用于容器化机器学习应用程序的 Amazon ECS 使用 Inf1 实例。要了解有关在 Inf1 实例上运行容器的更多信息,请阅读此博客以开始使用 ECS,并阅读本博客以开始使用 EKS

开始使用 Inf1 实例的最简单、最快速的方法是通过 Amazon SageMaker,它是一项完全托管的服务,可让开发人员快速构建、训练和部署机器学习模型。

立即在 Amazon SageMaker 上开始使用 Inf1。

— seb