训练Sora模型,你可能需要这些开源代码,模型,数据集及算力评估

news2024/11/17 23:54:01

在之前的文章,我们总结了Sora模型上用到的一些核心技术和论文

  • 复刻大模型 Sora 有多难?一张图带你读懂 Sora 的技术路径
  • 一文看懂大模型 Sora 技术推演

今天这篇文章来自我们社区讨论交流,我这边整理和总结现有的一些开源代码、模型、数据集,以及初步训练的算力评估,希望可以帮助到国内的创业公司和个人开发者展开更深的研究。

文章目录

    • 技术交流
    • 01 开源代码和模型
      • Diffusion Transformer
      • Video Captioning
      • 基于diffusion模型的视频生成技术
    • 02 开源数据集
      • 下游任务数据集
      • LAION-5B
    • 03 算力评估
    • 通俗易懂讲解大模型系列

技术交流

前沿技术资讯、算法交流、求职内推、算法竞赛、面试交流(校招、社招、实习)等、与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企开发者互动交流~

我们建了 SORA 技术交流群, 想要进交流群、获取完整源码&资料、提升技术的同学,可以直接加微信号:mlc2060。加的时候备注一下:研究方向 +学校/公司+CSDN,即可。然后就可以拉你进群了。

方式①、微信搜索公众号:机器学习社区,后台回复:技术交流
方式②、添加微信号:mlc2060,备注:技术交流

01 开源代码和模型

Diffusion Transformer

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

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

  • 论文链接:https://arxiv.org/abs/2209.12152

  • 代码库链接:https://github.com/baofff/U-ViT

  • 模型链接:https://modelscope.cn/models/thu-ml/imagenet256_uvit_huge

  • 最佳实践:https://github.com/modelscope/modelscope/blob/master/examples/pytorch/UViT_ImageNet_demo.ipynb

  • 效果图:

图片

DiT:Scalable Diffusion Models with Transformers

  • 论文链接:https://arxiv.org/abs/2212.09748

  • 代码库链接:https://github.com/facebookresearch/DiT

  • 模型链接:https://modelscope.cn/models/AI-ModelScope/DiT-XL-2-256x256/summary

  • 最佳实践:https://github.com/modelscope/modelscope/blob/master/examples/pytorch/DiT_ImageNet_Demo.ipynb

  • 效果图:

图片

SiT:Exploring Flow and Diffusion-based Generative Models with Scalable Interpolant Transformers (SiT)

  • 论文链接:https://arxiv.org/pdf/2401.08740.pdf

  • 代码库链接:https://github.com/willisma/SiT

  • 模型链接:https://modelscope.cn/models/AI-ModelScope/SiT-XL-2-256

  • 最佳实践:https://github.com/modelscope/modelscope/blob/master/examples/pytorch/SiT_ImageNet_Demo.ipynb

  • 效果图:

图片

总结对比

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

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 分数。

Video Captioning

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

下面是一些开源的多模态模型:

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

  • 代码库链接:https://github.com/01-ai/Yi/tree/main/VL

  • 模型链接:https://modelscope.cn/models/01ai/Yi-VL-34B/

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

  • 论文链接:https://arxiv.org/abs/2308.12966

  • 代码库链接:https://github.com/QwenLM/Qwen-VL

  • 模型链接:https://modelscope.cn/models/qwen/Qwen-VL-Chat

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

  • 代码库链接:https://github.com/InternLM/InternLM-XComposer

  • 模型链接:https://modelscope.cn/models/Shanghai_AI_Laboratory/internlm-xcomposer2-vl-7b/summary

CogVLM模型:

  • 技术报告:https://zhipu-ai.feishu.cn/wiki/LXQIwqo1OiIVTykMh9Lc3w1Fn7g

  • 代码库链接:https://github.com/THUDM/CogVLM

  • 模型链接:https://modelscope.cn/models/ZhipuAI/CogVLM/summary

MiniCPM-V模型:

  • 论文链接:https://arxiv.org/abs/2308.12038

  • 代码库链接:https://github.com/OpenBMB/OmniLMM/

  • 模型链接:https://modelscope.cn/models/OpenBMB/MiniCPM-V/summary

Video-LLaVA模型:

  • 论文链接:https://arxiv.org/abs/2311.10122

  • 代码库链接:https://github.com/PKU-YuanGroup/Video-LLaVA

  • 模型链接:https://modelscope.cn/models/PKU-YuanLab/Video-LLaVA-7B/summary

