2026年【AI大模型基础篇】从零开始学AI大模型与AIGC:小白保姆级教程

【AI大模型基础篇】从零开始学AI大模型与AIGC:小白保姆级教程svg xmlns http www w3 org 2000 svg style display none svg

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



 
  
    
     
      
     

大家好,我是你们的博主,最近这段时间,好多粉丝都私信我,说现在 AI 大模型、AIGC 这些词真的太火了,刷短视频、看文章,到处都是这些词,但是自己完全看不懂,想跟着学,但是搜出来的教程全是一堆专业术语,什么 “变分自编码器”“潜在扩散模型”“低秩适配”,看的头都大了,感觉这些东西离自己特别远,好像只有那些搞算法的大佬才能学会。

其实真的不是这样的,这些技术看着高大上,但是拆解开了,用大白话讲,普通人完全能看懂,甚至你自己就能动手玩,自己部署 AI 绘画,自己训练一个专属的小模型,根本没有那么难。

所以我就想着,干脆我整理一份保姆级的教程,把我自己学习的过程,还有这些资料里的内容,都拆碎了,用最通俗的话讲出来,咱们粉丝一起学,从最基础的开始,一步一步来,不用有任何基础,看完这篇,你就能搞懂现在最火的 AI 绘画、大模型训练这些东西,甚至能自己动手实操,是不是很期待?

那我们废话不多说,直接开始!


1.1 AIGC:AI 帮你做内容,再也不用自己熬夜肝了

首先我们得搞懂,最基础的,AIGC 到底是个啥?

很多人可能听过这个词,但是不知道具体是什么,其实特别简单,AIGC 的全称是 AI-Generated Content,翻译过来就是人工智能生成内容

啥意思呢?原来我们做内容,比如写一篇公众号文章,画一张设计图,剪一个短视频,这些都得我们自己动手,熬夜肝好几天,但是现在,有了 AI,你只要告诉它你想要啥,它就能帮你把内容做出来,这就是 AIGC。

比如你想写一篇关于春天的推文,你只要跟 AI 说:“帮我写一篇关于春天的公众号推文,要温馨一点,1000 字左右”,它几分钟就给你写好了,比你自己写快多了;你想画一张古风的美女图,你输入 “古风美女,撑着油纸伞,走在江南的雨巷里,烟雨朦胧的感觉”,它几秒钟就给你画出来了,比你找画师画便宜多了;甚至你想做一个短视频,输入 “猫和老鼠的日常,搞笑的,10 秒”,它也能给你做出来。

你看,原来要花好几天的活,现在 AI 几分钟就给你搞定了,这就是 AIGC,它就是帮我们做内容的 AI,是不是一下子就懂了?

1.2 AIGC 都能做啥?从写文章到画画,啥都能干

那 AIGC 到底都能做啥呢?是不是只能写文章画画?当然不是,它能干的可多了,我们可以把它分成几类来讲,你一下子就明白了。

首先,从它做的事情来看,主要分三类:

第一类:内容孪生

啥叫内容孪生?就是把原来已经有的内容,换个形式,或者优化一下,比如:

  • 你有一段老的语音,里面有杂音,AI 帮你把杂音去掉,变清晰;
  • 你有一段语音,AI 帮你转成文字,就是我们平时用的字幕;
  • 你有一段文字,AI 帮你读出来,变成语音,比如听小说的时候的 AI 配音;
  • 你有一张模糊的老照片,AI 帮你把它变清晰,甚至给黑白照片上色。

你看,这些都是原来已经有内容了,AI 帮你把它变个样子,或者优化一下,让它更好用,这就是内容孪生。

第二类:内容编辑

这个就是对原来的内容做修改,比如:

  • 你有一个唱歌的视频,AI 帮你把里面的人声和背景音乐分开,你想单独用人声或者背景音乐都可以;
  • 你想换脸,把视频里的人的脸换成你的,比如你想演个电视剧,不用自己拍,AI 帮你把脸换上去;
  • 你有一张照片,想把它变成油画风格,或者动漫风格,AI 帮你改;
  • 你有一个长视频,AI 帮你自动剪一个预告片出来,把精彩的片段都挑出来。

这些就是改原来的内容,让它变成你想要的样子,这就是内容编辑。

第三类:内容生成

这个就是最火的了,就是原来根本没有这个内容,AI 从头给你做一个全新的,比如:

  • 你给个主题,AI 给你写一篇全新的文章;
  • 你给个提示词,AI 给你画一张全新的图;
  • 你给个旋律,AI 给你做一首全新的歌;
  • 你给个剧本,AI 给你做一个全新的视频。

这些都是全新的内容,原来根本不存在,AI 给你造出来,这也是我们今天重点要讲的,这也是现在 AIGC 最火的部分。

那从生成的内容类型来看,又能分好几种:

  1. 文本生成:就是生成文字,比如我们平时用的 ChatGPT、文心一言,都是干这个的,帮你写文章、写代码、聊天、做翻译,这些都是;
  2. 图像生成:就是 AI 画画,这个是现在最火的,比如 MidjourneyStable Diffusion,都是这个,输入文字,给你出图;
  3. 音频生成:就是生成声音,比如你想让 AI 模仿某个人的声音说话,或者生成一段音乐,都可以;
  4. 视频生成:生成视频,这个现在也越来越成熟了,输入文字,给你做个短视频;
  5. 多模态生成:这个就是把上面的都混起来,比如你输入文字,生成图片,或者输入图片,生成文字,或者输入文字,生成视频,这些都是,我们今天讲的 AI 绘画,就是多模态里的文生图。

你看,是不是原来觉得很高大上的东西,现在一下子就懂了?AIGC 能干的事,其实就是这些,覆盖了我们平时做内容的方方面面。

1.3 AIGC 的产业到底是怎么回事?大厂、小公司、我们普通人,都在哪个层?

很多人可能会好奇,这么多 AI 产品,都是谁做的?是不是都是大厂做的?其实不是,整个 AIGC 的产业,分了三层,就像一个金字塔一样,我们来看看:

第一层:基础层

这一层就是最底下的,做最基础的大模型的,一般都是头部的大厂,比如腾讯、阿里、百度,还有国外的 OpenAI、Google 这些,他们有足够的钱和算力,去训练那种几千亿参数的大模型,这些就是最基础的模型。

他们做的事情,就是把最基础的能力做好,比如文本理解、图像生成这些,然后他们把这些能力做成 API 接口,别人调用他们的接口,就能用这些能力了,比如你做一个 AI 绘画的小程序,你不用自己训练大模型,直接调用腾讯云的 AI 绘画接口就行,这就是基础层做的事。

第二层:中间层

这一层就是中间的公司,他们没有能力自己做一个超大的基础大模型,但是他们可以基于基础层的大模型,改一改,做一些行业专属的模型,比如:

  • 比如做一个医疗行业的大模型,专门给医生用的;
  • 比如做一个法律行业的大模型,专门给律师用的;
  • 比如做一个电商行业的大模型,专门给电商卖家做商品图的。

这些公司,就是把基础的大模型,针对某个行业做优化,让它更懂这个行业的东西,然后他们也会把这些做成接口,给更上层的人用。

第三层:应用层

这一层就是最上面的,就是我们普通人用的那些产品了,比如:

  • 你用的 AI 绘画的小程序;
  • 你用的 AI 写作的 APP;
  • 你用的 AI 配音的网站;
  • 甚至你自己本地部署的 Stable Diffusion。

这些都是面向我们普通人的,把前面两层的能力,做成我们能直接用的产品,我们不用懂什么大模型,只要点点鼠标,输入文字,就能用了。

