你的老板是不是也给你提过这种需求,把公司过去十年的几万条客服对话记录,或者成吨的法律合同、金融研报拿去训练一下,做一个懂业务、懂合规的专属 ai。 但当你兴奋的把数据位给通用大模型,却发现他要么一本正经的胡说八道,要么呢训练的算力成本高到让老板直接劝退。那怎么办呢?难道在电商大促、法律合这些专业场景里,我们就只能用通用的 ai 来凑合吗? 今天我们要讲的 loro 技术,能让你用极低的算力投入,把一个什么都懂一点的万精油模型,迅速改造成一个懂你们公司所有细节的老员工。我们就分四个部分来拆解。第一部分我们先讲一讲 loro 的 核心概念和背景,从它的源头讲起, 也就是限行贷数里面的低质到底是什么意思。这一部分我们会把基础打牢,让你知道这个技术是为了解决什么痛点而诞生的。 有了概念之后呢,我们要深入一下,看看它的数学原理和实现机制。理解了这一部分在面试里绝对是加分项,那么搞懂了原理。第三部分是代码实现与工程落地,让你看完就能够马上上手干活。 最后我们还要讲一个进阶玩法, q laureo 以及最佳实践总结。如果你手里的显卡资源有限,那么 q laureo 就是 你的救星,我会总结一套避坑指南,帮你省去很多报错的时间。 话不多说,我们直接进入第一部分,来正式认识一下 lora。 lora 这个名字其实是 low rank adaptation 的 缩写, 翻译过来就是低智自适应。这个词听起来可能有点拗口啊,因为它源自先天代数里面的一个概念,低智矩阵。但是大家不要被这个数学名词吓跑了,我们从它的英语单词 adaptation 就是 适应或者是适配的意思来理解就容易多了,你可以把它想象成一个转接头或者是一个外挂加载器。 那为什么要发明这个外挂呢?是因为在 lora 出现之前,如果我们想要一个大模型,学会特定的任务,比如说你让 lora 七十币去写一份医疗报告,我们通常需要做全餐微调, 这意味着我们要把模型里面几十亿甚至几百亿个参数全部都更新一遍,这带来的显存消耗是非常巨大的,算力成本也是很惊人的。 这对于我们普通开发者或者小公司来说,这简直就是家里没矿别碰。所以 laura 的 思想就诞生了,它的逻辑非常巧妙,我不去动那个原来那个庞大的基座模型, 我把它给冻结住啊。我在原来的模型旁边,利用向量数里面这个低质分解的方法,加了一个非常小的额外的一个参数模块 adapter。 我 们在训练的时候只训练这个小小的模块, 原模型一点都不动。这样一来呢,门槛就瞬间降下来了。接下来我们可以来看一下这种方法在架构图上具体长什么样子,它到底能省多少事。这张图就非常直观的展示了 lower 的 魔法。 首先我们看左边这张图是常规微调,你可以看到整个这个粉色的方块代表我们要更新的参数。在以前,无论你是为模型什么数据,我们都要调整整个模型的权重, 就像你要装修房子,昂贵的微调呢,相当于把整个房子的承重墙啊,地板啊,天花板全拆了,重装工程量极大。 那我们再看右边,就是 lora 微调了,注意看灰色这个大方块,这是我们训练好的基座模型权重,它是被冻结的,不参与更新。在旁边呢,出现了两个粉色的小梯形,看到没有?那 lora 的 核心逻辑就是,既然不动大模型,那我就只训练这两个小矩阵, 数据流过来,同时经过大模型和小矩阵,最后呢,把结果加起来。这样做的好处是,我们不需要拆房子了,我们只是给房子加了一层软装,或者是挂了几幅嗯,好看的画,还有换了一下墙纸,但是效果呢,却很好,能让房子焕然一新。 那么这个软装到底有多轻量级呢?我们可以简单看一下这个右边的饼状图,绿色的这一大块占了百分之九十五,甚至更多,这是原本被我们冻结住的基座模型的参数,完全不需要占用, 完全不需要占用训练的梯度显存,而蓝色这一小块往往只有百分之五,甚至还不到,这才是我们真正需要微调训练的参数。这就解释了为什么用 dora 技术,我们可以在单张消费级显卡上去微调,那些原本是遥不可及的那种,嗯,百亿级参数大模型。 好。那么讲到这里,大家应该对 lora 省钱省力的原理有一个崭新的认知了。那么这两个小梯形啊,这两个小矩阵 a 和 b 到底是怎么分解出来的呢?他们在数学上是怎么保证效果的?接下来我们进入第二章拆解 lora 的 数学原理。 大家可以先看一下左边这个橙色的大方块,代表我们模型里面原本的一个权重矩阵,假设它的尺寸是一千零二十四行,乘以一个五百一十二列。如果我们要存下这个矩阵,需要多少个参数呢? 算一下,大概是十二万多。 lo 的 魔法就在于他利用线段数的原理,把这一个大方块拆解成了右边这两个瘦瘦的小矩阵相乘。一个是竖着的粉色矩阵,它的尺寸是一零二四乘以三十二。 一个横着的绿色矩阵尺寸是三十二乘以五百一十二。根据矩阵乘法的规则,这两个小矩阵相乘,乘在一起得出来的形状依然是 一零二四乘以五百一十二,跟左边是一模一样。但是呢,神奇的是,这两个小矩阵加起来的参数量只有多少?只有四万多,四万九千多五十二万,对比四万九,参数量直接压缩到了原来的百分之九。这就好比什么呢? 你要背一本书,全仓微调是你要把整本书给背下来。而 loo 呢,只需要你记住目录和几个关键词,也能够把书的内容复出个八九不离十,这就是它省显存的根本原因。想必大家已经注意到了,我们这个例子里面的三十二这个数字是可以随便变的吗? 这就引出了 loo 里面最重要的一个概念, rank 值来看这一页,这个 r 就是 rank, 它决定了中间这两个小矩阵的瓶颈有多细。在实际的训练中,是一个我们可以自己设定的超参数, 通常呢,我们会选用一二四、八十六、三十二这样的数值原则,就是要远远小于 n 和 d, 也就是原始矩阵的长和宽。那么选多少好呢?是不是越大越好啊?大家可以看这一张图,这是原论文里面的实验数据, 你会发现,当从八增加到六十四甚至更高时,模型的效果也就是这个损失值啊,其实没有很大的变化,这说明大模型其实并不需要那么多新参数来适应新任务。所以在实际工程中,我们一般推荐把 rank 设置在四到三十二之间,性价比最高,选大了反而浪费,捡存也没有必要。好了,现在我们矩阵拆好了,大小也定好了,那当我们开始训练的那一刻,系统内部发生了什么呢?这两个小矩阵里面填的是随机数吗? 这里非常关键,关系到 lora 训练稳不稳定。我们的两个小矩阵,矩阵 a, 我 们使用的是随机高斯分布来出式化,里面填的是正负随意的小数。但是这个矩阵 b 啊,我们在最开始必须把它全零出式化, 里面全都是零,大家看到没有?那为什么要这么做呢?因为根据数学原理,任何数乘以零都等于零,所以在训练的开始的第一步, e 乘以 a 的 结果是零,这意味着模型一开始完全等于原始的基作模型就是这个 w 新增的 log 旁路没有产生任何的噪音。 这就好比你新员工刚进公司,先不要乱说话,先在旁边静静的学,等学到了东西,再慢慢的开始发表意见,这样才能够保证模型不会一开始就崩掉。最后我们来看一下下面这个公式,这里出现了一个新的参数,阿尔法这个缩放因子,这个阿尔法和 r 的 值完全取决于我们自己, 那么这个比例我们应该怎么理解呢?举个例子,假设我们在前面选的 r 等于四,如果我们把 r 法也设置为四,那么这个比例就等于一,对不对?这时候我们训练出来的那小块参数是多少?就原封不动的加回去,不多不少,不缩不放,相当于直接来做加法, 模型更新的幅度就是训练出来的原始值。但假如啊,如果你觉得这个步子迈的太大了,万一掉过头,模型崩了怎么办? 就可以把 r 法调小一点,比如说设置为二,这时候 r 法除以 r 等于 n, 二除以四就等于零点五嘛, 相当于你把训练出来的权重整体砍掉一半,再加回去,模型变得更加温和更保守了。如果你把 r 法设的更小,比如说不到一,比如说它等于零点五,这个 r 呢?它还是四,那么这个比例就等于零点一二五了, 这时候你加回去的东西几乎微乎其微。那么问题来了,这个比例到底是影响的什么呢?其实它主要是影响我们在微调训练时的有效学习率,如果你的 r 法和 r 取一样的值,也就是比例为一, 那通常我们可以用一个比较常规的学习率去训练,不用来回的调整,因为你的更新量就是原汁原味的。但是一旦你改动了这个比例,比如说把 r 加大了,或者把 r 法调小了,导致这个模型变小,或者是你把它变大,那你很有可能得配合着调整学习率。为什么呢?因为 实际作用到模型上的更新不长,其实是学习率乘以一个阿尔法除以二。如果你这个成绩太小了,模型就学不动,半天没变化,如果太大呢,又容易震荡, 甚至直接发散,越训越差。所以我们可以把这个阿尔法看作是一个放大镜或者学习率的平衡感 调节,它就是为了找到那一个让模型学的最舒服最稳定的节奏。好了,讲到这里,我们的数学原理部分就通关了,其实总结下来就三句话,大矩阵拆成小矩阵,然后 b 矩阵全零,抽象,用 r 法和 r 的 比例来控制学习的力度。 懂了这些原理,接下来我们去写代码的时候,你就知道那些参数为什么那么填了。下面我们直接上代码,大家可以先看一下代码,如果你要自己手动去用 type 原生代码去写 lower 的 话,大概就是这个样子。 这里的核心逻辑完全对于我们刚才讲的原理,我们现在要实现的其实就是 w、 q、 w、 k、 w、 v 这几个权重矩阵。具体的做法就是 出使画两个不同的矩阵, b 和 a, 然后通过 b 乘以 a 来得出结果。这里不管是 q、 k 还是 v, 逻辑都是一样的,所以我们只看 q 就 可以了。 大家看第二行 luo 的 q 矩阵里面这个 b 我 们出水化成了全零矩阵,是 d 乘以 r 的 形状,那 a 呢?它是随机高斯分布,形状是 r 乘以 d, r 行 d 列可以退回去看一下我们刚才讲矩阵分解的那张图,是不是就是一个竖的乘一个横的?那么这两个矩阵相乘得出来什么呢? d 乘 r 乘以一个 r 乘 d, 中间这个 r 就 抵消了,最后的结果呢,是 d 乘 d 的 矩阵,这刚好就还原了原始模型中 w、 q 的 形状。 同理, a 和 v 也是完全一样的套路物理化做完之后,我们再去生成最终的 q、 k、 v 参数时,就非常简单了。你看代码的第十二行到第十四行, 说白了,这就是把原来那个又大又重的权重矩阵拆成了两个小矩阵的成绩。我们只训练这两个小矩阵,就能够间接的更新原来的参数。所以啊, loo 的 核心其实并不复杂,它只是利用了先进代数里面的矩阵分解的思想,让微调变得既高效又清亮。 当然,在实际工作中,我们很少会去手写这一段代码,大部分时候我们是直接用封装好的库,大家可以看右边,这是 hackface 的 eft 库, eft 的 全称是 kilometer efficient fine tuning, 指的就是高效参数的模型微调。这个库呢,大部分时候都是和 lora 绑定在一起用的,这才是我们在公司里面跑模型微调的时候,真正每天在写的代码。这里面有几个参数是我们经常见到的, 这时候我们再来看,你就可以彻底理解了。你看,它所有的复杂逻辑都被封装进了一个叫 lora config 的 配置里面, 这一行 r 法等于一, r 等于八 r 法,就是我们刚才数学公式里面那个分子, r 呢,就是那个分母嘛,我们刚才也说了, r 就是 我们希望这个小矩阵降低到什么程度的一个浮动值,你可以取 二四八等等,取的 r 越小,我们的参数量就越小,模型跑起来就越快。你在这里只需要填好数字,剩下的全都交给这个库去处理。然后这里有个很重要的参数叫做 target modules, 简单来说,它就是我们用来指定在模型的哪些模块或者是哪些层上面去应用 loo 微调的配置项。 loo 的 应用范围其实非常广,它可以加在我们刚才讲的 q、 k、 v 投影层上,也可以加在 输出投影层 o 上面,甚至还能用在前馈神经网络 f f n 里面。换句话来说,模型里面几乎所有的限行层理论上都可以被 loo 覆盖,而且我们可以按需选择灵活组合,想微调哪一部分,你就微调哪一部分。 那我们就来简单拆解一下这个列表里面的每一个字母串具体是代表什么。首先这个 q、 k、 v 和 o 这四个呢,是注意力机制 attention 中的四个线圈变换层,分别用于生成 query, key, value, 还有最终的输出。 下面这个 gate up 还有 down 这三个呢,是属于模型的前馈网络 f f n 部分。简单介绍一下, f f n 是 transform 中负责非限性特质变化的关键模块,通常参数量非常非常大,所以也是 lower 微调的热门选择。那我们到底是怎么去选择呢? 答案我们刚才也说了,完全看你的任务需求和资源限制,非常灵活,你只微调注意力层,比如说你只加 q approach, 还有 v approach, 也可以只调 f f n 或者是全部加上做一次全面的微调,很多任务中不同的组合效果差异很大,建议大家多尝试,多对比。主要呢是看一下在你的数据集上,哪一种策略效果更好,显存占用更低。好了,这么讲下来,大家下次再看到 pft 库里面这个 target modules 配置表的时候,应该一眼就能够看出它到底在干什么了。好啦,但前面的代码和配置大家都看懂了,逻辑其实非常简单对不对?但是在实际动手的时候啊, 很多人会遇到一个更现实的问题,显卡不够用。哪怕你用了 lora, 如果你想跑 luma 三七十 b 这样的大模型,光是把基座模型加载到显存里面,可能就需要一百四十 g, 那 怎么办呢?难道显存小就不能玩大模型了吗?当然不是,这就需要我们用到压箱底的技术 q l 了。 q lora 这个 q 代表的是 condition, 就是 量化的意思。那 q lora 也就很好理解了,就是量化版的 lora, 它的核心逻辑没有任何的变化,架构还是原来的架构。 唯一的区别在于,我们在做 lora 微调的时候,把底座模型的精度给砍了一刀。看一下图,原来我们的模型可能是三十二位浮点数或者是十六位的,而在 q lora 里面, 我们把它量化到了四 bit 四位整形。这样做有什么好处呢?因为计算精度降低了,矩阵计算的速度会更快,同时呢,这样的显存会大幅减少,这就是 q l 存在的唯一目的,降本增效。 通过四 bit 量化,我们甚至可以在消费级的 g p u 上,比如说你有一块 r t x, 三零九零或者是四零九零去跑那种原本想都不敢想的超大模型, 这要是在以前是必须要有 a 一 百级群才能干的事情,现在呢,单卡就能跑起来了。而且因为我们只训练 lora 那 一小部分,参数可能就百分之零点零一到百分之一, 所以上市的权重文件非常小,可能就只有几十 gmb, 这就意味着我们可以很轻松地保存、切换不同的模型版本。所以说 q 二最适合的就是资源受限环境下的超大模型微调。比如你只有单张 gpu, 但是又想定制一个医疗或法律领域的专用大模型, 或者是做快速原型开发,想低成本验证一下想法,那 q laureo 绝对是你的首选好课程的最后,我们来做一个大总结,我们今天讲了 laureo 的 原理,看了代码,也学了 q laureo, 为了让你们在项目中啊少走弯路,我把整节课的精华浓缩成了五条最佳实践指南。 一、参数最小化 laureo 的 核心就是轻量化,在保证效果的前提下,尽量减少可训练的参数规模,不要贪大。第二,工具标准化, 不需要手写矩阵分解了,优先使用我们刚才演示的 pft 库,它提供了标准化的接口,能让你快速实现微调,把精力放在数据上,而不是代码上面。第三点,全限层覆盖,意思就是对所有限层应用 logo, 也就是我们在配置 target modules 的 时候,把 q k v o, gate up, down 这些全部配上, 这样模型的学习能力啊是最强的。下面呢,还有个小坑值得大家注意一下模型里面的编制和层规划,他们的参数量非常小,但是对稳定性很重要,所以我们在训练的时候通常不把他们纳入 lora, 而是让他们保持原样或者是独立训练就可以了。最后一条,只要你是单机 gpu 或者是显存不太富裕, 直接无脑选择。 q laureo 利用了量化技术,它是我们目前解锁大参数模型训练的最主流最经济的方案。好了,以上就是我们关于 laureo 和 q laureo 的 全部内容了,希望大家听完之后能亲手去跑一跑代码,训练一个属于你自己的大模型。
粉丝9.0万获赞13.9万

