Open-Sora 升级技术报告解读

最新功能概览

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

技术报告:Open-Sora/docs/report_02.md at main · hpcaitech/Open-Sora · GitHub技术报告:

  • 支持长视频生成;
  • 视频生成分辨率最高可达 720p;
  • 单模型支持任何宽高比,不同分辨率和时长的文本到图像、文本到视频、图像到视频、视频到视频和无限长视频的生成需求;
  • 提出了更稳定的模型架构设计,支持多时间 / 分辨率 / 长宽比 / 帧率训练;
  • 开源了最新的自动数据处理全流程。

时空扩散模型 ST-DiT-2

作者团队表示,他们对 Open-Sora 1.0 中的 STDiT 架构进行了关键性改进,旨在提高模型的训练稳定性和整体性能。针对当前的序列预测任务,团队采纳了大型语言模型(LLM)的最佳实践,将时序注意力中的正弦波位置编码(sinusoidal positional encoding)替换为更加高效的旋转位置编码(RoPE embedding)。

此外,为了增强训练的稳定性,他们参考 SD3 模型架构,进一步引入了 QK 归一化技术,以增强半精度训练的稳定性。为了支持多分辨率、不同长宽比和帧率的训练需求,作者团队提出的 ST-DiT-2 架构能够自动缩放位置编码,并处理不同大小尺寸的输入。

多阶段训练

根据 Open-Sora 技术报告指出,Open-Sora 采用了一种多阶段训练方法,每个阶段都会基于前一个阶段的权重继续训练。相较于单一阶段训练,这种多阶段训练通过分步骤引入数据,更高效地实现了高质量视频生成的目标。

初始阶段大部分视频采用 144p 分辨率,同时与图片和 240p,480p 的视频进行混训,训练持续约 1 周,总步长 81k。

第二阶段将大部分视频数据分辨率提升至 240p 和 480p,训练时长为 1 天,步长达到 22k。第三阶段进一步增强至 480p 和 720p,训练时长为 1 天,完成了 4k 步长的训练。

整个多阶段训练流程在约 9 天内完成,与 Open-Sora1.0 相比,在多个维度提升了视频生成的质量。

统一的图生视频 / 视频生视频框架

作者团队表示,基于 Transformer 的特性,可以轻松扩展 DiT 架构以支持图像到图像以及视频到视频的任务。他们提出了一种掩码策略来支持图像和视频的条件化处理。

通过设置不同的掩码,可以支持各种生成任务,包括:图生视频,循环视频,视频延展,视频自回归生成,视频衔接,视频编辑,插帧等。

图片

支持图像和视频条件化处理的掩码策略

作者团队表示,受到 UL2[2] 方法的启发,他们在模型训练阶段引入了一种随机掩码策略。

具体而言,在训练过程中以随机方式选择并取消掩码的帧,包括但不限于取消掩码第一帧、前 k 帧、后 k 帧、任意 k 帧等。作者还向我们透露,基于 Open-Sora 1.0 的实验,应用 50% 的概率应用掩码策略时,只需少量步数模型能够更好地学会处理图像条件化。

在 Open-Sora 中,他们采用了从头开始使用掩码策略进行预训练的方法。

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

图片

掩码策略配置说明

支持多时间 / 分辨率 / 长宽比 / 帧率训练

OpenAI Sora 的技术报告 [3] 指出,使用原始视频的分辨率、长宽比和长度进行训练可以增加采样灵活性,改善帧和构图。对此,作者团队提出了分桶的策略。

具体怎么实现呢?通过深入阅读作者发布的技术报告,我们了解到,所谓的桶,是(分辨率,帧数,长宽比)的三元组。

团队为不同分辨率的视频预定义了一系列宽高比,以覆盖大多数常见的视频宽高比类型。在每个训练周期 epoch 开始之前,他们会对数据集进行重新洗牌,并将样本根据其特征分配到相应的桶中。

具体来说,他们会将每个样本放入一个分辨率和帧长度均小于或等于该视频特性的桶中。

图片

Open-Sora 分桶策略

作者团队进一步透露,为了降低计算资源的要求,他们为每个 keep_prob 和 batch_size 引入两个属性(分辨率,帧数),以减少计算成本并实现多阶段训练。

这样,他们可以控制不同桶中的样本数量,并通过为每个桶搜索良好的批大小来平衡 GPU 负载。

作者在技术报告中对此进行了详尽的阐述:https://github.com/hpcaitech/Open-Sora。

数据收集和预处理流程

作者团队甚至对数据收集与处理环节也提供了详尽的指南。根据作者在技术报告中的阐述,在 Open-Sora 1.0 的开发过程中,他们意识到数据的数量和质量对于培育一个高效能模型极为关键,因此他们致力于扩充和优化数据集。

他们建立了一个自动化的数据处理流程,该流程遵循奇异值分解(SVD)原则,涵盖了场景分割、字幕处理、多样化评分与筛选,以及数据集的管理系统和规范。同样,他们也将数据处理的相关脚本无私地分享至开源社区。对此感兴趣的开发者现在可以利用这些资源,结合技术报告和代码,来高效地处理和优化自己的数据集。

