我们如何在 1000 GPU 小时内做好 Open-Sora 微调

AIGC动态4个月前发布 ai-front
961 0 0
我们如何在 1000 GPU 小时内做好 Open-Sora 微调

 

文章摘要


【关 键 词】 视频生成技术提升模型微调开源模型定格动画

本文深入探讨了如何利用尖端技术提升视频生成质量,特别是通过微调开源模型来满足特定需求。作者介绍了Text2Video模型,它为开发者和内容创作者提供了新的创作可能性。尽管专有模型可能难以获得或适应特定需求,但通过使用自己的数据对开源模型进行微调,可以显著提高生成符合项目需求的视频的能力。

文章详细介绍了如何通过微调Open-Sora 1.1 Stage3模型来创建定格动画,并提供了两个经过不同GPU小时训练的模型:lambdalabs/text2bricks-360p-64f和lambdalabs/text2bricks-360p-32f。这些模型能够生成不同帧数的360p视频。为了方便使用,作者公开了相关代码、数据集和模型,并提供了Gradio演示来试用64f模型。

在硬件配置方面,作者使用了由Lambda提供的32-GPU一键集群,该集群由四台NVIDIA HGX H100服务器构成,每台服务器搭载8个NVIDIA H100 SXM Tensor Core GPU,并通过NVIDIA Quantum-2 400 Gb/s InfiniBand网络连接。集群还配备了Lambda Cloud的按需付费共享文件系统存储,实现了数据、代码和Python环境的无缝共享。

软件方面,32-GPU集群预装了NVIDIA驱动程序,并提供了教程指导用户创建Conda环境来管理Open-Sora的依赖项。利用这个集群,每小时可以训练高达97,200个视频剪辑。

数据来源包括几个热门的YouTube频道,如MICHAELHICKOXFilms、LEGO Land、FK Films和LEGOSTOP Films,这些频道的视频均是以LEGO积木为素材制作的高质量定格动画。为了方便用户从YouTube URL创建自定义数据集,作者提供了一个脚本。数据处理流程遵循Open-Sora的指导原则,包括将视频剪切成15至200帧的片段,然后使用视觉语言模型对这些片段进行注释。数据集中包含24000个720p/16:9的视频剪辑,并加入了静态图像以帮助模型更精细地学习对象的外观特征。

数据注释采用了GPT-4o和特定的提示来对视频剪辑进行注释。尽管这些描述由最新且先进的GPT模型生成,但仍可能存在不准确之处,这凸显了在特定主题领域获取高质量数据标签所面临的挑战。

在模型方面,作者采用了最新发布的Open-Sora模型,并计划利用BrickFilm数据集对预训练的OpenSora-STDiT-v2-stage3模型进行微调,以生成具有相似风格的视频。首个成功模型text2bricks-360p-64f具备生成360p分辨率、最多64帧视频的能力,整个训练过程耗时1017.6 H100小时。另一个模型text2bricks-360p-32f则在169.6 H100小时内完成训练,采用了单周期学习率调度策略。

在微调过程中,尽管损失并未减少,但从验证结果来看,模型并未崩溃,反而生成的图像质量逐步提高。这表明模型的性能提升并未直接反映在损失值上。通过W&B的监控面板,观察到该微调任务的CPU使用率非常低,而GPU则持续忙碌于数据处理。

尽管目前的结果令人鼓舞,但模型仍有改进空间,包括长序列中的时间一致性、无条件生成中的噪音、分辨率和帧数的提升、数据集的质量和数量的提高。作者提出了加强空间和时间注意力的整合、扩展数据集、提高模型学习表示的方法等可能的解决方案。

总之,本文详细介绍了如何通过微调Open-Sora模型来生成高质量的定格动画视频,并分享了硬件配置、软件环境、数据来源、数据处理和模型训练等方面的经验和技巧。尽管模型仍有改进空间,但目前的结果已经展示了微调开源模型在视频生成领域的潜力。

“极客训练营”

原文和模型


【原文链接】 阅读原文 [ 2966字 | 12分钟 ]
【原文作者】 AI前线
【摘要模型】 moonshot-v1-32k
【摘要评分】 ★★★★★

© 版权声明
“绘蛙”

相关文章

暂无评论

暂无评论...