首页 文章 分类 标签 关于

GPU到底在算什么?——为什么它是AI时代的"新石油"

🤖 GPU到底在算什么?——为什么它是AI时代的"新石油"

你有没有想过一个问题:AI这么红火,为什么最受益的公司不是做AI的OpenAI,也不是做操作系统的微软,而是一家做显卡的公司——NVIDIA?

2024年,NVIDIA市值一度突破3万亿美元,超过英特尔和AMD的总和再翻几倍。黄仁勋穿着皮夹克到处走,比很多摇滚明星还出名。

它的H100显卡,一块卖3万多美元(大概20多万人民币),全球的大公司们抢破了头——交钱后要等6个月甚至更久才能拿到货。马斯克为了买显卡,据说亲自给NVIDIA打了无数个电话。OpenAI、Google、Meta、微软……全在疯狂囤货。

训练AI,为什么非要用显卡?用我家电脑的CPU不行吗?

这个问题看似基础,但它的答案揭示了整个AI行业最底层的逻辑——算力。理解GPU为什么重要,你就理解了为什么AI的命脉掌握在一家显卡公司手里。

CPU和GPU:一个像博士生,一个像一万个小学生

CPU(中央处理器)和GPU(图形处理器)最本质的区别,一句话就说清了:

CPU擅长处理复杂的单线任务,GPU擅长处理大量的小任务。

用个具体的比喻:

CPU就像你的私人管家——什么都会,做饭、开车、记账、谈判……样样都行,但他只有一个人,一次只能做一件事。

GPU就像一支建筑队——每个人只会搬砖、砌墙、和水泥这三种活,但它们有一万人。让它去干谈判这种复杂活肯定不行,但让它搬一万块砖?十分钟搞定。

这个比喻背后,是硬件设计的差异:

CPUGPU
核心数16-64个(高性能消费级)几千到几万个
单个核心复杂度极高,有复杂的逻辑控制单元和缓存极低,只能做最简单的数学运算
擅长多类型任务、复杂逻辑、顺序执行大量简单运算并行执行
典型功耗65-200W300-700W
价格几百到几千元几万到几十万元

CPU的一个核心,像一个全能博士——有巨大的缓存(相当于办公桌)、复杂的分支预测器(能预判接下来要做什么)、强大的指令集(能做各种算法)。它可以在极其复杂的操作系统里游刃有余,同时运行浏览器、Word、PDF阅读器,还能保证所有程序不互相干扰。

GPU的一个核心,像一个只会算1+1的小学生——没有缓存也不需要,拿到两个数字就加,加完就拿下一组。别指望它处理复杂的逻辑判断,它干不了。但它有几千个同伴,每个都在同时做加法。

问题是:AI训练到底需要博士生,还是需要一万个小学生?

AI训练:本质上就是矩阵乘法

训练大模型,核心的计算不是"思考",而是算矩阵

矩阵是什么?就是一张数字的表格。

在之前的第一篇文章里,我们讲到:文本被拆成Token,每个Token变成一个向量(几百维的数字列表)。多句话合在一起,就形成了一个矩阵——几十行(对应每个Token),几百列(对应每个维度)。

AI训练过程中的每一步,都在对这张表做同样的操作:取两个矩阵,把它们乘起来,得到一个新矩阵。

比如计算注意力分数的时候:

Query矩阵 × Key矩阵的转置 = 注意力分数矩阵

这个步骤在全模型中要重复几千亿次

一个更具体的例子

假设有一个很小的注意力计算:

  • Query矩阵大小:4行 × 12288列
  • Key矩阵大小:4行 × 12288列(转置后变成12288行 × 4列)
  • 做矩阵乘法:4×12288 × 12288×4 = 得到一个4×4的矩阵

这个操作涉及多少次乘法?4 × 12288 × 4 = 196,608次乘法。然后还要做加法和Softmax。

这只是一次注意力计算,在一层Transformer中的一个注意力头里。而GPT-4有120多层,每层有96个注意力头,每次推理要生成几百个Token……

整个训练过程,矩阵乘法要被执行大约10²¹次(1000亿亿次)。

这就是AI训练的本质:不是"思考",而是进行超大规模的、极其重复的数学运算。

现在你明白了吗?这个任务完美适合GPU的工作方式:

  • 运算本身很简单(加法和乘法,小学生级别)
  • 但运算量极大(需要一万个小学生同时干活)
  • 运算之间没有依赖关系(矩阵里的每个元素可以独立计算)

为什么GPU比CPU快100倍?

架构对比:专才 vs 通才

让我们深入芯片内部看看。

一个CPU核心的晶体管分配:

  • 30%:算数逻辑单元(ALU——真正做加法和乘法的部分)
  • 40%:控制逻辑(分支预测、指令调度、乱序执行)
  • 30%:缓存(L1/L2/L3各级缓存)