你看,整个产业就是这样,大厂做基础,小公司做行业优化,然后做成我们能用的产品,是不是很清晰?原来我们平时用的那些 AI 产品,都是这么来的。

1.4 AIGC 已经改变了哪些行业?原来早就渗透到我们生活里了

很多人可能觉得,AIGC 是最近才火的,是不是还没用到我们生活里?其实不是,它早就已经渗透到各个行业了,我们来看看:

影视行业

原来拍电影、做电视剧,是不是特别麻烦?现在有了 AIGC,就简单多了:

  • 前期写剧本:原来写一个剧本,编剧要写好几个月,现在 AI 可以先帮你写个初稿,你只要改改就行,省了好多时间,还能给你提供好多灵感;
  • 中期拍片子:原来你要拍一个古代的皇宫的场景,是不是要去影视城租场地,花好多钱?现在不用了,你只要在绿棚里拍人,AI 帮你把虚拟的皇宫场景做出来,合成进去,省了好多钱,而且什么场景都能做,哪怕是外星的场景都可以;
  • 后期做剪辑:原来剪片子,要自己一点点剪,现在 AI 能自动帮你剪预告片,把精彩的片段都挑出来,还能帮你把模糊的视频变清晰,甚至如果有劣迹艺人,AI 能直接把他的脸换掉,不用重新拍。

你看,原来影视行业要花好多钱好多时间的事,现在 AI 都能帮你搞定。

电商行业

电商行业现在用 AIGC 用的也特别多:

  • 商品展示:原来你要给商品做 3D 模型,是不是要找设计师做好久?现在 AI 能直接帮你生成 3D 模型,消费者能 360 度看商品,还能虚拟试穿,比如你买衣服,能把衣服套在你自己的身上,看看好不好看,不用自己试了;
  • 直播带货:原来你要找主播,还要付工资,现在 AI 能做虚拟主播,24 小时直播,不用休息,还能自动回答观众的问题,省了好多成本;
  • 虚拟商城:原来的商城都是图片文字,现在 AI 能做虚拟的商城,你就像逛真实的超市一样,在里面逛,选商品,体验特别好。

这些都是电商行业现在已经在用的了,是不是你平时逛电商的时候,已经见过了?

娱乐行业

娱乐行业就更不用说了,我们平时玩的好多东西,都是 AIGC:

  • 图片编辑:比如你想给自己的照片换个风格,变成动漫风,或者给老照片上色,这些都是 AI 做的;
  • 虚拟主播:你看的那些虚拟网红,比如洛天依,还有那些直播的虚拟主播,都是 AI 做的;
  • 聊天机器人:你平时玩的那些 AI 聊天的小程序,还有游戏里的 AI 队友,都是。

这些我们平时都已经在玩了,只是你可能没注意到,这些都是 AIGC 的东西。

还有其他的行业,比如教育行业,AI 能帮老师做教案,做教学素材,比如讲历史的时候,AI 能生成历史人物的对话,让课堂更生动;比如工业行业,AI 能帮设计师做设计,你输入你想要的机器的样子,AI 就能给你生成 3D 的设计图,省了好多设计的时间。

你看,AIGC 早就已经渗透到我们生活的方方面面了,只是很多时候我们没注意到而已,现在它越来越火,就是因为它能帮我们省好多时间,省好多钱,提高我们的效率。


讲完了 AIGC 的基础,我们来讲现在最火的,AI 绘画,也就是图像生成,这个是最多人感兴趣的,很多人都用过 Midjourney 或者 Stable Diffusion,但是不知道它到底是怎么画画的,我们今天就来把它讲清楚。

2.1 原来 AI 画画不是一天练成的,这三代算法你得知道

很多人以为 AI 画画是最近才有的,其实不是,它已经发展了好多年了,一共经历了三代算法,每一代都比上一代强,我们来看看:

第一代是 2014 年的变分自编码器,也就是 VAE
第二代是 2014 年同时出来的生成对抗网络,也就是 GAN
第三代就是现在我们用的扩散模型,也就是 Diffusion Model,2015 年提出来的,但是最近这几年才火起来。




这三代算法,一代比一代强,现在的 AI 绘画,用的就是第三代的扩散模型,我们一个个来讲,用大白话,保证你能懂。

2.2 第一代:VAE—— 把图片压缩成 “密码本”

首先是第一代的 VAE,这个是最早的生成图像的算法,它是怎么工作的呢?

其实很简单,你可以把它想象成,我们有一个很大的压缩包,把一张图片,压缩成一个很小的 “密码本”,这个密码本里,存了这张图片的所有信息,比如这张图里的人是男是女,头发是什么颜色,眼睛是什么颜色,这些信息,都存在这个小密码本里。

然后,我们要生成图片的时候,就把这个密码本,解压,就能还原出一张图片了。

比如,我们训练的时候,给它看了几百万张猫的图片,它就学会了,猫的密码本大概是什么样的,然后我们生成的时候,就随机拿一个密码本,解压,就能生成一张全新的猫的图片了。

但是这个算法有个问题,就是它生成的图片,往往比较模糊,不够清晰,因为压缩的时候,会丢失一些细节,所以后来就慢慢被淘汰了。

2.3 第二代:GAN—— 两个 AI 打架,最后打出了神图

然后就是第二代的 GAN,这个算法当年特别火,很多人都听过,它的原理特别有意思,就是两个 AI 打架。

怎么打架呢?

  • 一个 AI 叫生成器,它的任务就是造假图,比如它要造假的猫的图片,造的越像真的越好;
  • 另一个 AI 叫判别器,它的任务就是分辨,这张图是真的,还是生成器造的假的。

然后这两个 AI 就开始互相博弈,生成器造了假图,给判别器看,判别器说,这是假的,不对,然后生成器就改,下次造的更像一点;然后判别器也升级,下次能分辨出更像的假图;然后生成器再改,再造的更像。

就这样,两个 AI 打来打去,互相升级,最后,生成器造的假图,已经厉害到判别器根本分辨不出来了,以为是真的,这时候,生成器造出来的图,就和真的一样了,特别逼真。

这个算法比 VAE 强多了,生成的图清晰多了,当年火的不行,比如我们之前用的换脸,还有动漫头像,都是用 GAN 做的,但是它也有个问题,就是太不稳定了,两个 AI 打架,很容易打崩了,比如生成器怎么都骗不过判别器,最后就生成不出来图了,或者生成的图乱七八糟的,而且它也很难做那种特别复杂的文生图,就是你输入文字,它生成对应的图,所以后来,就被扩散模型取代了。

2.4 第三代:扩散模型 —— 往清水里滴墨,再把墨捞回来

然后就是我们现在用的第三代,扩散模型,这个就是现在 AI 绘画的核心,它的原理特别简单,我给你打个比方,你一下子就懂了:

你想象一下,有一杯清水,然后你往里面滴一滴墨,墨就会慢慢扩散,一开始,清水里只有一点黑,然后慢慢的,越来越多,最后,整杯水都变黑了,什么都看不出来了,对吧?

这个过程,就是扩散模型里的加噪过程

我们训练的时候,就是这样,给 AI 一张清晰的猫的图片,然后我们一步步的,给这张图加噪声,就像往水里滴墨一样,第一步,加一点噪声,图片变的有点模糊,第二步,再加一点,更模糊,直到最后,加了很多次,这张图就变成了完全的随机噪声,什么都看不出来了,就像那杯完全变黑的水一样。

然后,AI 要学的是什么呢?就是这个过程的反过来的过程,也就是去噪过程,就是怎么把那杯变黑的水,再变回原来的清水,把墨都捞出来。

