AI大模型教程
一起来学习

文生图模型原理,以及Stable Diffusion部署体验

LLM推理优化系统工程概述

截止到目前市面上比较主流的基于文字生成影像的模型都是基于了3大部分组成的。

Encoder Model , Generation Model ,Decoder Model。并且这三个部分是分开训练,然后组合在一起从而构成了文生图大模型。

图片来源于B站李宏毅教授讲问生图原理,侵删。

下面我们可以看一下Stable Diffusion, DAll -E ,以及Imagen的架构示意图。它们基本上也都是基于这三大部分构成的。

一、关键的前置认知:

1.1 基础概念:

FID分数:是一种衡量生成图像质量的指标,较低的FID分数表示更好的图像质量。

  • “red points: real images” 表示红色点代表真实图像的特征向量。

  • “blue points: generated images” 表示蓝色点代表生成图像的特征向量。

  • “FID = Frechet distance between the two Gaussians” 表示FID是两个高斯分布之间的弗雷歇距离。

  • “Smaller is better” 表示FID值越小,表示生成图像的质量越好。

CLIP Score:是一个用于评估文本到图像生成任务中生成图像与输入文本相关性的指标。

即文本进变向量,图像进变向量。然后比较两个向量在高斯分布上的距离。分值越高越好。

1.2 重要结论:

(a)显示了不同大小(Small, Large, XL, XXL)的T5编码器对最终图像生成质量的影响。随着T5模型大小的增加,其在低CLIP Score范围内的表现有所改善,但超过某个阈值后,较大的模型不再显著提升图像质量,甚至可能导致过拟合,从而影响性能。

(b)展示了不同大小(300M, 500M, 1B, 2B参数量)的U-Net模型对图像生成质量的影响。随着模型复杂度(即参数量)的增加,U-Net在提高图像质量方面表现出了一定的优势,但在高CLIP Score区域,较大的模型可能会导致过拟合,从而影响生成图像的质量。

综上,在生成图像模型中,编码器(如T5)的重要性超过了生成模型(如U-Net)。具体表现为,随着编码器规模的增加,生成图像的质量显著提高,而生成模型规模的增加对生成图像质量的提升相对较小。因此,编码器在生成图像模型中的作用更为关键。

即,一个好的文生图模型,Encoder是关键的核心,并且其关键程度要大于Generation Model!!!

二、文生图模型的工作原理

2.1 文生图模型的基本原理

– 其核心的逻辑是,

– 正向(加噪过程):一张图像 —> 加噪 —> 加噪 —>加噪… 直至变成纯噪声

– 反向(去噪过程):纯噪声 —> 去噪 —> 去噪 —>去噪… 直至还原成一张图片

– 这是一个AE(Auto Encoder)模型的变体,即自编码模型

– 学习的过程就是,将一段向量转换成一张图片的过程(加噪,去噪的过程)。

– 实际推理的过程,就是“噪声”变向量的过程。

2.2 正向(Forward Process)&反向(Backward Process)过程逻辑说明:

上图就是一个典型加噪过程。在Encoder对图像进行编码后,开始分步骤加躁。直至加至纯噪声。不过这时的“纯噪声”实际上是指图像已经无法辨认出其原始内容,但严格来说,它并不是一个完全随机的噪声向量。它的像素值仍然遵循某种概率分布,但不再保留任何关于原始图像的信息。

上图就是一个典型降噪的过程。我们会看到一系列重复的去噪模块(Denoise Block),每个模块都试图从当前的噪声图像中移除一部分噪声。每次去噪操作后,图像的某些部分变得更加清晰,显示出更多的结构信息。例如,我们可以观察到一些颜色块逐渐形成图案,暗示着图像内容的逐步恢复。

去噪过程是循环进行的,每次迭代都会使图像更加接近原始状态。图片中展示了多轮迭代的效果,可以看到图像从最初的混乱状态逐渐转变为具有更多可识别特征的状态。

2.3 解码器(Decoder)的原理

在最后一轮去噪之后,图像被传递给一个解码器(Decoder)。解码器的任务是将去噪后的特征重新组合成完整的图像。

其实核心本质,就是把所谓的中间产物(Latent Representation) 还原为一张图片。让生成图片与原始图片向量,在高斯分布上,越接近越好。

通过大量的数据进行训练,使整个模型学习文本和图像之间的对应关系。

