当前位置: 首页>后端>正文

aigc实习准备

aigc岗位jd:

职责:

1、优化图像/视频/3D等生成模型

2、从事aigc生成模型在小样本学习领域算法训练和优化;

要求:

1、熟悉controlnet、lora、text inversion等生成模型插件模型;

2、熟悉生成模型GAN、VAE、VQGAN、diffusion等;

1、ControlNet ,一种基于生成扩散模型Stable Diffusion、可控生成的AIGC绘画生成算法

摘要:

ControlNet,试图控制预训练大型扩散模型,以支持额外的输入条件。ControlNet以端到端方式学习特定任务的条件输入,即使训练数据集很小(< 50k),效果也很健壮。

此外,训练ControlNet的速度与微调扩散模型一样快,而且该模型可以在个人设备上训练。或者,如果强大的计算集群可用,该模型可以扩展到大量(数百万到数十亿)的数据。

论文表明,像Stable Diffusion这样的大型扩散模型可以用ControlNet来增强,以支持像边缘map、分割map、关键点等条件输入。这将丰富大型扩散模型的控制方法,并进一步促进相关应用:

方法:

ControlNet通过对神经网络模块的输入条件进行操作,从而进一步控制整个神经网络的整体行为。其中,“神经网络模块”是指将一组神经层作为一个常用单元组合在一起构建神经网络,如“resnet”块、“convn-bn-relu”块、多头注意力块、transformer模块等。以二维特征为例,给定特征x∈h×w×c,{h, w, c}为高度、宽度和通道,神经网络模块F(·;Θ)和一组参数Θ将x转换为另一个特征y:

aigc实习准备,第1张

神经网络模块由一种称为“零卷积”的独特类型的卷积层连接,即1×1卷积层,权重和偏差都用零初始化。将零卷积运算表示为Z(·;·),使用参数{Θz1,Θz2}的两个实例组成ControlNet结构

实验

设置中,采样器为DDIM。默认使用20个步骤,三种类型的prompt来测试模型:

(1)No prompt:使用空字符串“”作为prompt。

(2)Default prompt:由于Stable diffusion本质上是用prompt训练的,空字符串可能是模型的一个意外输入,如果没有提供prompt,SD倾向于生成随机纹理。更好的设置是使用无意义的prompt,如“一张图片”、“一张漂亮的图片”、“一张专业的图片”等。在设置中,使用“专业、详细、高质量的图像”作为默认prompt。(3)Automatic prompt:为了测试全自动流程最好的效果,还使用自动图像caption方法(如BLIP)。使用“Default prompt”模式获得的结果生成prompt,再次使用生成的prompt进行扩散生成。(4)User prompt:用户给出prompt。

2、lora

LORA是一种低资源微调大模型方法,出自论文LoRA: Low-Rank Adaptation of Large Language Models。?使用LORA,训练参数仅为整体参数的万分之一、GPU显存使用量减少2/3且不会引入额外的推理耗时。

2.1 针对的问题

全量参数 Fine-tune 需要调整模型全部参数,随着预训练模型规模的不断扩大(GPT-3,175B),全量 Fine-tune 的资源压力也倍增。高效、快速对模型进行领域或任务的微调,在大模型时代极其重要。针对全量 Fine-tune 的昂贵问题,目前主要有两种解决方案:

Adapt Tuning。即在模型中添加 Adapter 层,在微调时冻结原参数,仅更新 Adapter 层。

具体而言,其在预训练模型每层中插入用于下游任务的参数,即 Adapter 模块,在微调时冻结模型主体,仅训练特定于任务的参数。

2.2 LoRA 的思路

如果一个大模型是将数据映射到高维空间进行处理,这里假定在处理一个细分的小任务时,是不需要那么复杂的大模型的,可能只需要在某个子空间范围内就可以解决,那么也就不需要对全量参数进行优化了,我们可以定义当对某个子空间参数进行优化时,能够达到全量参数优化的性能的一定水平(如90%精度)时,那么这个子空间参数矩阵的秩就可以称为对应当前待解决问题的本征秩(intrinsic rank)。

2.3 LoRA 的优势

可以针对不同的下游任务构建小型 LoRA 模块,从而在共享预训练模型参数基础上有效地切换下游任务。

LoRA 使用自适应优化器(Adaptive Optimizer),不需要计算梯度或维护大多数参数的优化器状态,训练更有效、硬件门槛更低。

LoRA 使用简单的线性设计,在部署时将可训练矩阵与冻结权重合并,不存在推理延迟。

LoRA 与其他方法正交,可以组合。

题库整理

【一】Stable Diffusion系列模型(五星重要!!!!!)

1、Stable Diffusion的基本原理?

stable diffusion模型是一种条件概率模型,它通过学习大量图像数据,能够根据给定的条件生成新的图像。这些条件可以是文本描述、图像样式或其他形式的输入。模型的核心在于理解和转换这些输入条件,从而创造出符合要求的图像输出。

diffusion模型是一种无监督的生成模型,它的基本思想是将一个真实的数据(如图像、文本、音频等)通过逐步添加高斯噪声的方式,转化为一个服从标准正态分布的随机变量。然后,通过一个反向的去噪过程,从随机变量恢复出原始的数据。diffusion模型可以用于各种生成任务,如文本到图像、图像到图像、图像修复、图像绘制等。

Stable diffusion是diffusion模型的一种改进版本,它主要解决了原始的Diffusion模型在反向去噪过程中需要输入完整尺寸的图像,导致速度慢和内存占用大的问题。stable diffusion的方法是先将图像压缩到一个低维的潜在空间,然后在潜在空间进行扩散和去噪,最后再将潜在空间的向量映射回原始空间。这样可以大大提高生成速度和节省内存。stable diffusion是一种生成模型,其原理基于Langevin动力学和扩散过程。其核心思想是通过多次迭代,逐渐将噪声信号演化为目标分布所对应的样本。