一个GPU核心的晶体管分配:

  • 70%:算数逻辑单元
  • 5%:控制逻辑
  • 25%:缓存

CPU花了大量的晶体管在处理"接下来要做什么"这个决策上——因为它需要面对复杂多变的程序环境,必须时刻准备着应对各种情况。但GPU把这些晶体管几乎全给了"算"这件事。

结果就是:同样数量的晶体管,GPU做数学运算的能力是CPU的50-100倍

真实的性能数字

来看一些实际的对比:

单精度浮点运算能力(TFLOPS,每秒万亿次浮点运算):

处理器理论算力
Intel Core i9-14900K(高端CPU)约2 TFLOPS
NVIDIA RTX 4090(消费级GPU)约82 TFLOPS
NVIDIA H100(数据中心GPU)约2000 TFLOPS(含稀疏化加速)
NVIDIA B200(最新旗舰)约4500 TFLOPS

一块H100的数学运算能力,是顶级CPU的1000倍

这就是为什么训练大模型要用GPU,而且要用H100这种企业级GPU——因为训练一个GPT-4级别的模型,需要10²¹次浮点运算。如果只用CPU,这个计算量用当前最强CPU来算,需要1.5万年才能完成。用H100集群,几千张卡并行跑,几个月就能搞定。

但GPU也有它的软肋

GPU快是快,但它不是万能的。

GPU不适合做的事情:

  1. 复杂逻辑判断——比如操作系统调度、文件系统管理、数据库事务处理。这些任务涉及大量"如果A则做B否则做C"的判断,GPU的简单核心处理不了。

  2. 顺序依赖强的任务——比如解析JSON、编译代码。每一步的结果依赖上一步,没法并行,GPU的优势发挥不出来。

  3. 数据规模小的任务——GPU启动计算有固定开销(把数据传输到显存需要时间),如果数据量太小,传输耗时比计算还长,反而比CPU慢。

这也是为什么你的电脑不能只用GPU——操作系统、浏览器、文本编辑器这些日常软件,CPU跑得更合适。

GPU是怎么从"打游戏"变成"训练AI"的?

这是一个很有意思的故事。

第一步:游戏催生了GPU

2000年代初,游戏画面越来越精致,3D渲染需要大量并行计算——同时计算几百万个像素的颜色和光照。Intel的CPU搞不定这个,于是NVIDIA和ATI(后来被AMD收购)专门设计了用于图像处理的芯片——GPU。

游戏和AI训练有一个惊人的共同点:都需要大量的矩阵运算。

3D渲染的核心操作是把三维坐标转换到二维屏幕上的投影矩阵,本质上是4×4矩阵和3维向量的乘法。AI的核心操作是注意力矩阵的乘法。虽然目的不同,但底层的数学工具几乎一样。

这就是为什么2024年,全球最大的AI算力提供商不是AWS也不是微软,而是NVIDIA——它只是把原本卖给游戏玩家的卡,改了一下卖给AI公司。

第二步:CUDA成了不可替代的护城河

2007年,NVIDIA做了一个极其有远见的决定:推出CUDA平台,让程序员可以直接用GPU做通用计算——不仅仅是渲染画面,还可以做任何类型的并行计算。

这个决定在当时不被看好。很多分析师说:“谁会用显卡来做计算?太麻烦了。“但NVIDIA坚持了十几年,投入了上百亿美元建立CUDA的生态链——提供编程工具、库函数、优化器、调试器,还跟大学合作开设CUDA课程。

结果是什么呢?

当2012年Alex Krizhevsky用两块GTX 580 GPU训练出AlexNet(现代深度学习时代的开端)之后,整个AI研究界发现:几乎所有深度学习框架(TensorFlow、PyTorch、JAX)的底层都是基于CUDA写的。

到了2023年ChatGPT引爆大模型浪潮时,AI公司想用GPU,发现除了NVIDIA,几乎没有其他选项——AMD的ROCm生态不成熟,Intel的独立显卡刚刚起步,Google的TPU只给自己用。

NVIDIA靠CUDA生态,形成了一个超级护城河。

打个比方:你是一个公司,想建一个AI系统。你换了一家GPU供应商,就像把房子的地基换成另一种材料——上面的墙、窗户、管线全都要重新设计。不是不能换,但代价巨大,大部分公司选择继续用NVIDIA。

到底用什么架构在训练?

既然GPU这么好,是不是训练AI就是"一堆GPU连在一起"这么简单?远远不是。

单卡、多卡、集群

现在训练一个大模型,有几种常见的架构:

单卡模式: 一块GPU训练小模型或微调。Llama 3.1 8B这样的模型,用一块H100大约需要几周时间训练。适合个人开发者和小团队。

