SmolVLA 模型微调
SmolVLA(Small Vision-Language-Action)是 Hugging Face 推出的轻量级 VLA 模型(约 450M 参数)。如果你想在单卡/消费级 GPU 上先把“数据 → 训练 → 推理”跑通,SmolVLA 通常是最省心的起点。
本文会带你完成三件事:
- 准备 LeRobot 格式数据(本地或 Hub)
- 启动微调训练(单卡/多卡/省显存)
- 用训练产物做一个最小推理验证
先决条件
系统要求
- 操作系统:Linux(推荐 Ubuntu 20.04+)或 macOS
- Python 版本:建议 3.10+(与 LeRobot 常用依赖更匹配)
- GPU:NVIDIA GPU(推荐 RTX 3080 或更高),至少 8GB 显存
- 内存:至少 16GB RAM
- 存储空间:至少 50GB 可用空间
环境准备
1. 安装 LeRobot
# 克隆 LeRobot 仓库
git clone https://github.com/huggingface/lerobot.git
cd lerobot
# 创建虚拟环境(推荐 venv;如你偏好 conda 也可以)
python -m venv .venv
source .venv/bin/activate
python -m pip install -U pip
# 安装依赖(SmolVLA 相关依赖通常在 extras 中)
pip install -e ".[smolvla]"
2. 安装额外依赖
# 安装 Flash Attention(可选:通常仅适用于 Linux + NVIDIA CUDA 环境;macOS/CPU 环境不适用)
pip install flash-attn --no-build-isolation
# 安装 Weights & Biases(用于实验跟踪;不用也完全没问题)
pip install wandb
提示
如果你暂时不想接入 W&B,可以先跳过 wandb login,训练不受影响(后面把 --wandb.enable 关掉即可)。
数据准备
LeRobot 格式数据
SmolVLA 使用 LeRobot 数据集格式。你至少需要准备好下面这些文件/目录(名字可能因导出方式略有差异,但核心是 meta.json + data/