文生图SFT最佳实践
更新时间:2024-09-19
目录
以下内容为平台操作文生图SFT的最佳实践,关于如何快速调优及效果查看,您可以至调优快速手册查看。
LoRA介绍
LoRA,英文全称 Low-Rank Adaptation of Large Language Models,是一种用于对文生图模型进行微调的训练方式;LoRA 模型是对标准checkpoint模型进行了微调的小型稳定扩散模型(Stable Diffusion models),通常比checkpoint模型小 10~100 倍。
LoRA 对Stable Diffusion模型的交叉注意层(The cross-attention layers,模型中图像和Prompt交汇的部分,最关键部分)进行了微小的改动,研究人员发现,只需对模型的这一部分进行微调,就能实现良好的训练效果:
LoRA对 cross-attention layers 进行了微调 (QKV部分) |
LoRA训练特点
- 训练任务较稳定,效果较好
- 训练资源占用较少
- 推理阶段不引入额外计算量
- 训练后的模型体积小,轻量化
LoRA常见的应用场景
- 生成特定人脸的图像
- 生成特定画风的图像
LoRA模型的优势
- 训练所需数据少:若对出图细节要求不高,最少仅需5-10张数据就可以完成lora的训练
- 模型体积小:SD1.5匹配的LoRA甚至可以<10M 就可以实现出图效果的迁移
- 使用范围广:LoRA可以在不同的基础模型中进行使用,搭配不同的基础模型有不同的效果
本平台LoRA训练流程
这里将以Pokemon风格的图像生成为例,使用Pokemon风格的图像对模型进行LoRA训练微调:
主要流程:
1. 数据准备:需求主题确认 > 数据收集和预处理 > Prompt标注
2. LoRA模型训练
3. 模型发布与体验
1.数据准备
数据准备主要步骤 | Tips |
---|---|
Step 1 需求主题确认 | ·首先确定你的训练主题,比如特定人物、画风 |
Step 2 数据收集和预处理 | ·不少于15 张高质量图片,分辨率一般高于 512*512 ·图片主体清晰、特征明显,构图与背景简单 ·特定人物照,以脸部特写为主 (多角度、 多表情),再放几张全身像 (不同姿态和服饰) |
Step 3 Prompt标注 | ·以 < 图像, Prompt > 为一组数据 ·描述图片内容,比如人物特征、角度、姿态等 ·添加特定的触发词,定义模型的整体风格 |
数据集下载地址:下载地址
- 创建&上传数据
1.创建数据集 |
2.数据类型选择 Prompt+图片 |
- 创建数据集后可查看数据集详情、并修改Prompt标注内容
1.点击数据集想详情 |
2.查看数据集 |
3.数据集重新标注 |
- 发布数据集
2.LoRA模型训练
在「模型精调 > SFT」模块下进行LoRA训练
1.创建训练任务 |
2.选择Stable Diffusion-XL作为基础模型 |
3.选择数据集 |
3.模型发布与体验
模型运行完成后点击操作列的发布,将其发布为新模型或者已有模型的新版本。
成功发布模型后,在我的模型中找到刚才的模型,部署服务上线,在体验中心使用服务进行推理。
- 选择部署模型为在线服务
- 调整服务配置
- 至“体验中心”测试服务。
采用Pokemon数据集经过LoRA微调的模型,在prompt中加入关键词"pokemon"后,可直观感受到模型输出与预期风格(数据集中图像风格)的匹配度大大提高:
Pokemon数据集图像 |
是否微调 | Prompt: "cat" | Prompt: "pokemon, cat" |
---|---|---|
未微调 | ||
LoRA微调 |