AI 计算,为什么要用 GPU?

访客 智能手机 2.2K+

在今天的文章中,我们继续谈论芯片。

小早君在之前的文章中说过,半导体芯片在业界通常分为数字芯片和模拟芯片。其中数字芯片的市场规模比较大,达到70%左右。

数字芯片可以进一步细分为逻辑芯片、存储芯片和微控制器(MCU)。

AI 计算,为什么要用 GPU?

存储芯片和MCU将在后面介绍。今天小早君重点介绍逻辑芯片

逻辑芯片实际上是一种计算芯片。它包含各种逻辑门,可以实现运算和逻辑判断的功能。它是最常见的芯片之一。

我们经常听到的CPU,GPU,FPGA,ASIC都是逻辑芯片。现在特别流行的AI用的所谓“AI芯片”,主要指的就是它们。

CPU(中央处理器)

先说大家最熟悉的CPU,英文全称是Central Processing Unit。

AI 计算,为什么要用 GPU?

CPU但是大家都知道CPU是电脑的心脏。

现代计算机都是基于20世纪40年代诞生的冯·诺依曼架构。在这种体系结构中,它包括算术单元(ALU)、控制器(CU)、存储器、输入设备、输出设备等部件。

AI 计算,为什么要用 GPU?

冯诺依曼架构数据来了,会先放在内存里。然后,控制器会从内存中获取相应的数据,交给运算器进行运算。操作完成后,结果被返回到内存中。

这个过程有一个更有说服力的名字:“取-解码-执行-内存访问-写回”。

如你所见,CPU负责算术单元和控制器的两个核心功能。

具体来说,算术单元(包括加法器、减法器、乘法器和除法器)负责执行算术和逻辑运算,而且是真的在工作。负责从内存中读取、解码和执行指令的控制器正在指指点点。

除了运算器和控制器,CPU还包括时钟模块和寄存器(缓存)等部件。

AI 计算,为什么要用 GPU?

时钟模块负责管理CPU的时间,为CPU提供稳定的时基。它驱动CPU中的所有操作,并通过定期发送信号来调度每个模块的工作。

寄存器是CPU中的高速存储器,用来临时存储指令和数据。它在CPU和内存(RAM)之间的“缓冲”比普通内存更快,避免内存“拖累”CPU的工作。

寄存器的容量和访问性能可以影响CPU对内存的访问次数,进而影响整个系统的效率。后面说到内存芯片的时候,我们也会提到。

CPU一般根据指令集架构来分类,包括x86架构和非x86架构。X86基本上是一个复杂指令集(CISC),而非x86基本上是一个精简指令集(RISC)。

PC和大部分服务器使用x86架构,Intel和AMD占主导地位。非x86架构的类型很多,近年来迅速崛起,主要有ARM、MIPS、Power、RISC-V、Alpha等。以后会介绍的。

图形处理器

我们再来看看GPU。

GPU是显卡的核心部件,英文全称是Graphics Processing Unit,是一种图形处理单元。

GPU不能等同于显卡。除了GPU,显卡还包括显存、VRM稳压模块、MRAM芯片、总线、风扇、外设接口等。

AI 计算,为什么要用 GPU?

显卡1999年,NVIDIA率先提出了GPU的概念。

之所以提出GPU,是因为90年代游戏和多媒体业务的快速发展。这些服务对计算机的3D图形处理和渲染能力提出了更高的要求。传统CPU无法处理,所以引入GPU来分担这项工作。

GPU按照形式可以分为独立GPU(dGPU)和集成GPU(iGPU),也就是常说的独立显示和集成显示。

GPU也是计算芯片。所以和CPU一样,它包括运算器、控制器和寄存器。

但由于GPU主要负责图形处理任务,其内部架构与CPU有很大不同。

AI 计算,为什么要用 GPU?

如上图所示,CPU核心(包括ALU)数量相对较少,最多只有几十个。但是,CPU有大量的缓存和复杂的控制器(CU)。

之所以这样设计,是因为CPU是通用处理器。作为计算机的主要核心,它的任务非常复杂,不仅要处理不同类型的数据计算,还要响应人机交互。

复杂的条件和分支,以及任务之间的同步和协调,会带来大量的分支跳转和中断处理。它需要更大的缓存来保存各种任务状态,以减少任务切换的时延。它还需要更复杂的控制器来进行逻辑控制和调度。

CPU的强项是管理和调度。实操功能不强(ALU占5%~20%左右)。

如果把处理器看做一个餐厅,CPU就像一个全能餐厅,里面有几十个高级厨师。这家餐厅可以做各种菜系,但是因为菜系多,协调准备菜品要花很多时间,上菜速度也比较慢。

GPU完全不一样。

GPU是为图形处理而生的,任务非常明确单一。它要做的就是渲染图形。图形由大量像素组成,属于类型高度统一、相互独立的大规模数据。

所以GPU的任务就是在最短的时间内完成大量同质化数据的并行运算。所谓的调度协调“杂事”很少。

