真实的现货市场 GPU 价格,五种策略各自的运行时间,机械臂和演示的成本,以及资金悄然消失的四个地方。
简要版本
- •在 A100 80 GB 或 H100 层级上运行需要 3 到 6 小时,费用约为 4 到 12 美元。在 RTX 4090 层级上运行需要 2 到 5 小时,费用约为 1 到 3 美元。
- •根据 2026 年 8 月 23 日 13:44 UTC 在 vast.ai 上的测量:按需租用一块完整的 RTX 4090 费用为 0.13 到 0.38 美元/小时,一块 A100 80 GB 费用为 0.44 到 0.67 美元/小时,一块 H100 80 GB 费用为 1.34 到 2.34 美元/小时。完整的 80 GB 显卡稀缺,分别只有两块和五块单卡供应。
- •GPU 是最便宜的一项。SO-ARM100 的物料清单显示,一个主从对的成本为 229.88 美元,这相当于在 24 GB 层级上运行 77 到 230 次。
- •一个人录制 50 集视频的两个小时成本,比这些视频所用于的训练运行成本更高。
- •资金流失在四个方面:基于损坏数据的运行、80M 策略即可处理的任务却使用 3B 模型、无人损坏的 GPU,以及未能保存结果而进行的重新运行。
- •AY-Robots 根据模型所需的显存大小来选择显卡,并在相同的现货市场租用,因此运行成本就是市场成本。
账单有四项,GPU 是其中最小的一项
当人们询问为 SO-100 微调一个视觉-语言-动作模型的成本时,他们几乎总是指 GPU 租用费用。这是账单上显示的一项费用,因此感觉最真实。然而,它也是决定一个可用的策略实际花费的四个数字中,最小的一个,而且差距很大。
| 项目 | 内容 | 一个可用策略的典型规模 |
|---|---|---|
| GPU 时间 | 为运行租用显卡 | 每次运行 1 到 12 美元,您将进行 3 到 5 次 |
| 机器人 | 伺服电机、打印框架、摄像头、电缆、电源 | 一次性,每只机械臂 110 到 500 欧元 |
| 人工工时 | 操作机械臂录制演示的人员 | 每个数据集 1 到 4 小时,每个任务重复 |
| 浪费 | 不良数据、过大模型、遗忘的 Pod | 无上限,也是您唯一能控制的项目 |
以下训练时间来自五个模型各自的论文和代码库,硬件成本来自已发布的物料清单,平台数据来自AY-Robots 策略目录和定价页面。如果平台无法提供帮助,本文会明确指出。
GPU 小时在现货市场上的实际成本
A100 小时没有单一价格。在 vast.ai 这样的市场上,每个主机都设定自己的费率,而您启动的训练任务会落在当时最便宜且空闲的机器上。真实的答案是一个分布。以下是2026年8月23日13:44 UTC测量的数据:单张完整显卡,按需提供,按实际显存过滤。
| 显卡 | vast.ai 按需 USD/小时 (低 / 中位数 / 高) | 整卡报价 | vast.ai 竞价底价 | RunPod 社区 / 安全 | Hugging Face |
|---|---|---|---|---|---|
| RTX 4090, 24 GB | 0.13 / 0.32 / 0.38 | 24 | 0.11 | 0.34 / 0.74 | not offered |
| RTX 5090, 32 GB | 0.34 / 0.40 / 0.47 | 29 | 0.19 | 0.69 / 0.99 | not offered |
| A100 80 GB, PCIe or SXM4 | 0.44 / 0.56 / 0.67 | 2 | 0.13 | 1.19 PCIe, 1.39 SXM / 1.39, 1.59 | 2.50 as a Space |
| H100 80 GB, SXM or PCIe | 1.34 / 1.80 / 2.34 | 5 | 0.44 | 1.99 PCIe, 2.69 SXM / 2.89, 3.29 | 4.50 as an endpoint |
| H100 NVL, 94 GB | 1.47 / 1.47 / 2.64 | 4 | 0.40 | 2.59 / 3.19 | not offered |
来自 vast.ai 公共捆绑 API 的单个完整 GPU (gpu_frac == 1.0) 的按需报价,无需账户,并根据 gpu_ram 进行筛选,以确保只有真正的 80 GB 显卡出现在 80 GB 行中。此筛选器很重要:在此次读取中,所有三个单卡 A100 SXM4 报价均为 40 GB 型号,四个 A100 PCIE 报价中有两个也是 40 GB 型号,因此将它们合并到“A100”行中会使此处报告的价格减半。Hugging Face 列混合了两种产品:2.50 USD/h 是 Nvidia A100 - large Spaces 硬件,4.50 USD/h 是 Inference Endpoints 下的单个 H100 80 GB,而 Spaces 不提供此服务。将中位数视为指示性数据:A100 80 GB 行基于两个报价,H100 行基于五个报价,并且 36 秒后相同的查询返回了不同的 4090 计数以及五个行中三个行的不同最高价格。RunPod 的标价是更稳定的规划依据。
# Live, full-card, single-GPU, on-demand offers from the vast.ai public bundle API.
# No account and no API key needed. gpu_ram is in MB, so an 80 GB card is >= 80000.
python3 - <<'PY'
import json, statistics, urllib.parse, urllib.request
def offers(name, min_ram):
q = {"rentable": {"eq": True}, "num_gpus": {"eq": 1}, "gpu_name": {"eq": name},
"order": [["dph_total", "asc"]], "limit": 500, "type": "on-demand"}
url = "https://console.vast.ai/api/v0/bundles/?q=" + urllib.parse.quote(json.dumps(q))
with urllib.request.urlopen(url, timeout=60) as r:
return [o for o in json.load(r)["offers"]
if o["gpu_frac"] == 1.0 and o["gpu_ram"] >= min_ram]
groups = {
"RTX 4090 24 GB": (["RTX 4090"], 24000),
"RTX 5090 32 GB": (["RTX 5090"], 30000),
"A100 80 GB": (["A100 PCIE", "A100 SXM4"], 80000),
"H100 80 GB": (["H100 SXM", "H100 PCIE"], 80000),
"H100 NVL 94 GB": (["H100 NVL"], 90000),
}
for label, (names, min_ram) in groups.items():
o = [x for n in names for x in offers(n, min_ram)]
if not o:
print(label, "no offers"); continue
p = sorted(x["dph_total"] for x in o)
b = sorted(x["min_bid"] for x in o if x.get("min_bid"))
bid = f"{b[0]:.2f}" if b else "n/a"
print(f'{label}: n={len(p)} | {p[0]:.2f} / {statistics.median(p):.2f} / {p[-1]:.2f}'
f' USD/h | bid floor {bid}')
PY
为什么 3B 模型无法使用廉价显卡
在上述中位数下,一个 4090 小时和一个 H100 80 GB 小时大约相差六倍。迫使您选择昂贵显卡的不是速度,而是内存。openpi 为完整的 Pi0.5 微调 设置了 70 GB 的最低要求,NVIDIA 建议 GR00T 使用 40 GB 或更多内存。请注意 GR00T 的这个数字不代表什么。其微调配置默认冻结了语言模型和视觉编码器(tune_llm 和 tune_visual 为 False,而 projector 和 diffusion head 为 True),这就是为什么目录中列出了 3 B 参数中大约 40 M 的训练参数。这 40 GB 不是 3 B 权重的优化器状态,而是冻结的主干网络加上激活。范围缩减的变体要求更低:openpi 的 LoRA 路径需要 22.5 GB 并指定 4090,而 NVIDIA 的 Isaac Lab Arena 工作流程为 GR00T 训练后列出了 24 GB 单 GPU 选项。平台根据每个供应商为其实际运行配置发布的最低要求进行分层。pi0 流匹配技术白皮书 解释了 流匹配 的内存占用来自何处。
| 任务 | 上游项目要求的内存 | 来源 |
|---|---|---|
| pi0 / pi0.5 推理 | more than 8 GB, example RTX 4090 | openpi |
| pi0 / pi0.5 LoRA 微调 | more than 22.5 GB, example RTX 4090 | openpi |
| pi0 / pi0.5 完全微调 | more than 70 GB, example A100 80 GB or H100 | openpi |
| GR00T N1.7 推理 | 1 GPU with 16 GB or more | Isaac-GR00T |
| GR00T N1.7 微调 | 40 GB or more recommended, H100 or L40 nodes | Isaac-GR00T |
| GR00T 微调,训练内容 | projector and diffusion head; LLM and visual encoder frozen by default | finetune_config.py |
| GR00T 训练后,精简版 | 1 GPU with 24 GB, language model frozen | Isaac Lab Arena |
| SmolVLA 微调 | single A100 for the reference 20,000-step run | lerobot docs |
| ACT 训练 | a single 11 GB RTX 2080 Ti | ACT paper |
该表格解释了平台将这五个模型分为两个层级的原因。GR00T N1.7、GR00T N1.5 和 Pi0.5 运行在 A100 80 GB 或 H100 上,因为这是供应商要求的。SmolVLA 和 ACT 运行在 RTX 4090 或任何 24 GB 显卡上,因为这确实足够了。
在 24 GB 显卡上运行 GR00T 或 Pi0.5 不会在启动时立即失败。它会下载基础检查点,构建数据集索引,开始第一次前向传播,然后在几百步后因 CUDA 内存不足错误而崩溃。您支付了下载和设置的费用,却一无所获。解决方案:训练期间内存不足。
五个模型实际运行时间
运行时间是成本的另一半:如果任务是40分钟,每小时2.00美元的费用就无关紧要;但如果是40小时,则会造成巨大损失。这些是AY-Robots实际发送给训练器的默认值,包括每个层级的运行窗口和成本。
| 策略 | GPU 层级 | 默认最大步数 | 默认批次 (梯度累积) | 运行窗口 | 每次运行成本 |
|---|---|---|---|---|---|
| GR00T N1.7, ~3B | A100 80 GB or H100 | 20,000 | 32, accum 1, applies | 3 to 6 h | 4 to 12 USD |
| GR00T N1.5, ~3B | A100 80 GB or H100 | 2,000 | 1, accum 16, applies | 3 to 6 h | 4 to 12 USD |
| Pi0.5, ~3B | A100 80 GB or H100 | 30,000 | 1, accum 16, no effect | 3 to 6 h | 4 to 12 USD |
| SmolVLA, ~450M | RTX 4090 or any 24 GB | 20,000 | 2, accum 8, no effect | 2 to 5 h | 1 to 3 USD |
| ACT, ~80M | RTX 4090 or any 24 GB | 100,000 | 8, accum 1 | 2 to 5 h | 1 to 3 USD |