从本节开始,我们会新开一个系列,讲讲捞热模型训练的内容。第一节课,我们一起来看一下如何配置软件并炼制自己的第一个私人定制捞热模型。正文开始训练一个捞热总共分五步,分别是,一、 下载软件二、准备训练级。三、给训练级打标签。四、训练 laura 五、测试 laura 首先下载软件,你需要先下载秋叶的 laura 训练一件安装包,然后再下载一个 stable defusion 的基础一点五模型。 注意,这里最好是下载未经裁剪和微调的原声 sd 一点五模型,否则训练出来的 laura 泛用性会稍微有点差。当然,如果你实在硬盘空间紧张,也可以用之前下载的 sd 一点五模型替代解压 laura 训练一件安装包,路径上最好都 不要有中文。然后将第一步下载好的 sd 一点五的模型移动到 sd models 文件夹, 回到根目录下,双击 a 启动脚本, but 就可以启动软件了。启动完成后会自动在浏览器中打开 s d trainer 软件。到这里环境部分就准备完成了, 这里会有新手和专家两个模式,本节课程主要讲新手模式来训练捞啊。第二步,准备训练级你需要提前准备好二十到三十张训练图像, 比如说相同画风的素材或者同一个人物的图片素材。作为新手课素材不需要要求太多,重点需要每张图片都在五幺二像素乘五幺二像素以上,尽量清晰一点就可以了。接下来你需要将所有的图像处理为统一的尺寸,这里就统一通, 通过 photoshop 将图像处理为了五百一十二乘五百一十二的图像大小,你可以按照自己的习惯对图像进行命名,文件和文件夹都不要出现中文就可以了。复制文件夹的路径 第三步,给训练级的图片打标签在训练模型前,我们需要告诉 ai 每张图画的内容是什么,如果要手动来标记就太麻烦了, 所以 s d trainer 软件直接集成了一键打标签的能力。回到 s d trainer 软件,点击 w d 一点四标签器, 找到路径这一栏,将刚才复制的训练级图片路径粘贴在输入框里,下边的参数都不需要调整,点击启动按钮即可。看到 tiger 任务已提交提示后,就正式进入了自动打标签过程。你可以切换到后台看 下打标签的进展,这个过程一般比较快,看到识别完成就是完成了打标过程。切换到训练级的文件夹,可以看到每张图片后边都多了一个同名的文本文件,打开可以看到描述这张图的标签级。将这个文件夹整体复制或者剪切到 lower scripts 文件夹下的纯文件夹下, 重命名为你自己将要炼制的 lord 的名称,注意还是要用英文或者拼音。第四步,开始模型训练,切换到 lord 训练的新手模式下, 配置底膜文件路径,点击右边的文件夹,找到我们第一部放好的 sd 一点五模型,看到选取成功说明模型配置成功了 训练数据及路径,同样点击右边的文件夹,找到我们第三部放好的文件夹,点击选择文件夹,完成训练级的配置。模型保存名称这里修改为 想要生成捞热模型的名字,其他的参数都不要修改,直接点击开始训练就可以了。看到训练任务已提交,接下来的事情就交给显卡吧。如果不放心,也可以切换到后台,看下任务的执行情况。看到训练完成这行字就说明捞热训练顺利完成了。 打开 laura scripts 文件夹下的 output 文件夹,这个不带编号的文件就是最终训练出来的 laura。 这些带编号的 laura 是过程中产生的 laura 存档,对于 laura 训练来说,不一定最后的才是最好的,有时候过程中的 laura 会比最后的 laura 要好, 所以这些暂时不要删除。这个时候可以关掉 lower 训练的后台了。第五步,测试 lower 效果。我们复制所有的 lower 文件,复制到你 weboy 用来放 lower 的地址下。 为了跟之前常用的 laura 区分开,可以新建一个名为 test 文件夹,并将刚才复制的所有 laura 粘贴进去。启动 will be u i 切换你比较常用的大模型,关掉 fi clip, 中指层数调整为一,输入提示词并选择刚才训练好的 lord。 可以适当降低权重,选择常用负面提示词 embedding。 开启高分辨率修复。点击生成即可查看 lora 的实际效果。 可以切换不同的 lura 和权重,查看每个 lura 的实际影响和效果。还可以将之前训练集中的 tag 输入到 纹身图中进行效果验证。 那么问题来了,有了这么多 lord, 到底哪个才是效果更好的 lord 呢?除了手动测试外,有没有更高效的测试方法呢?其实是有的, 下节课我们来聊下如何高效测试 lora 或者关于 lora 训练。你还想要了解哪些内容,可以留言告诉我。这里是专注 ai 绘画的聚梦小课堂,记得关注我呀!