总结对比

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

基于diffusion模型的视频生成技术

Animatediff模型:

  • 论文链接:https://arxiv.org/abs/2307.04725

  • 代码库链接:https://github.com/guoyww/animatediff/

  • 模型链接:https://modelscope.cn/models/Shanghai_AI_Laboratory/animatediff/summary

I2VGen模型:

  • 论文链接:https://arxiv.org/abs/2311.04145

  • 代码库链接:https://github.com/ali-vilab/i2vgen-xl

  • 模型链接:https://modelscope.cn/models/iic/i2vgen-xl/summary

文本生成视频模型:

  • 模型链接:https://modelscope.cn/models/iic/text-to-video-synthesis/summary

  • 代码库链接:https://github.com/modelscope/modelscope

总结对比

目前开源的视频生成技术基本都是基于diffusion+Unet架构,不过其中视频数据处理,压缩采样,包括UNet3D设计等,依然有很大的参考意义。

02 开源数据集

Youku-mPLUG中文大规模视频文本数据集

Youku-mPLUG预训练数据集挖掘自优酷站内海量的优质短视频内容,包含千万级别约36TB的视频、文本数据。其中视频均为覆盖10~120秒的UGC短视频内容,文本为视频对应的描述标题,长度5~30不等。该数据集抽取时品类均衡,内容共包含45个大类:电视剧剪辑、电视剧周边、电影剪辑、电影周边、综艺、相声小品、纪录片、传统文化、动漫、MV、翻唱、乐器演奏、健身、街舞、广场舞、竞技体育、篮球、足球、财经、科技、汽车、科学科普、生活百科、日常生活、搞笑、学历教育、游戏、职业职场、美食测评、美食制作、美容护肤、美妆、穿搭、旅游、宠物、家居装饰、房产装修、医疗健康、养生保健、三农、萌娃日常、亲子育儿、少儿才艺、少儿动漫、少儿玩具。

下游任务数据集

我们提供了3个不同的下游多模态视频Benchmark视频数据集去衡量预训练模型的能力。3个不同的任务具体包含:

  • 类目预测:给定视频和对应视频标题,对该视频的类目进行预测。

  • 视频检索:在给定一些视频以及一些文本的情况下,使用视频对文本进行检索和使用文本对视频进行检索。

  • 视频描述:在给定视频的情况下,对视频中的画面进行描述。

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

LAION-5B

LAION-5B是一个用于研究目的的大型数据集,由 5,85B CLIP 过滤的图像文本对组成。2,3B 包含英语,2,2B 样本来自 100 多种其他语言,1B 样本包含不允许特定语言分配的文本(例如名称)。比 LAION-400M 大 14 倍,LAION-400M 是之前世界上最大的可公开访问的图像文本数据集。

开源链接:https://laion.ai/blog/laion-5b/

03 算力评估

众所周知,当技术和数据上比较成熟了之后,最大的瓶颈就在算力资源上,我们也根据各项公开材料,模拟了一个6B的中低分辨率视频Transformers模型的训练场景(数据集包含千万个视频+图片,最大为训练样本40秒256*256分辨率的视频,帧率为24),并根据在LLM训练的经验,初步预估了卡资源。

图片

按照尝试的资源来算,我们假设训练的视频样本最大为256(长)*256(宽)*视频帧数(40*24),空间理想压缩比为8,时间理想压缩比4,patch size为(2*2*2),我们按照序列长度最长约为32K来算。tensor 并行数为8,模型的大小为6B,相比于一开始LLM模型从2K的最长窗口开始,明显视频的序列长度远高于LLM模型,带来的算力需求的大幅增长,我们初步预估需要200-400张A100,训练2-3个月,也可以采取window attention技术来降低卡的消耗。