这些运行窗口的来源
- SmolVLA: lerobot 文档指出,在单个 A100 上运行 20,000 步大约需要 4 小时。该平台在更便宜的 24 GB 层级上运行相同的 20,000 步,因此是一个时间窗口而不是固定的 4 小时。
- ACT: 原始 ALOHA 论文报告称,对于一个 80M 参数模型,在单个 11 GB RTX 2080 Ti 上大约需要 5 小时。4090 是几代更新的产品,但该平台预算 100,000 步,因此时间窗口落在相同的位置。
- GR00T: NVIDIA 针对 N1.6 代的参考工作流程引用,在八张 L40S 卡上以批次 24 运行 20,000 步大约需要 4 到 8 小时,在单个 Ada 6000 上以批次 16 运行 30,000 步需要 2 到 3 小时。在几小时内对 3B VLA 进行单卡微调是正常的,并非乐观估计。
- Pi0.5: openpi 没有公布实际运行时间数据,但它公布了完整微调所需的 70 GB 最低要求,这决定了显卡型号,从而决定了运行速率。
值得思考一下你无需支付的成本。GR00T N1 论文报告称,预训练 2.2B 模型需要大约 50,000 H100 GPU 小时,在一个多达 1024 个 GPU 的集群上,预训练批次大小为 16,384,进行 200,000 个梯度步。按照上面测量的每小时 1.34 到 2.34 USD 计算,这相当于 67,000 到 117,000 USD 的租用计算资源。SmolVLA 论文指出其项目在 481 个社区数据集、22.9K 集和 10.6M 帧上花费了大约 30,000 GPU 小时。你只需下载即可继承所有这些成果;你的 8 USD 购买的是最后的 20,000 步。为什么 VLA 是这样构建的解释了这种划分。
机械臂:一次性成本,让 GPU 账单相形见绌
一次训练运行的成本比午餐还低。机器人则不然。这就是 SO-100 重要的原因:它是整个 模仿学习 工具链实际支持的最便宜的机械臂。
| 机械臂 | 舵机 | 电压 | 零件成本 | AY-Robots 上的支持 |
|---|---|---|---|---|
| SO-100 | Feetech STS3215 bus servos | 7.4 V | 110 to 150 EUR | 完整,参考机械臂 |
| SO-101 | Feetech STS3215 | 7.4 V | 130 to 170 EUR | 完整 |
| Koch v1.1 | Dynamixel XL330 / XL430 | 5 V and 12 V rails | 250 to 350 EUR | 兼容 |
| LeKiwi | Feetech STS3215 arm, wheeled base | 7.4 V arm, 12 V base | 400 to 500 EUR | 兼容 |
SO-ARM100 仓库中的上游物料清单更为详细,值得根据您所在地区进行核对:其 两臂零件 清单总计 229.88 USD 或 226.30 EUR,用于一个主臂加一个从臂的设置;其 一个从臂零件 清单总计 121.94 USD 或 124.30 EUR。六个 STS3215 舵机每个 13.89 USD,总计 83.34 USD,占 121.94 USD 的大部分,因此舵机是机械臂的主要成本。每次 SmolVLA 或 ACT 运行成本为 1 到 3 USD,一对机械臂的价值相当于 77 到 230 次训练运行。如果您仍在选择,SO-100 与 SO-101 的比较 是最重要的,因为两者足够接近,决策更多是关于可用性而非能力。
人工工时:电子表格中无人提及的成本
这个数字彻底颠覆了成本讨论。录制演示意味着一个人实时移动机械臂,一次一个片段。无法批量处理,也无法按秒租用。 LeRobot 数据集 录制器附带的默认设置使计算变得简单,所有三项都在 DatasetRecordConfig 中确认:每个 片段 60 秒,60 秒用于重置场景,共 50 个片段。下面的金额列假设每小时人工成本为 15 USD,这只是一个假设,而非平台数据。请代入您自己的费率;关键在于比例。
- 1使用实际计费的默认设置录制数据集
这是 lerobot 0.6.1,截至 2026 年 8 月 3 日 PyPI 上的版本。请注意 CLI 形式:录制通过
lerobot-record控制台入口点 (lerobot.scripts.lerobot_record) 运行,而不是旧的python -m lerobot.scripts.record模块路径。AY-Robots 目标版本为 0.5.1,并且 0.5.1 wheel 声明了相同的lerobot-record和lerobot-train入口点,因此下面的形式在这两个版本中都是稳定的。这三个计时标志是上游默认值,因此这也是下表中计算所假定的命令。bashlerobot-record \ --robot.type=so100_follower \ --robot.port=/dev/ttyACM0 \ --robot.id=my_follower_arm \ --robot.cameras="{ front: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30} }" \ --teleop.type=so100_leader \ --teleop.port=/dev/ttyACM1 \ --teleop.id=my_leader_arm \ --dataset.repo_id=${HF_USER}/pick-place-cube \ --dataset.num_episodes=50 \ --dataset.episode_time_s=60 \ --dataset.reset_time_s=60 \ --dataset.single_task="Grab the black cube and put it in the bin" - 2在租用一分钟 GPU 之前,先查看您录制的内容
检查数据集每小时成本为零 USD。从损失曲线中发现同样的问题,在 H100 层级上每小时成本为 2.00 USD,并且会晚四个小时才发现。将数据集推送到 LeRobot 查看器中进行检查,或浏览 AY-Robots 数据集目录。
bash# the recorder pushes to the Hub by default; disable with --dataset.push_to_hub=False echo https://huggingface.co/datasets/${HF_USER}/pick-place-cube # then open https://huggingface.co/spaces/lerobot/visualize_dataset # and scrub through episodes: are both camera streams alive on every episode? # is the gripper actually closing? does the arm sit at a joint limit? - 3训练,并确保检查点比 Pod 存活更久
租用的机器本质上是临时的,因此在运行期间将检查点写入持久存储。两个标志决定您是否保留所支付的成果。
--save_freq默认为 20,000 步,因此默认的 20,000 步 SmolVLA 运行会在运行结束后才写入第一个检查点;在租用任何可中断资源之前,请降低此值。--save_checkpoint_to_hub需要--policy.repo_id并且在 lerobot 0.5.1 中不存在,因此在该版本上您需要自己将输出目录从机器上复制出来。下面的批处理大小是上游文档的示例;AY-Robots 表单为 SmolVLA 发送 2,并在检查点出现时写入对象存储。bashlerobot-train \ --policy.path=lerobot/smolvla_base \ --dataset.repo_id=${HF_USER}/pick-place-cube \ --batch_size=64 \ --steps=20000 \ --save_freq=2000 \ --output_dir=outputs/train/my_smolvla \ --job_name=my_smolvla_training \ --policy.device=cuda \ --policy.repo_id=${HF_USER}/my_smolvla \ --save_checkpoint_to_hub=true
| 片段数 | 录制(60 秒) | 重置(60 秒) | 实际耗时 | 加上 20% 的重录 | 按每小时 15 USD 人工成本计算 |
|---|---|---|---|---|---|
| 30, the SmolVLA minimum | 30 min | 30 min | 1 h 00 min | 1 h 12 min | about 18 USD |
| 50, the other four minimums | 50 min | 50 min | 1 h 40 min | 2 h 00 min | about 30 USD |
| 100, a comfortable dataset | 100 min | 100 min | 3 h 20 min | 4 h 00 min | about 60 USD |
将右侧列与运行成本的 1 到 12 USD 进行比较。按照这个假设的费率,一个包含 50 个片段的数据集在校准、相机设置和丢弃的片段之前,其录制成本是训练成本的两到七倍。这就是为什么 具有直接的经济价值。LeRobot 指南建议每个物体位置至少 50 个片段,每个位置 10 个;SmolVLA 文档报告称,同一任务的 25 个片段版本不足以完成。
资金实际流失的地方
1. 在永远无法工作的数据上运行
在包含两个交换摄像头流的数据集上运行 20,000 步的 GR00T,其成本与在干净数据集上运行相同,耗时相同,并且会产生看起来正常的损失曲线。故障会在数小时后在机械臂上显现出来。 按小时计费,诊断按天计费。有两个值得记住的症状: 通常意味着观测数据不包含任务所需的信息,并且 意味着数据集的变化性比你想象的要小。
2. 为固定摄像头任务支付基础模型价格
ACT 大约有 80M 参数,旨在从零开始,通过 50 次任务演示进行训练。GR00T N1.7 大约有 3B 参数,带有一个预训练骨干网络。对于固定摄像头、固定工作台和单个物体,80M 模型通常能达到要求,每次动作步骤运行时间约为 20 ms 而不是 152 ms,每次运行成本为 1 到 3 USD 而不是 4 到 12。在花费 12 USD 购买昂贵模型之前,先花费 3 USD 了解廉价模型是否有效。 ACT 与 SmolVLA 的对比 和 GR00T N1.7 与 Pi0.5 的对比 展示了它们各自何时不再是最佳选择;模型竞技场 拥有 85 个模型和 332 个基准测试结果。
3. 你遗忘的 GPU
这是最容易避免的错误,也是最常见的错误。周五启动用于调试的实例,在周末也会以与实际运行相同的费率计费。
| 显卡 | 快照中位数费率 | 闲置 24 小时 | 闲置 7 天 | 价值 |
|---|---|---|---|---|
| RTX 4090 | 0.32 USD/h | 7.68 USD | 53.76 USD | 约 27 次 SmolVLA 或 ACT 运行,每次 2 美元 |
| A100 80 GB | 0.56 USD/h | 13.44 USD | 94.08 USD | 约 12 次 GR00T 运行,每次 8 美元 |
| H100 80 GB | 1.80 USD/h | 43.20 USD | 302.40 USD | 约 38 次 GR00T 运行,每次 8 美元 |
在 AY-Robots 上,这种故障在推理时被排除:推理 API 提供的 Pod 带有空闲看门狗,并在空闲一段时间后自行销毁。如果您自己租用显卡,那么这个看门狗就是您的日历提醒。
4. 为同一个答案支付两次费用
GR00T 的微调入口点是一个不暴露种子的 tyro CLI。这不是平台限制,而是上游工具:在 gr00t/configs/finetune_config.py 中没有种子字段,并且该仓库自己的训练提示警告说,由于图像增强是非确定性的,运行结果会有 5% 到 6% 的差异。lerobot 在 0.5.1 和 0.6.1 版本中都默认使用种子 1000,因此 ACT、SmolVLA 和 Pi0.5 的运行至少可以从相同的初始化和数据顺序重新运行。这并不能保证 GPU 上的权重完全一致,但它代表了重新运行和新实验之间的区别。如果 GR00T 运行产生了一个有效的策略,而您没有保留 检查点,您将为可能与您所追求的差异更大的结果支付全价。还有第二种方式会丢失您已付费的检查点:CLI 默认使用 --save-total-limit 5,这被记录为在删除旧检查点之前保留的最大检查点数量。存储费用仅为几美分;重新运行则需要 4 到 12 美元和六小时。
上述出价底价仅为按需费率的一小部分,vast.ai 表示竞价系统可以将客户成本降低百分之五十或更多。用它自己的话说,其缺点是:如果其他用户出价更高,或者为相同资源创建了按需租用,可中断实例随时可能被暂停,并且该暂停“会停止所有正在运行的进程”。按需实例始终优先。对于每隔几百步就写入一个检查点的运行来说,这没问题;但对于在结束时才写入检查点的运行来说,这将是完全的损失,而这正是默认设置所提供的:Isaac-GR00T CLI 每 --save-steps(默认 1000)写入一次,但 lerobot 的 --save_freq 默认为 20,000 步,因此默认的 SmolVLA 运行只在终点线写入一次检查点。降低它,或者不要竞价。AY-Robots 训练表单将 GR00T 旋钮公开为 saveSteps。
- 最低的小时费率。
- 完全控制镜像、CUDA 版本、lerobot 或 Isaac-GR00T 版本以及所有标志。
- 如果您的运行检查点足够频繁以在暂停后存活,可中断竞价可将费率减半。
- 没有进行任何抽象,因此当运行行为异常时,您可以查明原因。
- 设置费用按 GPU 费率计算:驱动程序、依赖项、数 GB 的基础检查点和数据集下载,每小时费用与训练相同。
- 被更高出价中断的可中断实例会被暂停并终止其进程。未保存的运行就是烧钱,而 lerobot 默认在第 20,000 步写入第一个检查点。
- 没有人会为您销毁 Pod。上面的空闲表就是您忘记销毁的账单。
- 单个完整 80 GB 显卡的供应稀缺:本次阅读中只有两个 A100 80 GB 和五个 H100 80 GB 完整显卡报价。列表也在不断变化,因此最便宜的标价和您实际可以租到的价格不是同一个数字。
- 在基础设施上花费的每一小时,都是没有用于记录决定策略是否有效的剧集的时间。
自行租用显卡与让平台租用显卡
您选择机器、构建环境并销毁 Pod。小时费率是上述市场费率;其他一切都是您自己的时间。
- 找到与模型所需显存匹配的显卡:ACT 和 SmolVLA 需要 24 GB,GR00T 和 Pi0.5 需要 80 GB。
- 如果运行无法在暂停后存活,则按需租用;如果经常写入检查点,则可中断租用。
- 安装工具链:ACT、SmolVLA 和 Pi0.5 使用 lerobot,GR00T 使用 Isaac-GR00T 仓库及其自己的 tyro 启动器。
- 如果需要,转换数据集。LeRobot v3.0 数据集会导致 GR00T 加载器崩溃,必须将其转换为 v2.1。
- 启动,观察损失,并在检查点写入时将其推送到持久存储。
- 销毁实例,然后检查您是否已销毁它。
# GR00T N1.7, single GPU, Isaac-GR00T as of August 2026.
# Note the entry point: gr00t/experiment/launch_finetune.py, a tyro CLI.
# scripts/gr00t_finetune.py does not exist in this repository; tutorials that
# still reference it are stale. The per-embodiment walkthrough is
# getting_started/finetune_new_embodiment.md.
CUDA_VISIBLE_DEVICES=0 uv run python gr00t/experiment/launch_finetune.py \
--base-model-path nvidia/GR00T-N1.7-3B \
--dataset-path demo_data/cube_to_bowl_5 \
--embodiment-tag NEW_EMBODIMENT \
--modality-config-path examples/SO100/so100_config.py \
--num-gpus 1 \
--output-dir ./so100-checkpoints \
--max-steps 20000 \
--global-batch-size 32 \
--dataloader-num-workers 4
# v3.0 dataset? Convert it down first or the loader will crash. The helper
# has its own pyproject and must be installed in its own environment:
cd scripts/lerobot_conversion
uv venv && source .venv/bin/activate
uv pip install -e .
python convert_v3_to_v2.py --repo-id <DATASET_REPO_ID>一次 GR00T 运行的实际成本:在 H100 80 GB 上运行 3 到 6 小时,每小时 1.34 到 2.34 美元,总计 4 到 14 美元,外加 20 到 40 分钟的设置时间(也计费),再加上您自己的时间。
您在表单中选择模型、数据集和超参数。后端会根据模型所需的显存大小租用一个 Spot GPU,运行训练器并将检查点写入对象存储。
- 在训练矩阵上选择您的组合:五个模型,四种机械臂,每个单元格一个指南。
- 将其指向一个数据集:使用桌面客户端记录的数据集、Hugging Face 仓库 ID,或您自己机器上的数据集。
- 接受默认值或进行调整。上表是实际发送给训练器的内容。
- 后端根据所需的显存选择显卡,因此您无需挑选 GPU。
- 检查点在写入时会存储到对象存储中,因此中断的运行不会丢失。
| 层级 | 模型 | 运行时间 | 每次运行成本 |
|---|---|---|---|
| A100 80 GB 或 H100 | GR00T N1.7, GR00T N1.5, Pi0.5 | 3 到 6 小时 | 约 4 到 12 美元 |
| RTX 4090 或任何 24 GB 显卡 | SmolVLA, ACT | 2 到 5 小时 | 约 1 到 3 美元 |
它不能做的是:让糟糕的数据集变好,给 GR00T 一个它从未有过的种子,或者移除下面描述的延迟限制。它消除了 GPU 选购、环境构建以及您忘记销毁的 Pod。其机制在训练文档中。
平台如何收费以及如何选择显卡
逻辑刻意地简单。平台中的每个模型都在目录中声明了 GPU 层级;后端会根据所需的显存,在上述测量的同一现货市场租用匹配的显卡。这就是为什么报价是一个范围,而不是一个固定价格。GR00T 和 Pi0.5 在这里仅支持云端运行,因为它们分别需要至少 40 GB 和 70 GB 的显存。SmolVLA 和 ACT 也可以在您自己的 24 GB 显卡上本地运行,此时云端成本为零,但电费由您承担。

