如果你拆开一台训练大模型的服务器,最贵的东西往往不是那颗几十核的CPU,而是旁边那块巨大的显卡——或者叫它GPU(图形处理器)。一块旗舰GPU的价格可以轻松顶十颗CPU,而且你还得买好几块拼在一起用。凭什么?
答案藏在芯片的设计哲学里。
CPU是博士,GPU是小学生
CPU的设计思路是又快又全能。一个CPU核心有巨大的缓存、复杂的分支预测器、乱序执行单元——就像一个全能博士,什么难题都能解,但一次只能解一个。
GPU的思路完全相反。它放弃了一切复杂的花哨功能:几乎没有缓存,没有分支预测,没有乱序执行,只有成千上万个简单的计算核心。每个核心只能做最基本的算术运算。但关键是——它有成千上万个。
一个现代CPU大概有8到16个核心。而一块A100 GPU有6912个CUDA核心,H100更是达到了18432个。不是数量级的差距,是数量级的三次方。
为什么需要这么多低配核心
因为AI的计算模式极度适合并行。
想象你要计算一万个数的平方。CPU的做法是:博士一个人算一万次,每次算完拿下一个。GPU的做法是:叫来一万个小学生,一人分一个数,同时开始算,一次搞定。
这就是GPU的核心优势——大规模并行计算能力。深度学习的矩阵乘法、卷积运算,本质上都是这种「一个简单操作反复做很多次」的模式。CPU做这些就像博士在黑板上一步一步验算乘法表,GPU像一万个小学生同时抄答案。
内存带宽:另一个隐藏武器
GPU的另一个秘密武器是它的内存带宽。
训练大模型时,真正的瓶颈往往不是计算速度,而是数据搬运的速度。你需要在极短的时间内把海量的参数和中间结果在计算核心和显存之间来回传输。
H100的显存带宽高达每秒3.35TB——是顶级DDR5内存(约50GB/s)的60倍以上。这意味着GPU在一秒内搬完的数据,CPU需要一分钟才能搬完。如果你让CPU训练一个大模型,它大部分时间都处于「等着数据送过来」的状态,计算核心闲着没事干。
从图形到科学计算
有意思的是,GPU最初被设计出来是为了游戏和图形渲染——在屏幕上同时计算几百万个像素点的颜色和光照。直到2007年,NVIDIA推出了CUDA,让程序员可以用C语言直接编写GPU程序,GPU才从「专门画画的」变成了「通用并行计算器」。
从此,科学家们发现:需要海量并行计算的问题——分子模拟、气象预报、基因分析、物理仿真——GPU都能加速几十倍甚至上百倍。而深度学习的爆发,更是让GPU从「好用的工具」变成了「没有它就做不了」的基础设施。
未来会变吗
近年来出现了专门为AI设计的NPU(神经网络处理器)和TPU(张量处理器),它们在特定运算上比GPU更高效。但GPU的通用性和庞大的软件生态(CUDA、cuDNN、PyTorch/TensorFlow的底层优化)仍然让它坐稳了AI计算的王座。
有一个广为流传的数字:OpenAI训练GPT-3时用了约一万块V100 GPU连续运行了数周。如果换成CPU集群,时间会从周变成年。
所以下次看到那些奇形怪状的散热器下躺着的显卡时,请记住——那不是一个帮你打游戏的零件。它是一个拥有一万多个小学生坐在一起,以每秒几万亿次的节奏,帮你把脑中的想法变成现实的怪物。