你有没有想过一个问题: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就像一支建筑队——每个人只会搬砖、砌墙、和水泥这三种活,但它们有一万人。让它去干谈判这种复杂活肯定不行,但让它搬一万块砖?十分钟搞定。
这个比喻背后,是硬件设计的差异:
| CPU | GPU | |
|---|---|---|
| 核心数 | 16-64个(高性能消费级) | 几千到几万个 |
| 单个核心复杂度 | 极高,有复杂的逻辑控制单元和缓存 | 极低,只能做最简单的数学运算 |
| 擅长 | 多类型任务、复杂逻辑、顺序执行 | 大量简单运算并行执行 |
| 典型功耗 | 65-200W | 300-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不适合做的事情:
复杂逻辑判断——比如操作系统调度、文件系统管理、数据库事务处理。这些任务涉及大量"如果A则做B否则做C"的判断,GPU的简单核心处理不了。
顺序依赖强的任务——比如解析JSON、编译代码。每一步的结果依赖上一步,没法并行,GPU的优势发挥不出来。
数据规模小的任务——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 405B | 30800 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小知识,把大模型讲明白。