1 AI 服务器要关注什么
把普通服务器的网卡换快,或在主板上插入 GPU,并不能自动得到适合训练的 AI 服务器。AI 服务器仍然由 CPU、内存、存储、网卡、电源和主板组成,只是增加了承担大量并行计算的加速器,并围绕这些器件重新安排数据通路、供电和散热。GPU 是常见的图形及通用并行计算加速器,NPU 则面向神经网络计算设计。名称只说明方向,不能代替对具体型号、软件支持和连接方式的核对。
先把工作拆开看。训练时,存储提供样本,CPU 执行读取、解压和部分预处理,主机内存暂存数据,加速器把数据放入自身显存后计算。多张卡共同训练时,还要交换中间结果或梯度。推理时,模型参数也需要先装入加速器,之后持续处理输入并返回结果。不同阶段占用的器件不同,所以“算力高”只是条件之一;数据迟迟送不到,加速器就会等待。
本课用 1 台双路 CPU、8 张加速卡的假想服务器贯穿讨论。它配置 1 TB 主机内存、每卡 80 GB 显存、4 块本地 NVMe SSD,以及 2 个 200 Gb/s 网络端口。这些数字用于练习读规格,不代表推荐配置。8 张卡共计 640 GB 显存,也不意味着任意程序都能把它当成连续的 640 GB 空间。程序是否支持分布模型、如何分配张量和交换数据,决定了容量能否被有效使用。
CPU 的核心数量影响数据准备能力,内存容量影响缓存与并发,内存带宽影响数据供给速度,SSD 影响读取与检查点保存,网卡影响跨机交换。它们之间还存在位置关系:某个插槽接在哪颗 CPU 上,会影响数据经过哪些通路。采购清单上的器件总数只能描述“有什么”,互联图才能说明“怎样一起工作”。

选择机器前,应先给出负载边界:模型能否装下,训练是否跨卡,数据来自本地还是远端,推理关注每秒请求量还是响应时间。相同的卡数可能服务不同目标。例如,8 个独立推理实例主要关心各自显存和输入供给;共同训练同 1 个模型则更依赖卡间通信。不要把这 2 类任务的测试成绩直接互换。
观察机器时也要分清指标的含义。显存占用高说明空间被使用,不能直接说明运算忙;GPU 利用率高也不能证明每秒处理样本数达到目标。应同时记录吞吐、响应时间、计算忙碌程度和数据等待时间。接下来讨论密度、拓扑和维护,都是为了让这些指标形成可以解释的结果。
2 GPU/NPU 密度与供电散热
密度描述有限空间里装入多少器件或多少计算能力。服务器常用 U 表示机箱高度,1 U 为 44.45 mm。比较 4 U 放 4 张卡和 4 U 放 8 张卡时,后者的卡数密度更高,但还不能据此认定单位机柜能部署更多有效算力。机柜的供电容量、冷却能力、交换机端口和维护空间都可能先达到限制。
加速器有不同形态。PCIe 插卡通过主板或转接板上的插槽接入,受卡长、卡高、厚度与辅助供电限制;加速器模块则装在专门底板上,可能获得更紧密的卡间连接,但更换方法和兼容范围也不同。看到“支持 8 卡”时,要继续确认支持的是哪种形态、哪组功率上限,以及是否需要指定底板。插槽数量不是机械和电气兼容性的完整承诺。
假设每张卡在约定功率上限下消耗 700 W,8 张卡就是 5600 W;再给 CPU、内存、SSD、网卡和风扇合计预留 1400 W,机内直流负载预算约为 7000 W。若此负载点电源效率取 94%,交流输入约为 7000÷0.94,即 7447 W。这里是估算关系,不是宣称机器始终消耗这个功率。待机、训练、数据读取等阶段的输入功率会变化,最后应以约定负载下的测量为准。
电源冗余同样要算清。“配有 4 个电源”不等于任意拔掉 1 个都能维持全速。需要确认额定输出、输入电压、供电分组和失效后的剩余容量。若剩余容量不足,系统可能限功率,也可能触发保护。把正常性能、单路供电失效后的性能和允许的降级方式分别写清,才能知道冗余真正保护了什么。

