Stability AI的科学家Andreas Blattmann和Robin Rombach与a16z的合伙人Anjney Midha在播客节目a16z中共同探讨了从文本到视频人工智能的前沿世界。
2月21日,Stability AI推出了旗下文生图模型的最新版本Stable Diffusion 3。据公司介绍,SD3是他们最强大的文生图模型,在生成图的质量上取得了显著进步,支持多主题提示词输入,并且能实现更好的文字书写效果。
在本次对话中,我们将重点关注Stable Video Diffusion——一款将文本转化为视频的AI模型,以及它背后的技术挑战和创新解决方案。我们将深入了解扩散模型与其他模型的区别,探讨视频多维性对算力的需求,以及LoRA技术如何简化视频模型的微调过程。
一、Stable Video Diffusion:一款将文本转化为视频的AI模型
主持人:如今,许多人都非常熟悉文字生文字或文字生图像的人工智能模型,比如ChatGPT或Midjourney。但文本生成视频的模型呢?有几家公司正在努力实现这一设想,但由于种种原因,进展缓慢。
首先,要考虑文件大小。文本文件通常有数千字节,而图像文件可能有数兆字节。高质量的视频文件常常有数千兆字节那么大。
此外,由于视频涉及运动物理、三维物体等,所以它对真实世界的呈现更为动态。文本生图像模型本就具有极大的挑战。对于文本生视频模型,需要生成的数据量是图片的平方。但这并不会阻碍Stable Video Diffusion背后的研发人员。
2023年11月21日,Stable Video Diffusion作为最先进的开源视频生成模型发布。今天,你们将会听到两位研发人员的观点。他们是安德烈亚斯·布拉特曼和罗宾·隆巴赫。此外,罗宾也是最流行的开源文生图模型Stable Diffusion的发明者之一。
在今天的节目中,我们将与a16z合伙人安杰尼·米达一起,解释研发由文本生成视频的模型为何如此具有挑战性。面临的挑战包括:
第一,选择正确的数据集,再现真实世界;
第二,如何制作使用该技术的相关应用。
第三,如何设计相适应的视频编辑器。
Anjney Midha:什么是Stable Diffusion和Stable Video Diffusion?
Robin Rombach:作为一种生成式人工智能模型,Stable Diffusion是一种由文本生成图像的模型。你输入一段文本提示,它就会根据提示生成一幅图像。此外,顾名思义,Stable Diffusion是一种扩散模型。作为一种替代模型,其在图像生成方面取得了巨大成功。这项技术是我们在大学期间研发的。曾经参与研发的安德烈亚斯、帕特里克、多米尼克和我,现在都在Stability AI的同一个团队里。
作为一家多模态公司,我们专于制作和发布简单易用的模型,包括发布权重,为各种模式提供基于图像和视频的基础模型,并在此基础上开展研究。Stable Diffusion比我们最初预期的要成功得多,有成百上千篇基于该技术的论文发布。我们团队主要研究图像、视频等视觉媒体。某种意义上,我们团队推出的Stable Video Diffusion就是未来的发展方向。这是我们进入视频领域的第一步。我们发布了一个可以输入图像,并将图像转换为视频的模型。
二、扩散模型与其他模型的区别
Anjney Midha:什么是扩散模型?与其他生成式模型相比,扩散模型有何不同?
Andreas Blattman:扩散模型是目前视觉媒体的首选模型,包括图像和视频。它与自回归模型有所不同,自回归模型把数据表示为一串记号或其他符号,而扩散模型并非如此,因为图像和视频都是由像素网格构成的。
此外,扩散模型偏重抓取重要的视觉细节。因为扩散模型的学习目标已经被设定为人类认为重要的视觉细节,这是这类模型的天性。但扩散模型与自回归模型也有一些共性。本质上,它们是不断迭代的。这两种模型都会对数据进行某种迭代改进,但与逐个标记或逐个单词迭代生成语言的自动回归模型不同,扩散模型是以小步骤逐步转换的。因此,它们会逐步将噪声转换为数据。
Robin Rombach:还要补充的一点是,其他成功的模型,或一般的自回归模型,都必须在一个序列中生成标记。因此,研发人员需要在一定的序列长度上训练模型,然后在解码句子时对其进行迭代。
在未来的模型中,当你训练一个模型时,你通常会在数据和纯噪声中选择数千种不同的噪声水平,配比不尽相同。在采样的时候,你可以用更少的步骤。有一些专门为训练这些模型而生成的样本,其需要的步骤数更少。最近,大量的知识蒸馏更加减少了所需的步骤。一周前,我们就发布了一项蒸馏模型。它表明,采样过程就算减少一步,也会带来巨大优势。
Anjney Midha:有些听众可能不是很了解为什么一步的突破如此重要。能否讲讲这对模型的研发人员或者用户有什么好处?
Robin Rombach:最直观的一点是,用户可以实时看到输入文本的结果。一年半前,你输入提示词,基于文本生成图像的AI模型需要等好几秒甚至一分钟才能得到结果。现在,用户可以实时预览。而且,生成的图像质量会比我们之前的还要好,比Stable Diffusion的第一代还要好。当我第一次用这个模型采样的时候,它出色的性能让我大吃一惊。
Anjney Midha:时间倒回到一年半以前,对比你们第一次发布Stable Diffusion的时候,图像模型中最令你们感到意外的是什么?
Andreas Blattman:性能的提升,在对文字的理解上的提升,在空间组合性方面的提升。只需输入一个提示词,你就可以非常细致地描述一个场景,模型会生成一个非常精细的可视化实例。这个过程很快,我们在六月份发布了SDXL,视觉质量上也已经有了巨大的提升,这也是我们现在看到的其他机型所无法比拟的。Dolly 3的出现也是一个巨大的进步。
但就像罗宾说的,为了让这些模型取得更多进步,这里有很多不同的训练样本。我认为,很重要的一点是,每个人都能接触到这些模型。所以回过头来看,基础模型的开源,比如最开始的Stable Diffusion,对于很多研究都非常重要。否则我们不会有这么大的进步。
Robin Rombach:就算在那之前,我也很惊讶基于文本生成图像的Stable Diffusion模型如此出色。发布这个模型之前,我们就已经在大学期间研发有了这种潜在扩散模型。存档之后,我们得到了一台装有八张80GB显存A100显卡的机器。我们想建立这个基于文本生成图像的模型,但我们不打算只在一个GPU上训练这个模型。这台机器运行了这个潜在扩散模型,得到了了256乘256像素的图片。
这是我们第一次要处理大规模数据加载之类的事情。无分类器引导是一种采样方法,能够在消耗极小的情况下进一步提升采样质量。然后,利用这个模型,结合无分类器引导,我们自己完成了这件事,并且取得了不错的成果。但两天后,Open AI发布了Dolly 2,所有这些都没意义了。但对于我而言,这是一次很棒的经历。
三、研发Stable Diffusion的挑战:视频多维性需要更多GPU
Anjney Midha:将Stable Diffusion作为开源模型发布,激发了这同领域内的相关研究。非开源情况下,这是难以实现的。在过去的一年半里,开发者和创作者一起用你们发布的模型做出了很多很棒的东西。你们就像是为人们提供了一套乐高积木,给了人们更多的可控性,让参与其中的人建立他们自己的前端。
不过,我很好奇,为什么你们决定优先开发Stable Video,将它作为你们的下一个里程碑?
Andreas Blattman:视频是一种很棒的数据。因为,想要生成视频,模型必须要学习真实世界的物理特性和物理学基础。举个例子,比如说3D,AI没办法生成一个能够360°环绕物体的事项及,也没法在人物转身的时候让物体移动。
人工智能模型只能空想,这个人从后面看起来是什么样的。所以,AI需要花费时间,学习整个世界的运行逻辑和物理规律。在算力上,这也提出了更高级别的要求。但是,我们喜欢挑战。这就是为什么我们会集中精力做Stable Video。
Anjney Midha:就学术背景而言,你们原是研究物理世界的。你们对生成式模型最初的兴趣在于想要了解物理世界更深层次的东西。这似乎这也是你们研发Stable Video的动机之一。
Robin Rombach:是的。不仅是生成视频,更是要了解世界。可不可以用这种模型推导出类似物理定律的东西?我不知道。但是,AI模型都是预测性的。所以,你可以用一幅图像,来预测接下来会发生什么。我觉得,把图像视频生成与其他模态结合起来,也许能让这些模型更贴近物理世界。
Anjney Midha:对Stable Diffusion的早期用户来说,Stable Video是原始模型的自然发展。你们从事视频模型研发多久了?
Robin Rombach:大概半年。对于刚刚发布的这个模型,主要的挑战就是扩展数据集和数据加载。所以,如果在很多的DPU上训练一个视频模型,你就会遇到以前没遇到过的问题,比如加载高分辨率的视频。如果要扩大规模,难度会更大。
Andreas Blattman:仅仅是解码视频就已经很难了。通过数据加载器要把视频转换成合适的格式喂给模型的计算量非常大。从视频编码开始,视频要被编码为适合生成式模型的输入样本,计算开销很大。现在我们有了如此高速的GPU,CPU就像刚刚起步一样,太慢了。为视频建立高效的数据通道确实是一个挑战。
Robin Rombach:实际上,在训练的过程中还会遇到其他的问题。如果你要训练一个扩散模型,就要给数据加上噪声,模型会尝试去噪。但是,你对视频加噪声,那么你就要给每一帧都加上噪声。但是,我们犯了一个错误,给不同的帧加上了不等量的噪声,这让机器学习变得更加困难。诸如此类,一招不慎,全盘皆输。
Anjeny Midha:图像模型研究和视频模型研究之间最大的区别是什么?噪声采样和降噪,这些都是图像和视频扩散模型里的技术,所以,视频模型有什么特别之处呢?
Andreas Blattman:首先是视频的多维性。增加的维度导致了更高的GPU和内存消耗。对于扩散模型来说,数据一定要是大批量的。因为批量大,你就可以近似计算梯度,从而更好地促进模型学习。但是,在有额外的维度的情况下,一个GPU的某个地方出现问题,就会让整个训练失败。而且,你向集群中加入的GPU越多,承担训练的GPU越多,出错的几率越大,有时甚至会出现硬件故障。我们也遇到过类似的问题。因此,这种额外的维度,给我们的规模化训练带来了一定的挑战。
Anjeny Midha:你们的研究对行业最有价值的一点是,你们详细地分享实验室训练过程中遇到的挑战。大量地增加训练规模,对你们来说是一个比较新的挑战。你们分享为了解决这些问题而想出的各种办法,对其他研究人员很有帮助。
此外,还有一些与数据通道本身无关的,但与数据相关的其他挑战,比如数据的表示、数据集的整理和数据集的混合。能谈谈你们是如何挑选数据集的吗?
Robin Rombach:我们可以把训练过程分为三个阶段。
第一阶段,我们需要训练一个图像模型。在训练视频模型时,通常只需重新使用图像模型中的结构空间理解即可。有了强大的图像模型,我们就可以此训练视频模型,然后生成下一帧。因此要有一个图像模型,比如Stable Diffusion。我们还得熟悉关于时间、维度和运动的相关知识。因此,我们需要在大型数据集上进行训练。
第二阶段,在这个庞大的数据集上进行训练,为此我们还需要创建一些数据集。比如说我们不想要光学字符,不希望在视频中出现文字,我们想保证物体运动清晰、镜头流畅。因此,我们必须对数据进行过滤。
我们通过两个步骤来实现这一目标。第一步,对大量视频进行训练。第二步,对一个高质量的小型模拟评分数据集进行训练,从而完善模型。这与图像模型类似,也是在大型数据集上先进行预训练,然后在高质量数据集上进行改进。
Anjeny Midha:一直以来,训练视频生成模型最大的挑战之一,就是当摄像机围绕着一个人、一辆车或一个物体旋转时,三维物体的结构能否保持一致。如何确保从不同角度来看都是同一个物体?你们在论文中提到,三维数据和多视角数据非常重要。
Robin Rombach:我们在论文中讨论过这样的问题。一个基础视频生成模型能做的远不止生成一段吸引人的视频,同时得会学会真实世界的嵌入表示。
其中一个方面是,如果一个视频模型从不同的视角、不同相机运动中捕捉到了很多物体,那么将其转化为多视角模型就会容易得多。
我们使用预先训练好的视频模型,这个模型已经学习了大量不同的视频和不同的运镜。我们会从非常专业的多视角,或围绕3D物体的位点进行调整,从而将视频模型转化为多视角合成模型。
在此之前,人们使用的主要方法是将图像模型、Stable Diffusion模型转化为多重模型。但我们的研究表明,将这些隐含的三维知识(即捕捉到的知识和所有视频)融入到模型中,这样得到的模型学习速度要比从纯图像模型开始学习快得多。还可以尝试使用这些明确的多视角数据,单独训练。还可以用不同摄像机的运动来训练LoRA,然后将LoRA放回视频模型中,这样在你的通用视频模型当中,相机就能被有效控制。
四、LoRA:简单易行的视频模型微调方式
Anjeny Midha:LoRA是什么?是它对于视频生成模型为何 如此重要?
Andreas Blattman:LoRA 是一种非常轻量级的适配器,可以在现有的基础模型上进行微调,从而调整注意力层。这样,研发人员就可以在一个较小的子集上,或者在一个小型专业数据集上,以一种非常轻量级的方式,将不同的属性调整到模型中。这样,我们就把这种对不同类型相机运动的理解融入到我们的视频模型中。
所以,假使我们使用一个小数据集,其中只包含向左或向右的缩放或平移,我们实际上就运用 LoRA来进行调整,将其作为我们模型潜在层的一个小适配器,以获得完全相同的行为。这是一种极佳的方法,可以以非常轻量级的方式地对这些基础模型进行微调。事实证明LoRA确实很有效。AI界对这种简单易行的微调方式也大加赞赏。
Robin Rombach:这对图像模型而言非常适用。人们将许多不同的LoRA插入这些模型中。
Anjeny Midha:我们还需要进一步探索。当然,我们看到了在视频生成模型的运动控制中LoRA是多么有效。在论文中,您建议使用LoRA来控制摄像机、摇镜头、变焦等。在视频创作的历史之中,创作者所使用的软件里通常都有很多不同的按钮和调节器。无论是 Adobe After Effects还是其他专业软件,人们都可以使用数以百计的调节器和按钮来控制和编辑这些视频。
在您看来,LoRA会替代这些手段吗?在未来,视频导演是否要依靠数百种不同的LoRA来对视频进行控制调整?在您看来,LoRA会遇到某种规模的限制吗?
Robin Rombach:维护一个由数百个LoRA组成的库并不是什么可实施的方案。事实上,现在的模型就像是把图像和动画结合起来。然后,我们再用LoRA来控制微调。实际上,我们想做到的事,完全按照文字指令生成视频。要对视频进行施加更多的控制,可以通过LoRA,也可以通过文字提示或空间运动引导,比如Runway公司推出的“运动笔刷”。
对于视频创作来说,我们需要一些类似于图像模型的东西。我们需要快速合成,就好比是一种视频游戏。输入文本提示后,就能立即看到结果。为了达到这样的用户体验,我们需要额外控制、渲染、采样以及合成这些模型。
Anjney Midha:你们已经把Stable Diffusion模型公之于众,那么你们希望使用该模型的创作者们最先、最深入地探索什么呢?
Andreas Blattman:试验一下这个模型,或者渲染一些有趣的东西,在此基础上做进一步探索。我们用大量的数据训练了这个模型。已经有非常多的运动视频被渲染出来,就算分辨率很低。但仅仅是这些,我们就可以知道学习到的嵌入式表示是卓有成效的。我们通过三维微调证明了这一点。在经过2000次迭代后,看到这个模型已经获得了类似3D的推理。因此,正如我们所看到的那样,看到其他此类方法和开源模式将是非常有趣的。我很期待在此基础上可能的创新。
Anjeny Midha:在大家第一天做的事情当中,我最喜欢的就是生成表情包。
Andreas Blattman:这真的很有趣。
Robin Rombach:人们已经习惯了二维的表情包,但是,我们其实可以尝试把它做成动图。
Andreas Blattman:此外,你也可以生成一些跟艺术品有关的三维模型。每个人都可以在蒙娜丽莎周围转转,看看她从侧面看是什么样子。
Anjeny Midha:这真酷,就是把一幅著名画作作为提示,输入模型生成视频。
Andreas Blattman:就像再现梵高的星空一样,让星星闪闪发光。这真的太棒了。
五、不要依靠算力,要在算力限制内优化算法模型
Anjeny Midha:开源让这个模型在图像视频生成方面取得巨大进步。在您看来,接下来最大的挑战在哪?
Andreas Blattman:生成更长的视频,处理更长的视频。不仅仅是生成视频,还要解析、编辑视频。
Anjney Midha:硬件也是这是制约发展的一大挑战,你认为在这方面,行业内部应该优先解决哪些问题?
Andreas Blattman:这个问题很难回答。我们可以让每个GPU拥有更多的CPU,这样就能解决很多数据加载问题。当然,CPU内存和GPU内存同样重要。但我认为,达到极限只是一种自然而然的结果。你总是想努力提高你的(计算)效率。总是想把模型训练得更快。在某些时候,就会面临瓶颈。比如说遇到一些客观限制,你必须想出一个更好的算法,或者用另一种方法来克服这个瓶颈。
GPU算力不高,数据学习也因此未能取得重大突破。但现在我们有了非常好的加速器,新的H100,这些GPU的实际运行速度和训练模型的速度都快得令人难以置信。但之后你又会遇到下一个瓶颈。我们需要不断学习。最终提高计算效率。
Robin Rombach:从某种意义上讲,算力限制也能推动创新。例如,框架中的潜在扩散模型。我们在大学里开发了这种技术,因为我们有更薄的 GPU,我们以此进行训练。我的意思是,这自然会带来某种创新。事实上,Dolly 3使用的模型和音频编码器一样,都是在单个GPU上训练出来的。
Andreas Blattman:智能也是这样产生的。如果你有一个约束环境,你就必须想出一个更聪明的方法来做事。如果没有任何限制,我们现在的许多问题就不会有那么好的解决方案。
Anjney Midha:没有约束,就没有创造力。尽管你们现在可以使用大量的算力资源,但依旧可以给自己强加一些算力限制。但是,你们不得不与一些规模比你们更大、资金比你们更加充裕的实验室竞争。对此,你们是怎么想的?
Robin Rombach:实际上,竞争也推动了人工智能领域的发展。一年半以来,我们一直都在做扩散模型方面的研究。在这种竞争激烈的环境中工作其实很有趣。我们和世界各地的实验室,和Open AI、谷歌等公司竞争。竞争很激烈,但也很有趣。
Andreas Blattman:我们虽然没有大型实验室,但有一种共同的信念,我们都认为自己正在研究的东西是有意义的。这些研究最终不仅给我们自己带来收获,还会造福社会。
Anjney Midha:我很欣赏你们的学术态度,你们愿意把自己的研究成果公之于众,让更多研发人员学习研究成果,推动AI领域的创新与共享。Dolly 3就参考过你们的研究成果。虽然竞争很激烈,但这也是一个行业内互帮互助的典范,十分鼓舞人心。
Robin Rombach:是的,能够凭借自己的学术成果为AI行业做出贡献,是我们的荣幸。我们将继续如此。
本文来自微信公众号:乌鸦智能说(ID:wuyazhinengshuo),作者:小白