GPU深度解析:从游戏利器到AI核心驱动力
计算机屏幕上显示的图像由数百万个像素组成。在早期,CPU通过指令来计算每个像素值,生成图像。然而,对于游戏体验来说,图像需要每秒构建数十次,而CPU并不适合如此高强度的任务。于是,1994年索尼在PlayStation游戏机中首次使用了“GPU”(图形处理单元)这个术语,而这项技术后来被英伟达完善并成为领导者。 GPU具有更多的计算内核,开发人员可以编写Shader程序,在GPU上以并行方式进行图形计算,从而实现在极短时间内创建屏幕图像。GPU借鉴了CPU的设计理念,但专门为大规模多线程操作进行了优化。线程创建、切换等操作在GPU上更加迅速。 GPU内存模块——VRAM 为了避免GPU频繁访问CPU的RAM,另一种专门位于GPU附近的内存VRAM(视频随机存取存储器)诞生了。这种内存与GPU计算引擎通过称为内存接口的总线连接。当前主流的VRAM是GDDR6(第六代图形双重数据传输率同步动态随机存取存储器)。 DRAM技术由电容器和晶体管组成,电容器的电荷代表存储的数据。由于漏电现象,需要定期刷新电路来保持数据不丢失,因此得名为“动态RAM”。现代PC多使用DDR5作为CPU的RAM,而消费者级别的GPU则使用GDDR6作为内存。两者本质上相似,但DDR针对低延迟设计,而GDDR牺牲了一些延迟,换取了更高的吞吐量。 HBM(高带宽内存)比GDDR6具有更低的访问延迟,因为其拥有8个内存通道而非2个。此外,HBM还具有更宽的总线宽度。HBM芯片通常通过一个名为“中间层”的硅片与GPU处理器连接,形成了2.5D架构。HBM的主要客户是英伟达,目前市场上主要存在SK海力士、三星和美光三家公司生产HBM。 冷却机制 随着时钟频率的提高,GPU会产生更多热量,因此需要冷却解决方案来保持最佳工作温度。常见的冷却方法包括风冷、水冷和液氮冷却等。 GPU计算核心 与只有少量内核的CPU不同,GPU拥有数千个计算内核,特别擅长并行处理任务。在英伟达GPU中,这些计算单位被称为流式多处理器(SM)。例如,英伟达H100 GPU最多有144个SM。每个SM中有两种主要的执行单元:CUDA核心和张量核心。 CUDA核心用于常规数学运算,每个核心每周期可以执行一次操作,但它们的优势在于并行处理。张量核心是近年来的创新(从V100开始),专门用于加速矩阵乘法。通过使用较低精度的FP16输入,计算速度大大加快,同时保留FP32输出以保持精度。此外,还有一些专门用于Transformer模型的硬件单元,如变换器引擎。 实际操作——GPU的FLOP性能 GPU的性能通常用TeraFLOP/s(每秒万亿次浮点运算)来衡量。多数矩阵操作涉及乘法和加法,将这两个操作融合为一个FMA(融合乘法-加法)操作有助于提高效率。如果知道FMA的速度,可以将其加倍得到每个周期的FLOP计数,再乘以时钟频率和SM数量,得到峰值FLOP/s。 大规模并行处理——LLM操作 利用GPU的强大计算能力,我们可以合理推测大型语言模型(LLM)的推理主要是内存I/O密集型任务,而不是计算密集型任务。这意味着数据加载到GPU计算核心的时间比这些核心实际执行计算的时间更长。因此,高效的内存管理变得尤为关键。英伟达的NVLink技术和NVSwitch芯片可以实现大规模GPU集群之间的高速通信,支持高达256个H100 GPU的集群,使得万亿参数的语言模型推理成为可能。 GPU的发展不仅革新了游戏行业,还在人工智能领域发挥了重要作用。英伟达凭借其强大的GPU技术和专有互联技术(如NVLink和NVSwitch),在AI训练和推理市场占据主导地位。SK海力士、三星和美光等公司在HBM领域也取得了显著成果,推动了高性能计算和数据中心的应用。 总之,GPU不仅在图形处理方面表现出色,还通过优化内存管理和计算核心设计,在大规模并行计算任务中展示了巨大潜力。随着AI模型的不断增大,GPU将继续发挥关键作用,而新的冷却技术和网络拓扑将进一步提升其性能和能效。