前面几篇文章讲了 DreamerV3 的环境搭建和训练技巧。但有一个更基础的问题经常被忽略:你在什么硬件上跑?
这个问题看似简单,实际上直接影响你的研究节奏和钱包。我用了一个月的 AutoDL 云 GPU,又花了一周时间规划自建工作站,中间还收到了供应商 ¥36,000 的整机报价。这篇文章把整个过程和算账结果分享出来,希望能给同样在纠结"租还是买"的朋友一个参考。
先说结论
如果你确认自己会长期维持较高的 GPU 使用率,自建工作站值得认真做一次成本测算。按照我实际使用的 ¥2.58/GPU 小时计算,每天 12 小时的简单静态平衡点约 29 个月,每天 18 小时约 19 个月。纯经济账并不意味着"买一定比租便宜"——12 小时并不是一个"买了马上省钱"的分界线。但高频研究场景下,本地机器在等待时间、环境稳定性和数据管理上的优势,可能具有更高价值。
但"回本"不是唯一考量。自建工作站还有一个云 GPU 给不了的优势:随时可用、数据本地、不用排队、不用惦记关机省钱。对于需要高频迭代的研究工作,这个体验差异是巨大的。
第一阶段:AutoDL 云 GPU 的实际花费
我最初的选择是 AutoDL——国内最常用的 GPU 云平台之一,按小时计费,机型丰富,不用自己维护环境。对于刚开始跑 DreamerV3 实验来说,这是最合理的选择。
实际花费
我实际使用的 AutoDL 实例折算下来约为 ¥2.58/GPU 小时(RTX 4090D 机型)。偶尔遇到过更低的短时优惠价(约 ¥1.67/h),但下面按 ¥2.58/h 这个实际常规价格估算月/年费用。
两天花了 ¥100 左右。听起来不多,但换算一下:
| GPU 日均运行时长 | 月花费 | 年花费 |
|---|---|---|
| 每天 4 小时(轻度) | 约 ¥310 | 约 ¥3,764 |
| 每天 8 小时(中度) | 约 ¥619 | 约 ¥7,530 |
| 每天 12 小时(重度) | 约 ¥929 | 约 ¥11,299 |
| 每天 18 小时(极限) | 约 ¥1,393 | 约 ¥16,943 |
注意这只是 GPU 租赁费用,还没算存储费用(AutoDL 的系统盘和数据盘另计费)和网络传输成本。
云 GPU 的真实痛点
除了钱,还有几个实际体验问题:
- 不敢关机。 占住了一台云服务器,不敢轻易关机——再次打开可能机型不够还得排队等。但只要不关机,即使不在训练,也在持续扣费。这种"占着不敢用、不用又在烧钱"的状态很消耗心态。
- 远程环境管理有摩擦。 如果没有使用
tmux、screen或任务调度机制,SSH 断线、实例重启等情况容易让训练和环境配置变得麻烦。尤其是在首次配置 CUDA/JAX 环境时,远程操作的反馈和排错体验通常不如本地机器直接。 - 环境迁移有额外成本。 好不容易配好的 CUDA、JAX、驱动和 Python 依赖,如果没有提前做镜像或环境锁定(conda environment.yml、Docker),换一台云实例后往往还要重新配置。对于研究环境来说,这种迁移成本很容易被低估。
- Session 限制。 部分实例存在运行时长、自动释放或续期等限制,长训练任务需要提前确认当前机型的具体规则。
- 心理负担。 每次看到计时器在走,都会不自觉想"是不是该关机了"。这种心态对需要长时间跑实验的研究工作很不友好。
这些体验问题叠加起来,让我开始认真考虑自建工作站。
不过公平地说,其中一部分问题可以通过工程化手段缓解。对长期研究项目而言,与其把"本地 vs 云端"理解成两套完全不同的环境,不如从第一天就把环境写成可迁移的形式:environment.yml / requirements.txt 锁 Python 依赖,用 Docker 或容器镜像固定 CUDA/JAX 环境,并把 checkpoint、配置文件和实验日志与计算实例解耦。这样即使继续使用云 GPU,换机器的摩擦也会明显降低。
第二阶段:自建工作站的选型
决定自建之后,第一个问题是:DreamerV3 到底需要什么配置?
我的实验环境配置建议
重要说明: 不要把下面的配置理解成 DreamerV3 的"最低硬件要求"。实际资源消耗取决于任务类型、模型规模、batch size、图像输入分辨率、并行环境数量和 replay 配置。官方实现本身也提供了 small / medium / large / xlarge 等不同规模的模型配置。以下数字更多反映的是"我的实验配置"下的观察,而非 DreamerV3 的通用需求。
| 部件 | 入门 | 长期研究建议 |
|---|---|---|
| GPU | 12GB+ | 24GB VRAM |
| CPU | 8-12 核 | 16-20 核左右 |
| 内存 | 32-64GB | 64-128GB |
| SSD | 1TB NVMe | 2TB+ NVMe |
| 系统 | Linux | Linux |
具体说明:
- GPU 显存。 DreamerV3 的显存需求高度依赖任务、模型规模、batch size、图像输入和 JAX 配置。官方实现支持缩小模型规模,因此不能简单认为"DreamerV3 必须 24GB 显存"。12GB 可以入门跑简单任务;如果目标是长期跑视觉任务、较大模型和高频实验,24GB 会明显更舒服。我在自己的 cartpole_balance 配置中,通过系统监控观察到 RTX 5090D(32GB 显存)的显存使用指标最高约 25.6GB——由于 JAX/XLA 可能进行显存预分配和缓存,这个数字不能直接等同于模型的实际显存需求。需要注意,这个观察来自 32GB 的卡,不能直接用来证明 24GB 的 4090D 足够——如果复现相同配置,24GB 可能存在 OOM 风险。
- 系统内存。 DreamerV3 的 replay buffer 会占用相当一部分系统内存,但实际占用高度取决于 observation 类型(状态向量 vs 图像)、episode/chunk 长度、replay capacity、dtype 等配置,不能简单用"5e6 条经验 × 每条多少字节"得出通用 RAM 要求。replay buffer 默认容量是
replay.size: 5e6(500 万),存的是 episode/chunk 结构,对于视觉任务和较大的 replay 配置,内存可能迅速成为瓶颈。就我的实验而言,64GB 可以作为入门档;如果准备长期运行视觉任务、多 seed 实验或较大的 replay 配置,128GB 更稳妥。 - CPU 核心数。 CPU 主要影响环境采样和数据预处理速度,而不是 DreamerV3 的核心模型训练速度。实际需求取决于
envs数量和环境复杂度。官方默认envs是 16,但这不意味着必须 16 核 CPU——有些环境非常轻,有些视觉/物理环境则完全不同。建议 12-16 核以上;如果大量运行并行 MuJoCo 环境,20 核左右会更舒服。 - 存储 IO。 2TB 是比较舒服的起点。如果只跑 MuJoCo 和少量实验,1TB 也可以;如果长期保存多个 seed、checkpoint、日志和数据集,建议 2TB 甚至 4TB。NVMe 的优势主要是启动环境、保存 checkpoint、处理数据和实验日志,而不是因为 DreamerV3 必须拥有 2TB SSD。
对于本文讨论的单 GPU、长期 DreamerV3 视觉实验场景,如果只能升级一个部件,我会优先考虑显存容量和目标任务的实际峰值需求——如果目标配置已经验证需要超过 24GB 显存,那么继续堆 CPU/RAM 没有意义,应直接换更大显存的 GPU。在显存确认够用的前提下,系统内存是第二个需要重点关注的地方:GPU 有 24GB 但 RAM 只有 64GB 时,replay buffer 可能先把内存吃光。
基于这个分析,我的最终配置如下:
| 配件 | 型号 | 价格(¥) | 选型理由 |
|---|---|---|---|
| GPU | RTX 4090D 24GB | 16,299 | 24GB 显存;作为单 GPU 工作站的性价比选择 |
| CPU | Intel i7-14700KF(20核28线程) | 2,699 | 20 核 28 线程,为并行环境采样和数据预处理提供足够余量 |
| 主板 | 微星 B760M MORTAR WiFi DDR5 | 899 | DDR5 支持,M.2×2,自带 WiFi |
| 内存 | 芝奇 64GB (32G×2) DDR5-5600 | 1,099 | 64GB 实际配置;长期跑视觉任务或多 seed 建议 128GB;双通道 |
| 固态 | 三星 990 PRO 2TB NVMe | 899 | 训练数据快速 IO;高耐久度 |
| 散热 | 利民 Frozen Magic 360 水冷 | 399 | 360 水冷,压 14700KF 满载不降频 |
| 电源 | 海盗船 RM1000e 1000W 金牌全模组 | 799 | 1000W 预留升级空间 |
| 机箱 | Fractal Design Pop XL Air | 499 | 风道好,支持 360 水冷,装得下全尺寸显卡 |
| 合计 | ≈ 23,592 |
这个配置的核心思路是:GPU 作为预算重点,但不要为了 GPU 过度压缩 RAM、SSD 和电源。在本配置中,GPU 占总预算的 69.1%——这主要是因为 GPU 是绝对最贵的单项部件,对于以单 GPU 深度学习实验为主的工作站,这种预算结构比较合理。但需要注意,如果换成更大显存的 GPU、128GB RAM 或不同平台,这个比例会明显变化。DreamerV3 的 replay buffer 可能成为 RAM 瓶颈,并行环境依赖 CPU,因此需要为这些部件留出足够余量。
说明: 本文前面的显存数据(25.6GB 峰值)来自 AutoDL 上的 RTX 5090D 实例。需要特别说明,RTX 5090D 为 32GB 显存,而最终工作站选择的 RTX 4090D 为 24GB。两者显存容量不同,因此 25.6GB 的观察值不能用来证明 4090D 的 24GB 一定足够。选择 4090D 是基于预算和单 GPU 性价比做出的决定,并非由 25.6GB 实验数据反推得出。 对于完全复现本文实验配置的读者,24GB 并不能保证足够——选择 4090D 之前,应先在目标配置下实际验证峰值显存,必要时通过缩小模型规模、batch size 或序列长度来适配。
第三阶段:供应商报价对比
配置清单列好之后,我拿给了一家供应商询价。对方给出的整机报价是 ¥36,000,比我自购散件贵了约 ¥12,700。
差价分析
逐项对比供应商的配置单和我的自购清单:
| 配件 | 我的选择 | 供应商配置 | 差异 |
|---|---|---|---|
| GPU | RTX 4090D 24GB | RTX4090D 24G 单涡轮 | 涡轮式散热将热风直接排出机箱,更适合多 GPU 或服务器场景;单卡工作站不一定比开放式三风扇方案更安静 |
| CPU | i7-14700KF 盒装 | i7-14700KF 散片 | 散片便宜 ¥200-300,性能一样 |
| 主板 | 微星 B760M MORTAR | 华硕 TUF B760M-PLUS | 同级别,华硕 TUF 略贵 |
| 内存 | 芝奇 64GB DDR5-5600 | 金士顿 64GB DDR5-6000 | 频率更高但时序 C40 偏松,实际性能差不多 |
| 散热 | 利民 360 水冷 | 动力火车 寒冰卫士 360 | 品牌定位不同,具体性能以实际型号为准 |
| 电源 | 海盗船 RM1000e | 长城 华夏·宋 1000HX 铂金 ATX3.1 | 国产老牌,铂金认证+ATX3.1,不错的选择 |
| 机箱 | Fractal Pop XL Air | 动力火车 刀锋 360 | 型号定位和品牌不同,核心规格处于相近区间 |
核心规格基本保持在同一档,但部分具体型号和品牌不同,尤其是 GPU 散热方案、散热器、机箱等存在差异。¥12,700 的差价包含组装、系统安装、CUDA 环境配置、整机测试和质保服务。
值不值?
这取决于你对"省心"的定价:
- 如果供应商提供整机 3 年质保、明确的上门维修和 CUDA 环境支持,这部分溢价可以理解为购买省心和售后服务;是否值得,取决于你的时间成本和售后需求
- 如果只是普通店保、没有上门服务,那这个价格偏贵,可以砍到 ¥28,000-30,000
- 如果你愿意自己花半天组装、花一两天配环境,自购散件省下的 ¥12,700 是实打实的
我的选择是自购散件。原因很简单:作为一个工程师,组装电脑和配 CUDA 环境本身就是分内之事,没必要为这个付溢价。
简单静态成本平衡点
最后算一笔账:自建工作站多久能"回本"?这里用简单静态模型估算——真正的 TCO 还应考虑 GPU 折旧、维护、空调散热、云端存储和流量费用等,这里先做最基础的计算。
计算公式: 简单成本平衡点 ≈ 自建初始成本 ÷(云 GPU 年成本 − 自建年运行成本)。自建年运行成本主要包括电费。
| GPU 日均运行时长 | GPU 租赁年成本 | 自建年电费 | 简单平衡点 |
|---|---|---|---|
| 每天 4 小时 | ¥3,764 | 约 ¥525 | 约 87 个月(>7 年,不建议自建) |
| 每天 8 小时 | ¥7,530 | 约 ¥1,050 | 约 44 个月(约 3.7 年) |
| 每天 12 小时 | ¥11,299 | 约 ¥1,577 | 约 29 个月(约 2.4 年) |
| 每天 18 小时 | ¥16,943 | 约 ¥2,365 | 约 19 个月 |
电费估算说明:RTX 4090D 满载功耗约 425W,但整机墙上功耗会高于这个数字(CPU、主板、内存、SSD、风扇等也在耗电)。按整机平均功耗约 0.6kW、电价 ¥0.6/kWh 估算,每天运行 12 小时的年电费约为 0.6 × 12 × 365 × 0.6 ≈ ¥1,577。如果工作站放在需要额外开空调的房间,夏季还应把空调带来的额外电耗计入 TCO;本文暂不计算。
如果你的 GPU 平均每天有效运行 12-18 小时,简单静态平衡点在 19-29 个月之间。注意这是"GPU 运行时长",不是"人工作多久"——机器可以 24 小时跑,人不需要一直盯着。这里的平衡点只计算了 GPU 租赁成本,未包含云端存储和流量费用。
从纯经济角度看,在 ¥2.58/h 的价格下,自建工作站的回本周期并不短。12 小时并不是一个"买了马上省钱"的分界线。真正进入经济优势区间,需要非常高的 GPU 利用率(每天 18 小时以上),而且还要长期保持。但自建的价值不只是省钱——体验和环境稳定性同样是重要考量。
换个角度看:按本文假设(整机 0.6kW、电价 ¥0.6/kWh),自建机器的墙上电费约 ¥0.36/小时,而云 GPU 为 ¥2.58/小时。每个 GPU 运行小时的直接计算成本差约 ¥2.22。但 ¥0.36/h 并不是完整 TCO——没有算折旧、维修、空调、硬件残值和故障风险。自建需要一次性承担约 ¥23,592 的硬件资本支出,因此真正决定结果的不是"每小时谁便宜",而是你能把这台机器高利用率地使用多久。
但回本不是唯一考量。自建工作站还有几个云 GPU 给不了的优势:
- 数据本地化。训练数据、模型 checkpoint、实验日志全部在本地,不用来回传输
- 无需云端排队。实验需要启动时可以直接运行,不需要等待云端 GPU 资源释放
- 长期成本可控。买完机器后,日常现金支出主要是电费;但如果计算严格意义上的 TCO,还需要把硬件折旧、维护和残值考虑进去
- 可升级。未来可以扩充内存、SSD;如果明确计划双 GPU,建议从主板、电源、机箱和 PCIe 通道一开始就按双卡平台规划
给不同阶段的建议
根据你当前的阶段,我的建议是:
入门阶段(还在学 DreamerV3 原理、跑 cartpole_balance): 用 Google Colab 或 AutoDL 的免费/低价机型。这个阶段你的训练任务轻,没必要投入硬件。
进阶阶段(开始跑更复杂的 DMC 视觉任务、多个 seed 或更高训练比例的实验): 如果每周 GPU 实际运行时间已经稳定超过 20 小时(这是我的个人经验阈值,不是经济学上的统一标准),我会开始做一次"租 vs 买"的成本测算,而不是直接购买。先用 AutoDL 跑 1-2 个月,确认自己会持续用,再下单买硬件。
研究阶段(需要高频迭代、写博客、做对比实验): 如果你需要高频迭代,而且单卡资源已经能够覆盖大部分实验,本地工作站的便利性会非常明显;如果实验规模已经进入多 GPU 或大规模并行阶段,则云端或集群反而更合适。
快速决策参考
| 你的情况 | 更倾向于 |
|---|---|
| 每天 < 4 小时 | 云 GPU |
| 每天 4–8 小时 | 云 GPU 优先 |
| 每天 8–12 小时 | 按实际价格和使用周期计算 |
| 每天 12–18 小时,且预计持续 2 年以上 | 认真考虑自建 |
| 每天 18 小时以上、单 GPU 长期高利用率 | 自建经济性明显增强 |
| 偶尔需要多张 GPU | 云 GPU / 集群 |
| 经常需要 4–8 张 GPU | 云端/集群通常更合理 |
| 数据必须留在本地 | 自建吸引力明显增加 |
| 刚开始学习 DreamerV3 | 先租,不要买 |
小结
如果只是偶尔跑 DreamerV3,租云 GPU;如果已经验证自己会长期、高频使用单 GPU,再认真考虑自建。
按本文 ¥2.58/GPU 小时的云 GPU 价格,以及约 ¥23,592 的自建成本计算,在只考虑 GPU 租赁费和电费的简单模型下,每天运行 12 小时约 29 个月、每天 18 小时约 19 个月才能达到静态成本平衡。这意味着"每天 12 小时"并不是买工作站的经济学分界线。真正值得买的情况通常是:GPU 利用率高、预计使用周期长,而且本地机器带来的无需排队、环境稳定、数据本地化和快速迭代确实能提高你的研究效率。
反过来,如果你的实验偶尔需要多张 GPU,或者 GPU 使用时间具有明显的波峰波谷,云 GPU 的弹性往往比自建更有价值。
所以不要问"云 GPU 还是工作站哪个更便宜",先问三个问题:我每个月到底用多少 GPU 小时?这种使用强度能持续多久?我愿意为本地机器的低延迟和稳定性支付多少溢价? 这三个问题的答案,比任何一张硬件配置单都更重要。
评论