也就是,从完全的噪声,一步步的,去掉噪声,第一步,去掉一点,变成有点模糊的轮廓,第二步,再去掉一点,越来越清晰,最后,就变成了一张清晰的猫的图片。

你看,是不是特别简单?就这么个过程,是不是一下子就懂了?

这个算法比之前的两个都强太多了,首先它特别稳定,不会像 GAN 那样容易崩,然后它生成的图特别清晰,细节特别多,而且它能很好的支持文生图,就是你输入文字,它就能生成对应的图,所以现在所有的 AI 绘画工具,不管是 Midjourney,还是 DALL-E,还是 Stable Diffusion,用的都是扩散模型,就是这个原理。

2.5 文生图的基础:CLIP—— 让 AI 看懂你说的话

哦,对了,刚才我们说了,扩散模型能去噪,能生成图片,但是它怎么知道,我要生成的是猫,还是狗,还是美女呢?它怎么看懂我输入的文字呢?

这就要用到另一个东西了,叫 CLIP,这个是 OpenAI 做的,它是文生图的基础,没有它,你输入的文字,AI 根本看不懂。

那 CLIP 是干嘛的呢?它就是一个能把文字和图片配对的模型,简单来说,就是它能看懂,“猫” 这个词,对应的是什么样的图片,“狗” 这个词,对应的是什么样的图片。

它是怎么训练的呢?它看了 4 亿对的图文对,就是 4 亿个,一张图加对应的文字描述,比如一张猫的图,配文字 “一只可爱的橘猫”,一张狗的图,配文字 “一只金毛狗”,它看了这么多之后,就学会了,文字和图片之间的对应关系。

比如,你给它一个文字 “猫”,再给它 100 张图片,它就能告诉你,哪张图是猫;你给它一张图片,再给它 100 个文字,它就能告诉你,哪个文字能描述这张图。

你看,是不是很厉害?所以,我们文生图的时候,首先用 CLIP 把你输入的文字,变成 AI 能懂的特征,然后扩散模型去噪的时候,就会朝着这个特征的方向去生成,这样,最后生成的图,就是你想要的那个文字对应的图了。

比如你输入 “江南雨巷里的古风美女”,CLIP 就把这个文字变成 AI 能懂的东西,然后扩散模型去噪的时候,就会生成符合这个描述的图,是不是一下子就懂了?

2.6 现在主流的 AI 绘画工具都有啥?DALL-E、Midjourney、SD,选哪个?

讲完了原理,我们来看看,现在主流的 AI 绘画工具都有啥,我们该选哪个?

现在主要有三个:

第一个是 OpenAI 的DALL-E,这个是 OpenAI 做的,就是做 ChatGPT 的那个公司,它的效果特别好,但是它是闭源的,你只能用它的网页或者 API,不能自己改,也不能本地部署。

第二个是Midjourney,这个是现在很多人用的,它的出图效果特别好,画风特别棒,但是它也是闭源的,你要在 Discord 里用,而且要排队,还要花钱,最重要的是,你上传的提示词和生成的图,都归他们公司所有,他们可以拿去用,而且你的图都存在他们的服务器上,隐私没保障。

第三个就是我们今天重点讲的Stable Diffusion,也就是 SD,这个是开源的,完全免费,你可以下载到自己的电脑上,本地部署,自己用,所有的东西都在你自己的电脑里,别人拿不到,隐私特别安全,而且你可以随便改它,训练自己的模型,加各种插件,拓展性特别强,出图也特别快,所以现在它是最火的,很多人都用它。

那我们接下来,就好好讲讲这个 SD,到底怎么用,怎么玩。


3.1 SD 到底是个啥?为什么它一出来,所有人都疯了?

首先,我们先搞懂,SD 到底是个啥?

很多人可能听过 SD,但是不知道它和扩散模型是什么关系,其实很简单:

  • 扩散模型是一个算法,就是我们刚才讲的,加噪去噪的那个算法;
  • SD 就是基于扩散模型做的一个开源的 AI 绘画工具,是 Stability AI 公司和几个大学一起做的,2022 年开源的。

它一开源,整个行业都疯了,为什么?因为之前的 AI 绘画工具,都是闭源的,你只能用,不能改,不能自己部署,但是 SD 不一样,它完全开源,免费,所有人都能拿来用,自己改,自己训练模型,一下子就把 AI 绘画的门槛拉的特别低,普通人也能玩了。

3.2 SD 的三大优点:免费拓展、出图飞快、数据安全

那 SD 到底好在哪?我们来看看它的三个最大的优点:

第一:免费,拓展性超强

首先,它完全免费,你不用花一分钱,就能用,而且它的拓展性特别强,现在已经有 110 多个插件了,比如:

  • 你想局部重绘,就是给图的某个部分改一改,有插件;
  • 你想控制人物的姿势,有插件;
  • 你想把模糊的图变清晰,有插件;
  • 你想把线稿变成彩色的图,有插件。

你想要什么功能,基本都有插件,你可以随便加,想要什么功能就加什么,特别方便。

第二:出图特别快

你用过 Midjourney 的话,应该知道,Midjourney 要排队,有时候排十几分钟才能出一张图,而且你要试很多次,才能得到你想要的图,特别慢。

但是 SD 不一样,如果你部署在本地,你的显卡够好的话,几秒钟就能出一张图,比如你的显卡是 3060,生成一张 512x512 的图,只要 10 秒左右,要是更好的显卡,3 秒就能出一张,比 Midjourney 快多了,你想试多少个提示词都可以,不用等。

第三:数据安全,隐私有保障

这个是很多人最在意的,你用 Midjourney 的话,你输入的提示词,你生成的图,都要上传到他们的服务器,而且他们的用户协议里写了,你用他们的服务,你就授予他们永久的权利,可以复制、修改、传播你的提示词和图,他们可以拿去用,甚至拿去卖,你都管不了。

但是 SD 不一样,你部署在本地,所有的东西都在你自己的电脑里,你输入的提示词,你生成的图,只有你自己能看到,别人谁都拿不到,完全不用担心隐私泄露,比如你画了一些比较私人的图,不用担心被别人看到,特别安全。

你看,就这三个优点,是不是就比那些闭源的工具强太多了?所以现在越来越多的人都用 SD 了。

3.3 SD 的工作原理:原来它是这么画画的

那 SD 的工作原理是什么呢?其实就是我们刚才讲的扩散模型的原理,对吧?加噪去噪,但是 SD 做了一个优化,就是它不是在原图的空间里去做加噪去噪,而是先把原图压缩一下,放到一个更小的空间里,叫 “潜空间”,然后在这个小空间里做加噪去噪,这样的话,处理的数据就少多了,速度就快多了,对电脑的要求也低多了。

比如原来的 512x512 的图,有 78 万多个像素,处理起来特别麻烦,压缩之后,就变成了 64x64 的小数据,只有几千个数据,处理起来就快多了,所以 SD 才能在普通的显卡上跑,不然的话,原来的扩散模型,要顶级的显卡才能跑,普通人根本用不了。

3.4 SD 的三个核心零件:文本编码器、扩散模型、VAE,每个都是干嘛的?

SD 不是一个单一的模型,它是由三个核心的零件组成的,三个零件一起工作,才能生成一张图,我们来看看每个零件都是干嘛的:

第一个零件:文本编码器

这个就是我们刚才讲的 CLIP,对吧?它的任务就是把你输入的提示词,比如 “江南雨巷里的古风美女”,变成 AI 能懂的东西,也就是把文字变成一个特征向量,这样后面的模型才能看懂你想要啥。

