00:00
各位小伙伴们大家好,在前面的视频当中,我们已经给大家介绍了stableusion的一种训练方式,也就是我们的dream boss,那接下来我们再来看一下训练dream boss的另外一种方式,Laura训练,也就是我们如何使用Laura的方法来完成stableion的训练。在介绍Laura训练方式之前,我们首先来给大家去看一下Laura是什么?Laura的全称是这几个单词,那我们翻译成中文就是大语言模型的DJ适应,那从这个定义上我们就可以看出来laa是用在什么领域当中的,Laa是用在自然语言处理当中的,那这种训练方式哈,它本身呢,就是应用在RRP领域当中,用来微调JPT等大模型的,它的基本原理啊,基本思想呢,就是要冻结预训练好的大模型的权重参数在。
01:00
冻结大模型参数的前提下,我们往这个模型当中添加额外的网络层,在训练的时候呢,我们只去训练这些新增的网络参数,因为这些新增的网络参数哈,相对于我们大模型来讲,它的参数量是比较少的,这样呢就可以降低我们微调的成本,而且还能获得和全模型微调类似的效果,这是我们在这里Laura它进行训练的思想,它的核心啊,就是在原始预训练模型的旁边增加一条支路,在这条支路上呢,我们做一个降维在升维的操作,来模拟所谓的模型训练过程,那下面我们就给大家来看一下laa训练的时候它的整个过程,那我们就通过下面这个图来给大家去说明一下。好,我们来看一下这个图哈,在这个图当中,首先我们来看一下我们的输入,那这里输入就是我们的特征X,然后呢,输出是H,那本来在输入和输出之间,我们是只有一个什么呀?诶只有一个预训练的大模型的,也就说这是我们的大语言模型,如果我们要进行微调的话,也是去微调这个大模型,那现在laa的时候我们就不这样去做了,我们是在这个大模型的旁边增加了一条支路,这条支路在干什么呢?大家看一下,在这里它有两个操作,一个操作呢是A,一个操作是B,然后A的输入维度大家看一下跟谁是一样的,是不是跟我们X的维度是一样的,这是A的输入维度,然后B的输出维度是跟H的维度是一样的,然后大家再来看一下啊,输入X经过A之后它的维度。
02:53
从D变成了二,那这时候大家来想象我们的A是用来干什么的?A是不是就是用来进行降维的,它是用来降维的,也就是说把原来你特征的维度从D变成了一个更小的维度二,一般二呢是远远小于我们的B的,然后再接下来看二,我们的A完成降维之后,B呢是接收A降维之后的结果,那这个结果送到B之后,B输出的结果是谁?是不是这个维度是H的维度啊,那这时候我们的B是用来干什么?B就是一个升维的过程,就是我们在这里这个旁边这条支路当中两个操作,然后经过这两个操作之后,然后呢,输出的结果我们在跟大模型输出的结果相加在一起,就获取到了最终输出的结果,这是我们在这里loa训练的时候,它整体的一个结构,然后下面我们再来看一下。
03:53
在A这个矩阵我们进行初始化的时候,大家看一下我们在这里是用什么来初始化的,是不是用高斯分布来进行初始化的,然后B呢,是用零来进行初始化的,大家想一想啊,我经过A和B的一个处理之后,当我没有进行训练,也就是刚刚初始化的时候,这一部分的输出是不是就是零,这一部分的输出是零,也就说我们这条支路输出的是零,加在我们预训练输出的结果上,它就不会发生变化,也就是说当我新加了这条之路,并且没有进行学习的时候,我的网络结果是不会发生变化的,随着你训练的一个进行,大家想一下,A当中的值是不是会变化,B当中的值是不是也会变化呀,然后这时候这个输出结果作用在我们的预训练模型上,最终就会作用在我们的输出上,影响我们输出的一个结果,这就是我们在这里这个lo训练的时候,它的整体的一个结。
04:53
结构,那在整个训练过程当中哈,大家注意一下我们的预训练模型的权重会不会发生变化,这里的权重是不会发生变化的,我们只去调整A和B的参数,通过调整A和B的参数输出的结果影响在我们预训练模型的输出结果上来达到一个对大模型进行微调的效果。大家来想我们这个A和B的参数量比这个预训练模型的参数量要怎么样,要小得多,所以在这里我去训练的时候,它对我们计算资源的要求也相对比较低一些,这就是我们在这里这种laa的训练方式,好,Laura的训练方式我们就给大家说这些,然后接下来呢,我们来看一下Laura在stable当中的一个使用,Laura这种训练方式啊,我们也可以应用在图像生成领域当中,那Laura在使用的时候就是在不修改SD模型的前提下也说我的SD模型。
05:53
参数是不会发生变化,我利用少量的数据去训练我的旁支,然后这时候我也可以获取到一种新的画风,新的IP或者是新的人物啊,从而实现定制化的需求,那在这个过程当中,我们所需的训练资源是比较小的,也是我们对显存的要求会小一点,所以这种训练方式哈,非常适合社区使用者或者是个人开发者,我们把Laura在训练SD模型的这个过程当中哈,我们用这个数据公式来给它进行一下表示,然后呢,我们来看一下,我们来分析一下这里面具体是什么啊,在这大家看一下这个W0就是什么呢?就指的我们的stable的。
06:34
参数,那这里对应到我们这个图当中,就是蓝色的区域,也就是stable,是预训练模型的结果,然后再接下来看这个B和A,这个B和A呢,就对应着我们在这里这条支路,A是用来进行降维的,B是用来进行升维的,然后在训练的过程当中,B和A的值会发生变化,输出结果作用在我们的预训练模型上,最终我们就获取到了新的结果,也就是simple。
07:02
的最终输出结果就是在元续训练模型的基础上去叠加我们旁路输出出来的结果,获取到一个全新的stable diffusion模型,那这个全新的stableion模型我们就可以进行自己的一个定制,也说获取我们专属的图像生成模型,那这就是Laura训练方式它的一个思想。那现在我们先把视频暂停一下,在下一个视频当中,我们给大家来看一下Laura具体如何来实现对对stable模型的微调。
我来说两句