一、介绍
Open-Sora 1.1 项目是 Colossal AI 团队开发的一个完全开源的视频生成项目,该项目致力于高效制作高质量视频,并通过开源原则实现先进视频生成技术的低成本普及。
1. 项目背景与目标
Open-Sora 项目旨在通过提供开源的模型、工具和内容,简化视频制作的复杂性,使更多人能够参与到内容创作领域的创新、创造和包容中来。对于1.0版本在功能、训练效率和整体灵活性方面进行了显著改进。
2. 主要特性与改进
(1)视频生成能力增强 :
- 延长视频长度 :Open-Sora 1.1 能够生成长达 21 秒的视频(部分信息提到为 15 秒,但最新消息显示已提升至 21 秒),与 Open-Sora 1.0 的 2 秒限制相比,这是一个显著的增加。
- 可变输出 :支持不同分辨率(从 144p 到 720p)和宽高比的视频生成,满足多样化的项目需求。
(2)图像生成功能 :
- 除了视频生成外,Open-Sora 1.1 还扩展了图像生成功能,使用户能够在生成视频的同时创建高质量的静态图像。
(3)增强的提示功能 :
- 允许用户利用图像和视频作为视频生成的提示,实现图转动画、视频延展、视频编辑和视频拼接等功能。
(4)模型架构与训练优化 :
- 模型架构修改 :引入了 ST-DiT-2 模型架构,这是 Open-Sora 1.0 中使用的原始模型架构的改进版本,提高了训练稳定性和整体性能。
- 多任务学习 :在训练过程中采用多任务学习方法,使模型能够同时处理各种视频属性,包括分辨率、帧长和宽高比。
- 数据处理流程 :采用了一套细致的数据处理流程,包括原始视频分割、多分数评估、字幕和匹配分数计算、最终过滤和摄像机运动检测等步骤,确保高质量的训练数据。
- Bucket 系统 :用于在不同分辨率的视频上高效训练模型,通过分桶的方式支持不同批次的动态尺寸,降低计算成本并平衡 GPU 负载。
(5)技术细节 :
- 时序注意力 :引入了 RoPE 位置编码,并使用 AdaIN 和 LN 来稳定训练过程。
- QK-normalization :与 SD3 一样,使用 QK-norm 来稳定半精度训练过程。
- 支持不同尺寸视频作为训练样本 :增加视频的宽高、时长和 fps 等信息到 text 中作为条件,使模型能够生成具有多种特性的视频。
二、容器构建说明
下面将以 open sora1.1项目进行部署,由于模型较大建议使用 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.1.0 版本的项目进行压缩包下载
上传压缩包至终端,解压。
unzip Open-Sora-Plan-1.1.0
打开文档
cd Open-Sora-Plan-1.1.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 .
7. 指定端口:
export GRADIO_SERVER_NAME=0.0.0.0
export GRADIO_SERVER_PORT=8080
8. 更改模型库的镜像,运行 py 文件(运行项目,首次运行会自动下载模型参数,需要保证网络通畅)
export HF_ENDPOINT=https://hf-mirror.com
python -m opensora.serve.gradio_web_server
耐心等待
出现以下界面即为运行成功
三、网页演示
运行成功后获取访问链接,进入 webUI 界面后即可操作: