目录
全面解读Sora复现方案
模型架构设计
训练复现方案
第一阶段是大规模图像预训练。
第二阶段是大规模视频预训练。
第三阶段是高质量视频数据微调。
数据预处理
高效训练加持
首页 科技周边 人工智能 全球首个类Sora开源复现方案来了!全面公开所有训练细节和模型权重

全球首个类Sora开源复现方案来了!全面公开所有训练细节和模型权重

Mar 18, 2024 pm 08:25 PM
人工智能 ai sora

全球首个开源的类Sora架构视频生成模型,来了!

整个训练流程,包括数据处理、所有训练细节和模型权重,全部开放。

这就是刚刚发布的Open-Sora 1.0。

它带来的实际效果如下,能生成繁华都市夜景中的车水马龙。

全球首个类Sora开源复现方案来了!全面公开所有训练细节和模型权重

还能用航拍视角,展现悬崖海岸边,海水拍打着岩石的画面。

全球首个类Sora开源复现方案来了!全面公开所有训练细节和模型权重

亦或是延时摄影下的浩瀚星空。

全球首个类Sora开源复现方案来了!全面公开所有训练细节和模型权重

自Sora发布以来,由于其惊人的效果和技术细节的稀缺性,揭示和复现Sora已成为开发社区中最受关注的话题之一。例如,Colossal-AI团队推出了一项能够降低46%成本的Sora训练和推理复现流程。

短短两周时间后,该团队再次发布最新进展,复现类Sora方案,并将技术方案及详细上手教程在GitHub上免费开源。

那么问题来了,复现Sora如何实现?

Open-Sora 开源地址:https://github.com/hpcaitech/Open-Sora

全面解读Sora复现方案

Sora复现方案包括四个方面:

  • 模型架构设计
  • 训练复现方案
  • 数据预处理
  • 高效训练优化策略

模型架构设计

模型采用了Sora同源架构Diffusion Transformer (DiT) 。

它以采用DiT架构的高质量开源文生图模型PixArt-α为基座,在此基础上引入时间注意力层,将其扩展到视频数据上。

具体来看,整个架构包括一个预训练好的VAE,一个文本编码器和一个利用空间-时间注意力机制的STDiT (Spatial Temporal Diffusion Transformer)模型。

其中,STDiT 每层的结构如下图所示。

它采用串行的方式在二维的空间注意力模块上叠加一维的时间注意力模块,用于建模时序关系。在时间注意力模块之后,交叉注意力模块用于对齐文本的语意。

与全注意力机制相比,这样的结构大大降低了训练和推理开销。

与同样使用空间-时间注意力机制的 Latte模型相比,STDiT 可以更好的利用已经预训练好的图像 DiT 的权重,从而在视频数据上继续训练。

全球首个类Sora开源复现方案来了!全面公开所有训练细节和模型权重

△STDiT结构示意图

整个模型的训练和推理流程如下。

据了解,在训练阶段首先采用预训练好的Variational Autoencoder (VAE)的编码器将视频数据进行压缩,然后在压缩之后的潜在空间中与文本嵌入(text embedding)一起训练STDiT扩散模型。

在推理阶段,从VAE的潜在空间中随机采样出一个高斯噪声,与提示词嵌入(prompt embedding)一起输入到STDiT中,得到去噪之后的特征,最后输入到VAE的解码器,解码得到视频。

全球首个类Sora开源复现方案来了!全面公开所有训练细节和模型权重

△模型训练流程

训练复现方案

在训练复现部分,Open-Sora参考了Stable Video Diffusion (SVD)。

一共分为3个阶段:

  • 大规模图像预训练。
  • 大规模视频预训练。
  • 高质量视频数据微调。

每个阶段都会基于前一个阶段的权重继续训练。

相比于从零开始单阶段训练,多阶段训练通过逐步扩展数据,更高效地达成高质量视频生成的目标。

全球首个类Sora开源复现方案来了!全面公开所有训练细节和模型权重

△训练方案三阶段

第一阶段是大规模图像预训练。

团队利用互联网上丰富的图像数据和文生图技术,先训练出一个高质量的文生图模型,将该模型作为下一阶段视频预训练的初始化权重。

同时,由于目前没有高质量的时空VAE,他们采用Stable Diffusion预训练好的图像VAE。

这样不仅能保障初始模型的优越性能,还能显着降低视频预训练的整体成本。

第二阶段是大规模视频预训练。

这一阶段主要增加模型的泛化能力,有效掌握视频的时间序列关联。

它需要使用大量视频数据训练,并且保障视频素材的多样性。