绝大部分电能最终成为需要移走的热量。风冷依赖规定方向的气流,进风温度、风道阻力、线缆遮挡和相邻机器的热风回流都会影响结果。液冷则需要核对服务器冷板回路与机房设施的连接条件、供回水温度、流量和维护流程;采用液冷也可能仍有部分器件依赖风冷。不能只看加速器温度,内存、网卡和供电器件也有工作边界。
散热不足常表现为温度升高后时钟下降,随后吞吐下降,而不是立即关机。若只做短时测试,机器可能尚未达到热稳定状态。验收应在规定环境下持续运行代表负载,记录进风或冷却液条件、功率、温度和吞吐曲线。加速器功率上限是可控制的运行参数,芯片内部怎样实现调节则不必在入门阶段展开。
3 PCIe/NVLink 拓扑
拓扑就是器件之间的连接关系。PCIe 是 CPU 与加速器、SSD、网卡等设备常用的互联标准。规格中的 x16 表示链路拥有 16 条通道;代际决定每条通道的传输能力。插槽外形是 x16,不保证实际电气连接也是 x16,更不保证设备工作时协商到了预期代际。主板布线、转接板和安装位置都可能改变最终结果。
以单向传输为例,PCIe 4.0 x16 扣除线路编码后的理论速率约为 31.5 GB/s,PCIe 5.0 x16 约为 63 GB/s。这些值还没有扣掉事务协议等开销,不能直接作为应用保证。PCIe 支持双向同时传输,但讨论某次主机向卡的数据拷贝时,应使用对应方向的能力,不能把双向数字相加后当作单向速度。数据块大小和拷贝方法也会影响测量结果。
PCIe 交换芯片可以让多个下游设备连接到同 1 条上游链路。它像道路交汇处,能增加可连接的设备,却不会凭空增加通往 CPU 的总带宽。若 4 张卡的下游接口都是 PCIe 4.0 x16,而它们共享 1 条 PCIe 4.0 x16 上行,那么 4 张卡同时从主机接收大量数据时,仍会争用约 31.5 GB/s 的单向理论上限。下游接口速率之和不是上行能力。

双路服务器还有 CPU 之间的连接。如果某张卡挂在 CPU 0,而数据主要位于 CPU 1 所管理的内存,访问可能跨过 CPU 间链路,增加通路负担。这种内存访问位置差异通常称为 NUMA。入门时只需记住:内存并非对所有设备都处在完全相同的位置。分配数据准备线程和内存时,应尽量考虑它们与目标加速器的邻近关系,具体工具与绑定参数留到系统实践中学习。
NVLink 是特定兼容加速器上的高速互联,通常用于卡间通信;它不是所有 GPU 或 NPU 都具有的通用接口。具有该接口也不意味着任意 2 张卡之间都有相同带宽。需要确认直接连接、桥接或交换结构,确认哪些卡互通,以及软件是否走这条路径。对其他加速器,同样应查看其实际卡间互联能力,不要把不同接口名称当成可互换的承诺。
还要区分物理可连与软件可用。某些点对点传输会受到设备支持、平台设置和运行环境约束,实际可能经过主机内存中转。卡间链路也不会自动加速 CPU 向卡的全部输入。画拓扑时给每条边注明服务哪类流量,再通过实测确认,这样就能避免看到高速接口名称便推断整机所有路径都快。
4 动手:画一张 AI 服务器互联图
本练习的产物是可以拿去与设备资料核对的连接图。先在纸上画出 CPU 0、CPU 1 和各自的内存,再画出 8 张加速卡、2 个网口及 4 块 SSD。器件先按编号标识,例如 G0 到 G7、N0 到 N1、S0 到 S3。编号应能对应机箱槽位或管理界面的标识,否则现场更换器件时容易把逻辑编号误当作物理位置。
接着加入交换芯片和转接板。假设 G0 到 G3 共用交换芯片 A,上行接 CPU 0;G4 到 G7 共用交换芯片 B,上行接 CPU 1。分别在下游边和上游边写上 PCIe 代际与通道数。对于没有查到的连接,用“待确认”标记,不根据插槽外观补全。然后注明 N0、N1 与各块 SSD 的归属,识别它们是否还会与加速卡竞争同 1 条上行。
第 3 步只画已确认的卡间连接,并使用不同线型区分 PCIe、专用卡间互联和 CPU 间连接。资料只写“支持高速互联”而没有端口数量、连接矩阵或底板图时,不能直接补成全互联。图中还应注明接口速率按单向还是双向记录;不同口径画在同张图上,很容易制造不存在的宽裕量。
现在沿图走 3 条路线。第 1 条是本地 SSD 到主机内存,再到 G0;第 2 条是 G0 到 G1 的卡间交换;第 3 条是远端数据经 N1 进入机器,再送往 G0。每走过交换芯片上行或 CPU 间连接,就圈出可能共享的边。路线是否经过主机内存取决于软件与平台能力,不能为了让图简洁而省略实际中转。
为路线加上简单的需求数。假设 G0 到 G3 每张卡需要持续接收 10 GB/s 输入,合计就是 40 GB/s。若它们共用 PCIe 4.0 x16 上行,理论上限已经低于需求,暂时无须讨论复杂调优。再检查数据是否真的按这个速率从主机传入:若预处理结果缓存于显存,后续迭代的流量可能明显降低。因此需求必须与指定运行阶段对应。