通俗易懂讲解大模型系列

  • 做大模型也有1年多了,聊聊这段时间的感悟!

  • 用通俗易懂的方式讲解:大模型算法工程师最全面试题汇总

  • 用通俗易懂的方式讲解:不要再苦苦寻觅了!AI 大模型面试指南(含答案)的最全总结来了!

  • 用通俗易懂的方式讲解:我的大模型岗位面试总结:共24家,9个offer

  • 用通俗易懂的方式讲解:大模型 RAG 在 LangChain 中的应用实战

  • 用通俗易懂的方式讲解:一文讲清大模型 RAG 技术全流程

  • 用通俗易懂的方式讲解:如何提升大模型 Agent 的能力?

  • 用通俗易懂的方式讲解:ChatGPT 开放的多模态的DALL-E 3功能,好玩到停不下来!

  • 用通俗易懂的方式讲解:基于扩散模型(Diffusion),文生图 AnyText 的效果太棒了

  • 用通俗易懂的方式讲解:在 CPU 服务器上部署 ChatGLM3-6B 模型

  • 用通俗易懂的方式讲解:使用 LangChain 和大模型生成海报文案

  • 用通俗易懂的方式讲解:ChatGLM3-6B 部署指南

  • 用通俗易懂的方式讲解:使用 LangChain 封装自定义的 LLM,太棒了

  • 用通俗易懂的方式讲解:基于 Langchain 和 ChatChat 部署本地知识库问答系统

  • 用通俗易懂的方式讲解:在 Ubuntu 22 上安装 CUDA、Nvidia 显卡驱动、PyTorch等大模型基础环境

  • 用通俗易懂的方式讲解:Llama2 部署讲解及试用方式

  • 用通俗易懂的方式讲解:基于 LangChain 和 ChatGLM2 打造自有知识库问答系统

  • 用通俗易懂的方式讲解:一份保姆级的 Stable Diffusion 部署教程,开启你的炼丹之路

  • 用通俗易懂的方式讲解:对 embedding 模型进行微调,我的大模型召回效果提升了太多了

  • 用通俗易懂的方式讲解:LlamaIndex 官方发布高清大图,纵览高级 RAG技术

  • 用通俗易懂的方式讲解:为什么大模型 Advanced RAG 方法对于AI的未来至关重要?

  • 用通俗易懂的方式讲解:使用 LlamaIndex 和 Eleasticsearch 进行大模型 RAG 检索增强生成

  • 用通俗易懂的方式讲解:基于 Langchain 框架,利用 MongoDB 矢量搜索实现大模型 RAG 高级检索方法

  • 用通俗易懂的方式讲解:使用Llama-2、PgVector和LlamaIndex,构建大模型 RAG 全流程

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网页数据的存储--存储为文本文件(TXT、JSON、CSV)

用解析器解析出数据后,接下来就是存储数据了。数据的存储有多种多样,其中最简单的一种是将数据直接保存为文本文件,如TXT、JSON、CSV等。这里就介绍将数据直接保存为文本文件。 目录 一、Python存储数据的方法 1、 文件读取 2、 文件写入…

milvus Delete api写s3的流程

Delete api写s3的流程 milvus版本:v2.3.2 整体架构: Delete 的数据流向 delete相关配置 dataNode:segment:insertBufSize: 16777216 # Max buffer size to flush for a single segment.deleteBufBytes: 67108864 # Max buffer size to flush del for a single channelsyncPe…

Neo4j导入数据之JAVA JDBC

目录结构 前言设置neo4j外部访问代码整理maven 依赖java 代码 参考链接 前言 公司需要获取neo4j数据库内容进行数据筛查,neo4j数据库咱也是头一次基础,辛辛苦苦安装好整理了安装neo4j的步骤,如今又遇到数据不知道怎么创建,关关难…

【wails】(4):使用wails做桌面应用开发,整合chatgpt-web项目做前端,进行本地开发,web端也可以连调,使用websocket实现

1,视频地址 【wails】(4):使用wails做桌面应用开发,整合chatgpt-web项目做前端,进行本地开发,web端也可以连调,使用websocket实现 2,演示效果 启动先是报500 错误&#…

想设计智能手环,我需要设计哪种电路?

随着电子技术的高速发展,可穿戴设备逐渐火爆,其中之一是智能手环,作为现代可穿戴技术的热门产品之一,它集成了多种功能,如健康检测、运动跟踪、通知提醒等,为了实现这些功能,需要用上哪些电路模…

蜂窝物联网咖WiFi认证解决方案

项目背景 随着目前网咖模式越来越流行,给网吧部署一套无缝漫游的WIFI网络势在必行。同时,网吧无线准入的验证码在客户机上面进行更新,以防周边的人员进行蹭网,损失网吧的外网带宽。 01 需求分析 1. 网吧服务区域全部覆盖无盲区…