图片

Open-Sora 数据处理流程

Open-Sora 性能全方位评测

视频生成效果展示

Open-Sora 最令人瞩目的亮点在于,它能够将你脑中的景象,通过文字描述的方式,捕捉并转化为动人的动态视频。那些在思维中一闪而过的画面和想象,现在得以被永久地记录下来,并与他人分享。

比如,生成一个在冬季森林里游览的视频。雪刚下不久,松树上挂满了皑皑白雪,暗色的松针和洁白的雪花错落有致,层次分明。

图片

仅需一个简洁的指令,Open-Sora 便能生成多分辨率的视频短片,彻底打破创作限制。

图片

分辨率:480*854p

我们还可以喂给 Open-Sora 一张静态图片让它生成短片。

图片

图片

Open-Sora 还可以将两个静态图巧妙地连接起来,轻触下方视频,将带您体验从下午至黄昏的光影变幻,每一帧都是时间的诗篇。

再比如说我们要对原有视频进行编辑,仅需一个简单的指令,原本明媚的森林便迎来了一场鹅毛大雪。

图片

图片

我们也能让 Open-Sora 生成高清的图片

图片

值得注意的是,Open-Sora 的模型权重已经完全免费公开在他们的开源社区上。由于他们还支持视频拼接功能,这意味着我们完全有机会免费创作出一段带有故事性的小短片,将创意带入现实。

权重下载地址:https://github.com/hpcaitech/Open-Sora。

当前局限与未来计划

尽管在复现类 Sora 文生视频模型的工作方面取得了不错的进展,但作者团队也谦逊地指出,当前生成的视频在多个方面仍有待改进:包括生成过程中的噪声问题、时间一致性的缺失、人物生成质量不佳以及美学评分较低。

对于这些挑战,作者团队表示,他们将在下一版本的开发中优先解决,以期望达到更高的视频生成标准,感兴趣的朋友不妨持续关注一下。我们期待 Open-Sora 社区带给我们的下一次惊喜。

参考文献:

  1. https://github.com/hpcaitech/Open-Sora/blob/main/docs/report_02.md

  2. Tay, Yi, et al. "Ul2: Unifying language learning paradigms." arXiv preprint arXiv:2205.05131 (2022).

  3. https://openai.com/research/video-generation-models-as-world-simulators

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/579059.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SOL跟单机器人是什么?

SOL跟单机器人是什么? 顾名思义,就是对方买什么我们买什么。。 solana跟单机器人,炒土狗新思路 跟聪明地址买入及卖出 1.跟随目标地址买入代币,比目标地址慢1-2秒内上链 2.上链稳定,采用jito路径,防止被夹 …

【视频打架行为数据集】打斗场景视频数据集简要介绍

一、UBI-Fight(异常事件检测数据集) 介绍 UBI-Fights 数据集是一个独特的全新大型数据集,涉及特定的异常检测并仍然在打斗场景中提供广泛的多样性,该数据集包含 80 小时的视频,在帧级别进行了完全注释。由 1000 个视…

三款数据可视化工具深度解析:Tableau、ECharts与山海鲸可视化

在数字化时代,数据可视化工具成为了企业和个人进行数据分析和决策的重要助手。市面上众多数据可视化工具各具特色,本文将为您介绍三款热门的数据可视化工具,帮助您更好地理解和利用数据。 首先,让我们来认识Tableau。Tableau是一款…

opencv4.8 系列一环境搭搭建

open 运行环境&#xff1a; vs2017 下载地址&#xff1a;https://www.123pan.com/s/cVyRVv-ydPWh.html 一&#xff1a;新建项目 二&#xff1a;核心代码&#xff1a; 在这里插入代码片 #include<opencv2/opencv.hpp>int main(int argc,char** argv) {cv::Mat src cv…

windows服务启动提示‘服务没有响应控制功能’(mysql启动报错)

在安装mysql的时候&#xff0c;在windows服务项启动 或 使用命令net start mysql 时启动是报错&#xff0c;提示 服务没有响应控制功能 发生原因&#xff1a; Windows10 x64 或 更高的操作系统&#xff0c;有些系统缺少一些组件 解决办法&#xff1a; 1、下载最新的 Microsoft …

Mybatis入门-----(1)

Mybaits入门 一、Mybaits框架特点 支持定制化SQL、存储过程、基本路线以及高级映射避免了几乎所有JDBC代码中手动设置参数以及获取结果集支持注解式开发、XML开发 二、开发我第一个MYbatis程序 ①打包方式jar ②引入依赖 mybatis依赖mysql驱动 前面两步的pom.xml文件<?…

如何在自己的网站页面中嵌入一个【悬浮音乐播放器】

如何嵌入【悬浮音乐播放器】 前言正文1.打开网易云网页版2.设置自己想要的高度和宽度看注意事项 3.选择是否为自动播放4.在header.php文件中</head>标签前插入下面代码5.在heard.php 中<body>标签后边增加一个 div层6.复制播放器代码到\<div>标签的里边7.保存…