这个零件在工作的时候,参数是不动的,它就是负责把文字转成 AI 能懂的信号,就像一个翻译,把你说的话,翻译成 AI 能听懂的话。

第二个零件:扩散模型

这个是核心的零件,就是我们刚才讲的,负责去噪的那个,它的输入是文本编码器给它的信号,还有一个随机的噪声,然后它就一步步的,把噪声去掉,最后生成那个压缩后的小数据,也就是我们刚才说的潜空间里的数据。

这个就是最核心的,整个画画的过程,主要就是它在做,它根据你输入的文字的信号,把噪声变成你想要的图的压缩数据。

第三个零件:VAE

这个就是我们刚才讲的,负责压缩和解压的那个,训练的时候,它把大图压缩成小的潜空间的数据,给扩散模型用,生成的时候,它把扩散模型生成的小的潜空间的数据,解压,变回原来的大图,也就是我们最后看到的 512x512 的清晰的图。

你看,三个零件,分工明确:

  1. 文本编码器:翻译你的话,告诉 AI 你想要啥;
  2. 扩散模型:根据你的要求,把噪声变成压缩后的图;
  3. VAE:把压缩后的图,解压成我们能看的清晰的大图。

三个一起工作,最后就生成了我们想要的图,是不是特别清晰?原来这么复杂的东西,拆解开了,就这么简单。

3.5 文生图的完整流程:你输入的文字,是怎么变成一张图的?

那我们把整个流程串起来,你输入文字,到最后出图,到底是怎么一步步来的?

你看,整个过程就是这样,是不是一下子就懂了?原来你输入的文字,就是这么一步步变成一张图的,是不是很神奇?


讲完了原理,我们来讲实践,SD 到底怎么用?是装在自己的电脑上,还是用云端?我们一个个来讲。

4.1 本地部署 SD 需要啥配置?你的电脑能不能带得动?

首先,很多人想本地部署,就是装在自己的电脑上,这样用起来方便,隐私也安全,那本地部署需要什么配置呢?你的电脑能不能带得动?

我们来看看:

首先,系统的话,Windows、Mac、Linux 都可以,但是最好是 Windows,因为插件支持最好,Mac 的话,默认只能用 CPU,特别慢,训练模型也特别难,不推荐。

然后 CPU 的话,只要是 64 位的多核的就行,这个一般现在的电脑都满足。

最重要的是显卡,这个是最关键的,SD 对显卡的要求比较高:

  • 最低配置:NVIDIA 的显卡,GTX1660 以上,显存 6G 以上,内存 8G 以上,硬盘 20G 以上,这个配置的话,生成一张 512x512 的图,要 1-3 分钟;
  • 推荐配置:RTX3060 以上,显存 8G 以上,内存 16G 以上,硬盘 100G 以上,这个配置的话,生成一张 512x512 的图,只要 10-30 秒,还能生成 1024x1024 的大图。

哦,对了,必须是 NVIDIA 的显卡,因为 SD 用的 CUDA,是 NVIDIA 的技术,AMD 的显卡支持不好,所以如果你是 AMD 的显卡,或者是笔记本的集成显卡,那本地部署就有点费劲了。

那如果你的电脑达不到这个配置怎么办?没关系,我们可以用云端部署,就是把 SD 装在云服务器上,我们远程用,这样就不用自己的电脑有好显卡了,云端的服务器有好显卡,我们直接用就行。

4.2 没有好显卡?没关系,云端部署一样用,腾讯云 HAI 了解一下

那云端部署用什么呢?推荐大家用腾讯云的高性能应用服务 HAI,这个东西特别好用,它已经把 SD 的环境都给你装好了,你不用自己装环境,不用自己配驱动,不用自己下模型,一键就能创建好,5 分钟就能用了,特别方便,对小白特别友好。

这个 HAI 是什么呢?它就是专门给我们做 AI 开发的人做的,它能自动给你匹配最合适的 GPU 算力,然后把环境都给你装好,你不用管什么驱动、CUDA、Python 这些,直接就能用,开箱即用。

它比你自己买云服务器方便多了,你自己买云服务器,还要自己装环境,装驱动,装 SD,下模型,搞半天,还容易出错,HAI 直接给你把这些都做好了,你点一下创建,几分钟就好了,直接就能用了。

4.3 手把手教你在云端创建 SD 实例,5 分钟就能用上

那我们来手把手教你,怎么用 HAI 创建 SD 的实例,特别简单,几步就搞定:

你看,是不是特别简单?不用你装任何东西,几分钟就好了。

4.4 WebUI 怎么用?不用写代码,点点鼠标就能画图

创建好之后,你点 WebUI 的连接,就能进入 SD 的网页界面了,这个就是 WebUI,不用写任何代码,点点鼠标就能画图,特别简单。

这个界面里,你只要在提示词的框里,输入你想要的图的描述,比如 “可爱的橘猫,在草地上玩,阳光明媚,油画风格”,然后点击生成,几秒之后,图就出来了,是不是特别简单?

你还可以调各种参数,比如生成图的大小,采样的步数,还有各种插件,比如 ControlNet,能控制人物的姿势,你想要什么姿势,就能生成什么姿势,特别方便。

如果你想写代码做实验,那就点 JupyterLab 的连接,就能进入 jupyter 的界面,你可以写代码,训练模型,做实验,都可以,特别方便。

4.5 想训练自己的模型?SD 的四种训练方法,选哪个?

很多人用了一段时间 SD 之后,就想训练自己的模型了,比如我想训练我家猫的模型,输入提示词,就能生成我家猫的各种图,或者我想训练一个画风的模型,比如宫崎骏的画风,输入提示词,就能生成宫崎骏风格的图,那怎么训练呢?

SD 有四种训练的方法,我们来看看,你该选哪个:

第一种:Textual Inversion

这个是最简单的,它的原理就是,你给几张你家猫的照片,然后训练一个专属的关键词,比如叫 ,然后你输入这个关键词,AI 就知道,哦,你要生成你家猫的图,这个对电脑的要求比较低,训练起来也快,适合快速生成图。

第二种:Hypernetwork

这个是训练画风的,比如你喜欢某个画师的画风,你给一堆这个画师的画,训练之后,你输入关键词,就能生成这个画师的画风的图,这个专门用来训练画风的。

第三种:Dreambooth

这个是比较强的,它能把整个模型微调一下,你只要给 3-5 张你家猫的照片,训练之后,你输入提示词,就能生成你家猫的各种图,比如你家猫在太空,你家猫在古代,什么都能生成,这个效果特别好,但是它对显存的要求比较高,要 24G 以上的显存,本地的话,一般的显卡带不动,但是用云端的 HAI 就没问题。

第四种:Lora

这个是现在最火的,它是一种轻量的训练方法,它不用改整个模型的参数,只改一小部分参数,所以训练起来特别快,几个小时就能训完,而且训练出来的模型特别小,只有几百 M,比 Dreambooth 小多了,而且效果也特别好,现在大部分人都用这个。

比如你要训练你家猫的模型,只要 10 几张照片,训练 1 个小时,就能得到一个几百 M 的 Lora 模型,然后你用 SD 的时候,加载这个 Lora,输入提示词,就能生成你家猫的各种图了,特别方便。

4.6 Dreambooth:30 张照片,训练出你自己的专属模型

那我们来简单讲讲 Dreambooth 的训练过程,你就知道是怎么回事了:

比如你要训练格子衫程序员的模型,就是你输入 “格子衫程序员”,就能生成穿格子衫的程序员的各种图,那怎么做呢?

整个过程就是这样,是不是很简单?

4.7 Lora:更轻量的训练,1 小时就能训完,模型只有几百 M