最后给图补上证据来源和日期:连接来自主板框图还是现场枚举,链路速率是规格值还是实测协商值,流量来自估算还是代表负载。动手练习不要求改动硬件,也不要求运行满功率测试;它训练的是把资料中的名词转换成可检验的连接关系。完整的图应让另 1 位读者看得出哪些结论已经确认、哪些问题仍需向供应方索取证据。
5 密度与可维护取舍
更高密度可能节省机柜位置和部分布线,但也会让供电、冷却和维修操作更加集中。比较方案时,至少同时看每台卡数、每柜可部署台数和故障后的可用容量。例如,8 卡机器停机维护会影响其中全部任务;把相同卡数分在更多机器中,单机故障的影响范围可能缩小,却会增加跨机通信和网络设备需求。取舍应由任务组织方式决定。
高密度机箱内部常有转接板、导风罩和较复杂的线缆。更换某张卡是否需要抽出整台机器、拆下相邻部件、断开冷却连接,会直接影响维修时间。采购时应核对操作手册中的实际步骤,并考虑机柜后方空间、滑轨承重和器件搬运条件。只写“模块化维护”过于宽泛,应说清可独立更换的部件以及更换期间需要停止哪些任务。
冗余也有边界。电源或风扇冗余不等于加速器冗余,显存错误、卡间链路异常或底板故障仍可能终止训练。训练作业需要保存可恢复的检查点,而保存检查点会占用存储和网络资源。如果只估算训练输入,不估算定期保存带来的流量与暂停,就可能在长任务中看到规律性的吞吐波动。恢复目标还要包括重新加载参数、重建运行状态所需的时间。