AD修改元器件的引脚长度

这个地方的两个引脚长度不一样 双击其中的一个引脚。 修改这个位置就好了。

Docker学习(二十五)构建 Arthas 基础镜像

目录 一、简介二、构建基础镜像2.1 下载 Arthas2.2 编写 Dockerfile2.3 构建镜像2.4 创建容器2.5 测试 一、简介 Arthas 是一款由 阿里巴巴 开发的 线上监控诊断工具。通过全局视角实时查看应用负载、内存、GC、线程等信息&#xff0c;能在不修改代码的情况下&#xff0c;对业…

SUPIR图像放大模型介绍与实际测试

✨背景 正如&#xff0c;最顶级的料理只需要最简单的烹饪方法一样&#xff0c;图像放大&#xff0c;是设计领域里边最常面对的一个问题&#xff0c;在AI绘画里边也是很常见的一个课题。虽然现在放大算法、放大模型有很多&#xff0c;但是真的能实现的比较好的&#xff0c;并不…

语义分割——json文件转shp

前言 在用labelme标注遥感图像后会生成json文件&#xff0c;如果我们想要shp文件&#xff0c;下面给出了具体实现流程。 一、依赖配置 import json import geopandas as gpd from shapely.geometry import Polygon from osgeo import gdal import argparse import glob import…

【论文解析】笔触渲染生成 前沿工作梳理

最近的一些工作梳理 2023年 Stroke-based Neural Painting and Stylization with Dynamically Predicted Painting Region 2022年Im2Oil: Stroke-Based Oil Painting Rendering with Linearly Controllable Fineness Via Adaptive Sampling 文章目录 1 Stroke-based Neural P…

【海博】雅思该怎么考?

文章目录 考试类型 考试内容 考试形式 备考资源 考试报名 考试成绩 考试类型 学术类&#xff08;A类&#xff09;适用于&#xff1a;出国留学申请本科&#xff0c;研究生及以上学位&#xff0c;或获得专业资质。学术类考试评估考生的英语水平是否满足进行大学或研究生学习…

【C语言】文件操作(1)

为什么使⽤⽂件&#xff1f; 如果没有⽂件&#xff0c;我们写的程序的数据是存储在电脑的内存中&#xff0c;如果程序退出&#xff0c;内存回收&#xff0c;数据就丢失了&#xff0c;等再次运⾏程序&#xff0c;是看不到上次程序的数据的&#xff0c;如果要将数据进⾏持久化的…

Sylar C++高性能服务器学习记录07 【协程模块-知识储备篇】

早在19年5月就在某站上看到sylar的视频了&#xff0c;一直认为这是一个非常不错的视频&#xff0c;由于本人一直是自学编程&#xff0c;基础不扎实&#xff0c;也没有任何人的督促&#xff0c;没能坚持下去&#xff0c;每每想起倍感惋惜。恰逢互联网寒冬&#xff0c;在家无事&a…

vim 插件01:插件管理神器pathogen

1、pathogen简介 Vim 插件 pathogen 是一款历史比较悠久的 Vim 插件管理器。Pathogen 的主要功能是提供一种模块化的方式来管理和加载 Vim 插件。说人话&#xff1a;vim是一款管理各类插件的插卡&#xff0c;使用它会让插件的安装和使用非常方便。 以下是 Pathogen 的主要特点…

【大模型应用篇5】应对裁员潮,突发奇想,打造“收割offer”智能体.......

前段时间飞书大裁员, 不禁让人感到危机四伏,加上《【大模型应用篇4】普通人构建智能体的工具》之前文章介绍了普通人打造智能体的工具, 这节课就带大家利用字节产品coze构建“程序员智能体”, 方便应对裁员,随时做好找工作的准备.打造一款面试智能体,方便各位程序员面试, 这个智…

错误代码126:加载d3dcompiler_43.dll失败,分享多种解决方法

在正常使用电脑的过程中&#xff0c;当我尝试启动并运行一款心仪的游戏时&#xff0c;系统却突然弹出一个令人困扰的错误提示“错误代码126:加载d3dcompiler_43.dll失败”&#xff0c;它会导致游戏无法正常运行。为了解决这个问题&#xff0c;我经过多次尝试和总结&#xff0c;…

22年全国职业技能大赛——Web Proxy配置(web 代理)

前言&#xff1a;原文在我的博客网站中&#xff0c;持续更新数通、系统方面的知识&#xff0c;欢迎来访&#xff01; 系统服务&#xff08;22年国赛&#xff09;—— web Proxy服务&#xff08;web代理&#xff09;https://myweb.myskillstree.cn/114.html 目录 RouterSrv …

OGG extract进程占据大量虚拟内存导致服务器内存异常增长分析

现象 oracle服务器一节点内存&#xff0c;一个月来持续升高&#xff0c;近一月上涨10%左右。 问题分析 OS内存使用情况 使用内存最大的10个进程如下&#xff0c;PID为279417占用最大的内存。 查询279417&#xff0c;发现是ogg相关进程。 发现ogg的extract进程占用了大量的虚拟内…