TTT-Video五阶段训练策略:如何从3秒扩展到63秒视频生成
【免费下载链接】ttt-video-ditOfficial PyTorch implementation of One-Minute Video Generation with Test-Time Training项目地址: https://gitcode.com/gh_mirrors/tt/ttt-video-dit
TTT-Video是GitHub加速计划中的一个创新项目,它通过Test-Time Training技术实现了从3秒到63秒的长视频生成能力。本文将详细介绍TTT-Video的五阶段训练策略,帮助你理解如何通过循序渐进的训练过程,让AI模型逐步掌握生成更长视频的能力。
五阶段训练策略概述
TTT-Video采用了基于视频长度的五阶段课程学习方法,每个阶段都建立在前一阶段的基础上,逐步提升模型生成视频的能力。这种循序渐进的训练方式,使得模型能够平稳地从生成短视频过渡到生成长达1分钟的视频。
TTT-Video的五阶段训练策略示意图,展示了从3秒到63秒视频生成的扩展过程
阶段一:3秒视频训练
第一阶段从预训练权重开始,训练模型生成3秒长度的视频。这一阶段采用全监督微调(SFT),所有参数都是可训练的。
配置文件路径:configs/train/ttt-linear/3s.toml和configs/train/ttt-mlp/3s.toml
阶段二:9秒视频训练
第二阶段从第一阶段的最终检查点开始,训练模型生成9秒长度的视频。从这一阶段开始,只有TTT参数和局部注意力的QVKO投影是可训练的。
配置文件路径:configs/train/ttt-linear/9s.toml和configs/train/ttt-mlp/9s.toml
阶段三:18秒视频训练
第三阶段从第二阶段的最终检查点开始,训练模型生成18秒长度的视频。同样,只有TTT参数和局部注意力的QVKO投影参与训练。
配置文件路径:configs/train/ttt-linear/18s.toml和configs/train/ttt-mlp/18s.toml
阶段四:30秒视频训练
第四阶段从第三阶段的最终检查点开始,训练模型生成30秒长度的视频。训练参数继续限制在TTT参数和局部注意力的QVKO投影。
配置文件路径:configs/train/ttt-linear/30s.toml和configs/train/ttt-mlp/30s.toml
阶段五:63秒视频训练
第五阶段是最后一个阶段,从第四阶段的最终检查点开始,训练模型生成63秒(1分钟)长度的视频。这一阶段完成后,模型将具备生成长达1分钟视频的能力。
配置文件路径:configs/train/ttt-linear/63s.toml和configs/train/ttt-mlp/63s.toml
模型加载与初始化
从CogVideoX开始
TTT-Video的微调从HuggingFace上的CogVideoX 5B预训练权重开始。项目提供了一个权重转换脚本,可以下载权重并将模型state_dict转换为正确的格式:
bash scripts/convert_weights_from_hf.sh这个脚本只需要在3秒训练阶段运行一次。对于后续所有阶段,应该使用上一个训练阶段结束时的最终检查点。
加载模型状态
对于每个阶段,都需要指定开始训练时使用的模型权重。这通过checkpoint.init_state_dir配置选项完成。对于3秒阶段,这将是上面创建的转换后的预训练权重的路径。对于后续阶段,这应该是上一个训练阶段结束时的最终检查点。
启动训练作业
配置文件使用
所有训练阶段的配置都预定义在configs/train目录中。要在特定阶段进行训练,只需将job.config_file配置选项设置为相应的配置文件。
大多数配置都在configs/train中预设,但可以从启动脚本中覆盖。你需要更新以下内容:
checkpoint.init_state_dir:模型状态字典的路径training.dataset_path:数据集目录的路径training.jsonl_paths:数据集元数据的路径
单节点运行
项目提供了一个在单节点上运行测试的脚本:scripts/train_singlenode.sh
多节点运行
对于多节点的完整训练作业,项目提供了一个通过slurm在多个节点上运行的脚本。使用submitit在多个节点上启动训练循环:scripts/train_submitit.sh
代码实现了恢复、自动恢复、检查点和日志记录的逻辑。如果使用自动恢复,确保作业名称不变,因为脚本将查找同名实验的检查点。
长视频生成效果展示
通过五阶段训练策略,TTT-Video能够生成连贯、流畅的长视频。以下是一个63秒视频生成的示例,展示了从开始到结束的完整故事线:
TTT-Video生成的63秒视频帧序列,展示了完整的故事发展过程
总结
TTT-Video的五阶段训练策略为从3秒扩展到63秒视频生成提供了一个清晰、有效的路径。通过循序渐进地增加视频长度,模型能够逐步适应更长的时间上下文,同时保持生成质量。如果你只需要特定长度的视频,可以在相应的阶段停止训练。
无论是研究人员还是AI爱好者,都可以通过这个项目探索长视频生成的奥秘,体验Test-Time Training技术带来的创新突破。
要开始使用TTT-Video,只需克隆仓库并按照训练指南进行操作:
git clone https://gitcode.com/gh_mirrors/tt/ttt-video-dit更多关于数据集的信息,请查看docs/dataset.md。
【免费下载链接】ttt-video-ditOfficial PyTorch implementation of One-Minute Video Generation with Test-Time Training项目地址: https://gitcode.com/gh_mirrors/tt/ttt-video-dit
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考