当然,并行计算需要更多的内核

如上图所示,GPU的核数远远超过CPU,可以达到几千甚至上万(因此得名“众核”)。

AI 计算,为什么要用 GPU?

RTX4090有16384个核的流处理器GPU,称为流多处理器(SM),是一个独立的任务处理单元。

在整个GPU中,会划分成多个流处理区域。每个处理区域包含数百个内核。每个核,相当于一个简化版的CPU,有整数运算和浮点运算的功能,还有排队和结果收集的功能。

GPU的控制器功能简单,缓存少。其ALU比例可达80%以上。

虽然GPU单核的处理能力弱于CPU,但它的规模巨大,非常适合高强度的并行计算。在晶体管规模相同的情况下,其计算能力强于CPU。

还是以餐厅为例。GPU就像一个拥有数千名初级厨师的餐厅。只适合某个指定的菜系。但是因为厨师多,配菜简单,所以大家一起做饭上菜比较快。

AI 计算,为什么要用 GPU?

CPU vs GPUGPU和AI计算

众所周知,现在的AI计算正在抢购GPU。英威达也赚得盆满钵满。为什么会这样?

原因很简单,因为AI计算和图形计算一样,也包含了大量高强度的并行计算任务。

深度学习是目前最主流的人工智能算法。从过程上看,包括训练和推理两个环节。

AI 计算,为什么要用 GPU?

在训练过程中,通过输入大量数据来训练复杂的神经网络模型。在推理过程中,我们利用训练好的模型和大量数据得出各种结论。

由于训练过程涉及海量的训练数据和复杂的深度神经网络结构,所需的计算规模非常大,对芯片的计算性能要求很高。在推理环节,对简单指定的重复计算和低延迟要求较高。

他们使用的具体算法,包括矩阵乘法、卷积、循环层、梯度运算等。,被分解成大量的并行任务,可以有效缩短任务完成时间。

GPU凭借其强大的并行计算能力和内存带宽,可以很好地应对训练和推理任务,成为深度学习领域的首选解决方案。

目前大部分企业使用英伟达的GPU集群进行AI训练。如果优化合理,一块GPU卡可以提供相当于几十到几百台CPU服务器的计算能力。

AI 计算,为什么要用 GPU?

英伟达HGX A100 8 GPU组件然而,在推理过程中,GPU的市场份额并没有那么高。具体原因后面再说。

GPU应用于计算外部图形始于2003年。

那一年,gp GPU(GPU上的通用计算)的概念被首次提出。意味着利用GPU的计算能力,在非图形处理领域进行更通用、更广泛的科学计算。

GPGPU在传统GPU的基础上进一步优化,使其更适合高性能并行计算。

2009年,斯坦福的几位学者首次展示了用GPU训练深度神经网络的成果,引起了轰动。

几年后的2012年,神经网络之父杰弗里·辛顿(Geoffrey Hinton)的两个学生亚历克斯·克里热夫斯基(Alex Krizhevsky)和伊利亚苏·苏茨基弗(Andrew Sutskever)利用“深度学习+GPU”的方案,提出了深度神经网络AlexNet,将识别成功率从74%提高到85%,一举赢得了Image Net挑战赛。

AI 计算,为什么要用 GPU?

左起:伊利亚苏·茨科沃、亚历克斯·克里切夫斯基和杰弗里·辛顿,彻底掀起了“AI+GPU”的浪潮。英伟达迅速跟进,投入大量资源,三年内将GPU性能提升了65倍。

除了硬件和硬计算能力,他们还积极围绕GPU构建开发生态。他们基于自己的GPU建立了CUDA(Compute Unified Device Architecture)生态系统,提供了完善的开发环境和方案,帮助开发者更轻松地使用GPU进行深度学习和开发或高性能计算。

这些早期的精心布局最终帮助英伟达在AIGC爆发时获得了巨大的红利。目前它们的市值高达1.22万亿美元(接近英特尔的6倍),是名副其实的“AI无冕之王”。

那么,AI时代的计算是GPU吗?我们经常听说的FPGA和ASIC,似乎也是不错的计算芯片。他们的区别和优势是什么?

敬请期待下集:什么是ASIC和FPGA

参考资料:

1.《了解GPU的概念和工作原理》,开源LINUX;

2.AI芯片架构体系概述,Garvin Li,知乎;

3.GPU、FPGA、ASIC加速器有什么区别?“,智虎,胡说八道;

4.《带你深入了解GPU、FPGA、ASIC》,观察汽车行业一线;

5.《为什么GPU是AI时代计算能力的核心》,牧溪集成电路;

6.《自动驾驶三大主流芯片架构概述》,数字化转型;

7.《AIGC计算全景及趋势报告》,量子比特;

8.百度百科和维基百科。

本文来自微信微信官方账号:鲜枣课堂(ID: xzclasscom),作者小枣君。

投诉水文 我要纠错

标签: 芯片 运算器 架构

抱歉,评论功能暂时关闭!