AGAnchorGPU
← 所有工程指南

GPU 工作负载指南

微调最佳 GPU:A100、H100、H200 还是 MI300X?

根据内存压力、软件栈、互连需求以及更快完成的价值来选择——而非仅凭标称吞吐量。

AnchorGPU · 更新于 · 7 分钟阅读

先定义运行,再选择显卡

没有普遍最佳的微调 GPU。记录模型修订、可训练参数数量、优化器、精度、最大序列长度、微批次大小和验证计划。同一模型上的 LoRA 适配器运行和全参数运行具有不同的内存需求。

选择能够以有用余量完成完整训练步骤的最小已测试配置。参数数量乘以权重精度只是一个下限:梯度、优化器状态、激活值、临时缓冲区以及框架本身也会消耗内存。

从具有代表性的单 GPU 试点开始

在您实际最长的批次上运行预热迭代,然后执行前向、反向和优化器步骤。记录峰值已分配张量内存并检查总设备使用情况;PyTorch 分配器统计信息不包括其他库所做的所有分配。

测量步长时间变化、数据加载停顿、验证时长和检查点写入。将框架、驱动程序、模型和数据修订版本与这些结果一起保存。一次成功的前向传播并不能验证训练配置。

A100、H100、H200 还是 MI300X?

目录中的 A100 SXM 和 H100 SXM 每个加速器均配备 80 GB。A100 是目录成本较低的 CUDA 基准。当您的实际内核和数值格式能够发挥 H100 的能力时,值得对其进行测试;仅凭架构并不能保证速度提升。

H200 提供 141 GB,而 MI300X 每个加速器提供 192 GB。这些更大的容量可以简化内存受限的工作负载,但选择 AMD 还需要经过验证的 ROCm 构建、受支持的算子以及兼容的依赖项。请确认实际安装的加速器和软件栈,而不仅仅是其产品名称。

选择正确的并行训练形式

DistributedDataParallel 会在各进程间复制模型并同步梯度;它不会将四张卡变成一个大内存池。Fully Sharded Data Parallel 会划分训练状态并引入通信。正确的选择取决于您需要的是吞吐量、更多内存,还是两者兼顾。

在扩展之前,请确认 GPU 拓扑、进程绑定和集合通信库。在等效的有效批次大小和质量设置下,将有效吞吐量与单 GPU 基线进行比较。四块加速卡并不自动意味着四倍速度。

检查点恢复是基准测试的一部分

成功保存并不证明运行可恢复。请恢复到全新进程中,并检查实验所需的模型、优化器、调度器、随机状态和数据位置。

将加载、验证、检查点上传和导出都纳入租用时间窗口。本地 NVMe 是工作磁盘,不是独立备份。在分配结束前,请将所需工件移出机器。

做出固定期限决策

请使用实时目录表,根据所选卡数和期限进行查询,然后添加所需选项。将完整测试成本除以成功训练产出,而不是除以理论峰值吞吐量数字。

我们的建议是分阶段试点:建立可行的内存预算,测试一个扩展步骤,验证恢复能力,然后再预订期限。AnchorGPU 目前仅在本地对分配和计费进行建模;不对其物理基础设施的性能测量作任何声明。

来源与编辑方法

官方文档支持这些技术说明。硬件推荐是我们根据工作负载做出的解读,并非经过实测的性能保证。

PyTorch — 分布式训练概览PyTorch — 峰值张量内存AMD — ROCm 上的 PyTorchNVIDIA — H200 内存规格