节前,我们组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。
针对大模型技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备面试攻略、面试常考点等热门话题进行了深入的讨论。
总结链接如下:《AIGC 面试宝典》(2024版) 正式发布!
本文将从DiT的本质、DiT的原理、DiT的应用三个方面,带您一文搞懂 Diffusion Transformer|DiT。
一、DiT的本质
DiT的定义:Diffusion Transformer是一种结合了Transformer架构的扩散模型,用于图像和视频生成任务,能够高效地捕获数据中的依赖关系并生成高质量的结果。
扩散模型的定义:Diffusion Models是一种新型的、先进的生成模型,用于生成与训练数据相似的数据,可以生成各种高分辨率图像。
扩散模型的定义
扩散模型的核心思想:Diffusion Models是一种受到非平衡热力学启发的生成模型,其核心思想是通过模拟扩散过程来逐步添加噪声到数据中,并随后学习反转这个过程以从噪声中构建出所需的数据样本。
扩散过程
DiT的本质:Diffusion Transformer是一种新型的扩散模型,结合了去噪扩散概率模型(DDPM)和Transformer架构。
去噪扩散概率模型(DDPM)
DiT的核心思想:Diffusion Transformer的核心思想是使用Transformer作为扩散模型的骨干网络,而不是传统的卷积神经网络(如U-Net),以处理图像的潜在表示。
DiT的核心思想
二、DiT的原理
DiT的架构:DiT架构基于Latent Diffusion Model(LDM)框架,采用Vision Transformer(ViT)作为主干网络,并通过调整ViT的归一化来构建可扩展的扩散模型。如下图所示:
DiT的架构
DiT的核心组件:DiT有三种变种形式,分别与In-Context Conditioning、Cross-Attention、adaLN-Zero相组合。
ViT的核心组件
对应Diffusion Transformer模型架构图中由右到左的顺序:
-
上下文条件(In-context conditioning):这是模型处理输入数据的一种方式,允许模型根据给定的上下文信息生成输出。
-
交叉注意力块(Cross-Attention):该模块允许模型在生成过程中关注输入数据中的特定部分,从而提高生成的准确性。
-
自适应层归一化块(Adaptive Layer Normalization, AdaLN):这是一个归一化技术,有助于加速模型的训练并提高性能。
DiT的三种变形形式
DiT的工作流程:通过引入噪声并训练神经网络来逆转噪声增加的过程,结合Transformer模型,实现图像或视频的生成与变换。这个过程涉及数据预处理、噪声引入、模型训练以及最终的图像或视频生成。
-
数据预处理:将输入的图像或视频数据转换为模型可以处理的格式,如将图像切分成固定大小的patches(小块),然后将这些patches转换为特征向量。
-
噪声引入:在数据预处理后的特征向量上逐步引入噪声,形成一个噪声增加的扩散过程。这个过程可以视为从原始数据到噪声数据的转换。
-
模型训练:使用引入了噪声的特征向量作为输入,训练Diffusion Transformer模型。模型的目标是学习如何逆转噪声增加的过程,即从噪声数据恢复出原始数据。
-
图像或视频生成:在模型训练完成后,可以通过输入噪声数据(或随机生成的噪声)到模型中,经过模型的处理后生成新的图像或视频。这个生成过程利用了模型学习到的从噪声到原始数据的映射关系。
DiT的工作流程
三、DiT的应用
Sora的定义:Sora模型是一种先进的视觉技术模型,以其独特的方式生成视频,通过逐步去除噪声来形成最终画面,使得生成的场景更加细致,并具备学习复杂动态的能力。
视频生成模型作为世界模拟器(Video generation models as world simulators)。
Sora
Sora的核心组件:Sora模型的核心组成包括Diffusion Transformer(DiT)、Variational Autoencoder(VAE)和Vision Transformer(ViT)。
DiT负责从噪声数据中恢复出原始的视频数据,VAE用于将视频数据压缩为潜在表示,而ViT则用于将视频帧转换为特征向量以供DiT处理。
-
Diffusion Transformer(DiT):DiT结合了扩散模型和Transformer架构的优势,通过模拟从噪声到数据的扩散过程,DiT能够生成高质量、逼真的视频内容。在Sora模型中,DiT负责从噪声数据中恢复出原始的视频数据。
-
Variational Autoencoder(VAE):VAE是一个生成模型,它能够将输入的图像或视频数据压缩为低维度的潜在表示(latent representation),并通过解码器将这些潜在表示还原为原始数据。在Sora模型中,VAE被用作编码器,将输入的视频数据压缩为DiT的输入,从而指导DiT生成与输入视频相似的视频内容。
-
Vision Transformer(ViT):ViT是一种基于Transformer的图像处理模型,它将图像视为一系列的patches(小块),并将这些patches转换为特征向量作为Transformer的输入。在Sora模型中,ViT可能被用作预处理步骤或作为模型的一个组件。
技术交流群
前沿技术资讯、算法交流、求职内推、算法竞赛、面试交流(校招、社招、实习)等、与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企开发者互动交流~
我们建了算法岗技术与面试交流群, 想要大模型技术交流、了解最新面试动态的、需要源码&资料、提升技术的同学,可以直接加微信号:mlc2040。加的时候备注一下:研究方向 +学校/公司+CSDN,即可。然后就可以拉你进群了。
想加入星球也可以如下方式:
方式①、微信搜索公众号:机器学习社区,后台回复:星球
方式②、添加微信号:mlc2040,备注:星球
面试精选
-
一文搞懂 Transformer
-
一文搞懂 Attention(注意力)机制
-
一文搞懂 Self-Attention 和 Multi-Head Attention
-
一文搞懂 BERT(基于Transformer的双向编码器)
-
一文搞懂 GPT(Generative Pre-trained Transformer)
-
一文搞懂 Embedding(嵌入)
-
一文搞懂 Encoder-Decoder(编码器-解码器)
-
一文搞懂大模型的 Prompt Engineering(提示工程)
-
一文搞懂 Fine-tuning(大模型微调)
-
一文搞懂 LangChain
-
一文搞懂 LangChain 的 Retrieval 模块
-
一文搞懂 LangChain 的智能体 Agents 模块
-
一文搞懂 LangChain 的链 Chains 模块
相关论文
- 《Scalable Diffusion Models with Transformers》