然后是 Lora,这个就更简单了,它的原理就是,原来的模型,我们不动它,我们只在旁边加一个小的旁路,训练这个小旁路的参数,这样,我们要训练的参数就特别少,只有几百万个,所以训练起来特别快,几个小时就好了,而且训练出来的 Lora 模型只有几百 M,特别小。

比如你训练一个宫崎骏画风的 Lora,只有 300M,你放到 SD 里,加载它,然后你输入任何提示词,就能生成宫崎骏风格的图了,特别方便,你可以存很多个 Lora,想要什么风格,就加载什么 Lora,特别方便。


很多小白可能会说,部署 SD 太麻烦了,我不想搞这些,有没有更简单的,直接就能用的?当然有,就是腾讯云的 AI 绘画,这个是现成的服务,开箱即用,不用你部署任何东西,直接就能用。

5.1 不想自己部署?直接用现成的 AI 绘画服务,开箱即用

腾讯云 AI 绘画,是腾讯优图实验室自己做的 AI 图像生成的产品,它已经把所有的东西都做好了,你不用自己部署模型,不用自己管服务器,直接就能用,特别方便。

它有两种使用的方式,一种是 SaaS,就是网页端,不用写代码,直接用,小白也能玩;另一种是 API,就是给开发者用的,你可以把它集成到你的小程序、APP 里,做自己的 AI 绘画产品。

5.2 SaaS 平台:不用写代码,网页上直接画图,小白也能玩

首先是 SaaS 平台,就是腾讯云的智能图像创作平台,你直接打开网页,就能用了,不用写任何代码。

你进去之后,就和 SD 的 WebUI 差不多,你输入提示词,比如 “可爱的小猫,蓝色眼睛,梵高油画风格”,然后选择风格,比如油画风格,然后点生成,几秒之后,图就出来了,是不是特别简单?

它支持 25 种风格,比如日系动漫、美系动漫、唯美古风、水彩、油画,什么都有,你想要什么风格,选什么就行,而且它对中文的理解特别好,比如你输入古诗词,它也能懂,生成对应的图,比如你输入 “落霞与孤鹜齐飞,秋水共长天一色”,它就能生成对应的古风的图,特别厉害。

生成的图,你可以直接下载,也可以存到你的作品里,以后再看,特别方便,小白的话,用这个就够了,不用搞什么部署,直接就能画图。

5.3 API 接口:开发者看过来,把 AI 绘画集成到你的小程序里

如果你是开发者,想做一个自己的 AI 绘画的小程序,或者 APP,那你就可以用它的 API 接口,直接调用,不用自己训练模型,特别方便。

它有两个主要的 API,一个是文生图,一个是图生图,我们来看看:

5.4 文生图 API:输入文字,一秒拿到图片

文生图的 API,就是你输入文字,它给你返回图片,特别简单,比如你要做一个小程序,用户输入文字,你调用这个 API,就能把图返回给用户了。

比如你用 Python 调用的话,代码特别简单,你只要引入腾讯云的 SDK,然后输入你的密钥,然后输入提示词,风格,分辨率,调用一下,就能拿到图片了,是不是特别简单?

比如你输入 “蓝色眼睛的小猫,梵高油画风格”,它就给你生成一张梵高风格的小猫的图,特别快,几秒就好了。

5.5 图生图 API:给一张图,AI 帮你改成你想要的风格

还有图生图的 API,就是你给一张原来的图,比如你自己的照片,然后输入提示词,比如 “改成古风的风格”,它就能把你的照片,改成古风的,比如你给一张猫的照片,输入 “改成日系动漫风格”,它就把猫的照片,改成动漫风格的了,特别好玩。

这个也特别简单,你把原来的图转成 base64,然后调用 API,输入提示词,就能拿到新的图了,是不是很简单?

5.6 实战:做一个自己的 AI 绘画小程序,原来这么简单

很多开发者可能想做一个自己的 AI 绘画的小程序,那怎么做呢?其实特别简单,用腾讯云的 AI 绘画的 API,几步就搞定了:

整个过程就是这样,是不是特别简单?你不用自己训练模型,不用自己管服务器,只要调用 API 就行,几天就能做一个自己的 AI 绘画小程序了,是不是很厉害?


讲完了 AI 绘画,我们来讲点进阶的,就是大模型,现在的大模型,比如 GPT-4,有几千亿的参数,特别大,普通人的电脑根本跑不动,那怎么办呢?我们可以把它变小,也就是模型压缩,把大模型变小,让普通人的电脑也能跑,而且效果还不怎么差。

6.1 为什么要把大模型变小?原来的大模型,普通人根本跑不动

首先,我们为什么要把大模型变小?因为原来的大模型,太大了,比如 GPT-3,有 1750 亿参数,GPT-4 更大,几千亿,这么大的模型,你要跑它,需要好几个顶级的显卡,普通人根本买不起,也用不起,而且推理的时候,特别慢,还特别费电。

那我们能不能把它变小一点,比如变成几十亿参数,这样普通人的电脑就能跑了,而且效果还和原来的大模型差不多?当然可以,这就是模型压缩,现在有三种主流的压缩方法,我们一个个来讲。

6.2 模型压缩的三个思路:剪枝、量化、蒸馏,大白话给你讲清楚

模型压缩,主要有三个思路,我们用大白话讲,保证你能懂:

第一个是模型裁剪,也就是剪枝
第二个是模型量化
第三个是模型蒸馏




我们一个个来讲。

6.3 模型裁剪:把模型里没用的 “枯枝” 剪掉,省空间

首先是模型裁剪,这个是什么意思呢?你可以把模型想象成一棵大树,树上面有很多树枝,有的树枝是有用的,有的树枝是没用的,枯枝,对树没什么用,还浪费养分。

模型也是一样的,模型里有很多参数,有的参数是有用的,有的参数是没用的,对模型的效果没什么影响,那我们就把这些没用的参数剪掉,去掉,这样模型就变小了,对吧?

比如,原来的模型有 100 亿参数,剪掉了 40 亿没用的,剩下 60 亿,效果还和原来差不多,这样模型就变小了,跑起来就快了。

这个裁剪还分两种,一种是非结构化的,就是把没用的参数一个个剪掉,另一种是结构化的,就是把整个没用的层或者通道剪掉,这样剪完之后,模型还是规整的,普通的设备就能跑。

这个方法的优点就是,能显著减少参数,加快速度,缺点就是,剪完之后,要重新训练一下,调优,不然效果会掉一点。

6.4 模型量化:把数字变小,原来的 32 位变成 4 位,居然不影响效果?

然后是模型量化,这个是什么意思呢?我们知道,计算机里的数字,是有精度的,比如原来的参数,用的是 32 位的浮点数,就是小数点后面有好多位,特别精确,但是这样的话,每个数字占的空间就大,32 位就是 4 个字节。

那我们能不能把它变小一点?比如变成 16 位,或者 8 位,甚至 4 位?就是把高精度的数字,变成低精度的,这样每个数字占的空间就小了,比如 32 位变 4 位,一下子就小了 8 倍,模型的体积也就小了 8 倍,是不是很厉害?

比如原来的模型,100G,量化之后,就只有 12.5G 了,一下子就小了好多,普通人的电脑就能放下了,而且跑起来也快多了。

你可能会问,把数字的精度降低了,会不会影响效果啊?比如原来的数字是 0.,你变成 0.12,会不会差很多?其实不会,因为模型的参数,对精度的要求没有那么高,低精度的数字,已经足够表达了,所以量化之后,模型的效果几乎没什么变化,但是体积和速度,提升了好多。