2、Stable Diffusion的主要结构?

stable diffusion的工作原理基于深度学习中的生成对抗网络(GANs)和变分自编码器(VAEs)。它利用这些技术生成图像,并通过不断的训练和优化,提高生成图像的质量和真实性。在此过程中,模型不断学习如何更好地理解输入数据和生成满足条件的输出。

3、Stable Diffusion中VAE的作用?

变分自动编码器(VAE)神经网络有两个部分:(1)编码器和(2)解码器。编码器将图像压缩到潜在空间的更低维表示。解码器从潜在空间恢复图像

4、DDPM的算法原理?

扩散模型DDPM(全称Denoising Diffusion Probabilistic Models)

DDPM模型主要分为两个过程:forward加噪过程(从右往左)和reverse去噪过程(从左往右)。加噪过程意思是指向数据集的真实图片中逐步加入高斯噪声,而去噪过程是指对加了噪声的图片逐步去噪,从而还原出真实图片。加噪过程满足一定的数学规律,而去噪过程则采用神经网络来学习。这么一来,神经网络就可以从一堆杂乱无章的噪声图片中生成真实图片了。

【二】 LoRA模型 (五星重要!!!!!)

( 除了Stable Diffusion系列模型之外,LoRA模型可以说是AIGC算法工程师接触到最多的模型了,我们需要对LoRA模型的基本原理,训练方法,LoRA的优势,LoRA的使用技巧等方面要有比较好的了解。 )

1、介绍一下lora的原理。

Lora方法的核心是在大型语言模型上对指定参数增加额外的低秩矩阵,也就是在原始PLM旁边增加一个旁路,做一个降维再升维的操作。并在模型训练过程中,固定PLM的参数,只训练降维矩阵A与升维矩阵B。

2、在对大型预训练语言模型进行微调时,LoRA技术是如何工作的?它的核心思想和具体实现步骤是什么?

LoRA是一种创新的参数更新方法,它允许在保持原始预训练模型权重不变的前提下,以高效且资源节省的方式对大型语言模型进行适应性调整。以下是LoRA实现原理的核心内容:

1. 核心思想:

? LoRA的基本理念是避免直接修改大规模预训练模型的所有参数,而是通过引入低秩矩阵来表征参数空间中的微小变化。

? 这种方式旨在减少计算和存储成本,并在不影响模型性能的前提下提高微调效率。

【三】 ControlNet ,一种基于生成扩散模型Stable Diffusion、可控生成的AIGC绘画生成算法 (五星重要!!!!!)

1、ControlNet核心基础原理

ControlNet是一种“辅助式”的神经网络模型结构,通过在Stable Diffusion模型中添加辅助模块,从而引入“额外条件”来控制AI绘画的生成过程。在使用ControlNet模型之后,Stable Diffusion模型的权重被复制出两个相同的部分,分别是“锁定”副本和“可训练”副本。其中“锁定”副本中的权重保持不变,保留了Stable Diffusion模型原本的能力;与此同时,使用额外数据对“可训练”副本进行微调,学习我们想要的添加的条件。没有任何权重是从头开始训练的,所以我们使用小批量数据集就能对控制条件进行学习训练,同时不会破坏Stable Diffusion模型原本的能力。

2、ControlNet有哪些Preprocessor方法

ControlNet一共有15种模型,每种模型对应不同的采集方式,再对应不同的应用场景,每种应用场景又有不同的变现空间

提示词的作用是奠定整个图的大致画面;Lora的作用是让图片主体符合我们的需求;ControNet的作用是精细化控制整体图片的元素——主体、背景、风格、形式等

【四】 什么是langchain,原理是什么,有什么应用?

langchain是一个用于开发基于语言模型的应用程序的框架,它可以简化构建高级语言模型应用程序的过程。它提供了一套工具、组件和接口,可以轻松管理与语言模型的交互,将多个组件链接在一起,并集成额外的资源,例如API和数据库。

【五】 stable diffusion和gan哪个好?为什么 ?

Stable diffusion是一种基于随机微分方程的生成方法,它通过逐步增加噪声来扰动原始图像,直到完全随机化。然后,它通过逐步减少噪声来恢复图像,同时使用一个神经网络来预测下一步的噪声分布。Stable Diffusion的优点是可以在连续的潜在空间中生成高质量的图像,而不需要对抗训练或GAN的损失函数。缺点是需要较长的采样时间和较大的模型容量。Stable Diffusion更适合需要高质量和连续性的图像生成任务。

GAN是一种基于对抗训练的生成方法,它由一个生成器和一个判别器组成。生成器从一个随机向量中生成图像,判别器从真实数据和生成数据中区分真假。GAN的优点是可以在离散的像素空间中快速生成图像,而且可以通过不同的损失函数和正则化方法来改善生成质量和多样性。GAN的缺点是训练过程可能不稳定,导致模式崩溃或低质量的输出。而且GAN需要仔细调整超参数和损失函数来达到好的效果,这可能很耗时和困难。GAN更适合需要快速和多样性的图像生成任务。

总结如下:Stable diffusion:①训练过程稳定;②可以生成多样性的图像;③适用于图像修复、去噪等任务。④缺点:生成速度相对较慢;GAN:①能生成高质量的图像;②在某些任务上(如图像到图像翻译)表现优秀;③缺点:训练过程可能不稳定,生成的图像多样性不足


https://www.xamrdz.com/backend/38g1940989.html

相关文章: