01 — 适用情况
环境问题为什么这么费时间
深度学习的依赖链条比一般软件长得多:显卡驱动、CUDA 运行时、cuDNN、NCCL、框架本体、再加上一堆编译过的扩展(xformers、flash-attention、apex)。这条链上任意两环版本不匹配,报错信息往往指向完全无关的地方 —— 这是它特别难排查的原因。
更麻烦的是复现别人的工作。一篇两年前的论文,作者用的是当时的 PyTorch 与 CUDA 组合,你在新环境里跑会遇到一串 API 变更与算子行为差异。此时你需要的不是最新环境,而是能精确指定版本组合的能力。
预置镜像解决第一类问题:常见框架的稳定版本组合已经测好,开机就能训。自定义镜像解决第二类:你可以直接指定任意 Docker 镜像,把论文作者的环境原样搬过来,版本组合完全由你掌控。
02 — 典型负载
训练任务的几种形态
从单卡跑通到多卡加速,从复现论文到从头训练。
单卡实验与调参
改结构、调超参、试不同损失函数 —— 这类工作需要的是快速迭代而不是极限算力。一张 $0.540/小时的 4090 足够,跑完就销毁。
多卡数据并行
数据量大、单卡跑一轮太慢时用 DDP 或 FSDP 把 batch 分到多卡上。市场里可直接筛多卡节点,最高单节点 14 卡。
论文复现
用自定义镜像精确还原作者的环境,避免版本漂移带来的结果偏差。这是租用相比本地固定环境的一个隐性优势。
计算机视觉与传统模型
检测、分割、超分、点云 —— 不是所有 GPU 任务都是大模型。这类模型显存需求温和,消费级卡的性价比优势最明显。
03 — 软件栈
三大框架都预置好了
标准 NVIDIA 驱动与 CUDA,没有魔改运行时 —— 本地怎么跑,这里就怎么跑。
PyTorch
配套 CUDA 与 cuDNN,含 torchvision、torchaudio 与常用编译扩展。分布式训练用 torchrun 直接起,DDP 与 FSDP 开箱可用。
PyTorch · torchrun · DDP/FSDP
TensorFlow / Keras
GPU 版本已装好并验证过设备可见性,含 Keras 3。适合存量 TF 代码库与需要 SavedModel 部署链路的场景。
TensorFlow · Keras 3 · SavedModel
JAX 与分布式扩展
JAX 配 CUDA 后端,含 Flax 与 Optax。另外 DeepSpeed、Accelerate 等分布式训练工具也在镜像里,大模型训练不用另装。
JAX · Flax · DeepSpeed · Accelerate
04 — 选卡
训练任务怎么选卡
训练比推理更吃显存 —— 除了权重,还要存梯度、优化器状态和激活值。经验上训练显存约是推理的三到四倍。
| 训练场景 | 建议显存 | 当前最便宜可选 | 说明 |
|---|---|---|---|
| CV 模型 / 小网络训练 | 12GB | RTX 3060$0.100/小时 | 检测、分割、分类这类模型显存需求温和,12GB 档完全够用。 |
| 中等模型 / 大 batch | 24GB | Tesla V100$0.188/小时 | 需要更大 batch size 才能稳定收敛的任务,24GB 是这一档的甜点。 |
| 大模型单卡训练 | 48GB | Q RTX 8000$0.508/小时 | 48GB 档显存,配合梯度检查点可以训练相当规模的模型。 |
| 分布式训练节点 | 80GB | A100 SXM4$1.088/小时 | 80GB 档单卡起步。多卡节点建议优先选带高速互联的机型,通信开销差别很大。 |
「当前最便宜可选」由实时库存推导,取显存达标机型中的最低单卡价,随市场浮动。多卡节点整机出租。
05 — 上手
跑通第一个训练任务
01
选框架镜像
PyTorch、TensorFlow 或 JAX 任选。如果你的代码锁定了特定版本组合,直接填自己的 Docker 镜像更稳妥。
02
传代码与数据
用网页终端 git clone,或用 scp 从本地传。大数据集建议放对象存储后在实例内拉取 —— 走宿主机的公网带宽会快很多。
03
训练并保存检查点
训练脚本里配置定期保存检查点,训完把权重下载走再销毁实例。销毁即释放磁盘,没有回收站。
06 — FAQ
