AY-Robots 成本表,显示五种策略各自所需的 GPU、典型的运行时间和每次运行的价格,以及策略变得有用之前所需的 эпизод 数量
VLA 训练GPU 成本SO-100微调机器人学习预算编制

VLA 训练成本:微调运行的真实成本

AY-Robots ResearchAugust 23, 202623 分钟阅读

真实的现货市场 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 GB0.13 / 0.32 / 0.38240.110.34 / 0.74not offered
RTX 5090, 32 GB0.34 / 0.40 / 0.47290.190.69 / 0.99not offered
A100 80 GB, PCIe or SXM40.44 / 0.56 / 0.6720.131.19 PCIe, 1.39 SXM / 1.39, 1.592.50 as a Space
H100 80 GB, SXM or PCIe1.34 / 1.80 / 2.3450.441.99 PCIe, 2.69 SXM / 2.89, 3.294.50 as an endpoint
H100 NVL, 94 GB1.47 / 1.47 / 2.6440.402.59 / 3.19not 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 的标价是更稳定的规划依据。

bash
# 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
上述表格背后的确切查询,在本节撰写时运行了两次。在相信任何 GPU 定价文章(包括本文)之前,请先运行此查询。
AY-Robots cost table showing which GPU each policy needs, typical run time and price per run, and how many episodes are needed before the policy is useful
The cost table on /try: card, run time, price per run and minimum episodes per policy.

为什么 3B 模型无法使用廉价显卡

