赞
踩
原创 陈巍 博士 陈巍谈芯 2024-03-12 18:37
本文从Sora的特点和原理开始,从“专业+科普”的角度详解Sora的关键技术与模型架构,适用于T2V/V2V技术入门和相关投资领域的读者。
主编作者陈巍
高级职称,曾担任华为系相关自然语言处理( NLP )企业的首席科学家,大模型算法-芯片协同设计专家,国际计算机学会(ACM)会员、中国计算机学会(CCF)专业会员。主要研究领域包括大模型(Finetune、Agent、RAG)、存算一体、GPGPU。
本文为全文的下篇,重点介绍Sora模型架构、训练流程与数据集、应用与未来趋势。上篇请检索同名文章。
目前分析Sora的主干架构是扩散Transformer,前后端使用了VAE或VQ-VAE-2进行压缩。扩散Transformer由ViT(Vision Transformer)与DDPM或RADM组成。也就是说
Sora≈DiT+VQ-VAE-2 = ViT+DDPM/RADM+ VQ-VAE-2。
Leihigh大学给出的Sora架构图(来源:Leihigh Univ/微软)
Leihigh大学认为Sora架构中包括三部分:
1)时空压缩器首先将原始视频映射到潜空间。
2)然后,ViT 处理标记化的潜空间表征并输出去噪的潜在潜空间表征。
3)以类似 CLIP的映射机制接收 LLM 增强的用户指令和潜空间视觉表征,以指导扩散模型生成风格或主题视频。经过多次去噪,获得生成视频的潜空间表征,然后使用相应的解码器映射回像素空间。
在分析扩散Transformer之前,我们先深入了解下DDPM与扩散模型的细节。
扩散模型(Diffusion Model)对标的是生成对抗网络(GAN),其灵感来自于非平衡热力学。,将随机噪声缓慢添加到数据中,然后学习逆向扩散过程,以从噪声中构造所需的数据样本。
最初的扩散模型主要关注于基本的噪声添加和去除过程,目前主流的扩散模型是去噪扩散概率模型(DDPM,Denoising Diffusion Probabilistic Models),通过更加精细的概率模型提高了去噪效率,使扩散模型在图像合成等方面更加有效。
DDPM的前向和反向扩散过程(来源:Vaibhav Singh)
相对于传统的扩散模型,DDPM使用了多噪声级别去噪分数匹配加权,图像生成质量更高。DDPM为传统扩散模型提供了简化的加权变分边界优化目标,并通过渐进有损压缩提升计算效率。
根据CompVis给出的架构图示,去噪主要集中在逆向扩散过程,每一步的逆扩散均使用了U-Net。
潜扩散模型架构(来源:CompVis@github)
DDPM由两个参数化马可夫链组成,使用变分推断以在有限时间后生成与原始数据分布一致的样本。其中前向马可夫链的作用是扰动数据,根据预先设计的噪声进度向数据逐渐加入高斯噪声,直到数据的分布趋于先验分布,即标准高斯分布。反向链则从给定的先验开始并使用参数化的高斯转换核,学习如何逐步恢复原数据分布。
DDPM基本算法(来源:伯克利)
Sora具有出色的图像和视频生成能力,同时具备超越其他文生视频模型的生成时长。猜测Sora除了使用DDPM外,更进一步的使用了检索增强扩散模型(Retrieval Augmented Diffusion Models,RADM)。或者即便Sora目前未使用该技术,未来也可能采用。
RADM使用单独的图像数据库和检索策略来弥补相对较小的扩散模型的生成质量和细节,类似于大模型领域所用的RAG(检索增强生成)。在训练期间,RADM从外部数据库中为每个训练实例检索一组最近邻数据,并根据这些信息样本来调制生成模型。
对比来看,检索增强提供内容细节,扩散模型本身专注于学习基于该内容的场景组成和物理运动,这种策略对于提升视频主体的细节质量,并保证其物理一致性和延长生成时间具有非常大的帮助。
特别是,将数据库替换为具有不同内容的数据库,即可将经过训练的模型转移到新的应用领域。通过外部数据库和检索的计算开销可以忽略不计,可大幅减少生成模型的参数数量和训练算力需求。
检索增强扩散模型架构(来源:Heidelberg Univ)
在扩散Transformer之前,DALL·E2和Stable Diffusion,虽然已将Transformer用在了CLIP和文本编码器上,但关键的图像生成依然使用U-Net作为主干。其后的研究发现U-Net 归纳偏差对于扩散模型的性能并不重要,可以直接用Transformer等标准算法替代。
扩散Transformer架构(来源:伯克利/纽约大学)
Diffusion Transformer(DiT)模型将Transformer与扩散模型融合,在计算效率和生成效果上均超越了基于U-Net的经典模型,打破了之前U-Net对扩散模型统治。
DiT架构保留了很多ViT(Vision Transformer)的特性,整体架构在扩散Transformer架构图左(包含多个DiT模块),具体的DiT模块组成在图右。
Vision Transformer架构(来源:Google)
DiT 的第一层是图块化(Patchify),将每个图块线性嵌入到输入中,将空间输入转换为一系列 T Toekn(维度为 d)。除了噪声图像输入之外,扩散模型也会处理其他条件信息,例如噪声步长 t、类标签 c、自然语言等。
DiT的图块输入大小为I × I × C,线性嵌入到Txd的输入Token中(来源:伯克利/纽约大学)
图块化之后,将标准 ViT 基于频率的位置嵌入应用于所有输入Token,进入DiT进行处理。Transformer内部的结构块有多种可能性,目前DiT论文推荐的是adaLN-Zero 结构块。
在DiT输出后,采用解码器将潜空间表征重新生成为常规图像。DIT块的内部本文不再详述,感兴趣的读者可以参考Transformer架构的说明。
扩散Transformer可以有效的缩放视频模型。对于固定的输入的视频样本,随着训练计算的增加,视频生成质量显着提高。
Sora模型的训练可以参考现有的DiT模型,包括Stable Video Diffusion的训练方法,以及VQ-VAE-2训练方法。下面深入分析Sora模型的训练流程、加速方案和数据集的构建。
与传统扩散模型方法不同,Sora与Stable Video Diffusion类似,都采用了三层训练架构:
1)阶段1:文生图预训练(也包括图生图)
该阶段初始化一个适用于时空压缩潜图块的图像生成扩散模型,这个模型的主干是DDPM + VQ-VAE-2或RADM + VQ-VAE-2。此时已采用打包技术,以接收不同宽长比和分辨率的输入训练数据。内部数据统一为时空潜图块。
该阶段中输入的训练图片切分图块(Patches),并进行有损压缩,成为潜空间压缩图块。使得初始的Sora可以集中关注视频的每个细节部分,为后续训练和生成打下坚实基础。
2)阶段2:视频生成预训练
该阶段结合已经预训练的Transformer学习运动表征与初步物理规律。对于Sora来说,需要额外进行潜空间视频插帧的训练,以提升生成视频的时长和保持运动主体边缘不畸变。由于一定规模LLM本身会具备语言的涌现能力,因此在此阶段涌现能力扩展到图像和视频域。
Sora基于DiT在潜空间上进行预训练。在这个阶段,输入是文本描述和具有随机噪音的图块,而输出是视频在潜空间图块表征。使用在视频压缩模型(VQ-VAE-2)训练过程中,同步得到的视频解码模型解码即可获得高清视频。
这一阶段的训练计算量要求是最高的。
3)阶段3:视频生成的微调
是在小规模的高质量视频数据集上进行常规微调和指令微调。例如在微调过程中加入对视频尺寸和机位控制的指令,形成Transformer和解码器指令的响应。对在微调过程中有可能基于人类偏好对微调参数进行选择,使生成的视频更趋向于影视级效果。
这种分阶段的训练策略可以让模型更好的获取生成高质量视频所需要的关键能力。
Sora等DiT类文生视频模型的训练对序列并行性有更高的要求,其训练具有以下特点:
1)与语言类大模型对比,DiT模型参数量较少,但序列可能很长,节点之间的通信和存储极容易成为瓶颈。
2)由于目前DiT模型规模相对较小,因此需要重点提升节点内的序列并行性。
FastSeq训练加速方法(来源:新加坡国立大学/OpenDiT)
DeepSpeed-Ulysses 和 Megatron-LM序列并行等现有方法在DiT训练任务时容易面临序列通信过多,或者小规模序列并行处理效率较低的问题。
新加坡国立大学针对DiT训练提出了FastSeq,适用于大序列和小规模并行的新型序列并行训练方法。与传统的模型并行或参数并行不同,该方法侧重于为每个Transformer层仅使用两个通信运算符来最小化序列通信资源占用。并使用 AllGather 来提高通信效率,采用异步环(Async Ring)将 AllGather 通信与 QKV 计算时间重叠,减少等待,进一步优化性能。
从我们研究看,存算一体芯片架构可能比传统GPGPU分级存储,更适合这类节点内大序列并行的要求。
训练文生视频系统需要大量带有相应文本标注的视频训练数据。为了提升视频生成能力和生成时长,Sora团队在视频数据集方面做了很多工作。
Sora训练数据 = 不同比例的视频图像 + 帧级的画面文本描述 + 视频内容总结。
1)不同比例的视频图像
训练的视频/图像比例介于宽屏 1920x1080p 视频、竖屏 1080x1920 视频两者之间。
以往的图像和视频生成方法通常会调整视频大小、裁剪或修剪为标准尺寸,但在Sora训练中,视频具备可变的持续时间、分辨率、宽高比,不对原视频的画面做任何的裁剪。
2)视频画面的文本描述
对视频的每1/n帧做采样,然后配上详细的文本描述。主要数据来源是通过DALL·E 3 反向描述。
3)视频内容总结
对视频的生成指令描述,包括生成分辨率、机位等指令。
典型的可借鉴的视频数据集是MSR-VTT数据集。目前MSR-VTT提供了10K个网络视频片段,总计41.2小时和20万个片段-标注对。每个片段都由 1,327 名 AMT 工作人员标注了约 20 个自然句。
YouTube-8M数据集概况(来源:Google)
另一个可参考的视频数据集是Google提供的YouTube-8M数据集,收集了 1000 个类别的约 237K 个片段。时长为350000小时。平均每个视频具有3.0个标注。
Sora在早期采用了在 DALL·E 3 中引入的重新标注技术。其思路为先训练具备高度能力的字幕模型,然后用这一模型为训练集中的所有视频生成文字说明。
1)基于DALL·E 3图像标注器的重新标注。
DALL·E 3模型的开发涉及到对训练数据集进行重新标注的复杂过程。原始数据集中的文本描述通常由人类作者撰写,主要集中于描述图像的主题,容易忽略背景细节或图像中的常识与基础物理关系。DALL·E 3的团队则采用图像标注器来提高描述的质量和细节,包括物体的存在、位置、数量、颜色、大小,以及图像中显示的文本等。
2)基于GPT-4丰富视频描述
为提升视频描述的质量和细节,Sora也使用GPT-4模型,增强DALL·E 3图像标注器生成的描述和现有标注,使得视频描述更加全面和细致。
主要数据标注类型(来源:SuperAnnotate)
数据集的重新标注具有以下特点:
1)面向生成训练的图像描述
为了改善图像生成训练的效率,标注应偏向于对文生图模型学习更有利的描述,包括更具体客观的物理性图像描绘。
2)分层的复合描述
为了增强训练效果和效率,对数据集采用了分层的复合描述方法,包括简短且集中于图像主题的“简要复合标注”,以及包括周围环境、背景、图像中文字、风格、颜色等在内的详细内容的“描述性复合标注”。
在训练后期,Sora团队将DALL·E 3中的字幕生成技术应用到了视频生成领域,并训练了一个具备高度描述性的视频标注(Video Captioning)模型,使用该模型为视频训练数据生成了高质量文本标注(相当于Prompt),再将视频和高质量标注作为输入数据集对进行训练。
通过这样的高质量的训练数据,确保了文本描述(相当于Prompt)和视频数据之间高度的对齐(Align)。在生成阶段,Sora会基于GPT模型对用户输入的Prompt进行改写,生成高质量且具备更好描述性的Prompt,再送到视频生成模型完成生成工作。
该标注模型具有以下特点:
1)仍是基于Token的多模态模型
基础的图像标注器与传统的大模型类似,通过分词器将字符串转换为离散Token序列,然后通过优化特定的目标函数来训练模型。
2)图像嵌入
由于直接对大像素图像数据进行计算和模型优化效率很低,在Sora视频图像标注模型中采用了CLIP提供的压缩表征空间,降低对计算资源的要求。
3)标注的联合预训练
同时训练标注器整体,包括CLIP和主体语言模型,以提升对细节特征的标注能力。
尽管Sora已经可以输出影视级的作品,但Sora目前仍有一些局限。包括:
1)Sora不能准确模拟一些基本的物理过程,比如玻璃破碎或者重力作用。
2)多主体场景下主体运动的协调性不足。有Sora DEMO展示了人群的活动,可发现人的运动路线彼此之间不协调,似乎不像在一个坐标系下。
3)难以准确模拟或理解因果关系。例如,一个人可能咬了一口饼干,但之后饼干可能没有咬痕。
4)可能会混淆提示的空间细节,例如混淆左右,并且可能难以精确描述随着时间推移发生的事件,例如遵循特定轨迹的相机运动。
Sora的应用场景(来源:Lehigh Univ/微软)
随着以 Sora 为代表的视频生成模型的逐渐完善,该技术的影响正快速超出单纯的视频制作,为从自动内容生成到复杂决策过程等任务提供了变革的台阶。Leihigh大学归纳的Sora应用场景包括以下几类。
传统上,创作电影是一个费时费钱的过程,需要大量人力和务投资。然而,在Sora之后,通过简单的文本输入自主制作电影的正逐渐变成可能。
任何人都可以通过Sora创建短视频或电影片段,无需高精度的3D软件技术,也无需演员。
Sora的进步正标志着电影制作平民化的关键时刻。也许在未来,任何人都可以成为电影制作人,大大降低了电影行业的进入门槛,每个人都可以创建自己的个性化电视剧,自由的选择电影的走向。
教育内容的长期以来一直以静态资源为主,但多数时候无法满足学生的多样化学习需求。文生视频模型未来可以为教育行业提供前所未有的教育资料,从而显着增强学习者的参与和理解。
Sora等先进技术将使教育工作者能够从课件制作中解放出来,将文本描述或课程大纲转化为个性化教育视频,提高学生的参与度。Sora甚至可以生成数字教师,代替人类教师的重复工作,让教师更侧重于知识的沟通和学生的人格培养。
这种向个性化、动态教育内容的转变也预示着高端教育的平民化时代。
Sora等视频大模型未来用于教育(来源:capsulesight)
传统游戏开发常常面临预渲染环境的限制,难以为游戏者提供身临其境的高质量感受。通过Sora实时产生动态、高质量视频内容和逼真的声音,有望为开发人员提供创建不断变化的复杂游戏场景的利器。
随着算力的提升,Sora将集成到游戏领域,为游戏玩家创造出全新多样的沉浸式体验,甚至游戏开发本身的复杂度也会大幅度降低。
Sora这类模型可以增强机器人对世界运动的模拟和认知,使机器人能够与环境更好的交互,完成之前尚未达到的复杂和精密操作。
另外Sora也能为为机器人生成多样化的训练场景,更好的训练机器人,提升机器人的动作灵活性和安全性。
OpenAI自称希望通过Sora的研发,逐步实现世界模型,实现类似人类的对世界的理解。
以至于在2024年3月有一篇名为《Are Video Generation Models World Simulators》,也获得了LeCun的转发和点赞。
在LeCun等专家看来,“像素级别的生成目标根本不足以诱导可能对在世界中规划和行动有用的抽象表示”。
那Sora真的如LeCun等人所认为的,仅仅是像素级别的生成吗?
如果看了我们这篇技术精要,就应该知道Sora的核心是其潜空间的Transformer计算,而不只是解码器等视频细节添加和渲染。通过计算模拟人类的思考方式,可以具备涌现能力和思维链。
人类认知与机器认知的世界模型(来源:斯坦福)
当模型的计算规模逐渐增大,辅助的标注信息覆盖到物理世界的关键特征和数字,模型本身会建立相应的物理特征与数字关联,形成类似经验规律的认知。这个能力已经在大模型求解数学问题和物理问题中得到验证。
所以,Sora的本质不是扩散模型,而是Transformer,以神经元关联的方式不断逼近人类大脑的计算模式。
当然,也不必过于苛责技术专家误判,这在技术界其实很常见。大部分人没有足够精力深入事物的本质,却不得不为了地位或者生存立刻做出反应,也是身不由己。
Sora这类视频大模型,看上去只是生成一个视频,但其实是以动态视觉的方式来模拟物理世界。
模型本身包括文字(相当于听觉和说话)、图像(相当于视觉)、视频(相当于视觉+触觉)。除了嗅觉和味觉外,基本上已经可以集成人类的主要感官,再结合神经网络这类思考计算结构,事实上已经可以开始从视频和对话自主探索这个世界。
机器狗开始探索世界(来源:网络图)
我们认为:之前的多模态GPT-4是让大模型睁开眼看静态世界,那Sora就是让大模型体验这个世界的变化和规律;随着技术的进步,大模型可能逐步具备更强的认识世界的能力,越来约逼近人类认知。
另一方面,Sora这类文生视频模型,也对训练计算集群提出了更高的要求。
相对而言,视频类模型需要更大的训练数据集,数据集大量数据的存储和传输会成为计算架构的主要瓶颈。
目前传统GPGPU集群是基于光交换机/路由的点对点传输方式,这类传输方式导致大量数据在光交换机/路由处集中,形成传输瓶颈。另外传统GPGPU本身的集中化存储模式也不利于大量数据的交换与通信。
存储与互连带宽已经明显落后于算力发展(来源:Meta)
因此Sora等视频大模型技术的大量应用,必然对现有的计算芯片,包括GPGPU和各类AI芯片提出更高的数据带宽要求。
CNN技术的诞生催生了AI计算从CPU转向GPGPU,那么视频大模型的诞生是否会推动GPGPU和CUDA技术的重大变革,甚至新架构替代传统GPGPU?
往期文章
■ 陈巍谈芯:RRAM模拟存内计算 —《先进存算一体芯片设计》节选
■ 陈巍谈芯 目标检测网络SSD —《AI芯片设计:原理与实践》节选
■ Nature首发的三星存内计算芯片原理和不足是什么?
■ 存算一体技术及其最新发展趋势
■ 阿里达摩院最新存算芯片技术解
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。