可以用受控模型观察共享带宽的影响。假设某组卡共用 1 条 PCIe 4.0 x16 上行,每张卡在同 1 个阶段需要 10 GB/s 输入。当卡数为 2 时,20 GB/s 小于 31.5 GB/s 的理论上限;增加到 4 张时,40 GB/s 已超过上限;增加到 8 张时,争用进一步扩大。这个模型只讨论共享输入链路,不预测真实模型的训练性能。
密度带来的收益也取决于加速器能否保持稳定功率。如果机柜分给单机的预算不足,机器即使装满卡,也可能需要降低功率上限。降低功率可能改善温度和能效,也可能延长任务完成时间,必须结合实际负载测量。不要把额定算力乘以卡数,当作机柜在当前供电条件下能够持续交付的算力。
形成比较结论时,建议以“完成指定工作需要的资源”为口径。例如,在规定环境和功率上限下处理同批样本,记录完成时间、平均交流输入功率和失败重跑情况。再把机柜占用、维护停机与备件周期放在旁边。入门阶段无须建立复杂成本模型,但要避免用服务器台数或卡数中的某个数字替代整体交付能力。
6 常见坑:只堆加速卡不问带宽
最常见的误判是把低利用率直接归因于卡不够快。实际上,SSD 读取不足、CPU 预处理跟不上、主机内存带宽紧张、PCIe 上行争用,都可能让卡等待。它们产生的表面现象相似,处理方式却不同。应先把端到端耗时划分为读取、准备、传输、计算和通信,再识别耗时主要落在哪段。只看任务总时间,很难决定应该升级哪个器件。
另 1 个坑是把网口标称速率当作可用文件读取速度。200 Gb/s 按每字节 8 位换算,线速对应 25 GB/s;扣除协议等开销后,应用速度更低,远端存储还可能先受限。2 个网口是否能被同项任务同时有效使用,取决于网络配置与应用支持。网卡标称速率、PCIe 接口带宽和存储吞吐需要分别记录,不能把其中任意 1 个当作整条数据路径的能力。
只问显存总量也会出错。模型参数、运行时缓存、中间结果和训练状态都要占空间,多卡程序还可能保留重复数据。每张卡有 80 GB,不代表能安全装下标称大小恰好为 80 GB 的全部内容。容量规划应以实际软件和任务配置的峰值占用为依据,并说明超出容量时是拒绝启动、减少批量,还是采用其他分配方法;不要默认主机内存能够等速替代显存。
拓扑方面,卡数相同、每张卡型号相同,也可能由于安装槽位不同而出现带宽差异。网卡与加速卡共享上行时,接收远端数据和向卡传输会相互影响;某张卡若降到较窄链路,则可能拖慢需要同步等待的整组任务。排查时应核对实际协商代际与宽度,并观察同组其他设备是否同时繁忙,不能只抄物料清单上的接口规格。

还要防止“换更多东西”掩盖原因。若同时改批量、换 SSD、调整线程并提高功率上限,即使吞吐提升,也无法判断哪个改动有效。保留代表负载,固定软件版本、精度、批量和数据范围,每次改变明确的因素。测试要覆盖首次装载与稳定运行,并记录正常温度条件,才能把缓存变热或环境改变造成的波动与硬件收益区分开。
排查结果最好写成完整句子:在什么负载下,哪项指标异常,哪个假设得到支持,改动后发生什么变化。比如“数据准备时间充足,但向卡传输时延随并发卡数增加,且共享上行流量接近实测上限”,就比“GPU 没跑满”更有用。它把后续行动指向具体路径,也保留了继续验证的空间。
7 案例:上行 PCIe 成为训练瓶颈
某团队把独立使用的 4 张加速卡集中到 1 台服务器中,希望缩短训练时间。卡与主机之间的下游接口均标称 PCIe 4.0 x16,但 4 张卡通过同 1 个交换芯片共享 PCIe 4.0 x16 上行。代表任务每轮要向每张卡传入 10 GB 已准备好的数据,之后计算约 0.5 s。此处的 10 GB 是主机到卡的实际输入量,不能直接用压缩样本文件大小替代。
先做容量级估算:每轮总传输量为 40 GB,即使独占约 31.5 GB/s 的理论上行,传输也至少需要约 1.27 s;实际还会更长。在明确假设传输和计算完全不重叠时,每轮时间至少约为 1.77 s。因此,单纯把卡上的计算进一步加速,无法消除超过 1 s 的输入等待。如果程序能够重叠传输和计算,总耗时模型要改变,但共享上行的流量约束仍然存在。
现场先记录现象:单卡运行正常,增加到 4 卡后,总吞吐提升明显小于预期;加速器呈现短时忙碌与等待交替的状态。这些现象只能提示供给问题,不能直接证明 PCIe 是瓶颈。团队继续观察 CPU 预处理队列,确认数据能够及时准备;检查存储读取与温度曲线,也没有看到对应的饥饿或热降速迹象。
接着核对实际拓扑与链路状态,确认 4 卡确实共享上行,并且链路没有意外降代或降宽。使用相同大小的数据块测量主机到卡的并发传输,发现总速率在某个水平附近不再随卡数增长,单卡获得的份额随并发增加而下降。测得上限低于理论值是正常现象,关键证据是聚合速率的平台以及它与训练等待阶段的对应关系。
团队又做对照:将其中部分卡安排到另 1 条独立上行,保持数据、批量和软件不变,传输阶段缩短,总吞吐随之提高。这个结果支持“原共享上行限制了输入”的判断。如果拆分后没有改善,就要继续看主机内存、跨 CPU 路径或数据准备,而不能因为图上存在共享链路就认定它一定是当前瓶颈。

