跳到主要内容

训练配置

配置文件​

LingBot-VLA 的训练配置位于 configs/vla/。以下配置可作为起点:

配置用途
real_load20000h.yaml真机数据后训练,不含深度蒸馏
real_load20000h_depth.yaml真机数据后训练,包含深度蒸馏
robotwin_load20000h.yamlRoboTwin 后训练,不含深度蒸馏
robotwin_load20000h_depth.yamlRoboTwin 后训练,包含深度蒸馏

模型参数​

参数说明默认值
model.model_path预训练权重路径;留空时随机初始化None
model.tokenizer_pathVLM tokenizer 路径model.model_path
model.config_path模型 config.json 路径model.model_path
model.freeze_vision_encoder是否冻结视觉编码器false
model.tokenizer_max_length文本 token 最大长度72
model.max_action_dim动作向量最大维度75
model.max_state_dim状态向量最大维度75

数据参数​

参数说明默认值
data.train_pathLeRobot v3.0 训练数据目录必填
data.data_name数据集名称;必须与机器人配置匹配必填
data.joints命名关节及其最大维度必填
data.cameras相机名称列表必填
data.norm_typemeanstd、bounds_99、minmax 或 identitybounds_99
data.norm_stats_file归一化统计文件路径必填
data.num_workersDataLoader 进程数4

数据格式、机器人特征映射和归一化统计的准备方式见准备数据。

训练参数​

参数说明默认值
train.output_dir输出与 Checkpoint 保存目录必填
train.lr最大学习率;真机配置通常为 5e-5,仿真配置通常为 1e-45e-5
train.loss_typefm 或 L1_fmfm
train.micro_batch_size每张 GPU 的样本数1
train.gradient_accumulation_steps梯度累积步数1
train.global_batch_size根据每卡批量、GPU 数量和梯度累积自动计算自动
train.max_steps最大更新步数None
train.num_train_epochs训练轮数;与 max_steps 至少设置一项None
train.data_parallel_modeddp、fsdp1 或 fsdp2ddp
train.use_compile是否启用 torch.compilefalse
train.ckpt_managerdcp 或 bytecheckpointdcp
train.enable_fp32是否以 float32 运行动作专家false
train.enable_resume是否自动恢复训练false
train.save_stepsCheckpoint 保存间隔0

全局批量大小按以下方式计算:

global_batch_size =
micro_batch_size × GPU 数量 × gradient_accumulation_steps

显存不足时,可降低 micro_batch_size 并提高 gradient_accumulation_steps,保持目标全局批量大小不变。

深度蒸馏配置​

含深度版本通过 align_params 配置 MoGe-2 和 LingBot-Depth:

align_params:
mode: "query"
use_contrastive: true
contrastive_loss_weight: 0.3
depth_loss_weight: 0.004
depth:
model_type: MoRGBD
moge_path: "/path/to/moGe-2-vitb-normal"
morgbd_path: "/path/to/LingBot-Depth"

相关权重的下载方式见安装与模型下载。

启动训练​

配置数据与输出目录后运行:

bash train.sh tasks/vla/train_lingbotvla.py \
./configs/vla/real_load20000h.yaml \
--data.train_path /path/to/lerobot-dataset \
--data.data_name your_robot \
--data.norm_stats_file /path/to/norm_stats.json \
--train.output_dir output/

完整训练流程和 RoboTwin 示例见后训练。