人工智能加速器是一种能够高效支持AI工作负载的硬件设备。虽然AI应用和服务几乎可以在任何类型的硬件上运行,但AI加速器能够以比通用硬件更快、更高效和更具成本效益的方式处理AI工作负载。
因此,寻求利用AI的组织应花时间了解AI加速器的好处、工作原理、潜在缺点以及当前可用的AI加速器硬件类型。
继续阅读,我们将讨论AI加速器是什么以及它们在现代AI生态系统中扮演的角色。
什么是AI加速器?
有时人们会说AI加速器是“专门为AI设计”的设备,但这并不一定是正确的。如我们下面所述,一种AI加速器——GPU——并不是主要为AI设计的,但它具备了一些使其适合特定类型AI工作负载的能力。
AI加速器属于处理单元的硬件类别,意味着它们的主要目的是执行计算计算(虽然一些加速器也具有集成的短期内存,因此也可以作为一种RAM设备)。从这个意义上讲,AI加速器类似于计算机处理单元(CPU),后者是一种通用计算机芯片,处理计算机或服务器上大多数的处理任务。
然而,与CPU不同,AI加速器针对与AI工作负载相关的任务进行了优化,例如处理大量数据、模型训练和推理。虽然也可以使用通用CPU处理AI工作负载,但这样做通常会花费更长的时间,因为CPU缺乏对许多AI用例重要的特殊能力。
AI加速器是如何工作的?
AI加速器有多种类型,每种类型的设计略有不同。然而,一般来说,使AI加速器工作的关键特征是支持并行计算。
并行计算(也称为并行处理)意味着能够同时执行多个计算。例如,在AI模型训练过程中,由AI加速器驱动的算法可能会同时处理数百或数千个数据点。这是因为加速器具有大量核心(即集成到更大芯片中的单独处理单元),每个核心可以处理不同的操作。
相比之下,通用CPU是顺序处理数据,这意味着它们必须在进行下一个操作之前完成一个操作。现代PC和服务器中常见的多核CPU可以在有限程度上支持并行计算,因为每个核心可以同时处理不同的任务。但CPU通常最多只包含几十个核心,而AI加速器通常具有数十万个核心,因此它们的并行计算能力要大得多。
除了支持并行计算外,一些AI加速器还提供其他类型的硬件优化,例如在并行操作期间减少能耗的处理器架构,以及比计算机主板上的通用RAM更高效的集成内存。
为什么AI加速器重要?
AI加速器之所以重要,是因为它可以显著提高AI工作负载的性能和效率。
同样,几乎可以使用通用CPU支持任何类型的AI用例,就像用牙刷擦地板一样。但AI加速器对于AI工作负载的意义就像动力拖把对地面清洁的意义一样:它是一种更快、更高效完成任务的方法。
AI加速器能够以速度和效率处理AI工作负载,但它们也有一些值得注意的缺点。
值得注意的是,不同的AI工作负载可以以不同的方式受益于AI加速器。例如,在AI模型训练的情况下,实时处理数据的能力通常并不重要,因为训练往往需要数天或数周,即使使用专用的AI硬件也是如此。这意味着开发人员在进行训练时并不期望实时结果。相反,他们希望减少完成训练所需的总时间。因此,对于训练而言,提供大量核心的AI加速器(能够高效处理非常大的数据量)比优化实时处理数据的加速器更具优势。
另一方面,考虑AI推理,即经过训练的AI模型解释新数据并基于此做出决策的操作类型。对于推理,实时处理数据(或非常接近实时)可能至关重要,因为AI应用可能需要支持一些用例——如支付交易中的欺诈检测或引导自动驾驶车辆——在这些情况下,瞬时决策至关重要。但在推理过程中,加速器需要处理的数据量通常远小于训练使用的数据。因此,对于推理用例来说,拥有许多核心的加速器并不如拥有能够非常快速处理新数据的强大核心重要。
AI加速器技术的优点
与通用计算硬件相比,AI加速器提供了一系列好处,包括:
- 大规模快速数据处理。AI加速器中大量核心的存在使并行计算成为可能,从而意味着加速器可以快速处理大型数据集。
- 能源效率。与CPU相比,AI加速器通常在处理相同数量的数据时消耗更少的电力,这要归功于处理器设计等优化,减少了并行计算期间内部数据移动的量。
- 低延迟。AI加速器内部快速移动数据的能力也减少了延迟,即处理任务开始与完成之间的延迟。
- 降低成本。虽然AI加速器的购买价格通常高于CPU,但由于其能够更快速且更少能量消耗地处理数据,其整体总成本往往较低。
AI加速器技术的缺点
另一方面,AI加速器也可能带来一些挑战和缺点:
- 狭窄的关注点。如前所述,不同AI工作负载中最重要的优化类型可能有所不同。因此,擅长某项任务的AI加速器在另一项任务上可能表现不佳。
- 有限的可编程性。如果用户能够修改加速器的工作方式以调整其适应不同用例,变化的AI需求可能不会成为问题。但通常情况下,他们无法做到。大多数加速器难以或无法编程。例外是现场可编程门阵列(FPGA),这是一种设计为可由用户编程的加速器——但即便如此,其可定制性也有限。
- 高前期成本。AI加速器的高购买价格意味着获取它们的前期成本很高,即使从长远来看它们的成本较低。
- 高能耗要求。虽然AI加速器在支持AI工作负载时通常比CPU更高效地消耗能量,但它们仍然需要大量电力。这可能对托管加速器的服务器和数据中心造成压力,以及需要散热的冷却系统(这是它们高能耗的副产品)。
- AI软件创新超过硬件设计。新的AI软件架构、服务和应用不断涌现,但AI优化硬件的演变速度通常较慢。这意味着当前可用的加速器可能无法很好地支持最新类型的AI模型或用例。
AI加速器示例和用例
为了了解AI加速器在现实世界中的用途,可以考虑以下示例:
- 自动驾驶汽车中的加速器可能优化处理实时环境数据所需的推理,从而引导车辆。
- 零售店中的边缘计算位置的加速器可以帮助快速检测欺诈交易,使零售商能够在犯罪分子离开场所之前识别欺诈。
- 托管在公共云中的加速器可以被AI开发人员用来训练大型语言模型(LLM),而无需设置自己的训练硬件。
- 托管LLM聊天机器人的服务器中的加速器可以帮助聊天机器人快速处理用户输入,从而加快推理并提高聊天机器人的响应速度。
主要类型的AI加速器
目前,主要的AI加速器类型包括:
- GPU。图形处理单元最初是为渲染视频而设计的,而不是支持AI。然而,由于GPU提供的核心数量相对较大,它们也可以用于AI工作负载。
- FPGA。FPGA是一种计算设备,其内部逻辑可以由用户修改——因此被称为现场可编程。FPGA通常不具有高核心数量,因此不适合像模型训练这样的工作负载。但它们的核心往往很强大。结合FPGA处理数据的可定制性,使其成为推理等AI工作负载的良好解决方案。
- ASIC。应用专用集成电路的内部逻辑针对某些任务进行了优化,尽管与FPGA不同,ASIC无法由用户修改。通常,用于AI的ASIC针对非常特定类型的工作负载进行了优化,例如图像识别。
- NPU。神经处理单元(NPU)是一种针对神经学习用例训练优化的AI加速器。它们的主要优点是提供高核心数量和低能耗要求,使其在某些模型训练任务中优于GPU。
- TPU。张量处理单元(TPU)是谷歌的一款AI加速器产品。它们是一种NPU。
请注意,这些AI加速器类别之间存在一些重叠。例如,NPU可以被视为ASIC的一种,因为NPU本质上是针对神经网络应用优化的芯片。在某些情况下,人们也可以说GPU和NPU之间存在灰色地带,因为一些最新的GPU(例如Nvidia Ampere产品线中的GPU)是为了神经处理用例而设计的,而不仅仅是视频渲染。
最佳AI加速器
正如我们所提到的,AI用例的要求差异很大,不同的加速器提供不同的优缺点。因此,没有一种最佳的AI加速器。
选择加速器的最佳方法是考虑哪些加速器可能在某种类型的工作负载中提供最佳的性能与成本之间的权衡。例如:
- 如果您寻求用于基本AI任务的预算GPU,GeForce GTX 1660(价格低于200美元)是一个不错的选择。
- 对于更强大的消费级GPU,考虑GeForce RTX 4090。虽然价格接近2000美元,但对于希望在本地运行AI工作负载的个人来说,它仍在可承受范围内。
- Nvidia A100 GPU的起价约为10,000美元,是企业级AI加速器硬件中最强大的选项之一。
除了购买AI加速器并将其安装在自己的PC或服务器中外,还可以通过基础设施即服务(IaaS)提供的远程访问租用AI加速器硬件。例如,虽然谷歌不出售TPU,但它通过托管在谷歌云平台的服务器提供对TPU硬件的访问。这种方法对于那些需要AI加速器进行临时或定期任务(如模型训练)并且不想购买大部分时间闲置的设备的组织来说,可能是理想的选择。