大家选 logs 是不是都这样?记住这串串英文名是哪个类型的劳拉呢?如果碰上英文不好的,还要去西站看看记录才能工作。现在跟大家分享一个 stable defusion 新手都不知道的小知识。第一个,劳拉面板,这里其实可以看到对应的图片的 lola 面板默认的是灰色,这种没有图片的,有了缩略图,想要用哪个 lola 看到图片就方便很多。现在带大家怎么操作?我就以国风二这个 lola 为例,先到西站找到它对应的图片, 随便找到一张图片保存到桌面,然后拷贝到 lola 的文件夹内,把图片的名字与 lola 模型的名字改为一致。 记得图片的后缀必须是 p n g 格式的,如果不是把它 它改为 p n g 格式。回到捞的面板,刷新对应的图片就显示出来了,以后想要选捞的就方便很多。关注我,每天分享 ai 小干货!

呃,大家好,今天我想跟大家分享一项大圆模型的微调技术,叫 laura laura l o r a, 它的全称是 low rank adaptation。 这是一个什么东西呢?这是一个用来微调大圆模型的技术,它在微调大圆模型,比如说类似于像 chat gpt 啊, lama two 啊, cloud 等等中发挥的非常重要的作用。 那么它具体是干什么用的呢?呃,正如大家所知的,像拆字 gpt 这种强大的聊天机前,它在训练的时候会占用非常大量的资源,会经过大量的预训练。 呃,这样它在面对通用任务上很完美,但是在面对一些特定领域,比如说金融领域的时候,它其实很难做的特别的好,金融或者医疗等等。如果你想要用它来做你自己的特定的领域,你就需要把模型针对你的数据进行微调。 但是呢,微调这件事情它其实并不容易啊。首先,比如说像 g p g 三拉玛等这类的拆人的大模型,它们的规模其实也很大, 会涉及到数百亿或者更多的参数。当我们在对它进行训练的时候,其实往往以不管是个人还是对很多小公司来说,微调它的开销都是呃,训练它的开销都是特别大的。所以说这就意味着 哪怕你即使是对它微调,你也要对它的每只参数进行计算,并且保留梯度,这就需要非常多的计算空间和存储资源。呃, 在训练的时候,我们知道我们的模型要先计算一遍参数,呃,然后要对参数进行梯度训练,这就意味着你存储的 gpu 的 内存是翻倍的。所以说,呃,微调的时候对大模型来说其实很容易迅崩的,那么 这就是我们为什么要用 lara 这个技术啊? lara 是 怎么解决这个问题的呢?其实他的原理也很简单,首先他把模型的训练参数 给冻结了,然后他新增了一个新的训练的参数,把这新的训练参数加在原来的训练参数上,然后在训练的时候呢,他就只微调这部分新增的参数啊。那么有同学就要问了,说,你你你,你纯新增了 一个相同大小的训练参数,对吧?然后又把这相当的训练参数加在原来的参数上面,这真你这个 就感觉完全没有意义啊,是吧?你白白的增加了你的,呃,你的,你的内存,虽然你在训练的存储没有增加,你只是加上去吧,但是 你在硬盘上你存了二倍的数据,对吧?呃,那么这里就涉及到这点,就是说,你看我在微小的时候,我只训练这个我增加的参数,对吧?但是我训练这增加的参数不代表我要训练原本的全部的参数啊。 这里就要涉及到我们对 lara 的 核心技术的解释,就是说 lara 为什么能够帮我们减少它计算的复杂度 啊?首先我们先了解一个基本的知识啊,就是在我们啊神经网络预算的时候,我们是怎么把模型进行训练的?他在训练的时候呢,他的每一层首先会先做一个矩阵的乘法,然后再加上一个偏置,所以说呢,矩阵的权重,模型的权重,矩阵 里面的参数其实就是模型的主要的参数,就是模型计算的核心。而 laura 的 目的呢,就是把我刚才说的这样一个大的参数矩阵,把它进行低质的分解,它可以把它分解成更小的两个矩阵,这样一来就可以减少微调的参数。简单来说就是 原本我们需要训练一个很大的矩阵,和原的原本模型的矩阵一模一样大,但现在通过拉二,我们可以把它分解成两只正小的矩阵,通过训练这两只正小的矩阵,然后把这两只正小的矩阵撑起来,加回去,我们就可以减少他的训练量。 那么有人会问了说,哎,你看我原本是模型是一只很大的矩阵,对吧?现在你变成两只小的矩阵,那么你的信息会不会是有损失?这涉及到这概念了,就是每只矩阵都是有质的。什么叫质?质?就是矩阵中线性互相独立的列的个数啊。 比如说,如果说一个矩阵的列他能被矩阵的其他的列所推演到,那么我就认为这只列是不必要的,他可以被删掉。 呃,简单来说就是如果你的工作能够被其他两只人替代的话,我们就把你从这个部门干掉,让其他两只人来做你的工作。大家就是这个意思。所以说我们通过 lara 可以 去除那些原本的模型中现已相关的质,就是把原本模型里涌余的一些参数给 去掉,只保留模型中原本模型的矩阵里那些非必要的信息,然后再把这些必要的信息加回去,这就是 lara 的 一个基本的原理。 也同时这也是为什么用 lara 微调更快,因为你相对来说训练的参数更小,你分解成了两只更小的啊,现行现行,现行,独立的矩阵 啊。那么其实还有其他很多的微调方法我们都知道,比如说像一些适配器层的方法,像 adapt adapt layers, 对 吧?它会在啊,我们都知道 transference blotch, 它是一个一层一层一层往下储存, 逐层计算的架构,然后通过添加至 adapt adapter layers, 我 们可以在层和层之间增加这些微调层,然后你把主要的 block 的 more parameters 冻结,然后只训练这微调层,其实也可以达到类似的效果,但是我们为什么不这样做呢?就是因为你看刚才我比的这个手势, 它是一个限性的,比如说你加三层,那么你就多三层限性的延迟。呃,相比之下 lara 是 是怎么事呢?就是你 mod 在这边算,我 lowren 在 这边,在在这边拆,它是一直平行的,平行下来的,所以说它基本上是没有延迟的,但 deviator layers 有 延迟,这就是为什么就是 lowren 大 于 a deviator layers。 那 么第二者有人问了,说说其实微调还有一种方法叫,叫什么叫 prefetch programming。 什么叫 prefetch programming 呢?就是说我,比如说我现在有人 toto, 我在他前面加着前缀,加很长的前缀词,然后把这前通过加着前缀词的方式来提升这个模型的啊,训练的性能。我,我这里只说他的缺点,就是他的缺点,对不对?老爸老二是什么?你前缀词增加了,你后面 toker 的 容量就变少了。 懂?我们孩子,就是说,比如说你你你,呃,糙糙一点说你本来能送一百词进去,你加五只前缀词,你有可能后面就只能送九十五只前缀,九十五只词进去就让你的呃模型的上限降低,所以说它其实也 而且它而且前缀词 preface 这个工程对参数要求是很高的,可能对你啊,微调也好啊等等的这个 参数的配置啊要求都比较就比较高。相比一下 lara, 他 是一个,刚才我不是说了吗,他是把一个矩阵分成两个小矩阵, 然后有的同学可能会说,啊,那你你难道说要自己去拆吗?那那倒也不至于,就是他这个拆的过程其实也是一个自己学习的过程。就是 a 他 会用这个朝四分布呃呃来触视化第一个矩阵,然后用零触视化第二个矩阵,然后他会反复的算,你可以理解为什么模型再猜说,哎,我怎么样用最小的两只矩阵来表示这个 原本模型的这样一个参数?他可能说本来说,哎,有时候他算的至低了,就是说他用的现行相关的列, 呃,他用的列比较少,就是可能去掉一些重要的元素,这样计算出来效果就不太好,但是他下次剔除返还的时候,他可能又会把一些原本就是离职的元素又加回来,他看,哎,好像这次很好了,但是我会不会加多了,那我下次再删一点。大概就是,呃,这样就有点狗的操作。所以说 或者我不知道大家啊有没有理解,当然大家有兴趣的话也可以私信与我更加讨论。好,那么如果,如果说因为你,因为我这期视频对老二有了更清晰的理解呢?我也很感谢你,当然你也别记得,你也记得,就是说可以点赞支持一下。好,我们下期再见,拜拜。

