当前位置:AIGC资讯 > AIGC > 正文

Datawhale X 魔搭 AI夏令营 第四期 魔搭-AIGC方向 Task03笔记

从零入门AI生图原理&实践 是 Datawhale 2024 年 AI 夏令营第四期的学习活动(“AIGC”方向),基于魔搭社区“可图Kolors-LoRA风格故事挑战赛”开展的实践学习。

Datawhale官方的速通教程链接:

Task 1 从零入门AI生图原理&实践

Datawhale(Task2)

Datawhale(Task3)

下面是根据教程实践的记录(里面一些脚本附不上来,需要感兴趣的小伙伴自行去教程里下载)

Part1:了解文生图工作流平台工具ComfyUI

①ComfyUI含义

它是GUI(图形用户界面Graphical User Interface)的一种,基于节点工作的用户界面,主要用于操作图像的生成技术。它采用模块化设计,将图像生成过程分解成许多小的步骤,每个步骤都是一个节点,这些节点可以连接起来形成一个工作流程,用户可以根据需要定制自己图像的生成过程。下面是B站一个up主的视频链接,讲的非常浅显易懂!1 万字系统剖析ComfyUI | Stable Diffusion:GUI全盘点 | ComfyUI系统性教程原理篇04 | Ai+建筑_哔哩哔哩_bilibili

②ComfyUI核心模块

模型加载器(加载基础的模型文件)、提示词管理器(将文本类型的输入变为模型可以理解的内容作为模型的输入)、采样器(控制模型生成图像,不同采样取值会影响在最终输出图像的质量和多样性)、解码器(将通过提示词管理器转成的模型可以理解的内容解码为像素级别的图像)

SD基本原理:通过降噪方式将一个原本的噪声信号变为无噪声的信号(eg.人可理解的图像)

一些采样系数配置:

seed:控制噪声产生的随机种子

control_after_generate:控制seed在每次生成后的变化

steps:降噪的迭代步数,越多则信号越精准,相对的生成时间也越长

cfg:classifier free guidance决定了prompt对于最终生成图像的影响有多大。更高的值代表更多地展现prompt中的描述。

denoise: 多少内容会被噪声覆盖 sampler_name、scheduler:降噪参数。

③ComfyUI图片生成流程(来自教程里的图片)

该部分内容来自魔搭社区,可自行查看下方链接https://datawhaler.feishu.cn/wiki/QHSTwBPFKiZxqfkA1INc1u4fn0f#part-P5ufdxyIEo1U6ixULfGcQA8bnSf

④ComfyUI优势

模块化和灵活性;可视化界面;多模型支持;调试和优化;开放和可扩展;用户友好性

⑤20min速通安装ComfyUI

前往魔搭社区提供的Notebook体验,启动预计2min,耐心等待~

先在file中创建一个terminal

再下载脚本文件(下载安装ComfyUI的执行文件和task1中微调完成的Lora文件)