比如我们之前用的 Qwen2.5-3B 的模型,量化之后,4 位的,只有 1.5G 左右,普通的电脑就能跑了,是不是很厉害?

量化也分两种,一种是训练后量化,就是模型训练完了,再量化,另一种是量化感知训练,就是训练的时候就做量化,这样效果更好,损失更小。

6.5 模型蒸馏:老师教学生,把大模型的知识教给小模型

然后就是最常用的,模型蒸馏,这个是现在最火的压缩方法,它的原理特别有意思,我给你打个比方:

有一个老教授,特别厉害,懂好多东西,但是他年纪大了,讲课特别慢,而且一次只能带几个学生,普通人根本听不到他的课。

然后,有一个年轻的中学老师,他去听老教授的课,把老教授的知识都学过来,然后这个中学老师,就把这些知识,用普通人能听懂的话,讲给大家听,而且他讲课特别快,一次能带好多学生,普通人都能听到他的课。

你看,老教授就是大模型,特别厉害,但是太大了,跑起来慢,普通人用不了;中学老师就是小模型,他把老教授的知识都学过来了,但是他很小,跑起来快,普通人也能用。

这个就是模型蒸馏,就是把大模型(教师模型)的知识,迁移到小模型(学生模型)上,让小模型学到大模型的能力,这样小模型就有大模型的效果,但是小很多,跑起来快很多。

比如,原来的大模型,有 1000 亿参数,小模型只有 10 亿参数,小模型学了大模型的知识之后,效果和大模型差不多,但是跑起来快了 10 倍,体积小了 100 倍,是不是很厉害?

比如 BERT 模型,原来的 base 版有 1.1 亿参数,蒸馏之后的 DistilBERT,只有 6600 万,小了 40%,速度快了 60%,效果几乎没差,还有 TinyBERT,只有 1400 万参数,只有原来的 13%,效果也差不多。

6.6 蒸馏的三种方式:软标签、中间层、硬标签,哪种适合你?

那蒸馏是怎么学的呢?主要有三种方式,我们来看看:

第一种:学习软标签

什么是软标签?比如,我们要给一篇文章分类,原来的硬标签,就是这篇文章是文学类的,也就是 100% 是文学,其他的都是 0。

但是软标签不一样,它是大模型输出的概率,比如这篇文章,有 20% 的概率是军事,70% 的概率是文学,0.1% 的概率是家居,这些,它不仅告诉你这篇是文学,还告诉你,它还有点像军事,还有点像别的,这些信息,就是软标签,里面包含了好多类别之间的关系,比硬标签的信息多太多了。

小模型学这个软标签,就能学到大模型的这些隐含的信息,所以效果就特别好,这个是最常用的蒸馏的方式。

第二种:学习中间层的特征

这个就是,不仅学最后的输出,还要学大模型中间的思考过程,比如大模型中间的层,输出的特征,小模型也学,这样小模型就能学到大模型中间的处理过程,比如词法、句法这些信息,这样效果就更好了。

比如,大模型有 24 层,小模型有 12 层,那小模型的第一层,学大模型的第二层,小模型的第二层,学大模型的第四层,这样一层层的对齐,把中间的特征都学过来,这样小模型就能学的更像。

第三种:学习硬标签

这个就是最简单的,就是只学最后的硬标签,也就是大模型输出的最后的结果,比如大模型给问题的答案,小模型就学这个答案,这个最简单,成本也最低,但是信息最少,效果的上限也低一点,但是如果你的资源有限,这个也能用。

你看,这三种方式,从难到易,效果从好到差,你可以根据你的情况选,一般来说,用软标签就够了,效果好,成本也不高。


讲完了蒸馏,我们来讲,如果你要训练自己的小模型,比如你要做一个婚姻法的咨询机器人,那你首先要准备数据集,也就是训练用的教材,没有教材,学生怎么学啊,对吧?

那数据集怎么准备呢?主要分三步:生成问题,生成答案,整理数据集,我们一个个来讲。

7.1 训练模型就像教学生,你得先有课本对吧?数据集就是课本

首先,我们要明白,训练模型,就像教学生,你要教学生婚姻法的知识,你得先有课本,有练习题,有答案,对吧?不然学生怎么学?

就是这样的,一堆这样的问答对,我们把这些给小模型,小模型就学,哦,原来这个问题,答案是这样的,学完之后,它就懂婚姻法的知识了。

那这些问答对怎么来呢?我们一步步来。

7.2 怎么生成问题?比如你要做个婚姻法机器人,问题从哪来?

首先,我们要先生成问题,也就是练习题,比如你要做婚姻法的机器人,那问题就是关于婚姻法的各种问题,比如结婚的条件,离婚的财产分割,这些。

那问题怎么来呢?如果是通用的知识,你可以从公共的语料里找,但是如果是特定的领域,比如婚姻法,那你就要自己生成了,怎么生成呢?用大模型啊!

比如,你先让大模型,把婚姻法分成子领域,比如:

  • 结婚登记与条件:500 个问题,涉及结婚年龄、登记程序这些;
  • 夫妻权利义务:400 个问题,涉及共同财产、扶养义务这些;
  • 离婚程序与条件:600 个问题,涉及离婚冷静期、分居这些;
  • 财产分割:800 个问题,涉及房产分割、债务这些;
  • 子女抚养:800 个问题,涉及抚养费、探视权这些;



分完了子领域,然后你让大模型,针对每个子领域,生成对应的问题,比如针对夫妻权利义务,生成 20 个问题:

  1. 夫妻共同财产的范围在法律中有哪些明确列举?
  2. 一方擅自将婚后共同存款赠与他人的行为是否有效?
  3. 夫妻间扶养义务的履行标准是否以经济能力为唯一依据?



这样,你就能得到一堆问题了,是不是特别简单?不用你自己想,大模型帮你想,几分钟就生成几千个问题。

7.3 问题生成之后,还要检查、去重,保证数据质量

生成了问题之后,你不能直接用,还要检查一下,这些问题对不对,有没有重复的,有没有错的。

首先,你要检查问题的分类对不对,比如你生成的夫妻权利义务的问题,有没有其实是离婚的问题的,你可以用另一个大模型,给每个问题打个分,看看它是不是属于这个子领域,把得分低的删掉,这样就能保证问题的质量。

然后,你要去重,有没有重复的问题,比如两个问题,其实是一个意思,只是说法不一样,你要把重复的删掉,不然训练的时候,重复的数据会让模型过拟合,效果不好。

去重用什么呢?用 simhash,这个算法能把短文本去重,把相似的问题都删掉,特别好用,而且有现成的代码,你直接用就行。

做完这些,你的问题就整理好了,没有错的,没有重复的,质量很高。

7.4 怎么获取答案?调用大模型 API,批量生成答案

问题有了,接下来就是答案了,每个问题,对应的答案是什么?这个也简单,用大模型啊,你把问题发给大模型,让大模型给你生成答案,不就行了?

比如,你调用硅基流动的 API,或者腾讯云的 API,把问题输进去,大模型就给你输出答案了,而且,你还能把大模型的思考过程也拿过来,比如大模型是怎么想的,一步步的,你也存下来,这样小模型学的时候,不仅能学到答案,还能学到思考的过程,效果更好。

比如,你问大模型,wander 的近义词是什么,大模型会先想,wander 是什么意思,然后想近义词,然后给你结果,你把这个思考的过程也存下来,小模型学了,就也会这样思考了,是不是特别好?

然后你批量的,把所有的问题,都调用 API,生成答案,这样,问答对就有了。

7.5 太长的数据要删掉?为什么?因为太费资源了

