Skip to content

Latest commit

 

History

History
172 lines (103 loc) · 15.2 KB

3.训练Sore准备工作.md

File metadata and controls

172 lines (103 loc) · 15.2 KB

3.训练Sore准备工作

1.训练Sora模型

在Sora的技术报告中,Sora使用视频压缩网络将各种大小的视频压缩为潜在空间中的时空patches sequence,然后使用Diffusion Transformer进行去噪,最后解码生成视频。

Open-Sora 在下图中总结了 Sora 可能使用的训练流程。

训练链路

2.数据准备

VideoInstruct-100K

VideoInstruct100K 是使用人工辅助和半自动注释技术生成的高质量视频对话数据集。数据集中的问题答案与以下内容相关:

  • 视频摘要
  • 基于描述的问题答案(探索空间、时间、关系和推理概念)
  • 创意/生成性问题解答

链接:https://modelscope.cn/datasets/AI-ModelScope/VideoInstruct-100K

panda-70m

Panda-70M 是一个包含 70M 高质量视频字幕对的大规模数据集。该存储库分为三个部分:

  • 数据集数据加载包括列出 Panda-70M 数据的 csv 文件以及下载数据集的代码。
  • 分割包括将长视频分割成多个语义一致的短片的代码。
  • 字幕包括在 Panda-70M 上训练的拟议视频字幕模型。

链接:https://modelscope.cn/datasets/AI-ModelScope/panda-70m

Youku-mPLUG

Youku-mPLUG预训练数据集挖掘自优酷站内海量的优质短视频内容

  • 包含千万级别约36TB的视频、文本数据。
  • 其中视频均为覆盖10~120秒的UGC短视频内容,文本为视频对应的描述标题,长度5~30不等。
  • 该数据集抽取时品类均衡,内容共包含45个大类。

链接:https://modelscope.cn/datasets/modelscope/Youku-AliceMind

MSR-VTT

MSR-VTT(Microsoft Research Video to Text)是一个开放域视频字幕的大规模数据集。

  • 由 20 个类别的 10,000 个视频片段组成,每个视频片段由 Amazon Mechanical Turks 标注了 20 个英文句子。
  • 所有标题中约有 29,000 个独特单词。 
  • 标准分割使用 6,513 个split用于训练,497 个split用于验证,2,990 个split用于测试。

链接:https://modelscope.cn/datasets/AI-ModelScope/msr-vtt

Shot2Story

视频文本基准和用于多镜头视频理解的可扩展代码。包含20k 视频的详细长摘要和 80k 视频镜头的镜头字幕。

链接:https://modelscope.cn/datasets/AI-ModelScope/Shot2Story

InternVid

InternVid 是一个以视频为中心的大规模多模态数据集,可以学习强大且可转移的视频文本表示,以实现多模态理解和生成。 InternVid 数据集包含超过 700 万个视频,持续近 76 万小时,产生 2.34 亿个视频剪辑,并附有总共 4.1B 个单词的详细描述。

链接:https://modelscope.cn/datasets/AI-ModelScope/InternVid

webvid-10M

大型文本视频数据集,包含从素材网站抓取的1000 万个视频文本对。

链接:https://modelscope.cn/datasets/AI-ModelScope/webvid-10M

3.数据预处理

目前主流LLM框架缺乏针对 video数据 统一便捷的管理和处理能力,且多模态数据处理标准方案缺失

  • Huggingface-Datasets 官方认为video比image更棘手,暂未支持
  • 相关video库对该场景过于庞杂或简单
  • FFmpeg:150w行+源码,大量底层细节
  • SORA官方仅模糊提及使用了DALLE3来生成caption,细粒度的"caption --> spacetime patch"建模比较关键
  • 从SORA模型效果看,数据需要有变化的时长、分辨率和宽高比

Data-Juicer 扩展了对多模态数据的支持,已实现上百个专用的视频、图像、音频、文本等多模态数据处理算子及工具,帮助用户分析、清洗及生成大规模高质量数据。

4.模型选型和训练

4.1 视频VQVAE

VideoGPT 使用 VQ-VAE,通过采用 3D 卷积和轴向自注意力来学习原始视频的下采样离散潜在表示。然后使用一个简单的类似 GPT 的架构,使用时空位置编码对离散潜在变量进行自回归建模。用于 BAIR Robot 数据集上的视频生成,并从 UCF-101 和 Tumbler GIF 生成高保真自然图像数据集(TGIF)。

https://github.com/wilson1yan/VideoGPT/

4.2 Diffusion Transformer

普遍认为Diffusion Transformer模型是Sora的技术基础,通过结合diffusion model和transformer,从而达到可以scale up model来提升图像生成质量的效果。我们总结了三个目前开源的Diffusion Transformer研究如下,并总结了最佳实践,可以在魔搭社区的免费算力上运行和测试。

(1)UViT

UViT: All are Worth Words: A ViT Backbone for Diffusion Models

U-ViT是一种简单且通用的基于ViT的扩散概率模型的主干网络,U-ViT把所有输入,包括图片、时间、条件都当作token输入,并且引入了long skip connection。U-ViT在无条件生成、类别条件生成以及文到图生成上均取得了可比或者优于CNN的结果。为未来扩散模型中骨干网络研究提供见解,并有利于大规模跨模态数据集的生成建模。

(2)DiT

DiT同样的提出了使用ViT代替U-Net的思想,不同的是DiT中没有引入long skip connection也依然取得了杰出的效果。推测原因可能有:

  • DiT 出色的Adaptive layer norm以及零初始化的设计能够有效提升生成质量;
  • DiT 在建模特征空间表现良好,但在建模像素空间表现欠缺,可能在用扩散概率模型建模像素空间分布时long skip connection是至关重要的;
  • 即使在建模特征空间上,DiT 没有long skip connection也能取得很好的效果,但long skip connection在加速收敛方面也起着关键的作用。

而近期推出的可扩展插值变压器 (SiT),是建立在DiT 基础上的生成模型系列。 插值框架, 相比标准的diffusion模型允许以更灵活的方式连接两个distributions,使得对影响生成的各种设计选择的模块化研究成为可能。SiT 在 ImageNet 256x256 基准上模型大小和效果超过了 DiT和UViT,SiT 实现了2.06 的 FID-50K 分数。

4.3 Video-caption

OpenAI训练了一个具备高度描述性的视频标题生成(Video Captioning)模型,使用这个模型为所有的视频训练数据生成了高质量文本标题,再将视频和高质量标题作为视频文本对进行训练。通过这样的高质量的训练数据,保障了文本(prompt)和视频数据之间高度的align。通过近期的讨论和资料,我们推测Video Captioning模型是由多模态大语言模型VLM(如GPT4V模型) 微调出来的。开发者也可以通过视频抽帧+开源VLM生成描述+LLM总结描述的方式,生成较好的视频描述。

一些开源多模态模型:

(1)零一万物VL模型(Yi-VL-34B)

(2)通义千问VL模型(Qwen-VL-Chat)

(3)浦语·灵笔2-视觉问答-7B(internlm-xcomposer2-vl-7b)

(4)CogVLM模型

(5)MiniCPM-V模型

(6)Video-LLaVA模型

总结对比:

从模型参数量来看,零一万物,CogVLM的模型是百亿参数,但是仅支持英文,通义,灵笔等模型可以较好的支持中文,Video-LLaVA可以支持直接对视频的理解,可以根据需求来选择具体的多模态大语言模型。