• 开源Open-Sora大更新:可生成16秒,720P高清视频
  • 发布于 1周前
  • 46 热度
    0 评论
国内著名大模型开源公司潞晨科技,对其开源文生视频模型Open-Sora进行了大更新,现在可生成16秒,分辨率高达720P的视频。同时具备可以处理任何宽高比的文本到图像、文本到视频、图像到视频、视频到视频和无限长视频的多模态功能。本次潞晨科技已经把Open-Sora的模型架构、最新的模型权重、多时间/分辨率/长宽比/帧率的训练流程、数据收集和预处理的完整流程、所有的训练细节进行了全部开源。

目前,Open-Sora在github超过16,000颗星,是国内乃至全球领先的类Sora开源模型之一。
开源地址:https://github.com/hpcaitech/Open-Sora?tab=readme-ov-file

Open-Sora架构升级
Open-Sora本次升级对1.0版本中的STDiT架构进行了关键性改进,旨在提高模型的训练稳定性和整体性能。针对当前的序列预测任务,团队采纳了大型语言模型的最佳实践,将时序注意力中的正弦波位置编码替换为更加高效的旋转位置编码。此外,为了增强训练的稳定性参考SD3模型架构,进一步引入了QK归一化技术,以增强半精度训练的稳定性。

为了支持多分辨率、不同长宽比和帧率的训练需求,提出的ST-DiT-2架构能够自动缩放位置编码,并处理不同大小尺寸的输入。

多阶段训练
在新版本Open-Sora中采用了一种多阶段训练方法,每个阶段都会基于前一个阶段的权重继续训练。相较于单一阶段训练,这种多阶段训练通过分步骤引入数据,更高效地实现了高质量视频生成的目标。
初始阶段:大部分视频采用144p分辨率,同时与图片和240p、480p的视频进行混训,训练持续约1周,总步长81k。
第二阶段:将大部分视频数据分辨率提升至240p和480p,训练时长为1天,步长达到22k。
第三阶段:进一步增强至480p和720p,训练时长为1天,完成了4k步长的训练。整个多阶段训练流程在约9天内完成。

统一的图生视频/视频生视频框架
研究人员发现,基于Transformer的特性,可以轻松扩展DiT架构以支持图像到图像以及视频到视频的任务,并提出了一种掩码策略来支持图像和视频的条件化处理。通过设置不同的掩码,可以支持各种生成任务,包括:图生视频,循环视频,视频延展,视频自回归生成,视频衔接,视频编辑,插帧等。

受到UL2方法的启发,在模型训练阶段引入了一种随机掩码策略。具体而言,就是在训练过程中以随机方式选择并取消掩码的帧,包括但不限于取消掩码第一帧、前k帧、后k帧、任意k帧等。

基于Open-Sora1.0的实验,应用50%的概率应用掩码策略时,只需少量步数模型能够更好地学会处理图像条件化。在最新版的Open-Sora中,采用了从头开始使用掩码策略进行预训练的方法。

此外,还为推理阶段提供了掩码策略配置的详细指南,五个数字的元组形式在定义掩码策略时提供了极大的灵活性和控制力。

支持多时间/分辨率/长宽比/帧率训练
OpenAI在Sora的技术报告指出,使用原始视频的分辨率、长宽比和长度进行训练可以增加采样灵活性,改善帧和构图。对此,提出了分桶的策略。所谓的桶,是分辨率、帧数、长宽比的三元组。为不同分辨率的视频预定义了一系列宽高比,以覆盖大多数常见的视频宽高比类型。在每个训练周期epoch 开始之前,会对数据集进行重新洗牌,并将样本根据其特征分配到相应的桶中。会将每个样本放入一个分辨率和帧长度均小于或等于该视频特性的桶中。

为了降低计算资源的要求,研究人员为每个keep_prob 和 batch_size 引入两个属性(分辨率、帧数),以减少计算成本并实现多阶段训练。这样就可以控制不同桶中的样本数量,并通过为每个桶搜索良好的批大小来平衡 GPU 负载。

数据收集和预处理流程
在 Open-Sora 1.0 的开发过程中,研究人员意识到数据的数量和质量对于培育一个高效能模型极为关键。因此,新版本中致力于扩充和优化数据集,建立了一个自动化的数据处理流程,该流程遵循奇异值分解(SVD)原则,涵盖了场景分割、字幕处理、多样化评分与筛选,以及数据集的管理系统和规范。

同样,潞晨科技也将数据处理的相关脚本无私地分享至开源社区。感兴趣的小伙伴们现在可以利用这些资源,结合技术报告和代码高效地处理和优化自己的数据集。
用户评论