8核比4核强,32核比16核强,128核肯定比64核强。 于是到了 AI 服务器时代,一个很自然的想法就出现了: CPU 核数越多,AI 服务器性能是不是就越强? 答案是: 甚至在一些 AI 服务器里,CPU 核数加了一倍,GPU 训练速度可能几乎没变化。 更极端一点: 你花了更多钱,买了更多 CPU 核心,最后得到的可能不是更快,而是更多功耗、更多 NUMA 问题,以及更多闲着没事干的 CPU 核心。 为什么? 因为今天的 AI 服务器,已经不是“CPU 一个人干活”的时代了。 传统服务器里,CPU 是绝对主角。 数据库、Web 服务、虚拟机、Java 程序,大量计算都直接跑在 CPU 上。 但到了 AI 服务器,情况变了。 假设一台服务器里有: 真正负责大模型矩阵计算的,通常是 GPU。 CPU 更像什么? 可以把一台 AI 服务器想象成一个大型物流中心。 它们负责真正的大规模搬运: 这些才是 AI 训练和推理最重的活。 CPU 主要负责: 所以问题来了: 一个物流中心,多招100个调度员,能不能让机器人搬货速度翻倍? 未必。 如果真正的瓶颈是: 那你增加再多调度员,也没用。 这就是 AI 服务器里 CPU 核数问题的本质。 AI服务器性能更像一个接力赛。 整个链条大致是: 存储 → CPU → 内存 → PCIe → GPU → HBM → GPU互联 → 网卡 → 交换机 只要其中任何一段堵住,整体性能都会被限制。 这也是服务器工程里非常重要的一句话: 系统性能,往往由最慢的那个环节决定。 而不是由最豪华的那个零件决定。 假设你跑一个大模型训练任务。 GPU Utilization 已经长期维持在: 95%~100% 说明什么? 说明 GPU 基本一直在干活。 CPU 已经能够及时把数据、任务和调度信息送过去。 这时候你把: 64核 CPU 升级成: 128核 CPU 会发生什么? 很可能: 几乎什么都不会发生。 因为 GPU 已经“吃饱”了。 这就像一家餐厅: 厨师已经满负荷炒菜。 你再多招20个服务员,厨房还是一分钟只能炒那么多菜。 瓶颈不在服务员。 瓶颈在厨房。 那是不是说 AI 服务器完全不用在乎 CPU? 当然不是。 CPU 在某些场景里非常重要。 比如: 很多训练任务并不是直接把原始数据扔给 GPU。 可能还要先做: 这些工作很多仍然由 CPU 完成。 如果 CPU 太弱,会出现一种典型现象: GPU 干一会儿,等一会儿,再干一会儿。 为什么? 因为 CPU 数据准备跟不上。 GPU 在“等饭”。 这种场景下,增加 CPU 核数可能非常有用。 这是最容易踩坑的地方之一。 很多人看到: CPU A:64核,CPU B:96核 第一反应: 96核肯定更强。 不一定。 因为 CPU 性能还取决于: 所以: 96个慢核心,不一定比64个快核心更适合你的 AI 服务器。 就像: 100辆小电动车 不一定比 50辆重型卡车 运货能力强。 关键不是数量。 关键是: 你要运什么货。 很多 AI 服务器 CPU 的真正瓶颈,不是核心数量。 而是: 想象一下。 你有128个工人。 但是仓库只有一扇门。 结果是什么? 所有人都堵在门口。 这就是内存带宽不足时发生的事情。 CPU 核数越来越多,但内存通道没有同步增加,最终很多核心只能在那里等数据。 所以服务器 CPU 不能只看: 多少核? 还要看: 有多少内存通道? 每秒能从内存搬多少数据? 对于很多数据密集型工作负载来说: 内存带宽比CPU核数更重要。 如果你做过多 GPU 服务器,应该听过: NUMA 简单理解: 一台双路服务器里,并不是所有 CPU、内存、GPU、网卡之间的距离都一样。 比如: CPU 0 离 GPU 0~3 比较近。 CPU 1 离 GPU 4~7 比较近。 这时如果你的程序安排错了: CPU 0 去给 GPU 7 喂数据, 可能就要: 跨 Socket 绕远路。 相当于: 你家楼下就有快递站。 但系统非让快递员先跑到隔壁城市,再绕回来。 结果就是: 所以你可能拥有: 256个CPU核心 但因为 NUMA 绑核和设备亲和性没做好, 性能还不如一台核数更少、拓扑配置更合理的服务器。 这就是为什么服务器性能不能只看参数表。 这个结论听起来有点反直觉。 但确实存在。 CPU 核心越多,意味着: 而数据中心最怕什么? 不是“芯片不够豪华”。 而是: 如果你的 AI 任务实际上只需要 32 个 CPU 核心, 你买了 128 核。 剩下那96个核心长期空闲。 从技术角度看没什么。 但从数据中心角度看,这就是两个字: 浪费。 而是: 这四个字非常重要。 比如: 8张高端 GPU, 配一颗性能过弱的 CPU, 会出现: CPU 喂不饱 GPU。 但反过来: 8张 GPU, 配两颗超高核心数顶级 CPU, 也可能是: CPU严重过剩。 真正好的服务器设计,不是每个部件都堆到最高规格。 而是: 每一个部件,都恰好能够支持其他部件发挥性能。 这叫系统平衡。 这里还有一个非常容易混淆的问题。 通常更关注: CPU更多承担辅助角色。 如果数据管线已经优化得很好,CPU继续加核的收益可能很低。 情况可能更复杂。 因为推理系统可能同时涉及: 尤其是大量小请求场景下, CPU工作量可能并不低。 所以: “CPU核数有没有用?” 不能脱离工作负载谈。 很多人选 AI 服务器,会问: “这台机器有几张GPU?” 很少有人继续问: 但真正到了性能调优阶段,你会发现: 这些东西全都重要。 因为 AI 服务器不是“8张GPU装进一个铁盒子”。 而是一个高度耦合的计算系统。 最正确的答案其实不是: “64核。” 也不是: “128核。” 而是: 你至少要观察几个指标: CPU是不是已经长期跑满? GPU是不是经常在等数据? 是不是核心很多,但内存已经跑满? 线程、GPU、网卡是不是放在正确的 NUMA Node? 是不是数据读取和预处理跟不上? CPU到GPU、NIC到GPU的路径是否合理? 真正的工程优化,应该是: 先找到瓶颈,再决定加什么。 而不是: 先堆硬件,再期待性能自己出现。 如果把 AI 服务器比作一支足球队: GPU 是前锋, CPU 是中场, 内存是传球速度, PCIe 是球场通道, 网络是球队之间的配合。 你不能因为中场球员从6个人增加到12个人,就认为球队进球数一定翻倍。 如果前锋已经满负荷, 中场再多也没用。 如果传球线路堵住了, 球员再多也没用。 AI服务器真正追求的,从来不是: 而是: 所以以后再看到: “这台 AI 服务器有 192 个 CPU 核心!” 先别急着觉得它很强。 真正该问的是: 这192个核心,究竟能不能变成GPU的有效性能? 这才是服务器工程里真正有价值的问题。 CPU核数只是资源,不是性能。 真正决定 AI 服务器性能的是: CPU × 内存 × PCIe × GPU × HBM × 网络 × 软件 共同组成的系统。 而优秀的 AI 服务器设计,核心不是“堆参数”。 而是四个字:瓶颈匹配。 END很多人买电脑时,都被一个数字教育过:
不一定。
一、先理解一个关键事实:AI 服务器里,CPU 通常不是主角
GPU 是流水线上的“重型机器人”
CPU 更像“调度中心”
二、AI服务器的性能,不是由“CPU核数”一个数字决定的
三、场景1:GPU已经吃饱了,再加CPU核数几乎没用
四、什么时候 CPU 核数真的重要?
1. 数据预处理很重
五、但“核数多”不等于“CPU强”
六、AI服务器里,一个经常被忽略的指标:内存带宽
内存带宽。
七、还有一个AI服务器里的大坑:NUMA
八、CPU核数甚至可能“太多”
花了钱,却没有变成有效性能。
九、AI服务器真正应该追求的,不是“CPU越强越好”
CPU和GPU匹配。
十、训练、推理,对CPU的需求也不一样
训练服务器
推理服务器
十一、一个特别典型的误区:只看GPU,不看CPU;或者只看CPU,不看系统
十二、那么,CPU到底该选多少核?
看 workload。
1. CPU 利用率
2. GPU 利用率
3. CPU Memory Bandwidth
4. NUMA
5. Data Loader
6. PCIe 拓扑
十三、一句话总结
“某一个部件越强越好。”
“整个系统是否平衡。”
最后