同时,第二阶段的模型在第一阶段文生图模型的基础上加入了时序注意力模块,用于学习视频中的时序关系。其余模块与第一阶段保持一致,并加载第一阶段权重作为初始化,同时初始化时序注意力模块输出为零,以达到更高效更快速的收敛。

Colossal-AI团队使用了PixArt-alpha的开源权重作为第二阶段STDiT模型的初始化,以及采用了T5模型作为文本编码器。他们采用了256x256的小分辨率进行预训练,进一步增加了收敛速度,降低训练成本。

全球首个类Sora开源复现方案来了!全面公开所有训练细节和模型权重

△Open-Sora生成效果(提示词:水中世界的镜头,镜头中一只海龟在珊瑚礁间悠然游弋)

第三阶段是高质量视频数据微调。

据介绍,这一阶段能显着提升模型的生成质量。使用的数据规模比上一阶段降低一个量级,但是视频的时长、分辨率和质量都更高。

通过这种方式进行微调,能实现视频生成从短到长、从低分辨率到高分辨率、从低保真度到高保真度的高效扩展。

值得一提的是,Colossal-AI还详细透露了每阶段的资源使用情况。

在Open-Sora的复现流程中,他们使用了64块H800进行训练。第二阶段的训练量一共是 2808 GPU hours,约合7000美元,第三阶段的训练量是1920 GPU hours,大约4500美元。经过初步估算,整个训练方案成功把Open-Sora复现流程控制在了1万美元左右。

数据预处理

为了进一步降低Sora复现的门槛和复杂度,Colossal-AI团队在代码仓库中还提供了便捷的视频数据预处理脚本,让大家可以轻松启动Sora复现预训练。

包括公开视频数据集下载、长视频根据镜头连续性分割为短视频片段、使用开源大语言模型LLaVA生成精细的提示词。

他们提供的批量视频标题生成代码可以用两卡 3 秒标注一个视频,并且质量接近于 GPT-4V。

最终得到的视频/文本对可直接用于训练。借助他们在GitHub上提供的开源代码,可以轻松地在自己的数据集上快速生成训练所需的视频/文本对,显着降低了启动Sora复现项目的技术门槛和前期准备。

全球首个类Sora开源复现方案来了!全面公开所有训练细节和模型权重

高效训练加持

除此之外,Colossal-AI团队还提供了训练加速方案。

通过算子优化和混合并行等高效训练策略,在处理64帧、512x512分辨率视频的训练中,实现了1.55倍的加速效果。

同时,得益于Colossal-AI的异构内存管理系统,在单台服务器上(8H800)可以无阻碍地进行1分钟的1080p高清视频训练任务。

全球首个类Sora开源复现方案来了!全面公开所有训练细节和模型权重

而且团队还发现STDiT模型架构在训练时也展现出卓越的高效性。

和采用全注意力机制的DiT相比,随着帧数的增加,STDiT实现了高达5倍的加速效果,这在处理长视频序列等现实任务中尤为关键。

全球首个类Sora开源复现方案来了!全面公开所有训练细节和模型权重

最后,团队还放出了更多Open-Sora的生成效果。

,时长00:25

团队和量子位透露,他们将长期更新优化Open-Sora的相关解决方案和动态。未来将使用更多视频训练数据,以生成更高质量、更长时长的视频内容,并支持多分辨率特性。

实际应用方面,团队透露将推进在电影、游戏、广告等领域落地。

感兴趣的开发者们,可访问GitHub项目了解更多~

Open-Sora 开源地址:https://github.com/hpcaitech/Open-Sora

参考链接:

[1]https://arxiv.org/abs/2212.09748 Scalable Diffusion Models with Transformers。

[2]https://arxiv.org/abs/2310.00426 PixArt-α: Fast Training of Diffusion Transformer for Photorealistic Text-to-Image Synthesis。

[3]https://arxiv.org/abs/2311.15127 Stable Video Diffusion: Scaling Latent Video Diffusion Models to Large Datasets。

[4]https://arxiv.org/abs/2401.03048 Latte: Latent Diffusion Transformer for Video Generation。

[5]https://huggingface.co/stabilityai/sd-vae-ft-mse-original。

[6]https://github.com/google-research/text-to-text-transfer-transformer。

[7]https://github.com/haotian-liu/LLaVA。

[8]https://hpc-ai.com/blog/open-sora-v1.0。

以上是全球首个类Sora开源复现方案来了!全面公开所有训练细节和模型权重的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何检查CentOS HDFS配置 如何检查CentOS HDFS配置 Apr 14, 2025 pm 07:21 PM