有一个参数值得注意。梯度累积确实适用于两种 GR00T 变体,因此提高它可以在同一张显卡上获得更大的有效批次。对于 Pi0.5 和 SmolVLA,它完全不适用:lerobot 0.5.1 的训练配置中没有梯度累积选项,因此将该字段设置为 16 既不花费任何成本,也无任何效果。如果一个排队的任务从未启动,任务卡在队列中的页面涵盖了需要检查的内容;如果数据集在运行开始前被拒绝,那几乎总是因为v3.0 格式问题。
通过公共互联网为您的策略提供服务的租用GPU会增加控制回路的往返时间,而该回路每个动作步骤已经需要20到485毫秒。这对于慢速的抓取放置任务来说没问题,但对于快速反应运动则不行。云端推理可以很好地评估检查点,但在生产操作中表现不佳:如果任务需要速度,计算资源必须靠近伺服系统,而这是一种本文无法消除的成本。请参阅推理延迟。
首个可用策略的预算示例
所有四条线索加起来,从零开始。GPU总费用假设进行3到5次运行:第一次验证管道是否有效,第二次暴露数据问题,第三或第四次是您最终保留的。
| 项目 | 精益路径 | 舒适路径 |
|---|---|---|
| 机械臂 | SO-100 follower only,物料清单中121.94美元 | 主臂加从臂,物料清单中229.88美元 |
| 模型 | SmolVLA 或 ACT,24 GB 层级 | GR00T N1.7,A100 80 GB 或 H100 层级 |
| 录制集数 | 30,SmolVLA 最低要求 | 50 到 100 |
| 人工录制时间 | 约 1 小时 12 分钟 | 2 到 4 小时 |
| 单次运行成本 | 1 到 3 USD | 4 到 12 USD |
| 成功前的运行次数 | 3 到 5 | 3 到 5 |
| GPU总花费 | 3 到 15 USD | 12 到 60 USD |
| 账单上最大开销 | 机械臂,然后是您的时间 | 机械臂,然后是您的时间 |
这种模式在当前尺寸的机器人上依然成立:计算成本可以忽略不计,硬件是一次性的实际成本,而人工时间是持续的开销。在购买任何东西之前测试训练部分,无需硬件的入门点让您无需机械臂即可比较模型并租用 GPU,而实时机械臂是一个无需注册即可在浏览器中驱动的物理 SO-100。对于整个端到端流程,完整的 SO-100 指南涵盖了设置、远程操作和训练,而训练您的第一个策略是简短版本。