多卡单机模式: 8块H100放在一台服务器里,通过NVLink(NVIDIA的高速互联技术)连接。8张卡共享显存池,总显存达到1.4TB(单卡80GB × 8 ÷ 因为NVIDIA的显存管理有点浪费)。适合训练几十亿到百亿参数的模型。

集群模式: 几千甚至几万张H100通过网络连接在一起。OpenAI训练GPT-4时,据说用了约25000张A100(H100的前代产品)。Google训练Gemini Ultra用了更多TPU。

集群模式的问题在于:通信开销。你需要把模型分布在多张卡上,每次计算中间结果要在卡之间传输。模型分得越散,通信次数越多,最终效率越低。

三种并行策略

为了解决这个问题,工程师设计了三种并行方式:

数据并行: 每张卡保存完整的模型副本,但分配不同的训练数据批次。每张卡独立算完,然后同步梯度(权重更新方向)。这种方法适合模型较小但数据量大的情况。

模型并行: 把模型的不同层放在不同的卡上。第一层在卡1上算完,结果传给卡2算第二层,以此类推。这种方法解决了"模型太大一张卡装不下"的问题,但卡之间必须按顺序等待——卡2等卡1算完才能开始,效率低。

流水线并行: 模型并行的改进版。把训练数据分成多个"小批次”,让卡1在处理批次A的同时,卡2同时处理批次B的上一阶段结果。就像工厂流水线——第一个工人在做A的同时,第二个工人可以做上一件产品剩下的事。这样避免了"等待"的问题。

张量并行: 进一步把每一层也切分到不同的卡上。一张卡算这一层的一部分神经元,另一张卡算另一部分。这种方法通信最频繁(每一层的内部就要传输数据),但对模型规模的支持最好。GPT-4使用了类似策略。

一个25000张卡的H100集群,在理想条件下能达到约40%的并行效率——即每张卡只发挥了40%的性能,60%都在等待通信。但这仍然是AI公司能拿到的最好的选择。

算力:AI行业的硬通货

理解了GPU的重要性,就不难理解为什么算力成了AI行业最稀缺的资源。

训练一个模型要花多少钱?

来看一些公开数据:

模型训练算力估计成本
GPT-3(1750亿参数)3640 PFLOPS-days约460万美元
Llama 3.1 405B30800 PFLOPS-days约6000万美元
GPT-4(推测)10万+ PFLOPS-days约1-2亿美元
Gemini Ultra(推测)50万+ PFLOPS-days约5亿美元+

(注:1 PFLOPS-day = 每秒1千万亿次运算 × 24小时)

这里还没算上数据获取成本、人工标注成本、模型实验成本。一个大模型从研发到上线,总成本可能是训练成本的3-5倍。

算力的"洛伦茨曲线”

算力不仅在绝对数量上稀缺,它的分布也极度不均衡。

全球AI算力中,大约70%掌握在前10家公司手中(Google、微软、Meta、OpenAI、Amazon、NVIDIA等)。学术机构和独立研究者的算力占比不到5%。

这就意味着:

  • 有钱的越来越强: 更多算力 → 更大更好的模型 → 更多的用户 → 更高的收入 → 买更多算力
  • 没钱的越来越赶不上: 模型研发的门槛从几百万美元涨到了几亿美元

这也是为什么开源运动如此重要——让算力不足的人也能用上先进模型。

算力的悖论

有意思的是,算力需求本身也在不断增长。

2024年,OpenAI的Sam Altman公开表示:算力将成为世界上最宝贵的资源之一,可能比黄金还贵。

但他同时也指出另一个趋势:推理效率在飞速提升。

H100比A100快2-3倍,而B200比H100再快2-3倍。同时还有很多技术手段在压缩模型——量化(把浮点数从32位压缩到8位或4位)、蒸馏(用大模型训练小模型)、剪枝(去掉不重要的参数)——这些技术让同样性能的模型所需的算力不断下降。

最终可能形成一个平衡:训练越来越贵(想追最好的模型),但使用越来越便宜(已经训练好的模型越来越高效)。

一句大白话总结

GPU之所以成为AI时代的"新石油",不是因为显卡本身性能有多强,而是因为AI的本质是超大规模并行计算,而GPU恰好是地球上最适合做这件事的芯片。

游戏公司催生了GPU,AI公司把它推到了巅峰。一块本来用来渲染《赛博朋克2077》的显卡,现在是驱动ChatGPT在跟你聊天的核心硬件。

这个巧合,改变了整个科技产业的格局。

下一次当你看到"H100缺货"的新闻时,你就知道了:这不只是显卡缺货,是全世界的AI都在排队等一张入场券。

下一篇,我们进入新的主题类别,聊聊你在日常使用AI时会遇到的第一个概念:Token到底是什么?AI是数"字"来算钱的。


📖 本文是MST「30天AI科普专栏」第4篇 / 共25篇 🔖 分类:基础认知 关注MST,每天一个AI小知识,把大模型讲明白。