在国潮崛起的浪潮下,各种新国风作品百花齐放,如何让你的产品脱颖而出,吸引人们的眼球,成为消费者的首选。今天我就用一分钟给你分享五款非常好用且深层效果炸裂的国潮风格 logo。 目前支持唐宋 明三个朝代的服装深层。作者对古代服饰做了深入细致的研究,细节到领子、袖子、材质等等,并整理专有的的提示词文档。 中华三点零基于 s d x l 一 点零现版本无论平衡性还是兼容性都得到了很大的提上。泛化了各种古风类标签,武侠、仙侠幻想、新汉服、偏时尚汉服写真道具等等。 秋作 mix 国风武侠动漫插画风格,画面整体氛围感强。作者把自己创作的侠女洛人和花想容洛人融合进了大模型,降低了出图难度,提升了泛化能力。 国风四,基于 s g x l 幺零训练,具有二五 d c g 游戏建模质感升级到 x l 版本,泛化性大大增强。 天韵古风大模型以汉服为主,擅长古风写真,作者建议增加汉服或者 chinese cos, 可以 增加更多的风格化。由于训练使用了大量的艺术照片,所以反向提示词中加入 blu 一 background, 可以 让背景更加坚实。 国画雪墨山水画 s d x lora 汇集了近代多位作家的作品,内容丰富多彩,尽情享受自己的山水之间吧!