在默认设置下,在 8x B200 上训练 ACT 时,GPU 约占时间 30%
车票类型
特性请求/ 改进
环境与系统信息
lerobot:主机在2774d9bd,pip安装-e".[训练]"
ZZ: 3.12.14.
火炬:2.11.0+cu130(cuDNN 9.19,NCCL 2.28.9),火炬视觉:0.2.6.0,火炬码c:0.11.1
加速: 1.14.0
GPU: 8x NVIDIA B200,司机580.126.20,CUDA 13.0, 1个节点
操作系统: Linux说明
我按照“docs/source/multile gpu training.mdx”(加速发射-num process=8')中的8GPU指令,在“lerobot/aloha sim 插入-human”上运行了“lerobot-train-policy.type=act”(src/lerobot/scripts/lenobot train.pt.py',Plain DDP,第8批/GPU;fp32),每个培训步骤得到31.5米。 一个剖面图显示GPU忙了大约30%的时间:"src/lerobot/policy/act/modeling act.py"中的渴望"ACT.forward"及其后方每步发行了大约1150个小内核,在这个GPU上,主机无法像跑得快地发射. 有了CUDA图表(torch.compile',mode=' redu-overhead')所汇编的`Policy.model',再加上公关中所列的几个较小的DP和优化器变化,同一步骤耗时13.2毫秒。
我跑步时没有注意到这个 步骤时间看起来是可信的,`-加速器.编译器'在配置中,但火车脚本拒绝了,我读到的文件称多GPU运行是计算自带的。 " multi gpu training.mdx " 中的一行话说,第8批的小型政策将启动在一个快速的GPU上,而汇编该模型是杠杆,本来会帮我节省概况。
\ 上下文复制
加速发射 -- num processes = 8 美元( lenobot- train) \
- policy.type=act - policy.device=cuda - policy.push to hub=false \(英语:
--dataset.repo id=lerobot/aloha sim 插入 human\\ (中文(简体) ).
--steps=300 --种子=1000 --batch size=8 --num works=4 --log freq=1\
--save checkpoint=虚假 --env eval freq=0 --eval steps=0 --wandb.enable=假名步骤时间是剧本的"步-s"(最大于分级),取步51至300的中位数. 简介涵盖所有8个级别中的60至62个步骤;PR链接了痕迹.
QQ 相关日志或堆栈跟踪
无回复( N)
- 核对表
- [x]我已经搜索了现有的门票 以确保这不是重复。
- 我使用`主要 ' 分支的最新版本。
- [x]我已经核实这不是一个特定环境问题。
+++ 额外信息/工作间距
我打开了#4607来记录我的实验:设置,测量,痕迹和一些潜在的修正. 不同的修补方式也可能适合代码库.
内容来源: huggingface/lerobot