目录
Datawhale官方的速通教程链接:Task 1 从零入门AI生图原理&实践
任务一:跑通baseline
第一步——搭建代码环境
1.开通阿里云PAY-DSW免费试用
链接:https://free.aliyun.com/?productCode=learn
根据教程开通免费试用,新用户需要注册并实名账号,建议使用支付宝扫码登录,可以减少一些基础信息的填写。
2.在魔搭社区进行授权
链接:https://www.modelscope.cn/my/mynotebook/authorization
魔搭的新用户需要先注册并绑定阿里云账号
之后使用支付宝扫码登录即可
第二步——报名赛事并创建PAI实例
赛事链接:https://tianchi.aliyun.com/competition/entrance/532254
创建实例:https://www.modelscope.cn/my/mynotebook/authorization
提示:如果之前试用的额度已经过期,可使用魔搭的免费Notebook实例
在账号注册、授权及报名参赛的环节不多赘述,速通教程已有详细的步骤指南,点开图片仔细查看即可。
第三步——执行baseline
按照教程新建终端,粘贴命令回车执行,拉取远程的baseline文件,这需要等待一段时间。
git lfs install
git clone https://www.modelscope.cn/datasets/maochase/kolors.git
拉取baseline后,可以在右侧文件中看到kolor文件夹,双击进入可以看到后缀.ipyhb的baseline文件,点击打开。
相关科普博客:
接下来执行运行环境的代码块,我们需要安装 Data-Juicer 和 DiffSynth-Studio
- Data-Juicer:数据处理和转换工具,旨在简化数据的提取、转换和加载过程
- DiffSynth-Studio:高效微调训练大模型工具
有些时候因为网络及代理的问题,环境的安装容易缺漏,可以多执行几次。
安装完成后,重启kernel,不重启容易爆显存影响baseline运行
接下来依次执行下载数据集、数据处理
此外,还可以调整prompt,设置你想要的图片风格,依次修改8张图片的描述
正向描述词:你想要生成的图片应该包含的内容
反向提示词:你不希望生成的图片的内容
提示词也有一些讲究,比如优质的提示词、提示词的排序(越靠前的提示词影响比重越大)、提示词书写策略、Embedding 模型介入。这些对出图效果也同样重要。
至此,微调训练和模型出图已经全部完成
第四步——提交赛题
将微调结果上传魔搭
链接:https://www.modelscope.cn/models/create
执行代码后,将对应模型文件和示例图下载到本地
创建模型,中文名称建议格式:队伍名称-可图Kolors训练-xxxxxx
运行完成后,别忘了回到魔搭,【关闭】实例,否则会一直消耗你的试用额度!
别忘记打卡&在群里接龙!
任务二:相关知识学习
文生图基础知识介绍
文生图主要以SD系列基础模型为主,以及在其基础上微调的lora模型和人物基础模型等。
、
在深入探索图像生成技术时,提示词、LoRA、ComfyUI和参考图控制是几个关键概念,它们各自扮演着不同的角色,帮助提升最终生成图像的质量和效果。、
提示词(Prompts)
提示词是生成图像的核心部分,影响着图像的内容和风格。在提示词的构建中,一般包括以下几个要素:
主体描述:图像的主要内容或对象。
细节描述:补充主体的具体特征,如颜色、形状等。
修饰词:增强图像效果的词语,如“华丽的”、“破旧的”等。
艺术风格:指定图像的风格类型,如“巴洛克风格”、“未来主义”等。
艺术家:可以引用特定艺术家的风格以便生成具有相似风格的作品。
反向提示词
反向提示词是用来排除生成图像时不需要的元素。通常使用英文,因为底层模型如Stable Diffusion处理提示词时主要依赖于英文输入。例如以下反向提示词可用于排除低质量的图像元素:`text, word, cropped, low quality, normal quality, username, watermark, signature, blurry, soft, soft line, curved line, sketch, ugly, logo, pixelated, lowres, vase.`
正向提示词
为了提高图像质量,可以使用如下示例中的正向提示词:`a highly detailed European style bedroom, elegant atmosphere, RTX lighting, global illuminations, a sense of understated sophistication, 8K resolution, high quality, photorealistic, highly detailed.` 这些提示词有助于生成高分辨率、细节丰富、逼真度高的图像。
LoRA(Low-Rank Adaptation)
在Stable Diffusion等文本到图像模型中,LoRA代表一种轻量级的微调方法,全称为低秩适应(Low-Rank Adaptation)。通过LoRA,可以在不改变基础模型的情况下,对特定主题、风格或任务进行细化调整。
LoRA模型的目标:通过优化训练集,找到适合当前应用场景的最佳模型参数。优秀的素材通常涵盖不同角度、形态、光照和质量的图片。
Tag的作用:在训练过程中,为素材打上特定的Tag,可以明确模型在生成图像时应关注的特征,如主题、动作、光影效果等。如果某一特征在训练时没有被打Tag,模型将默认为其为固定特征。
出图指引(SD WebUI)
在使用Stable Diffusion的Web界面生成图像时,可以根据以下指引优化图像生成效果:
描述内容Prompt:包括主体、表情、服装、场景、环境、镜头、灯光、风格、画质和渲染器等要素。靠前的Tag权重较高,建议使用括号法则、数字法则、混合来增加权重。
采样步数:步数越高,图像细节越多,但渲染速度也会变慢。建议范围为20至40之间。
采样器:例如karras去噪器,它能有效加快去噪速度。DPM建议使用DPM++SDE karras。
其他参数如Seed(随机种子)、文字相关度CFG scale等,也需要根据实际情况进行调整,以实现最佳的图像质量。
常见训练与出图参数
在LoRA模型训练中,以下是一些常见参数及其作用:
batch_size:并行训练的数量,增加batch size需同步增加学习率。
resolution:训练时图片的分辨率。
flip_aug、color_aug等数据增强技术:这些技术通过随机裁剪、颜色增强、水平翻转等方式,增加训练数据的多样性。
learning_rate与优化器:学习率和优化器的选择对于模型的收敛速度和最终效果至关重要。常用的优化器如AdamW8bit、Lion和DAdaptation都有各自的优势,根据具体情况调整学习率。
此外,模型保存、精度调整、显存优化等配置也需要根据实际需求进行设定,如使用混合精度、gradient_checkpointing、xformers/mem_eff_attn等技术来节省显存。
通过合理运用提示词、LoRA微调、出图参数和训练配置,可以极大提升文本到图像模型的表现,为生成高质量的图像提供有力支持。
模型拓展
Stable Diffusion是一种基于Latent Diffusion Models(LDMs)实现的文生图(text-to-image)算法。它模拟物理世界中的扩散过程,将随机噪声逐步转化为具有特定结构和纹理的图像。LDMs是在Diffusion Model(扩散模型)基础上发展而来的,这一技术使得Stable Diffusion在生成图像的过程中展现出极高的灵活性和可扩展性。相比传统的图像生成方法,Stable Diffusion能够生成更为真实和细腻的图像效果。
在Stable Diffusion的训练过程中,模型通过深度学习技术对大量图像数据进行训练,利用卷积神经网络(CNN)提取图像的特征,再通过扩散模型生成这些特征所对应的图像。这一过程中的关键技术关键词包括DM(Diffusion Model)和LDMs(Latent Diffusion Models),它们共同构成了Stable Diffusion的基本原理。
1. Diffusion Model(扩散模型)
AI绘画技术的兴起很大程度上得益于扩散模型的引入。尽管扩散模型早在2015年国际机器学习会议(ICML)上首次提出时并未引起广泛关注,但其潜力随着时间逐渐被发现。2020年6月,加州大学伯克利分校发布了题为“DDPM”(去噪扩散概率模型)的论文,该模型在更大规模的数据集上展示出了与当时最先进的生成对抗网络(GAN)模型相媲美的性能,这让研究人员逐渐认识到扩散模型在内容创作领域的巨大潜力。
扩散模型的工作原理包括两个关键过程:
1. 前向扩散:在前向扩散过程中,逐步向输入图像中添加高斯噪声,使得原始图像逐渐模糊。
2. 逆向扩散:逆向扩散则是通过反向去噪的方式,将模糊图像逐步恢复至原始状态,最终得到训练好的模型。这个模型能够根据输入的文本提示或原始图像生成新的图像。
扩散模型的成功标志着AI绘画技术进入了一个新阶段,而Stable Diffusion正是建立在这一基础上的创新应用。
2. Latent Diffusion Models(LDMs,潜空间扩散模型)
Latent Diffusion Models的提出主要是为了应对处理图像时的巨大像素空间问题。对于一个512x512大小的RGB图像,这意味着需要处理768,432个像素值。如此庞大的数据处理量不仅耗时,还消耗大量资源。
LDMs通过引入“潜空间”的概念,实现了对原始像素数据的压缩,使得模型可以在更小的空间内进行计算。Stable Diffusion处理的并不是直接的像素图像,而是在潜空间中的张量(如4x64x64的噪声图)。通过在潜空间中添加噪声而非直接对像素图像进行操作,Stable Diffusion大大提升了执行速度,同时也保持了生成图像的高质量。
3. LoRA(Low-Rank Adaptation)
LoRA是一种轻量级的微调方法,旨在通过微调大模型来实现特定任务的优化。对于资源有限的小公司或个人来说,训练和调整大模型的成本高昂,而LoRA通过利用大模型的内在低秩特性,增加旁路矩阵来模拟全参数微调,从而以较低的计算成本实现高效的模型优化。
在AI绘画领域,LoRA已经被集成到HuggingFace的PEFT(Parameter-Efficient Fine-Tuning)代码库中。通过将Stable Diffusion模型与LoRA模型结合使用,可以在特定的细分任务中仅微调少量参数,便取得显著效果。这种方法为AI绘画技术的普及和应用提供了更多可能性。