在上述中位数下,一个 4090 小时和一个 H100 80 GB 小时大约相差六倍。迫使您选择昂贵显卡的不是速度,而是内存。openpi 为完整的 Pi0.5 微调 设置了 70 GB 的最低要求,NVIDIA 建议 GR00T 使用 40 GB 或更多内存。请注意 GR00T 的这个数字不代表什么。其微调配置默认冻结了语言模型和视觉编码器(tune_llmtune_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 4090openpi
pi0 / pi0.5 LoRA 微调more than 22.5 GB, example RTX 4090openpi
pi0 / pi0.5 完全微调more than 70 GB, example A100 80 GB or H100openpi
GR00T N1.7 推理1 GPU with 16 GB or moreIsaac-GR00T
GR00T N1.7 微调40 GB or more recommended, H100 or L40 nodesIsaac-GR00T
GR00T 微调,训练内容projector and diffusion head; LLM and visual encoder frozen by defaultfinetune_config.py
GR00T 训练后,精简版1 GPU with 24 GB, language model frozenIsaac Lab Arena
SmolVLA 微调single A100 for the reference 20,000-step runlerobot docs
ACT 训练a single 11 GB RTX 2080 TiACT paper

该表格解释了平台将这五个模型分为两个层级的原因。GR00T N1.7GR00T N1.5Pi0.5 运行在 A100 80 GB 或 H100 上,因为这是供应商要求的。SmolVLAACT 运行在 RTX 4090 或任何 24 GB 显卡上,因为这确实足够了。

耗时一天的陷阱:为大型模型租用廉价显卡

在 24 GB 显卡上运行 GR00T 或 Pi0.5 不会在启动时立即失败。它会下载基础检查点,构建数据集索引,开始第一次前向传播,然后在几百步后因 CUDA 内存不足错误而崩溃。您支付了下载和设置的费用,却一无所获。解决方案:训练期间内存不足

五个模型实际运行时间

运行时间是成本的另一半:如果任务是40分钟,每小时2.00美元的费用就无关紧要;但如果是40小时,则会造成巨大损失。这些是AY-Robots实际发送给训练器的默认值,包括每个层级的运行窗口和成本。

策略GPU 层级默认最大步数默认批次 (梯度累积)运行窗口每次运行成本
GR00T N1.7, ~3BA100 80 GB or H10020,00032, accum 1, applies3 to 6 h4 to 12 USD
GR00T N1.5, ~3BA100 80 GB or H1002,0001, accum 16, applies3 to 6 h4 to 12 USD
Pi0.5, ~3BA100 80 GB or H10030,0001, accum 16, no effect3 to 6 h4 to 12 USD
SmolVLA, ~450MRTX 4090 or any 24 GB20,0002, accum 8, no effect2 to 5 h1 to 3 USD
ACT, ~80MRTX 4090 or any 24 GB100,0008, accum 12 to 5 h1 to 3 USD
AY-Robots 上五种可训练策略的对比表,显示了参数数量、所需 GPU、推理延迟和最小剧集数
五种策略并排对比:参数、GPU 层级、每个动作步的延迟、最小剧集数。

这些运行窗口的来源

  • 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-100Feetech STS3215 bus servos7.4 V110 to 150 EUR完整,参考机械臂
SO-101Feetech STS32157.4 V130 to 170 EUR完整
Koch v1.1Dynamixel XL330 / XL4305 V and 12 V rails250 to 350 EUR兼容
LeKiwiFeetech STS3215 arm, wheeled base7.4 V arm, 12 V base400 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 的比较 是最重要的,因为两者足够接近,决策更多是关于可用性而非能力。

7.4 V,而非 12 V

STS3215 有 7.4 V 和 12 V 两种型号;仓库说明 12 V 型号还需要 12 V 5 A 的电源而非 5 V 电源,因此两者不可互换。将 12 V 电压输入 7.4 V 舵机会损坏它们,而六个舵机占从臂零件成本的三分之二。首次通电前请检查每个舵机上的标签。如果舵机已经出现异常行为:舵机无响应机械臂抽搐后下垂

人工工时:电子表格中无人提及的成本

这个数字彻底颠覆了成本讨论。录制演示意味着一个人实时移动机械臂,一次一个片段。无法批量处理,也无法按秒租用。 LeRobot 数据集 录制器附带的默认设置使计算变得简单,所有三项都在 DatasetRecordConfig 中确认:每个 片段 60 秒,60 秒用于重置场景,共 50 个片段。下面的金额列假设每小时人工成本为 15 USD,这只是一个假设,而非平台数据。请代入您自己的费率;关键在于比例。

  1. 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-recordlerobot-train 入口点,因此下面的形式在这两个版本中都是稳定的。这三个计时标志是上游默认值,因此这也是下表中计算所假定的命令。

    bash
    lerobot-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. 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. 3
    训练,并确保检查点比 Pod 存活更久

    租用的机器本质上是临时的,因此在运行期间将检查点写入持久存储。两个标志决定您是否保留所支付的成果。--save_freq 默认为 20,000 步,因此默认的 20,000 步 SmolVLA 运行会在运行结束后才写入第一个检查点;在租用任何可中断资源之前,请降低此值。--save_checkpoint_to_hub 需要 --policy.repo_id 并且在 lerobot 0.5.1 中不存在,因此在该版本上您需要自己将输出目录从机器上复制出来。下面的批处理大小是上游文档的示例;AY-Robots 表单为 SmolVLA 发送 2,并在检查点出现时写入对象存储。

    bash
    lerobot-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 minimum30 min30 min1 h 00 min1 h 12 minabout 18 USD
50, the other four minimums50 min50 min1 h 40 min2 h 00 minabout 30 USD
100, a comfortable dataset100 min100 min3 h 20 min4 h 00 minabout 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 40900.32 USD/h7.68 USD53.76 USD约 27 次 SmolVLA 或 ACT 运行,每次 2 美元
A100 80 GB0.56 USD/h13.44 USD94.08 USD约 12 次 GR00T 运行,每次 8 美元
H100 80 GB1.80 USD/h43.20 USD302.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。小时费率是上述市场费率;其他一切都是您自己的时间。

  1. 找到与模型所需显存匹配的显卡:ACT 和 SmolVLA 需要 24 GB,GR00T 和 Pi0.5 需要 80 GB。
  2. 如果运行无法在暂停后存活,则按需租用;如果经常写入检查点,则可中断租用。
  3. 安装工具链:ACT、SmolVLA 和 Pi0.5 使用 lerobot,GR00T 使用 Isaac-GR00T 仓库及其自己的 tyro 启动器。
  4. 如果需要,转换数据集。LeRobot v3.0 数据集会导致 GR00T 加载器崩溃,必须将其转换为 v2.1。
  5. 启动,观察损失,并在检查点写入时将其推送到持久存储。
  6. 销毁实例,然后检查您是否已销毁它。
bash
# 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>
当前的 Isaac-GR00T 微调入口点,与仓库 README 中的命令匹配。此 CLI 没有种子标志,因此 GR00T 运行无法实现位对位复现。

一次 GR00T 运行的实际成本:在 H100 80 GB 上运行 3 到 6 小时,每小时 1.34 到 2.34 美元,总计 4 到 14 美元,外加 20 到 40 分钟的设置时间(也计费),再加上您自己的时间。

平台如何收费以及如何选择显卡

逻辑刻意地简单。平台中的每个模型都在目录中声明了 GPU 层级;后端会根据所需的显存,在上述测量的同一现货市场租用匹配的显卡。这就是为什么报价是一个范围,而不是一个固定价格。GR00T 和 Pi0.5 在这里仅支持云端运行,因为它们分别需要至少 40 GB 和 70 GB 的显存。SmolVLA 和 ACT 也可以在您自己的 24 GB 显卡上本地运行,此时云端成本为零,但电费由您承担。

AY-Robots 定价页面,显示训练运行和平台访问的成本
定价页面。每次运行的费用跟踪现货市场,而非固定标价。

有一个参数值得注意。梯度累积确实适用于两种 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 USD4 到 12 USD
成功前的运行次数3 到 53 到 5
GPU总花费3 到 15 USD12 到 60 USD
账单上最大开销机械臂,然后是您的时间机械臂,然后是您的时间

这种模式在当前尺寸的机器人上依然成立:计算成本可以忽略不计,硬件是一次性的实际成本,而人工时间是持续的开销。在购买任何东西之前测试训练部分,无需硬件的入门点让您无需机械臂即可比较模型并租用 GPU,而实时机械臂是一个无需注册即可在浏览器中驱动的物理 SO-100。对于整个端到端流程,完整的 SO-100 指南涵盖了设置、远程操作和训练,而训练您的第一个策略是简短版本。

The AY-Robots training matrix with five policies as rows and four robot arms as columns, every cell linking to a specific training guide
The /train matrix: row for your budget, column for your arm, cell for the guide with that pairing's defaults and cost.
一次 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 步。账单是小时数乘以内存占用迫使您使用的显卡费率,而不是步数计数器。

在开始运行前,了解您的运行成本

这五个策略中的每一个都列出了其 GPU 层级、运行时间和每次运行的价格,并且训练后端在测量这些数字的相同现货市场上租用显卡。

查看定价

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started