一次 VLA 微调运行的总成本是多少?▾
对于 GR00T N1.7、GR00T N1.5 或 Pi0.5 在 A100 80 GB 或 H100 层级上,大约 4 到 12 USD(每小时 1.20 到 2.00 USD,运行 3 到 6 小时);对于 SmolVLA 或 ACT 在 RTX 4090 层级上,大约 1 到 3 USD(每小时 0.30 到 0.60 USD,运行 2 到 5 小时)。如果您自己租用显卡,一旦计入设置时间,成本也在同一范围内,因为它按训练费率计费。
H100 是否值得比 A100 80 GB 支付更高的费用?▾
对于单个 SO-100 策略,通常不值得。两者都能满足 GR00T 和 Pi0.5 所需的内存下限,并且在 2026 年 8 月 23 日的记录中,一块完整的 A100 80 GB 起价为每小时 0.44 USD,而 H100 80 GB 为 1.34 USD。H100 完成得更快,因此部分费率会因小时数减少而抵消,但对于如此小的运行,总成本仍然更高。H100 的真正优势在于可用性:市场上提供五个 H100 80 GB 单卡,而 A100 80 GB 只有两个,一张租不到的卡是没有价格的。
一个策略在实际生效前需要多少次运行?▾
计划三到五次。第一次是为了验证管道连接正确。第二次通常会暴露出数据集问题,例如摄像头流在途中中断。第三或第四次才是您会保留的。
我可以在自己的 GPU 上训练 SmolVLA 或 ACT,而不是租用吗?▾
可以。AY-Robots 本地支持这两种模型,并且它们都能轻松适应 24 GB 内存;原始 ACT 论文在 11 GB RTX 2080 Ti 上用大约 5 小时训练了其 80M 模型。GR00T 和 Pi0.5 在这里仅支持云端,因为供应商文档中规定的微调内存下限分别为 40 GB 和 70 GB,而市场上最大的消费级显卡是 32 GB RTX 5090。
为什么不同模型在相同步数下成本不同?▾
不同策略的步数不可比较。ACT 在 24 GB 显卡上默认以批次 8 运行 100,000 步;GR00T N1.5 在 80 GB 显卡上默认以批次 1 和梯度累积 16 运行 2,000 步。账单是小时数乘以内存占用迫使您使用的显卡费率,而不是步数计数器。
Sources
- SmolVLA: A Vision-Language-Action Model for Affordable and Efficient Robotics
- GR00T N1: An Open Foundation Model for Generalist Humanoid Robots
- Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware (ACT / ALOHA)
- pi-0.5: a Vision-Language-Action Model with Open-World Generalization
- NVIDIA Isaac-GR00T: hardware requirements, launch_finetune.py and finetune_config.py defaults
- huggingface/lerobot: CLI entry points, policies and LeRobotDataset v3
- Physical Intelligence openpi: GPU memory requirements for pi0 and pi0.5
- SO-ARM100 / SO-101 bill of materials and STS3215 voltage variants
- LeRobot docs: fine-tuning SmolVLA, 20k steps in about 4 hours on one A100
- LeRobot docs: lerobot-record defaults, episode and reset times, dataset advice
- RunPod GPU pricing: Community Cloud and Secure Cloud hourly rates per card
- Vast.ai: on-demand versus interruptible rentals, bidding and what a pause does to your processes
- Hugging Face pricing: Spaces hardware hourly rates, A100 80 GB at 2.50 USD/h
- Isaac Lab Arena: GR00T N1.6 post-training hardware options and wall-clock reference figures
- lerobot on PyPI, version 0.6.1 released 3 August 2026
Ready for high-quality robotics data?
AY-Robots connects your robots to skilled operators worldwide.
Get Started