检查CentOS系统中HDFS配置的完整指南本文将指导您如何有效地检查CentOS系统上HDFS的配置和运行状态。以下步骤将帮助您全面了解HDFS的设置和运行情况。验证Hadoop环境变量:首先,确认Hadoop环境变量已正确设置。在终端执行以下命令,验证Hadoop是否已正确安装并配置:hadoopversion检查HDFS配置文件:HDFS的核心配置文件位于/etc/hadoop/conf/目录下,其中core-site.xml和hdfs-site.xml至关重要。使用

centos关机命令行 centos关机命令行 Apr 14, 2025 pm 09:12 PM

CentOS 关机命令为 shutdown,语法为 shutdown [选项] 时间 [信息]。选项包括:-h 立即停止系统;-P 关机后关电源;-r 重新启动;-t 等待时间。时间可指定为立即 (now)、分钟数 ( minutes) 或特定时间 (hh:mm)。可添加信息在系统消息中显示。

CentOS上GitLab的备份方法有哪些 CentOS上GitLab的备份方法有哪些 Apr 14, 2025 pm 05:33 PM

CentOS系统下GitLab的备份与恢复策略为了保障数据安全和可恢复性,CentOS上的GitLab提供了多种备份方法。本文将详细介绍几种常见的备份方法、配置参数以及恢复流程,帮助您建立完善的GitLab备份与恢复策略。一、手动备份利用gitlab-rakegitlab:backup:create命令即可执行手动备份。此命令会备份GitLab仓库、数据库、用户、用户组、密钥和权限等关键信息。默认备份文件存储于/var/opt/gitlab/backups目录,您可通过修改/etc/gitlab

centos安装mysql centos安装mysql Apr 14, 2025 pm 08:09 PM

在 CentOS 上安装 MySQL 涉及以下步骤:添加合适的 MySQL yum 源。执行 yum install mysql-server 命令以安装 MySQL 服务器。使用 mysql_secure_installation 命令进行安全设置,例如设置 root 用户密码。根据需要自定义 MySQL 配置文件。调整 MySQL 参数和优化数据库以提升性能。

CentOS上PyTorch的GPU支持情况如何 CentOS上PyTorch的GPU支持情况如何 Apr 14, 2025 pm 06:48 PM

在CentOS系统上启用PyTorchGPU加速,需要安装CUDA、cuDNN以及PyTorch的GPU版本。以下步骤将引导您完成这一过程:CUDA和cuDNN安装确定CUDA版本兼容性:使用nvidia-smi命令查看您的NVIDIA显卡支持的CUDA版本。例如,您的MX450显卡可能支持CUDA11.1或更高版本。下载并安装CUDAToolkit:访问NVIDIACUDAToolkit官网,根据您显卡支持的最高CUDA版本下载并安装相应的版本。安装cuDNN库:前

docker原理详解 docker原理详解 Apr 14, 2025 pm 11:57 PM

Docker利用Linux内核特性,提供高效、隔离的应用运行环境。其工作原理如下:1. 镜像作为只读模板,包含运行应用所需的一切;2. 联合文件系统(UnionFS)层叠多个文件系统,只存储差异部分,节省空间并加快速度;3. 守护进程管理镜像和容器,客户端用于交互;4. Namespaces和cgroups实现容器隔离和资源限制;5. 多种网络模式支持容器互联。理解这些核心概念,才能更好地利用Docker。

CentOS中GitLab的数据库如何选择 CentOS中GitLab的数据库如何选择 Apr 14, 2025 pm 05:39 PM

在CentOS系统上安装和配置GitLab时,数据库的选择至关重要。GitLab兼容多种数据库,但PostgreSQL和MySQL(或MariaDB)最为常用。本文将分析数据库选择因素,并提供详细的安装和配置步骤。数据库选择指南选择数据库需要考虑以下因素:PostgreSQL:GitLab的默认数据库,功能强大,可扩展性高,支持复杂查询和事务处理,适合大型应用场景。MySQL/MariaDB:广泛应用于Web应用的流行关系型数据库,性能稳定可靠。MongoDB:NoSQL数据库,擅长处

CentOS下GitLab的日志如何查看 CentOS下GitLab的日志如何查看 Apr 14, 2025 pm 06:18 PM

CentOS系统下查看GitLab日志的完整指南本文将指导您如何查看CentOS系统中GitLab的各种日志,包括主要日志、异常日志以及其他相关日志。请注意,日志文件路径可能因GitLab版本和安装方式而异,若以下路径不存在,请检查GitLab安装目录及配置文件。一、查看GitLab主要日志使用以下命令查看GitLabRails应用程序的主要日志文件:命令:sudocat/var/log/gitlab/gitlab-rails/production.log此命令会显示produc

See all articles