生成了答案之后,你要把太长的问题和答案删掉,为什么?因为太长的话,训练的时候,特别费资源,比如一个答案有 3 万字,训练的时候,要处理这么长的文本,特别费显存,特别慢,而且,大部分的数据,都是短的,太长的数据很少,删掉它们,对数据集的影响不大,但是能省好多资源。

比如,你看你的数据的长度,大部分都是 1000-2000 字的,超过 3000 字的,只有很少的一点,那你就把超过 3000 字的删掉,这样,你的数据集就小了好多,训练起来就快多了。

7.6 怎么给答案打分?保证你的数据都是高质量的

最后,你还要给答案打分,保证答案的质量,比如,大模型生成的答案,有没有答非所问的?有没有错的?

你可以用另一个高质量的大模型,比如 Qwen2.5-72B,给每个问答对打分,0 到 9 分,0 就是答案和问题无关,9 就是答案特别好,把得分低的删掉,这样,剩下的都是高质量的问答对了。

做完这些,你的数据集就准备好了,高质量的,没有错的,没有重复的,接下来,你就可以用这个数据集,训练你的小模型了。


数据集准备好了,接下来就是训练模型了,很多人觉得训练模型特别难,要写好多代码,其实不是,现在有工具,点点鼠标就能训练了,我们来看看。

8.1 全参数微调?别想了,太贵了,普通人玩不起

首先,很多人可能听过全参数微调,就是把整个模型的所有参数,都改一遍,让它学新的知识,但是这个方法,太贵了,普通人玩不起。

为什么?因为大模型有几十亿,甚至几百亿的参数,你要改所有的参数,那你需要特别大的算力,特别大的显存,而且要特别大的数据集,不然就会训崩了,而且,全参数微调,会导致灾难性遗忘,就是模型学了新的知识,把原来的旧知识忘了,比如原来它会写代码,现在学了婚姻法,不会写代码了,这个就麻烦了。

所以,现在普通人训练模型,都不用全参数微调,都用 LoRA 微调,这个就便宜多了,也不会忘旧知识。

8.2 LoRA 微调:只训练一点点参数,就能让模型学会新东西

那 LoRA 微调是什么?我们之前讲 SD 的训练的时候,讲过一点,现在我们再讲清楚。

LoRA 的全称是 Low-Rank Adaptation,它的原理是什么呢?

原来的全参数微调,是要改整个模型的所有参数,比如原来的权重矩阵 W,我们要改它,变成 W+ΔW,ΔW 就是我们要改的部分,但是 ΔW 和 W 一样大,所以要改的参数特别多。

但是 LoRA 呢,它不动原来的 W,它在旁边加了一个小的旁路,就是 ΔW,它不用训练整个 ΔW,而是把 ΔW 分解成两个小的矩阵 A 和 B,A 和 B 特别小,比如原来的 ΔW 是 30 万 x50 万的,要 150 亿参数,现在 A 是 30 万 x16 的,B 是 16x50 万的,加起来只有 1280 万参数,差了一千多倍!

哦,原来如此!所以,我们训练的时候,不用改原来的 W,只训练这两个小的 A 和 B 矩阵,只有 1280 万参数,是不是特别少?所以训练起来,成本特别低,几个小时就能训完,普通的显卡就能带得动。

8.3 LoRA 为什么这么牛?不会忘旧知识,还特别便宜

那 LoRA 为什么不会忘旧知识呢?因为原来的 W,我们根本没动它啊!原来的 W 还是原来的样子,我们只是加了一个小的旁路,所以原来的知识,一点都没丢,学了新的知识,原来的还在,是不是特别好?

比如,原来的模型会写代码,会聊天,现在我们用 LoRA 训练它学婚姻法,原来的写代码、聊天的能力,一点都没丢,只是多了一个婚姻法的能力,你用的时候,加载 LoRA,它就会婚姻法,不加载,它还是原来的模型,是不是特别方便?

而且,训练出来的 LoRA 模型,特别小,只有几 M 或者几百 M,你可以存好多好多,想要什么能力,就加载什么 LoRA,比如你有一个婚姻法的 LoRA,一个医疗的 LoRA,一个代码的 LoRA,想用哪个就用哪个,特别方便。

8.4 怎么获取基座模型?从魔搭社区,一键下载

那训练之前,我们要先有一个基座模型,也就是原来的那个小模型,比如 Qwen2.5-3B,就是我们之前说的,通义千问的 3B 的模型,特别小,普通人的电脑就能跑。

那这个模型从哪下呢?你可以从 Hugging Face 下,但是如果国内的话,访问不了,那你可以从魔搭社区,也就是 ModelScope,这个是阿里的模型社区,国内的,访问特别快,你直接搜索你想要的模型,比如 Qwen2.5-3B-Instruct,然后点下载,它会给你一个命令,你复制下来,运行一下,就能把模型下载下来了,特别简单。

8.5 用 LLaMA-Factory,不用写代码,点点鼠标就能训练

然后,训练的话,你不用自己写代码,有一个特别好用的工具,叫 LLaMA-Factory,这个工具已经把所有的训练的东西都封装好了,你不用管什么梯度下降,什么优化器,点点鼠标就能训练了,特别方便。

这个工具支持 100 多种模型,比如 QwenLlamaChatGLM,什么都有,也支持各种训练方法,LoRA、QLoRA,什么都有,还有 WebUI,你不用写命令行,打开网页,点点鼠标就能训练了,对小白特别友好。

8.6 手把手教你搭建 LLaMA-Factory 的环境

那怎么搭建这个工具的环境呢?特别简单,几步就搞定:

是不是特别简单?不用你装别的东西,几步就好了。

8.7 训练参数怎么调?每个参数都是干嘛的,我给你讲清楚

进入 WebUI 之后,你就可以设置参数了,我们来看看主要的参数都是干嘛的:

  • 模型路径:就是你刚才下载的基座模型的路径,比如 Qwen2.5-3B 的路径;
  • 数据集路径:就是你刚才准备的数据集的路径;
  • 微调方法:选 LoRA,这个我们已经讲过了;
  • 量化等级:选 4,就是 4 位量化,这样省显存,普通的显卡就能带得动;
  • 学习率:就是训练的时候的学习率,一般选 0.0001 就可以,不用改;
  • 训练轮数:就是训练几遍,一般 1 轮就够了,不用太多,太多了会过拟合;
  • 批处理大小:就是一次处理多少数据,一般选 1 或者 2,根据你的显存来;
  • LoRA 的秩:就是我们之前说的 r,一般选 8 或者 16 就可以,不用太大;
  • 输出目录:就是训练完的模型存在哪,你选个地方就行。

这些参数,你大部分都不用改,默认的就够了,只要把模型路径、数据集路径、输出路径改了就行,然后点开始训练,就好了,它就自己训练了,你等着就行。

8.8 训练完了?怎么测试效果?启动 API 服务,试试你的新模型

训练完了,你就可以测试效果了,怎么测试呢?你可以启动一个 API 服务,把你的模型加载进去,然后你输入问题,看看它回答的对不对。

比如,你用 LLaMA-Factory 的 API 命令,启动服务,然后用 Python 代码调用这个 API,输入问题,比如 “夫妻共同财产的范围是什么?”,然后看它的回答对不对,是不是懂婚姻法的知识了。

比如原来的模型,可能回答的不对,现在训练完了,它就能准确的回答了,是不是特别厉害?

而且,你还能看到速度,原来的部署,一秒能输出 5 个字左右,是不是很慢?那我们能不能让它更快?当然可以,接下来我们就讲,怎么高效部署,让它跑的飞快。