git lfs install
git clone 魔搭社区
mv kolors_test_comfyui/* ./
rm -rf kolors_test_comfyui/
mkdir -p /mnt/workspace/models/lightning_logs/version_0/checkpoints/
mv epoch=0-step=500.ckpt /mnt/workspace/models/lightning_logs/version_0/checkpoints/  

再双击进入ComfyUI的安装文件,一键执行安装程序(大约10min 可能会更久,耐心等等~)

当执行到最后一个节点的内容会输出一个访问链接,复制该链接到浏览器中(如果链接访问白屏/报错,再等一会重新访问试试,程序可能没有正常启动好)

下面是我点击链接打开的样子(终于打开了,一直没有等到链接出现,多restart就有了)

⑥浅尝ComfyUI工作流

→不带lora的工作流样例

Ⅰ.下载工作流脚本(附不上脚本,大家可以去Datawhale教程里下载)

点击工作流界面右方的load选择脚本下载

Ⅱ.加载模型,完成第一次生图

用之前最早的提示词试了一下,第二张挺喜欢的

→带lora的工作流样例

Ⅰ.下载工作流脚本(同样地,大家去教程里下载)
Ⅱ.生图

由于用的是task1的lora模型 所以生成的图和最初一样

Part2:认识lora微调

①LoRA(Low-Rank Adaptation)

是一种高效的微调技术,主要应用于预训练模型的个性化调整。

 ②LoRA微调原理

Ⅰ.核心机制:在预训练模型的关键层中添加低秩矩阵。

Ⅱ.参数设计:低秩矩阵具有较低维度的参数空间,允许在不改变模型整体结构的情况下进行微调。

Ⅲ.训练过程:仅更新新增的低秩矩阵,原始模型的大部分权重保持不变。

③ LoRA微调优势

Ⅰ.快速适应新任务:即使在特定领域只有少量标注数据,也能快速实现模型的个性化调整,迅速适应新领域或任务。

Ⅱ.保持泛化能力:通过微调模型的一部分,有助于保持模型在未见过的数据上的泛化能力,同时学习特定任务的知识。

Ⅲ.资源效率:通过仅微调模型的部分权重而非整个模型,减少了所需的计算资源,提高了资源使用效率。

Part 3 如何准备一个高质量数据集

教程里讲了两个步骤可以帮助我们快速找到适合的数据集,还整理了一些数据集来源,不过均需要考虑合规性问题,需谨慎选择。

来源类型

推荐

公开的数据平台

魔搭社区内开放了近3000个数据集,涉及文本、图像、音频、视频和多模态等多种场景,左侧有标签栏帮助快速导览,大家可以看看有没有自己需要的数据集。

其他数据平台推荐:

ImageNet:包含数百万张图片,广泛用于分类任务,也可以用于生成任务。 Open Images:由Google维护,包含数千万张带有标签的图片。 Flickr:特别是Flickr30kK和Flickr8K数据集,常用于图像描述任务。 CelebA:专注于人脸图像的数据集。 LSUN (Large-scale Scene Understanding):包含各种场景类别的大规模数据集。

使用API或爬虫获取

如果需要特定类型的内容,可以利用API从图库网站抓取图片,如Unsplash、Pexels等。 使用网络爬虫技术从互联网上抓取图片,但需要注意版权问题。

数据合成

利用现有的图形引擎(如Unity、Unreal Engine)或特定软件生成合成数据,这在训练某些类型的模型时非常有用。

最近Datawhale联合阿里云天池,做了一整套多模态大模型数据合成的学习,欢迎大家一起交流。从零入门多模态大模型数据合成

数据增强

对于较小的数据集,可以通过旋转、翻转、缩放、颜色变换等方式进行数据增强。

购买或定制

如果你的应用是特定领域的,比如医学影像、卫星图像等,建议从靠谱的渠道购买一些数据集。

实践记录暂且到这里啦!Datawhale里还有很多自学网站和资源,可以点击教程多多探索!

总结

# 文章总结:从零入门AI生图原理&实践
### 活动背景
- **名称**:Datawhale 2024年AI夏令营第四期(AIGC方向)
- **主题**:基于魔搭社区的“可图Kolors-LoRA风格故事挑战赛”实践学习
### 一、Part1: 了解文生图工作流平台工具ComfyUI
#### 1. ComfyUI含义
- **定义**:GUI(图形用户界面),基于节点工作的用户界面
- **功能**:用于操作图像生成技术,模块化设计,支持自定义图像生成过程
#### 2. ComfyUI核心模块
- **模型加载器**:加载基础模型文件
- **提示词管理器**:将文本输入转换为模型可理解的内容
- **采样器**:控制模型生成图像,影响质量和多样性
- **解码器**:将模型理解的内容解码为像素级图像
#### 3. SD基本原理
- **过程**:通过降噪方式将噪声信号转换为无噪声信号(如图像)
#### 4. 核心参数配置
- **seed**:控制噪声产生的随机种子
- **control_after_generate**:控制seed在生成后的变化
- **steps**:降噪迭代步数,影响图像质量和生成时间
- **cfg**:classifier free guidance,影响prompt描述在图像中的表现
- **denoise, sampler_name, scheduler**:降噪参数
#### 5. ComfyUI图片生成流程
- **教程链接**:提供具体步骤和可视化流程
#### 6. ComfyUI优势
- **模块化与灵活性**
- **可视化界面**
- **多模型支持**
- **调试和优化**
- **开放和可扩展**
- **用户友好性**
#### 7. 快速安装ComfyUI
- **步骤**:
1. 创建terminal
2. 下载相关脚本文件和执行文件
3. 执行安装程序,等待完成后打开浏览器访问链接
### 二、Part2:认识lora微调
#### 1. LoRA(Low-Rank Adaptation)定义
- **功能**:高效的微调技术,用于预训练模型的个性化调整
#### 2. LoRA微调原理
- **核心机制**:在预训练模型的关键层中添加低秩矩阵
- **参数设计**:低秩矩阵维度较低,便于微调
- **训练过程**:只更新低秩矩阵,保持模型大部分权重不变
#### 3. LoRA微调优势
- **快速适应新任务**
- **保持泛化能力**
- **资源效率**:减少计算资源需求
### 三、Part 3:如何准备一个高质量数据集
#### 1. 数据集来源
- **公开数据平台**:魔搭社区、ImageNet、Open Images、Flickr、CelebA、LSUN
- **API或爬虫获取**:利用图库网站API或网络爬虫技术获取图片,注意版权问题
- **数据合成**:利用图形引擎或特定软件生成合成数据
- **数据增强**:对较小数据集进行旋转、翻转等操作来增强数据
- **购买或定制**:针对特定领域(如医学影像、卫星图像)的专业数据集
### 实践记录与总结
- **学习内容**:从ComfyUI平台工具到LoRA微调技术,再到数据集准备方法
- **资源推荐**:Datawhale教程提供了丰富的自学资源和链接
这次实践活动通过理论讲解与实际操作相结合的方式,帮助学习者从零开始掌握AI生图的原理和技术,同时也深入了解了数据集准备的重要性。对于对AIGC方向感兴趣的学习者来说,这无疑是一次非常宝贵的学习机会。

更新时间 2024-08-22