免费的WP模板网站推荐

免费wordpress模板下载 高端大气上档次的免费wordpress主题,首页大图全屏显示经典风格的wordpress主题。 https://www.wpniu.com/themes/289.html wordpress免费企业主题 深蓝色经典实用的wordpress网站模板,用wordpress免费企业主题搭建网站。 http…

大模型+影像:智能手机“上春山”

这个春节假期,一首《上春山》火了。吃瓜群众热热闹闹学了一个假期的“春山学”,了解了抢占C位的各种技巧。 假期过去,开工大吉,手机行业开始抢占今年的C位。那么问题来了,今年智能手机最大的机会点在哪里?答…

华为---RSTP(一)---RSTP简介

目录 1. STP(Spanning Tree Protocol,生成树协议)的作用 2. STP的缺点 2.1 STP网络拓扑收敛慢 2.2 STP网络链路故障,端口状态切换慢 2.3 终端链路参与STP网络运算,浪费网络资源 2.4 STP网络拓扑变更机制复杂&…

C语言之mkdtemp()特定占位符:XXXXXX 用法实例(八十五)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

网络原理 HTTP _ HTTPS

回顾 我们前面介绍了HTTP协议的请求和响应的基本结构 请求报文是由首行请求头空行正文来组成的 响应报文是由首行形影头空行响应正文组成的 我们也介绍了一定的请求头之中的键值对的属性 Host,Content-type,Content-length,User-agent,Referer,Cookie HTTP协议中的状态码 我们先…

nginx-------- 高性能的 Web服务端 (三) 验证模块 页面配置

一、http设置 1.1 验证模块 需要输入用户名和密码 htpasswd 此命令来自于 httpd-tools 包,如果没有安装 安装一下即可 也可以安装httpd 直接yum install httpd -y 也一样 第一次生成文件htpasswd -c 文件路径 姓名 交互式生成密码 htpasswd -bc 文…

【Vue3】学习computed计算属性

💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢…

Vision Transfomer系列第二节---Tricks测试

目录 学习式和固定式位置编码测试dropout的作用测试block深度的作用测试embeding维度大小的作用测试多头的作用测试Overlap Patch的作用 学习式和固定式位置编码测试 主要测试无位置编码\可学习位置编码和固定式位置编码的训练效果: 其中固定式位置编码采用之前博客的正余弦位…

动态规划算法学习(基础)

做题步骤: 确定dp数组的含义(一维或者二维) 获取递推公式 dp数组如何初始化 确定遍历顺序 打印dp数组(检查) 题目: 1. 斐波那契数 509 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 …

【C++】类和对象---友元,内部类,匿名对象详解

目录 友元 友元函数 友元类 内部类 匿名对象 ⭐友元 友元提供了一种突破封装的方式,有时提供了便利。但是友元会增加耦合度,破坏了封装,所以 友元不宜多用。 友元分为:友元函数和友元类。 ⚡友元函数 先看一个问题&#x…

React18源码: Fiber树中的全局状态与双缓冲

Fiber树构造 在React运行时中,fiber树构造位于 react-reconciler 包在正式解读 fiber 树构造之前,再次回顾一下renconciler的4个阶段 1.输入阶段:衔接react-dom包,承接fiber更新请求2.注册调度任务:与调度中心(schedu…

Nginx网络服务四-----日志、Nginx压缩和ssl

1.自定义访问日志 如果访问出错---404,可以去看error.log日志信息 访问日志是记录客户端即用户的具体请求内容信息,而在全局配置模块中的error_log是记录nginx服务器运行时的日志保存路径和记录日志的level,因此两者是不同的,而且…

机器视觉【3】非线性求解相机几何参数

线性求解相机几何参数的缺点 上一章节介绍学习了(DLT)线性求解相机几何参数,了解到线性求解法当中比较明显的缺点: 没有考虑到镜头畸变的影响不能引入更多的约束条件融入到DLT算法当中优化最关键的是,代数距离并不是…

Python入门学习——基础语法

一、Python解释器 1. Python解释器的作用是&#xff1a; 将Python代码翻译成计算机认识的O和1并提交计算机执行在解释器环境内可以一行行的执行我们输入的代码也可以使用解释器程序&#xff0c;去执行".py"代码文件 2. Python解释器程序在&#xff1a; <Python…