使用LoRA/DoRA微调NVIDIA Cosmos Predict 2.5以生成机器人视频
本文介绍了如何通过参数高效微调技术LoRA和DoRA,在单个GPU上微调NVIDIA Cosmos Predict 2.5世界模型,生成用于机器人学习的合成视频轨迹。文章详细说明了数据处理、适配器初始化、训练循环、推理方法及评估指标。
文章情报
要点
- LoRA和DoRA允许在冻结基模型的情况下,通过小型可训练适配器进行高效微调,避免灾难性遗忘并降低内存需求。
- 训练使用92个机器人操作视频数据集,通过rectified flow损失函数和MSE损失进行优化。
- 微调后的模型可生成合成视频轨迹,用于下游机器人策略学习。
为什么重要
这条新闻值得关注,因为LoRA和DoRA允许在冻结基模型的情况下,通过小型可训练适配器进行高效微调,避免灾难性遗忘并降低内存需求。
技术影响
可能影响模型选型、推理成本、产品能力和评测基准。
NVIDIA Cosmos Predict 2.5是一个大规模世界模型,能够根据文本、图像或视频片段生成物理合理的视频。为了将其适应特定领域(如机器人操作或特定摄像机视角),需要针对性的微调。然而,对20亿参数模型进行全参数微调成本高昂,且存在灾难性遗忘的风险。LoRA(低秩适配)和DoRA(方向性低秩适配)通过在冻结基模型中注入小型可训练适配器模块,显著降低内存需求,并使适配器文件保持小巧便携,从而可以在单个GPU上完成微调,并在推理时灵活切换不同领域的适配器。
首先,环境要求包括Python 3.10+、PyTorch 2.5+、diffusers和accelerate库,并推荐使用至少一块80GB显存的GPU。数据准备方面,使用了GR00T Dreams后训练配方中的数据集:训练集包含92个机器人操作视频及对应的文本提示,测试集包含50个(提示、图像)对。通过预处理脚本下载和整理数据。
训练实现的核心是VideoDataset类,它加载(标题、视频)对,并对长视频进行随机窗口采样以实现时间增强。适配器初始化时,将VAE、文本编码器和DiT的所有权重冻结,仅对DiT的注意力投影层和前馈网络层注入LoRA适配器。LoRA参数被上转换为float32以保持数值稳定性。损失函数采用rectified flow形式:模型预测将噪声线性传输到干净数据的速度,仅对非条件帧计算MSE损失。优化器使用AdamW,搭配带线性预热和衰减的学习率调度器。
训练命令示例中,使用lora_rank=32(约5000万可训练参数),通过accelerate实现单机多卡训练。实验表明,100个epoch可在单个H100上约17小时完成,或在8块H100上2.5小时完成。
推理时,加载微调后的适配器并融合到基模型中,消除推理开销。通过arch_invariant_rand函数生成初始潜变量噪声,保证跨GPU架构的可重复性。评价指标包括Sampson误差,用于衡量生成视频的几何一致性。文章还提到了未来对TPA(时间位置注意力)和Kronecker适配器的探索,以进一步提升效率。