AI ASIC 芯片与 GPU 的优劣对比:
性能方面
- AI ASIC 芯片:是针对特定的 AI 算法和任务进行定制设计的,因此在处理这些特定任务时,能够提供非常高的性能表现。例如谷歌的 TPU,经过优化后在处理深度学习任务时,相比通用的 GPU,其性能有显著提升,能够更高效地完成矩阵乘法等核心计算任务,从而加速模型的训练和推理过程125.
- GPU:具有强大的并行计算能力,拥有数百或数千个内核,能够同时处理大量的计算任务,适用于各种不同类型的 AI 算法和模型架构,在处理复杂的、不规则的计算任务时表现出色,如在处理自然语言处理中的长序列数据、计算机视觉中的多尺度图像特征等方面具有优势8.
成本方面
- AI ASIC 芯片:由于其定制化的特点,在大规模量产的情况下,能够有效降低单位成本。例如亚马逊的 Trainium 芯片在推理任务中比英伟达的 H100 GPU 便宜约 30% 至 40%,随着产量的增加,成本优势会更加明显,对于需要大量部署 AI 芯片的场景,如数据中心等,使用 ASIC 芯片能够显著降低硬件采购成本 .
- GPU:研发和制造成本相对较高,特别是高端的 GPU 产品,其价格昂贵,这使得在大规模应用中,硬件成本成为一个重要的制约因素。例如,英伟达的 DGX B200 这种 8 GPU 硬件平台,功耗高达 14.3kW,硬件成本也极高,对于一些预算有限的企业或研究机构来说,成本压力较大16.
功耗方面
- AI ASIC 芯片:通常具有较低的功耗,这是因为其设计目标明确,能够针对特定任务进行功耗优化,在执行相应任务时,不需要像 GPU 那样消耗大量的电能来维持众多通用计算单元的运行,从而降低了整体的能耗成本,对于一些对功耗敏感的应用场景,如边缘计算设备等,具有重要意义249.
- GPU:由于其强大的性能和大量的计算单元,功耗相对较高,特别是在进行大规模的训练任务或处理复杂的模型时,需要消耗大量的电力来保证计算的顺利进行,这不仅增加了能源成本,还对散热系统提出了更高的要求,限制了其在一些对功耗和散热有严格要求的场景中的应用78.
灵活性方面
- AI ASIC 芯片:功能相对固定,一旦设计完成并流片生产,其能够支持的算法和任务类型就基本确定了,难以进行灵活的修改和扩展,对于不断发展和变化的 AI 技术和应用需求,适应性较差,当出现新的算法或任务时,可能需要重新设计和开发新的 ASIC 芯片35.
- GPU:作为通用型的处理器,具有很高的灵活性,能够运行各种不同类型的算法和模型,支持多种编程语言和开发框架,研究者和开发者可以根据具体的需求对其进行灵活的编程和配置,快速实现各种不同的 AI 应用,更容易适应 AI 领域快速变化的技术和应用场景158.
软件生态方面
- AI ASIC 芯片:软件生态相对不够完善,开发工具和资源相对较少,开发者需要针对特定的 ASIC 芯片进行专门的开发和优化,这增加了开发的难度和成本,限制了其在一些需要快速开发和迭代的应用场景中的推广和应用159.
- GPU:拥有成熟和完善的软件生态系统,如英伟达的 CUDA 编程工具包,为开发者提供了丰富的开发资源和便捷的编程接口,大大降低了 GPU 编程的难度,提高了开发效率,使得大量的开发者能够基于 GPU 快速开发和部署各种 AI 应用,推动了 AI 技术的快速发展和普及
一、GPU 在 AI 中的加速计算作用
(一)并行计算能力
- GPU(图形处理器)最初是为了加速图形渲染任务而设计的,它拥有大量的计算核心。例如,英伟达(NVIDIA)的某些高端 GPU 有数千个 CUDA 核心(NVIDIA 推出的一种并行计算平台和编程模型)。在 AI 领域,特别是深度学习算法中,存在大量可以并行处理的计算任务。以神经网络中的矩阵乘法为例,在一个多层感知机(MLP)中,前一层神经元与后一层神经元之间的连接权重的乘法运算可以同时进行。GPU 能够同时处理这些乘法运算,就像有许多工人同时在做乘法一样,大大提高了计算速度。
(二)加速神经网络训练
- 训练数据处理:在 AI 训练过程中,需要处理大量的训练数据。例如,在图像识别任务中,可能有成千上万张图像作为训练数据。GPU 可以快速地读取这些图像数据,并将其转换为神经网络能够处理的格式。以使用卷积神经网络(CNN)进行图像分类为例,GPU 可以同时处理多个图像批次(batch),对每个批次中的图像进行卷积、池化等操作,加速模型对图像特征的提取过程。
- 反向传播加速:神经网络训练的关键步骤是反向传播,用于更新神经网络的权重。这个过程涉及到大量的梯度计算,而 GPU 可以高效地进行这些梯度计算。例如,在训练一个深度神经网络(如 Transformer 架构的语言模型)时,反向传播过程中需要计算每个参数对损失函数的梯度,GPU 通过并行计算可以快速完成这些复杂的梯度计算,使得模型能够更快地收敛到一个较好的状态。
二、GPU 在 AI 模型推理中的作用
(一)实时响应需求
- 在 AI 模型推理阶段,例如在自动驾驶汽车中,需要实时处理传感器(如摄像头、雷达)传来的数据,以做出即时的决策。GPU 可以快速地对这些数据进行处理。以目标检测任务为例,汽车上的摄像头每秒会产生大量的图像帧,GPU 能够快速地运行目标检测模型(如 YOLO 系列模型),检测出图像中的行人、车辆等目标,为自动驾驶系统提供及时的信息,从而保证行车安全。
(二)高效处理复杂模型推理
- 对于一些复杂的 AI 模型,如大型语言模型(LLM)在文本生成任务中的推理,GPU 的性能优势更加明显。当用户输入一个问题或者文本片段,要求模型生成后续的内容时,GPU 可以快速地根据模型的参数和输入的文本进行计算。例如,GPT 系列模型拥有数十亿甚至上百亿的参数,在进行文本生成推理时,GPU 通过并行计算机制,能够快速地在庞大的参数空间中找到合适的输出,生成流畅的文本内容。
在整个 AI 系统的构建中,AI 算法、AI 框架、AI 编译器、AI 推理引擎等都是软件层面的概念,而 AI 芯片则是物理存在的实体,AI 芯片是所有内容的重要基础。
本系列文章将会通过对典型的 AI 模型结构的设计演进进行分析,来理解 AI 算法的计算体系如何影响 AI 芯片的设计指标,进而结合几种主流的 AI 芯片基础介绍,帮助大家对 AI 系统的整个体系知识有更全面的认识。
什么是 AI 芯片
首先我们了解一下芯片是什么?芯片的本质就是在半导体衬底上制作能实现一系列特定功能的集成电路。在发现半导体之前,人类只能用机械控制电,而半导体却能直接“用电来控制电”。计算机是我们日常生活中常见的工具,可以通过数字形式存储古往今外的人类文明信息,计算机里任何复杂功能,还原到最底层都能用 0 和 1 解决,进而可以通过半导体开关的通断,绕过机械维度,直接去操控微观的电子来处理信息。通过芯片这个物理接口,创造了我们今天的数字世界,让人类进入到一半物质世界一半数字世界的新时代。所以说芯片可能是物质世界与数字世界的唯一接口,芯片技术决定了我们信息技术的水平。
其次我们来谈谈人工智能的概念。人工智能(Artificial Intelligence,AI)是一门研究如何使计算机能够模拟和执行人类智能任务的科学和技术领域。它致力于开发能够感知、理解、学习、推理、决策和与人类进行交互的智能系统。人工智能的背景可以追溯到上世纪 50 年代,当时科学家们开始探索如何让机器模拟人类的智能行为。最初的人工智能研究集中在基于规则的推理和专家系统的开发上。
然而,由于计算机处理能力的限制以及缺乏足够的数据和算法,人工智能的发展进展缓慢。随着计算机技术和算法的进步,尤其是机器学习和深度学习的兴起,人工智能开始迎来爆发式的发展。机器学习使得计算机能够通过数据学习和改进性能,而深度学习则基于神经网络模型实现了更高级别的模式识别和抽象能力。
这些技术的发展推动了人工智能在各个领域的广泛应用,如自然语言处理、计算机视觉、语音识别等。人工智能的定义也在不断演变,现代人工智能强调计算机系统能够模仿人类智能的各个方面,包括感知、学习、推理和决策。人工智能的目标是使计算机具备智能的能力,能够自主地解决复杂问题,并与人类进行自然和智能的交互。
机器学习、深度学习算法是人工智能领域技术的重要载体,可以统称为 AI 算法,其计算模式与传统的算法有所不同。比如用来训练和推理的计算数据以非结构化为主,如图像、文本、语音等各种类型数据,并且具有高密度的计算和访存需求,这和传统的算法模式是非常不同的。计算机芯片体系结构在很大程度上影响了 AI 算法的性能。因此,了解 AI 算法与芯片计算体系结构之间的关系是非常重要的。
在 AI 应用还没有得到市场验证之前,通常使用已有的通用芯片(如 CPU)进行计算,可以避免专门研发 ASIC 芯片的高投入和高风险。但是这类通用芯片设计初衷并非专门针对深度学习,因而存在性能、功耗等方面的局限性。随着人工智能应用规模持续扩大,这类问题日益突显,待深度学习算法稳定后,AI 芯片可采用 ASIC 设计方法进行全定制,使性能、功耗和面积等指标面向深度学习算法做到最优。
如今随着 OpenAI 公司的 ChatGPT/GPT4 等模型的惊艳出场,引发了各个行业对人工智能技术的广泛关注和应用推动,更多 AI 算法需要部署,激发了更大的算力需求,无疑 AI 芯片是整个 AI 系统领域的重要基础。
AI 芯片的分类
AI 芯片的广泛定义是指那些面向人工智能应用的芯片。按照不同的角度,AI 芯片可以有不同的分类划分,比如按照技术架构分为 CPU,GPU(Graphics Processing Unit,图形处理单元),半定制化的 FPGA(Field Programmable Gate Array,现场可编程门阵列),全定制化 ASIC(Application-Specific Integrated Circuit,专用集成电路)。
CPU、GPU、FPGA、ASIC 是目前 AI 计算过程中最主流的四种芯片类型,CPU、GPU、FPGA 是前期较为成熟的芯片架构,属于通用性芯片,ASIC 是为 AI 特定场景定制的芯片。他们的主要区别体现在计算效率、能耗和灵活性上面,对 AI 算法具有不同的支持程度。
- CPU:CPU 是冯诺依曼架构下的处理器,遵循“Fetch (取指)-Decode (译码)- Execute (执行)- Memory Access (访存)-Write Back (写回)”的处理流程。作为计算机的核心硬件单元,CPU 具有大量缓存和复杂的逻辑控制单元,非常擅长逻辑控制、串行的运算,不擅长复杂算法运算和处理并行重复的操作。CPU 能够支持所有的 AI 模型算法。
- GPU:图形处理器,最早应用于图像处理领域,与 CPU 相比,减少了大量数据预取和决策模块,增加了计算单元 ALU 的占比,从而在并行化计算效率上有较大优势。但 GPU 无法单独工作,必须由 CPU 进行控制调用才能工作,而且功耗比较高。随着技术的进步,以及越来越多 AI 算法通过 GPU 用来加速训练,GPU 的功能越来越强大,人们开始将 GPU 的能力扩展到一些计算密集的领域,这种扩展后设计的处理器称为 GPGPU(General-Purpose compution on Graphics Processing Unit)
- FPGA:其基本原理是在 FPGA 芯片内集成大量的基本门电路以及存储器,用户可以通过更新 FPGA 配置文件来定义这些门电路以及存储器之间的连线。与 CPU 和 GPU 相比,FPGA 同时拥有硬件流水线并行和数据并行处理能力,适用于以硬件流水线方式处理一条数据,且整数运算性能更高。FPGA 具有非常好的灵活性,可以针对不同的算法做不同的设计,对算法支持度很高,常用于深度学习算法中的推理阶段。不过 FPGA 需要直接与外部 DDR 数据交换数据,其性能不如 GPU 的内存接口高效,并且对开发人员的编程门槛相对较高。国外 FPGA 的有名厂商有 Xilinx(赛灵思)和 Altera(阿尔特拉)两家公司,国内有复旦微电子、紫光同创、安路科技等。
- ASIC:根据产品需求进行特定设计和制造的集成电路,能够在特定功能上进行强化,具有更高的处理速度和更低的功耗。但是研发周期长,成本高。比如神经网络计算芯片 NPU、Tensor 计算芯片 TPU 等都属于 ASIC 芯片。因为是针对特定领域定制,所以 ASIC 往往可以表现出比 GPU 和 CPU 更强的性能,ASIC 也是目前国内外许多 AI 芯片设计公司主要研究的方向,在预见的未来,市面上会越来越多 AI 领域专用 ASIC 芯片。
按照应用场景的角度,AI 芯片可以分为云端,边缘端两类。
- 云端的场景又分为训练应用和推理应用,像电商网站的用户推荐系统、搜索引擎、短视频网站的 AI 变脸等都是属于推理应用。
- 边缘的应用场景更加丰富,如智能手机、智能驾驶、智能安防等。通过 AI 芯片丰富的应用场景,可以看到人工智能技术对我们未来生活的影响程度。
后摩尔定律时代
摩尔定律是由英特尔(Intel)创始人之一戈登·摩尔(Gordon Moore)在 1965 年提出来的。其内容为:当价格不变时,集成电路上可容纳的元器件的数目,约每隔 18-24 个月便会增加一倍,性能也将提升一倍。
换言之,每一美元所能买到的电脑性能,将每隔 18-24 个月翻一倍以上。
这一趋势已经持续了半个多世纪,摩尔定律都非常准确的预测了半导体行业的发展趋势,成为指导计算机处理器制造的黄金准则,也成为了推动科技行业发展的“自我实现”的预言。
如今半个多世纪过去了,虽然半导体芯片制程的工艺还在不断推进,但是摩尔定律中的时间周期也在拉长。2017 年图灵奖得主、加州伯克利大学计算机科学教授、谷歌杰出工程师 David Patterson 表示:“现在,摩尔定律真的结束了,计算机体系结构将迎来下一个黄金时代”。
计算机芯片架构的发展历程确实非常丰富和有趣。从最早的单核 CPU 到多核 CPU,再到多核 GPU/NPU,以及现在的超异构集群体系,每一次技术进步都极大地推动了计算能力的提升和应用场景的拓展。下面简要回顾一下这些发展阶段:
- 单核 CPU:这是计算机最早的核心处理单元,所有计算任务都由单个核心完成。随着技术的发展,单核 CPU 的性能逐渐达到瓶颈。
- 多核 CPU:为了突破单核 CPU 的性能限制,多核 CPU 应运而生。通过在单个芯片上集成多个处理核心,可以同时执行多个任务,显著提高了计算效率。
- 多核 GPU/NPU:GPU(图形处理单元)和 NPU(神经网络处理单元)是专门为图形处理和机器学习等特定任务设计的处理器。它们拥有大量的并行处理核心,非常适合处理大规模并行任务。
- 超异构集群体系:随着计算需求的进一步增长,单一的处理器已经无法满足需求。超异构集群体系通过集成不同类型的处理器(如 CPU、GPU、NPU 等),以及通过高速网络连接,形成了一个高度灵活和可扩展的计算平台。这种体系可以根据不同的任务需求,动态调整资源分配,实现最优的计算效率。
这些技术的发展,不仅推动了硬件的进步,也为软件和应用的开发提供了更多可能性。随着人工智能、大数据、云计算等领域的快速发展,未来的计算机架构可能会有更多创新和突破。
未来软硬件协同设计、计算机体系结构安全性,以及芯片设计开发流程等方面都存在着很多创新与挑战,在这样的背景下,加油吧,下一个黄金时代的从业者们!