训练完了模型,接下来就是部署了,原来的部署方式,太慢了,一秒才几个字,等的人都急死了,那我们能不能让它跑的快一点?当然可以,用 vllm,这个神器,能让你的模型提速 20 倍,一秒输出 100 多个字,是不是很厉害?

9.1 原来的部署太慢了?一秒 5 个字,等的人都急死了

我们之前用 LLaMA-Factory 的 API 部署,测试了一下,输出 1900 字,用了 376 秒,也就是 6 分钟,一秒才 5 个字,你想啊,你问一个问题,要等 6 分钟才能得到答案,是不是急死了?

那用 vllm 呢?同样的模型,同样的问题,输出 1794 字,只用了 16 秒,一秒 111 个字,差了 20 多倍!是不是特别夸张?原来要等 6 分钟,现在只要 16 秒,是不是快多了?

9.2 vllm:一秒 100 个字,提速 20 倍的神器

vllm 就是一个专门用来做大模型推理的工具,它能让你的大模型推理速度提升好多倍,而且特别容易用,不用你改模型,直接就能用。

那它是怎么做到的呢?它主要做了两个优化,一个是 KV 缓存的优化,一个是 PageAttention,我们用大白话讲。

9.3 vllm 是怎么做到的?KV 缓存和 PageAttention,大白话讲清楚

首先,我们讲 KV 缓存,这个是什么呢?

我们知道,大模型生成文字的时候,是一个字一个字生成的,比如生成 “我爱中国”,先生成 “我”,然后生成 “爱”,然后生成 “中”,然后生成 “国”。

每生成一个字,它都要算一遍注意力,也就是之前的字的 Key 和 Value,对吧?比如生成 “爱” 的时候,要用到 “我” 的 K 和 V,生成 “中” 的时候,要用到 “我” 和 “爱” 的 K 和 V,生成 “国” 的时候,要用到前面三个的 K 和 V。

那原来的方法,每生成一个字,都要重新算一遍前面的 K 和 V,是不是特别浪费?比如生成第四个字的时候,前面三个的 K 和 V,之前已经算过了,还要再算一遍,这不是浪费时间吗?

所以,我们就把这些 K 和 V 存起来,也就是 KV 缓存,生成下一个字的时候,直接用就行了,不用再算了,这样就省了好多时间,对吧?这个就是 KV 缓存,原来的部署也有,但是 vllm 把它做的更好了。

然后是 PageAttention,这个是什么呢?原来的 KV 缓存,我们要提前分配显存,但是我们不知道要生成多长的文字,所以我们就分配一个很大的显存,比如预留了生成 1000 个字的空间,但是最后只生成了 200 个,那剩下的 800 的空间,就浪费了,对吧?显存就这么浪费了。

vllmPageAttention,就像操作系统的虚拟内存一样,它把显存分成一个个的小内存页,用多少,就申请多少,不用提前预留,比如你生成 200 个字,就申请 200 个页,生成 1000 个,就申请 1000 个,这样,显存的利用率就能达到 96%,几乎不浪费,这样,我们就能把显存都用起来,同时跑更多的任务,速度就更快了。

你看,就这两个优化,就让 vllm 的速度比原来快了 20 多倍,是不是特别厉害?

9.4 手把手教你安装 vllm,启动服务

那 vllm 怎么装呢?特别简单,只要 pip install vllm 就行了,不过它最好在 Linux 下用,Windows 的话,你可以装 WSL2,就是 Windows 的 Linux 子系统,装完之后,就和 Linux 一样了。

装完之后,你就可以启动服务了,命令也特别简单:

CUDA_VISIBLE_DEVICES=0 API_PORT=8000 vllm serve 你的模型路径 –enable-lora 

就这一行,就启动了,然后你就可以用 Python 代码调用它了,和之前的 API 一样,特别简单。

9.5 同时加载多个 LoRA 模型?原来还能这么玩,省好多服务器

而且,vllm 还能同时加载多个 LoRA 模型,比如你有婚姻法的 LoRA,医疗的 LoRA,代码的 LoRA,你可以同时把它们都加载进去,然后你调用的时候,指定 model 参数,就能用对应的 LoRA 了,不用每个 LoRA 都部署一个服务器,这样就省了好多服务器的资源。

比如,你有 10 个 LoRA,原来你要部署 10 个服务器,现在只要一个服务器,就能把 10 个都加载了,是不是省了好多钱?

9.6 性能优化的四个方向:模型、工具、prompt、业务,全方位提速

除了这些,我们还有一些性能优化的思路,我们来看看:

第一:模型优化

就是我们之前讲的,模型裁剪、量化、蒸馏,把模型变小,这样自然就快了。

第二:工具优化

就是用 vllm 这样的工具,或者 TGI、DeepSpeed 这些,来加速推理,这些工具都能帮你把速度提上去。

第三:Prompt 优化

就是你的提示词,要尽量结构化,尽量短,不要太长,而且,你可以批处理,把多个小的请求,合并成一个批处理,一起处理,这样速度就快了。

第四:业务优化

这个是最重要的,就是不要什么都用大模型,简单的任务,用简单的方法,难的才用大模型,这样能省好多资源。

比如,我们之前说的车系识别的例子,有 2.86 亿篇文章,要识别里面的车系,如果都用大模型,那根本跑不完,成本也太高了。

那我们怎么做呢?首先,大部分的车系,都是明确的,比如 “帕萨特”,这个词,只要出现了,就是车系,那我们用字符串匹配,就能把这些找出来,只有少数的有歧义的,比如 “几何”,它可能是车系,也可能是数学的几何,这些,我们才用大模型来判断,这样,97% 的任务,都用简单的字符串匹配处理了,只有 3% 的用大模型,这样,成本就省了 97%,速度也快了好多。

你看,这样层层拦截,简单的事简单做,难的才用大模型,这样整体的效率就最高了,成本也最低了。


好了,到这里,我们今天的内容就差不多了,我们来总结一下,我们今天学到了什么:

我们从最基础的 AIGC 开始,搞懂了 AIGC 到底是什么,它都能做什么,整个产业的结构,还有它在各个行业的应用;

然后我们讲了现在最火的 AI 绘画,讲了它的三代算法,VAEGAN、扩散模型,讲了扩散模型的原理,还有 CLIP,然后我们讲了 Stable Diffusion,它的原理,它的用法,本地部署和云端部署,还有怎么训练自己的模型;

然后我们讲了腾讯云的 AI 绘画,开箱即用的服务,小白也能直接用,开发者也能集成到自己的产品里;

然后我们讲了进阶的内容,大模型的压缩,剪枝、量化、蒸馏,怎么把大模型变小,然后讲了怎么准备数据集,怎么用 LoRA 微调训练自己的模型,最后讲了怎么用 vllm 高效部署,让模型跑的飞快。

你看,我们从一个完全的小白,到现在,搞懂了 AIGC,搞懂了 AI 绘画,搞懂了大模型的训练和部署,是不是收获特别大?

当然,这只是一个开始,后面我们还可以继续深入,比如怎么用强化学习训练模型,怎么做多模态的模型,怎么把模型部署到手机上,这些我们后面慢慢学,大家有什么想学的,也可以评论区告诉我。

大家学完之后,一定要动手实操一下,比如先试试腾讯云的 AI 绘画,画几张图,然后试试部署 SD,然后试试训练一个自己的小模型,只有动手做了,才能真正的学会。

有什么问题,大家评论区留言,我们一起讨论,一起学习,一起进步,毕竟,一个人走的快,一群人走的远,我们粉丝一起学,肯定能学的更快更好!

好了,今天的内容就到这里了,我们下次再见!

小讯
上一篇 2026-04-18 13:53
下一篇 2026-04-18 13:51

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/270169.html