交互式人工智能( CAI )简介 什么是交互式人工智能( AI )? 交互式人工智能( CAI )使用机器学习( ML )的子集深度学习( DL ),通过机器实现语音识别、自然语言处理和文本到语音的自动化。 CAI 流程通常用三个关键的功能模块来描述: 1. 语音转文本( STT ),也称为自动语音识别( ASR ) 2 自然语言处理( NLP ) 3 文本转语音( TTS )或语音合成 图 1 : 交互式 AI 构建模块 本篇白皮书详细介绍了自动语音识别( ASR )的应用场景,以及 Achronix 如何在实现 ASR 解决方案的同时将相关成本降低高达 90% 。 细分市场和应用场景 仅在美国就有超过 1.1 亿个虚拟助手在发挥作用 ,大多数人对使用 CAI 服务都很熟悉。主要示例包括移动设备上的语音助手,例如苹果的 Siri 或亚马逊的 Alexa ;笔记本电脑上的语音搜索助手,例如微软的 Cortana ;自动呼叫中心应答助理;以及支持语音功能的设备,例如智能音箱、电视和汽车等。 支持这些 CAI 服务的深度学习算法可以在本地电子设备上进行处理,或者聚集在云中进行远程大规模处理。支持数百万用户交互的大规模部署是一个巨大的计算处理挑战,超大规模的提供商已经通过开发专用的芯片和设备来处理这些服务。 现在,大多数小型企业都可以使用亚马逊、 IBM 、微软和谷歌等公司提供的云 API ,轻松地将语音接口添加到他们的产品中。然而,当这些工作负载的规模增加时(本白皮书后面将介绍一个具体的示例),使用这些云 API 的成本将会变得过高,迫使企业寻求其他解决方案。此外,许多企业运营对数据安全性有更高的要求,因此需要将解决方案必须保留在企业的数据安全范围内。 企业级 CAI 解决方案可用于以下应用场景: · 自动呼叫中心 · 语音和视频通信平台 · 健康和医疗服务 · 金融和银行服务 · 零售和 售货贩卖设备 详细介绍 ASR 处理过程 ASR 是 CAI 流程的第一步,在这里语音被转录为文本。一旦文本可用,就可以使用自然语言处理( NLP )算法以多种方式对其进行处理。 NLP 包括关键内容识别、情感分析、索引、语境化内容和分析。在端到端的交互式 AI 算法中,语音合成用于生成自然的语音响应。 最先进的 ASR 算法是通过端到端的深度学习来实现。不同于卷积神经网络( CNN ),递归神经网络( RNN )在语音识别中很常见。正如来自 TechTarget 的 David Petersson 在《 CNN 与 RNN :它们有何不同?》文章中提到: RNN 更适合处理时间数据,与 ASR 应用非常适配。基于 RNN 的模型需要较高的计算能力和存储带宽来处理神经网络模型,并满足交互式系统所需的严格的延迟目标。当实时或自动响应太慢时,它们会显得迟缓和不自然。通常只有牺牲处理效率才能实现低延迟,这会增加成本,并且对于实际部署来说会变得过于庞大。 Achronix 与采用现场可编程逻辑门阵列( FPGA )进行 AI 推理的专业技术公司 Myrtle.ai 展开合作。 Myrtle.ai 利用其 MAU 推理加速引擎在 FPGA 上实现基于 RNN 的高性能网络。该设计已集成到 Achronix Speedster®7t AC7t1500 FPGA 器件中,可以利用 Speedster7t 架构的关键架构优势(将在本白皮书后面进行探讨),大幅提高实时 ASR 神经网络的加速处理,从而与服务器级中央处理器( CPU )相比,可处理的实时数据流( RTS )的数量增加 2500% 。 数据加速器:如何实现资源的合理平衡分配 数据加速器可以卸载通常由主 CPU 执行的计算、网络和 / 或存储处理工作负载,从而可以显著减少服务器的占用空间。本白皮书介绍了用一台服务器和一个 Achronix 基于 ASR 的加速卡可取代多达 25 台服务器。这种架构大大降低了工作负载成本、功耗和延迟,同时提高了工作负载吞吐量。然而,只有在硬件得到有效使用并且部署具有成本效益的情况下,使用数据加速硬件来实现高性能和低延迟才有意义。 ASR 模型对现代数据加速器来说是一种挑战,通常需要手动调整以实现比平台主要性能规格的个位数效率更高的性能。实时 ASR 工作负载需要高存储带宽以及高性能计算。这些大型神经网络所需的数据通常存储在加速卡上的 DDR 存储器中。将数据从外部存储器传输到计算平台是该工作负载中的性能瓶颈,特别是在进行实时部署的时候。 图形处理器( GPU )架构是基于数据并行模型,较小的批处理量( batch size )会导致 GPU 加速硬件的利用率较低,从而导致成本增加和效率降低。硬件加速解决方案数据表(以 TOPS 即每秒万亿次操作为单位进行衡量)中的性能数据并不能总是很好地表示实际性能,因为许多硬件加速器件由于与器件架构相关的瓶颈而未得到充分利用。这些数据以 TOPS 为单位,强调了加速器计算引擎的处理能力,但忽略了关键因素,例如外部存储器的批处理量、速度和规模,以及在外部存储器和加速器计算引擎之间传输数据的能力。对于 ASR 工作负载,关注存储带宽和在加速器内高效地传输数据为加速器性能和效率的实现提供了更强有力的指导。 加速器必须具有更大的外部存储规模和非常高的带宽。当今的高端加速器通常使用高性能的外部存储器,存储规模达 8-16 GB ,运行速度可高达 4 Tbps 。它还必须能够将这些数据传输到计算平台而不会影响性能。然而,无论如何去实现高速存储和计算引擎之间的数据通道,它几乎在所有情况下都是系统性能的瓶颈,特别是在实时 ASR 这样的低延迟应用中。 FPGA 设计旨在存储和计算之间提供最佳的数据路由通道,从而为这些工作负载提供一个出色的加速平台。 Achronix 解决方案与其他 FPGA 解决方案的对比 在机器学习( ML )加速领域中,已有 FPGA 架构宣称其推理速度可高达 150 TOPS 。然而在实际应用中,尤其是在那些对延迟敏感的应用(如 ASR )中,由于无法在计算平台和外部存储器之间高效地传输数据,所以这些 FPGA 远不能达到其声称的最高推理速度。由于数据从外部存储器传输到 FPGA 器件中的计算引擎时出现了瓶颈,从而造成了这种性能上的损失。 Achronix Speedster7t 架构在计算引擎、高速存储接口和数据传输之间取得了良好的平衡,使 Speedster7t FPGA 器件能够为实时、低延迟的 ASR 工作负载提供高性能,可实现最高 TOPS 速率的 64% 等级。 图 2 : Speedster7t 器件的计算、存储和数据传输能力 Speedster7t 架构如何实现更高的计算效率 在 Speedster7t 上搭载的机器学习处理器( MLP )是一种优化的矩阵 / 向量乘法模块,能够在单个时钟周期内进行 32 次乘法和 1 次累加,是计算引擎架构的基础。 AC7t1500 器件中的 Block RAM ( BRAM )与 2560 个 MLP 实例都处于同一位置,这意味着更低的延迟和更高的吞吐量。 借助于这些关键的架构单元, Myrtle.ai 的 MAU 低延迟、高吞吐量的 ML 推理引擎已集成到 Speedster7t FPGA 器件中。 在构建最佳的 ASR 解决方案时,集成了之前提到的来自 Myrtle.ai 的 MAU 推理引擎,使用了 2560 个 MLP 中的 2000 个。由于 MLP 是一个硬模块,它可以运行在比 FPGA 逻辑阵列本身更高的时钟速率上。 图 3 : 机器学习处理器 在 AC7t1500 器件中使用了 8 个 GDDR6 存储控制器,它们总共可提供高达 4 Tbps 的双向带宽。如上所述,强大的计算引擎和大容量、高带宽的存储依赖于高速、低延迟和确定性的数据传输,以提供低延迟 ASR 应用所需的实时结果。 随后这些数据进入到 Speedster7t 的二维片上网络( 2D NoC )。该二维片上网络是 Speedster7t 架构中的另一种硬结构,时钟频率高达 2 GHz ,可与所有 I/O 、内部硬模块和 FPGA 逻辑阵列本身互连。凭借 20 Tbps 的总带宽, 2D NoC 提供了最高的吞吐量,并通过适当的实现方式,可以在外部 GDDR6 存储器和支持 MLP 的计算引擎之间提供最具确定性的、低延迟的数据传输。 图 4 : 总带宽为 20 Tbps 的 2D NoC 与其他竞争性厂商的解决方案不同, 2D NoC 消除了 Speedster7t ASR 解决方案在存储器和计算引擎之间的任何瓶颈,在这些非常低的批处理速率下,硬件加速器的利用率达到最佳状态。 将所有这些功能放在一个 roofline 图中,就可以清楚地说明 Achronix Speedster7t 器件在低延迟 ASR 应用中相对于其他竞争性 FPGA 解决方案的优势。该 roofline 图使用了由每个制造商公布的经过验证的 TOPS 数据,展示了这些器件在实际应用中可以达到的效果。 下图显示了一个有效 TOPS 的 roofline 模型,它使用了 Achronix 为微基准( GEMV 和 MLP )和测试而构建的子集,以及公司 A 和公司 B (基于架构)发布的数据。橙色的竖线表示批处理量为 8 毫秒和 80 毫秒音频模块的最佳操作点,用于低延迟、实时 ASR 数据流应用。在这个最佳操作点上, Achronix 的有效 TOPS 比公司 A 提高了 44% ,比公司 B 的解决方案提高了 260% 。 图 5 : 有效 TOPS 的 Roofline 模型 在一年内实现 ASR 处理成本降低高达 90% 的目标 大多数 ASR 解决方案由 Google 、 Amazon 、 Microsoft Azure 和 Oracle 等大型云服务提供商提供。随着运营规模的扩大,以及这些产品在市场上取得的成功,在这些云 API 基础上构建产品的服务提供商面临着越来越高的成本压力。较大规模的 ASR 提供 商公开宣传成本从每分钟 0.01 美元到 0.025 美元不等 、 、 、 。行业报告显示,呼叫中心的平均呼叫时间约为 5 分钟。考虑一个大型企业数据或呼叫中心服务公司每天要处理 50,000 通电话,每通电话 5 分钟。按照上述费率计算, ASR 处理成本将是每天 1,500 至 6,000 美元或每年 50 万至 200 万美元。 Achronix 和 Myrtle.ai 的解决方案可以集成在一个加速卡上支持处理 4000 个 RTS ,每天可以处理超过一百万次的呼叫。 有许多因素会决定独立 ASR 设备的成本。在这个特定示例中,假设 Achronix ASR 加速解决方案是通过基于 FPGA 的 PCIe 卡提供,并集成到基于 x86 架构的 2U 服务器中。该设备从系统集成商那里出售,价格可能为 50,000 美元,而每年运行服务器的成本可能是这个成本的两倍。这样一来,本地 ASR 设备第一年的费用就达到了 10 万美元。将这种本地解决方案与云 API 服务进行比较,终端用户可以在第一年节省 5 到 20 倍的费用。 表 1 : Achronix ASR 解决方案与云 API 服务的对比总结 项目 Speedster7t 解决方案 云 API ( 最低成本 ) 云 API ( 最 高 成本 ) 每天成本( 50k RTS ) $275 $1.5k $6k 年度成本 $100k $500k $2,000k 降低成本 vs 云 API 5X to 20X – – 高度紧凑的系统使企业能够随着其业务的增加而扩展,而无需依赖日益昂贵的 ASR 云 API ,也无需构建庞大的数据中心基础设施来提供本地解决方案。 总结 CAI 中的 ASR 功能要求 RNN 机器学习算法具有低延迟、高吞吐量的计算,这对现代 AI 加速器提出了挑战。声称推理速度高达 150 TOPS 的 FPGA 硬件加速器在大型计算引擎和高速存储器之间传输数据时会遇到瓶颈,这些瓶颈可能导致硬件利用率低至 5% 。 Achronix 和 Myrtle.ai 携手推出一个 ASR 平台,该平台由一个 200W 、 x16 PCIe Gen4 加速卡和相关软件组成,可以同时支持多达 4000 个 RTS ,每 24 小时可以处理多达 100 万个、时长 5 分钟的转录文件。将单台 x86 服务器上的 PCIe 加速卡与云 ASR 服务的成本相比,第一年的资本支出( CAPEX )和运营成本( OPEX )就可以降低高达 90% 。