资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

文生图SFT最佳实践

目录

  1. LoRA介绍
  2. 本平台LoRA训练工作流

以下内容为平台操作文生图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常见的应用场景

  • 生成特定人脸的图像
  • 生成特定画风的图像

image.png

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. 创建&上传数据

1.创建数据集

2.数据类型选择 Prompt+图片
  1. 创建数据集后可查看数据集详情、并修改Prompt标注内容

1.点击数据集想详情

2.查看数据集

3.数据集重新标注
  1. 发布数据集

截屏2024-01-15 16.23.34.png

2.LoRA模型训练

在「模型精调 > SFT」模块下进行LoRA训练


1.创建训练任务

2.选择Stable Diffusion-XL作为基础模型

3.选择数据集

3.模型发布与体验

模型运行完成后点击操作列的发布,将其发布为新模型或者已有模型的新版本。

成功发布模型后,在我的模型中找到刚才的模型,部署服务上线,在体验中心使用服务进行推理。

  1. 选择部署模型为在线服务

image (7).png

  1. 调整服务配置

image (8).png

  1. 至“体验中心”测试服务。

image (10).png

采用Pokemon数据集经过LoRA微调的模型,在prompt中加入关键词"pokemon"后,可直观感受到模型输出与预期风格(数据集中图像风格)的匹配度大大提高:


Pokemon数据集图像

是否微调 Prompt: "cat" Prompt: "pokemon, cat"
未微调 image.png image.png
LoRA微调 image.png image.png
上一篇
文生文SFT最佳实践
下一篇
模型管理