corehu
租用 GPU
← 所有文章
DRAFT指南

LLM 微调的 GPU 选择(VRAM 指南)

CoreHu 团队·9 分钟阅读

从 7B 到 70B:我们计算全参数微调和 LoRA 所需的显存,并说明批大小、序列长度和量化如何影响预算。

01

为什么 VRAM 是决定性因素

微调时,模型权重、梯度、优化器状态(Adam 约为权重的 2 倍)和激活值必须同时放入显存。如果总量超出 VRAM,训练将无法启动;而在临界状态下运行的工作负载会溢出到交换空间,导致 GPU 吞吐量骤降。

因此选择 GPU 首先是显存问题:显存足够的中端卡,总比显存不足的高速卡更高效。

02

按模型规模估算的实际需求

以下范围是在典型序列长度下进行 bf16 训练的实用数值;随着序列长度和批大小增加,预期会向上限靠拢。

  • 7B 全参数微调:约 14 GB 权重 + 约 56 GB 优化器状态 + 约 14 GB 梯度 → 2 × 80 GB 较宽裕,1 × 80 GB 较紧张。
  • 13B 全参数微调:建议 2 × 80 GB。
  • 34B 全参数微调:需要 4 × 80 GB 级别。
  • 70B 全参数微调:需要 8 × 80 GB(A100/H100)级别并采用多 GPU 并行。
  • LoRA/QLoRA:7–13B 模型可放入单张 24–48 GB 显卡;70B 在单张 80 GB 显卡上使用 QLoRA 是常见做法。

03

用 LoRA 和量化扩展预算

LoRA 冻结权重矩阵,只训练小型低秩更新矩阵;可训练部分通常占 0.1–1%。这消除了大部分优化器状态和梯度的显存占用。

QLoRA 更进一步:基础模型被量化为 4 位(NF4),并在计算时选择性地反量化为 16 位。对于规模相对较小的团队,这是在单张卡上微调 70B 级别模型的标准方法;质量损失取决于任务和数据质量,必须始终进行测量。

04

批大小和序列长度的影响

激活值显存大致随序列长度线性增长,在注意力层则呈二次方增长。在模型权重完全不变的情况下,把序列从 2,048 增加到 8,192 token,训练显存也会明显增加。

有效批大小 = 单设备批大小 × 梯度累积步数。显存不足时,先降低序列长度和单设备批大小,再通过梯度累积回到目标有效批大小。

05

实用建议

  • 24 GB 级别(如 RTX 4090):7–13B 模型的 QLoRA 微调;非常适合快速实验。
  • 48 GB 级别(如 L40S/A6000):7B 全参数微调,或 13–34B 的 QLoRA。
  • 80 GB 级别(A100/H100):70B 的 QLoRA、13B 的全参数微调;多 GPU 任务的单节点标准配置。
  • 如果需要多 GPU 训练,请整体租用整个节点/集群,而不是单张卡;NVLink 和低延迟网络至关重要。

06

检查清单

  • 模型参数量和目标方法(全参数 / LoRA / QLoRA)。
  • 最大序列长度和目标有效批大小。
  • 数据集大小和持久化存储需求。
  • 通过短期租用测量真实显存使用情况;在实际环境中验证您的估算表。

本页文章为示例内容;在 CMS 接入之前,均标记为未发布的草稿。