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

在之前的文章,我们总结了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://xiahunao.cn/news/2805599.html

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

相关文章

【大数据】Flink 内存管理(一):设置 Flink 进程内存

Flink 内存管理(一):设置 Flink 进程内存 1.配置 Total Memory2.JVM 参数3.根据比例限制的组件(Capped Fractionated Components) Apache Flink 通过严格控制各种组件的内存使用,在 JVM 上提供高效的工作负…

【论文阅读】ICCV 2023 计算和数据高效后门攻击

文章目录 一.论文信息二.论文内容1.摘要2.引言3.主要图表4.结论 一.论文信息 论文题目: Computation and Data Efficient Backdoor Attacks(计算和数据高效后门攻击) 论文来源: 2023-ICCV(CCF-A) 论文团…

AI文生图网站测评

主要测评文章配图生成效果、绘制logo等效果 测评关键点:生成效果、网站易用度、是否免费 测评prompt:请生成一个文章内容配图,图片比例是3:2,文章主旨是AI既是机遇,也存在挑战和风险,要求图片…

Matlab/simulink基于vsg的风光储调频系统建模仿真(持续更新)

​ 1.Matlab/simulink基于vsg的风光储调频系统建模仿真(持续更新)

leet hot 100-3 最长连续序列

两数之和 原题链接思路代码 原题链接 leet hot 100-3 128. 最长连续序列 思路 可以把所有的数字放到容器里面去 维护一个最大值 每一次去遍历数字 查看但当前数字是否为起始位置(它的前面是否有比它小一位的数字) 如果是起始位置 就记录一下当前值 并…

应用回归分析:泊松回归

泊松回归是一种广泛用于计数数据的回归分析方法。它适用于响应变量是非负整数的情况,特别是当这些计数呈现出明显的离散分布时。泊松回归通过泊松分布的概率分布函数来建模计数数据,使其成为处理计数数据的自然选择。本文将介绍泊松回归的基本概念、应用…

FastJson反序列化漏洞(Fastjson1.2.47)

一、FastJson Fastjson 是一个阿里巴巴公司开源的 Java 语言编写的高性能功能完善的 JSON 库。可以将Java 对象转换为 JSON 格式(序列化),当然它也可以将 JSON 字符串转换为 Java 对象(反序列化) 它采用一种“假定有序快速匹配”的算法&…

【RAG实践】基于LlamaIndex和Qwen1.5搭建基于本地知识库的问答机器人

什么是RAG LLM会产生误导性的 “幻觉”,依赖的信息可能过时,处理特定知识时效率不高,缺乏专业领域的深度洞察,同时在推理能力上也有所欠缺。 正是在这样的背景下,检索增强生成技术(Retrieval-Augmented G…

SpringBoot -【BeanPostProcessor】基础使用及应用场景

BeanPostProcessor应用与优化 1. 引言 在现代软件开发中,企业开发面临着越来越复杂的系统架构和业务需求。随着项目规模的扩大和技术栈的增多,需要更高效的工具来应对这些挑战,并确保代码的可维护性和扩展性。 在这样的背景下,Be…

第五章虚拟机栈

第五章虚拟机栈 文章目录 第五章虚拟机栈1. 虚拟机栈概述1.1 虚拟机栈出现的背景1.2 初步印象1.2.1 内存中的栈与堆 1.3 虚拟机栈基本内容1.3.1 Java虚拟机栈是什么?1.3.2 栈的特点(优点)1.3.3 栈中可能出现的异常1.3.4 设置栈内存大小 2. 栈的存储结构2.1 栈中存储…

安科瑞企业微电网智慧能源管理系统生态交流会顺利举行

2024年1月12日,安科瑞企业微电网智慧能源管理系统生态交流会顺利举行,本次会议旨在围绕双碳目标,共同探讨如何抓住新机遇、新市场,充分利用安科瑞企业微电网智慧能源的一站式服务,为企业节能、减碳、降本赋能&#xff…

第十一天-Excel的操作

目录 1.xlrd-Excel的读模块 安装 使用 获取工作簿 读取工作簿的内容 xlsxwriter-Excel的写模块 安装 使用 生成图表 add_series参数 图表的样式 demo:生成图表 Excel的操作在python中有多个模块,为了能够快速使用,选择了相对简单…

变分自编码器 VAE 超详解,从简单公式推导到模型结构到模型理解

参考文献: [1] Kingma D P, Welling M. Auto-encoding variational bayes[J]. arXiv preprint arXiv:1312.6114, 2013. [2] Doersch C. Tutorial on variational autoencoders[J]. arXiv preprint arXiv:1606.05908, 2016. [3] 变分自编码器(一&#xff…

Linux学习方法-框架学习法——Linux应用程序编程框架

配套视频学习链接:https://www.bilibili.com/video/BV1HE411w7by?p4&vd_sourced488bc722b90657aaa06a1e8647eddfc 目录 Linux应用程序编程 Linux应用程序编程 Linux文件I/O(input/output) Linux文件I/O(五种I/O模型) Linux多进程 Linux多线程 网络通信(s…

ChatGPT在综合数据处理中的应用(续篇)

ChatGPT在综合数据处理中的应用(续篇) 小蜜蜂AI网站可以体验,扫码注册。 1.1 案例1: 用户连续活跃天数获取 ​ 用户连续活跃天天数有点类似于留存率指标,也能反映用户留存情况,实现逻辑稍微有些难度,我们…

第六章 本地方法接口

第六章 本地方法接口 文章目录 第六章 本地方法接口0. 前情提要1. 什么是本地方法2. 为什么要使用Native Method 0. 前情提要 图1 JVM架构 前几章讲完了类加载器子系统、运行时数据区的虚拟机栈和PC寄存器。这一节先穿插一节本地方法接口和本地方法库,再介绍本地方法…

第3.3章:StarRocks数据导入——Stream Load

一、概述 Stream Load是StarRocks最为核心的导入方式,用户通过发送HTTP请求将本地文件或数据流导入至StarRocks中,其本身不依赖其他组件。 Stream Load支持csv和json两种数据文件格式,适用于数据文件数量较少且单个文件的大小不超过10GB 的场…

RGB颜色如何转换为十六进制?16进制颜色代码怎么转为RGB颜色值?

我们在调整网站的色彩搭配,或修改图片的时候,偶尔需要用到RGB颜色值,或者16进制颜色代码。 如果我只知道16进制颜色代码想要知道RGB颜色值,那么16进制颜色代码怎么转为RGB颜色值?又或者我知道RGB颜色值想要知道16进制…

golang tun设备创建并监听

golang tun设备创建并监听 linux tun设备文件地址为/dev/net/tun.直接打开即可(关闭文件描述符创建的tun虚拟接口自动注销) fd,err:syscall.Open("/dev/net/tun",syscall.O_RDWR,0640)//关闭 syscall.Close(fd)初始化 配置ip地址启动虚拟网卡 ip addr add xxx.xx…

深入理解flinksql执行流程,calcite与catalog相关概念,扩展解析器实现语法的扩展

深入理解Flink Sql执行流程 1 Flink SQL 解析引擎1.1SQL解析器1.2Calcite处理流程1.2.1 SQL 解析阶段(SQL–>SqlNode)1.2.2 SqlNode 验证(SqlNode–>SqlNode)1.2.3 语义分析(SqlNode–>RelNode/RexNode&#…