解决方式取决于机器结构和任务。可选方向包括采用有独立上行的槽位或平台、减少重复传输、在显存允许时复用数据,以及改善传输和计算的重叠。提高链路代际只有在端到端都支持、实际协商成功时才有帮助。改变批量也可能改变计算量与传输量的比例,但要同时检查显存峰值和任务效果,不能把任何吞吐提升都归为硬件互联改善。
这个案例的结论有明确边界:它解释的是给定负载的主机到卡输入瓶颈,没有证明卡间通信或跨机网络也不足。换成输入很少、卡内计算很长的任务,共享上行可能不再是主要问题。采购报告应保留负载与路径条件,让读者知道结论可以迁移到哪些场景,不能直接迁移到哪些场景。
8 把 AI 服务器规格写进采购方案
采购规格应从任务目标反推,并把器件清单、连接约束和验收条件放在一起。先说明训练还是推理、单机还是跨机、数据来源、模型与软件环境,以及可接受的完成时间或响应时间。若模型仍在变化,可以给出容量和输入规模的范围。缺少这些边界,“高性能 AI 服务器”只是描述,无法指导不同配置之间的比较。
CPU 要写数量、核心配置及满足数据准备所需的能力,内存要写容量和通道配置,避免大容量却未合理填充通道。加速器要写可接受型号或可验证的兼容条件、数量、每卡显存、功率上限与机械形态。对 NPU 等平台,还应确认目标框架、算子和所需精度是否受支持。软件能否运行目标任务,应由测试证明,不能由芯片峰值运算量推断。
互联要求应配图表达:每组卡的归属、PCIe 上下行代际与宽度、共享比例、网卡及 SSD 所在路径、卡间连接范围。若要求点对点传输,需要注明测试方法与运行环境。不能仅写“每卡 x16”,因为这句话可能只描述下游接口。还应要求提交实际交付配置的链路状态,确认转接板或机箱选件没有改变原本承诺的通道分配。
存储要求要区分样本读取、系统盘和检查点保存。除了容量,还要给出代表访问模式下的持续性能,以及任务运行时可用空间。网卡要写端口数量、速率、接口类型和与现有网络的匹配条件;跨机任务还应纳入交换网络条件。同样是 200 Gb/s 端口,无法保证连接到任意网络后都能获得相同的应用吞吐。
供电散热条款要覆盖交流输入条件、满配功率预算、冗余方式、正常与失效后的性能,以及机房允许的进风或液冷条件。维护条款应写清主要部件的更换步骤、是否停机、备件和服务时间,并明确液冷连接涉及的操作责任。这样机器到场后,机房和维护团队可以依据相同资料判断是否具备上线条件。
验收应采用可重复的代表负载,固定模型、软件版本、精度、批量、数据范围和并发方式。分别记录首次加载时间、稳定阶段吞吐、峰值显存、输入功率、温度与错误信息;需要响应时间时,应说明统计口径。再加入单卡、并发传输和多卡任务的对照,帮助发现整体成绩背后的共享瓶颈。测试时长应足以覆盖热稳定和必要的数据读取阶段。
最后把接受条件写成能判定的句子。例如,在约定环境和功率上限下,指定任务连续运行达到约定吞吐,链路状态与互联图一致,错误记录满足约定范围。具体阈值来自业务需求与验证结果,而不是本课给出的演示数值。供应方提交配置清单、互联图、测试记录和维护说明后,评审者才能同时判断“买到了什么”以及“它完成了什么”。
9 从AI 服务器走向超节点与整机柜(H46)
当模型规模、任务并发或训练时间要求超出单机能力时,下一步是让更多服务器共同工作。此时,单机内部的 PCIe 和卡间连接仍然重要,但机器之间还要通过网络交换数据。把 8 卡服务器扩展成多台,并不意味着性能按台数等比例增长;通信、数据分发、检查点和故障恢复都会成为新的约束。
可以把单机互联图继续向外画:从每台服务器的网卡画到交换设备,再画到其他服务器、共享存储和管理网络。此前关注“多张卡是否共享上行”,现在还要问“多台机器是否共享网络出口”。连接范围扩大后,任何汇聚处都可能出现竞争。网络端口速率依然只是局部能力,必须结合实际路径和同时通信的任务判断。
规模扩大也会放大运行中的波动。假设某任务需要多台机器同步推进,其中某台受到温度限制,或者某条链路出现重传,其他参与者可能一起等待。此时平均利用率可能掩盖少数慢节点带来的影响。应保留每台机器、每组卡和关键链路的观测,再将它们与任务阶段关联,而不是只展示整个集群的总算力。
故障处理也从更换单个部件扩展到资源调度与作业恢复。检查点保存在哪里、某台服务器下线后是否有足够资源重启、恢复时会不会同时挤占网络,都需要提前考虑。单机电源冗余不能代替跨机恢复策略,存储中保存了检查点也不代表恢复时间一定满足目标。这里先建立问题意识,具体组织方式将在后续课程展开。
超节点与整机柜把计算、互联、供电和冷却放到更大的共同设计范围中。它们可能减少某些连接限制,也会提出更集中的机房配套和维护要求。不要先把这些名称理解成性能等级;应继续追问器件如何连接、哪些资源共享、失效影响多大,以及指定任务的测量结果。H46 将沿着这些问题,把观察对象从单台服务器扩展到更大的系统。
进入下一课前,可以检查自己的互联图是否已经足够清楚:每张卡连到哪里,输入经过哪些共享边,电源失效后剩余能力如何,维护会中断哪些任务。如果这些问题在单机范围内仍没有答案,扩大规模只会让不确定性更多。先把局部证据整理好,再讨论超节点与整机柜,才能理解更大规模设计解决了哪些具体限制。
放进方案里
方案应先写明用途:本批服务器用于指定模型的训练,数据来自约定存储,目标是在给定软件版本、精度和批量下达到约定完成时间。加速器数量与每卡显存需满足实测峰值需求;主机 CPU、内存和存储应能够持续准备并供应输入。演示中的 8 卡、80 GB 和 1 TB 仅作理解示例,正式数值由任务验证确定,避免直接照抄配置。
交付资料须包含实际配置的互联图,标明每组加速器、网卡和 SSD 所属的 CPU、PCIe 交换芯片、上下行代际与宽度,以及专用卡间连接范围。对共享链路注明参与设备和预期流量,提供单卡与并发传输结果。若应用依赖点对点通信,应在实际运行环境中证明该路径可用,并记录设备与软件版本。
供电与冷却部分应列明输入条件、约定负载下的交流功率、允许环境范围及冗余失效后的运行方式。验收负载持续运行至热状态稳定,同时记录吞吐、温度、功率和错误;出现降频时,应判定是否仍满足任务目标。液冷配置需明确设施连接条件、维护操作和责任,主要部件需给出更换步骤、停机范围及备件安排。
验收记录应同时包含首次装载和稳定运行,固定数据范围、批量、并发与统计口径。另列逐卡检查表,将物理槽位、设备序列号与逻辑编号对应,核对显存容量及链路协商结果;出现不可纠正的显存错误或卡间链路掉线,应判为未通过,修复后重测并保留前后日志。若多卡成绩未达目标,先沿互联图核对输入供给、共享上行和卡间通信,再判断调整配置的方向。最终以代表任务结果、链路状态、机房适配及维护条件共同决定接受与否,保留原始记录,供后续扩展到超节点或整机柜时比较。
10 小结:下一步超节点与整机柜(H46)
AI 服务器的关键是让计算、容量、数据通路、供电与散热相互匹配。卡数说明规模,拓扑说明共享,代表负载说明结果,维护条件说明能否持续交付。
自测时试着解释 3 个问题:为什么 4 个 x16 下游不等于 4 倍上行带宽?为什么 8 张卡的显存总量不能直接当作连续空间?为什么短时吞吐达标仍不足以完成散热验收?下一课 H46 将把这些判断扩展到超节点与整机柜。