2.4 推理过程说明

  • 首选输入文档,例如:“一只雪地里的猫”;

  • 使用预训练的文本编码器(如BERT、T5)将文本描述转换为固定长度的向量表示;

  • 将文本编码的向量作为条件输入到图像生成模型中;–Vtext

  • 生成模型从一个随机噪声向量开始; – Z

  • 通过一系列生成步骤,逐步减少噪声,恢复图像的结构信息。逐步将噪声向量转换为与文本描述匹配的图像。 – Vtext和Z生成中间特征向量f

  • 生成模型输出一张图像,该图像应与输入的文本描述相匹配。– f转换为生成的图像Xgen

以下是,训练过程与推理过程在架构上的区别示意图:

推理过程的核心本质是,首先进行多模态抽特征,生成一个向量。由这个向量去干扰去噪的过程。由此可以实现控制生成的结果。

针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈


三、Stable Diffusion 部署体验

模型名称:iic/multi-modal_chinese_stable_diffusion_v1.0 即阿里云中文微调过的stable_diffusion模型

环境:魔搭的NoteBook

下载模型:git clone https://www.modelscope.cn/iic/multi-modal_chinese_stable_diffusion_v1.0.git

安装版本低于0.21.0的diffusers库。diffusers是一个用于实现扩散模型的库,通常用于图像生成等任务。这里使用特定版本是为了确保与代码中其他部分的兼容性。

pip install 'diffusers

导出相关依赖

import torch  
import cv2  
from modelscope.pipelines import pipeline  
from modelscope.utils.constant import Tasks  
from IPython.display import display, Image as IPImage  
from PIL import Image

设定任务,并指定模型

task = Tasks.text_to_image_synthesis  
model_id = 'damo/multi-modal_chinese_stable_diffusion_v1.0'

魔搭社区的基础调用示例

pipe = pipeline(task=task, model=model_id)  
output = pipe({'text': '中国山水画'})  
cv2.imwrite('result.png', output['output_imgs'][0])

输出为opencv numpy格式,转为PIL.Image

from PIL import Image  
img = output['output_imgs'][0]  
img = Image.fromarray(img[:,:,::-1])  
img.save('result.png')

展示结果图片

display(IPImage(filename='result.png'))

结果如下:

当然Prompt如果不是很符合训练的数据习惯时,大概率会有翻车的可能,例如:

最后说一下,这个推理的过程还是非常吃资源的。例如使用纯CPU的NoteBook环境,在8核24G的配置下,生成一张图片大概需要将近30分钟。然后同样的配置,如果使用的是24G的GPU,则生成一张图片的速度在1.5分钟 – 3分钟之间。

可以使用:

nvidia-smi 

命令来查看GPU的使用率。这里我之前忘记截图了,但是推理过程中,基本上快把24G的内存吃满了。

好了,以上就是本篇的全部内容了。希望对各位有一点帮助。

在大模型时代,我们如何有效的去学习大模型?

现如今大模型岗位需求越来越大,但是相关岗位人才难求,薪资持续走高,AI运营薪资平均值约18457元,AI工程师薪资平均值约37336元,大模型算法薪资平均值约39607元。

掌握大模型技术你还能拥有更多可能性

• 成为一名全栈大模型工程师,包括Prompt,LangChain,LoRA等技术开发、运营、产品等方向全栈工程;

• 能够拥有模型二次训练和微调能力,带领大家完成智能对话、文生图等热门应用;

• 薪资上浮10%-20%,覆盖更多高薪岗位,这是一个高需求、高待遇的热门方向和领域;

• 更优质的项目可以为未来创新创业提供基石。

可能大家都想学习AI大模型技术,也_想通过这项技能真正达到升职加薪,就业或是副业的目的,但是不知道该如何开始学习,因为网上的资料太多太杂乱了,如果不能系统的学习就相当于是白学。为了让大家少走弯路,少碰壁,这里我直接把都打包整理好,希望能够真正帮助到大家_。

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

一、AGI大模型系统学习路线

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,下面是我整理好的一套完整的学习路线,希望能够帮助到你们学习AI大模型。

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

三、AI大模型经典PDF书籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

四、AI大模型各大场景实战案例

结语

【一一AGI大模型学习 所有资源获取处(无偿领取)一一】
所有资料 ⚡️ ,朋友们如果有需要全套 《LLM大模型入门+进阶学习资源包》,扫码获取~

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

文章来源于互联网:文生图模型原理,以及Stable Diffusion部署体验

赞(0)
未经允许不得转载:5bei.cn大模型教程网 » 文生图模型原理,以及Stable Diffusion部署体验
分享到: 更多 (0)

AI大模型,我们的未来

小欢软考联系我们