一、介绍
2024 年 3 月 18 日,Colossal-AI 团队发布了 Open-Sora 1.0 项目,该项目是一个全面开源的视频生成模型项目,旨在高效制作高质量视频,并使所有人都能使用其模型、工具和内容。
1. 模型架构
- Open-Sora 1.0 采用了 Diffusion Transformer(DiT)模型,并在此基础上引入了时间注意力层,以优化对视频数据的处理。
- 整个架构包括预训练的 VAE、文本编码器,以及利用空间-时间注意力机制的 STDiT(Spatial Temporal Diffusion Transformer)模型。
- 通过预训练的 VAE 进行视频数据压缩,然后在潜在空间中结合文本嵌入训练 STDiT 扩散模型。在推理阶段,模型从 VAE 的潜在空间中采样高斯噪声,并与提示词嵌入一起输入到 STDiT 中,最终通过 VAE 的解码器生成视频。
2. 训练策略
- 采用了多阶段训练方法,包括大规模图像预训练、大规模视频预训练和高质量视频数据微调。这种策略通过逐步扩展数据集,更高效地实现了高质量视频生成的目标。
- 提供了训练加速系统,通过算子优化和混合并行等策略,实现了训练的高效加速。
3. 功能特点
- 支持视频数据预处理、加速训练、推理等全套流程。
- 提供了用于数据预处理的视频切割和字幕工具,以及支持剪辑和 T5 文本调节的功能。
- 实现了可变长宽比、可变分辨率和可变时长等功能,为用户提供了更灵活的视频生成选项。
- Open-Sora 1.0 的实际视频生成效果令人印象深刻,能够生成风格多样的视频内容,如悬崖海岸的航拍画面、山川瀑布的宏伟鸟瞰、水中世界的悠然镜头等。
- 它不仅能够根据文本描述生成视频,还具备根据分割图和文本描述生成与输入图像空间布局一致的图像能力。
二、容器构建说明
下面将以 open sora1.0项目进行部署,由于模型较大建议使用 RTX3090 及以上显卡 。
1. 安装 miniconda
进入 Anaconda 官网:
找到快速命令行安装,选择 Linux 系统,复制代码进入终端中进行安装。
等待安装完成。
2. 安装并更新基础命令,让后续使用更快捷: unzip、lsof、git、git-lfs
apt-get update
apt-get install -y unzip
apt-get install -y lsof
apt-get install -y git
apt-get install -y git-lfs
3. 克隆项目仓库,并打开文件
使用 Web URL 进行克隆默认下载v1.2.0版本,因此需找到v1.0.0版本的项目进行压缩包下载
上传压缩包至终端,解压。
unzip Open-Sora-Plan-1.0.0
打开文档
cd Open-Sora-Plan-1.0.0
4. 创建 python 为 3.8 版本的虚拟环境,名称为opensora
conda create -n opensora python=3.8 -y
5. 激活虚拟环境opensora
conda activate opensora
6. 安装项目依赖文件
为了安装速度更快可以将 pip 进行永久换源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install -e .
apt-get install libgl1
apt-get install libglib2.0-0
7. 指定端口
打开/Open-Sora-Plan-1.0.0/opensora/serve/gradio_web_server.py
更改最后一行代码为
demo.launch(server_name='0.0.0.0', server_port=8080)
8. 更改模型库的镜像,运行py文件(运行项目,首次运行会自动下载模型参数,需要保证网络通畅)
export HF_ENDPOINT=https://hf-mirror.com
python -m opensora.serve.gradio_web_server
耐心等待
出现以下界面即为运行成功
三、网页演示
运行成功后获取访问链接,进入 webUI 界面后即可操作:
提示词仅限英文
输入:Sunset over the sea(海上日落)