18|DreamBooth和LoRA:低成本实现IP专属的AI绘画模型
Textual Inversion
- 深入了解
- 翻译
- 解释
- 总结
LoRA:低成本实现IP专属的AI绘画模型 LoRA是一种低成本实现IP专属的AI绘画模型的方法,通过矩阵的秩因子分解,将处理一个大的权重矩阵的任务转变为处理两个较小的权重矩阵,从而有效减少可学习参数,为模型训练和存储提供便利。LoRA技术不仅可以用于大语言模型的训练,还能够用于AI绘画模型的微调。相比原始模型,LoRA的参数量少,训练效率高,对硬件环境的要求更低,且在训练后可以直接将LoRA添加到原模型中,模型的推理速度不受任何影响。此外,LoRA的使用还能节省存储空间。总的来说,LoRA技术为定制化图像生成提供了一种低成本、高效率的解决方案。
《AI 绘画核心技术与实战》,新⼈⾸单¥59
全部留言(3)
- 最新
- 精选
- 易企秀-郭彦超置顶老师,关于Textual Inversion您有没有这方面的研究: 目前S需要输入几张图像进行训练才能获取对应的特征,去替换对应位置的clip embedding输入,那有没有一种不需要训练的方案, 比如我给一张或多张图,通过一个模型去提取对应的特征,然后将这些特征替换输入的文本token embedding,进而实现类似的效果,大大降低了使用成本,交互上也更便捷了
作者回复: 你好,这个问题非常好。事实上,这也是单张图像、无需训练实现AI相册的精髓所在,我们最近已经突破了这个技术,但是在操作过程中要加入很多其他技巧才能实现DreamBooth这种多图训练的效果。后面在加餐中会和大家探讨这种One-shot Train-Free的技术,敬请期待~
2023-08-28归属地:北京4 - Seeyo老师,请教两个问题 1、关于dreambooth和lora,除了计算能耗外,dreambooth的效果是否基本优于lora? 2、人物定制方面,我想定制多个人物,比如甲乙丙丁,在我实验dreambooth时,我先训练了甲,然后拿甲得到的模型去训练乙之后,发现模型的画质和画风大幅下降。请问多人物训练该如何通过dreambooth制定? 如果走lora路线,比如制作十个lora,让模型一同加载,是否会影响人物人脸的一致性?(这部分我还未开始实验) 想听听老师对于多人物定制的建议,因为线上部署时,希望模型初始化只发生在服务启动环节,后续不做模型的切换。
作者回复: 你好。针对第一个问题,我个人的经验来看,DreamBooth和LoRA的效果是差不多的,但LoRA的可学习参数更好,对于抑制过拟合会有一定的作用。针对第二个问题,如果是定制多个人物,我建议还是通过一个LoRA来实现,在训练的时候注意给每个人物打上独立的tag(第23讲会包含这部分技巧),这样实际部署时,同一个LoRA模型用不同的tag触发不同的形象。如果按照甲乙丙丁的方式去训练,会出现模型能力遗忘和部署困难两个问题。如果10个LoRA模型一起加载,大概率会出现四不像的问题,因为本质上来说,10个LoRA的权重都需要通过weight加载到基础模型上。希望能够帮助到你。
2023-08-28归属地:上海23 - Toni当训练某个LoRA1 时,基础模型W1 的参数保持不变。如果W1的维度是d1xd1, 训练LoRA1时调整两个矩阵 A1 和矩阵 B1 的权重,最后A1xB1的维度也将是d1xd1,因此输出的结果就可以表示为W1+ A1xB1。 问题1: 在使用LoRA1 时,基础模型只能选W1? 问题2: 使用LoRA1 时,如果选择了另一个基础模型W2,其具有d2xd2的维度,输出W2+ A1xB1是否会严重偏离预期? 如何评估这样的结果?
作者回复: 你好。针对第一个问题,实际上对于AI绘画这个任务,我们的LoRA模型作用于UNet中Attention模块的投影层,也就是用于计算Q、K、V向量的投影矩阵。对于一个AI绘画基础模型而言,我们知道其中UNet有多个注意力层,最终LoRA权重需要分别作用于这些层。LoRA模型和基础模型是绑定的。针对问题2,理解了问题1问题2就好懂了,举例来说,对于SD1.5和它的一个微调模型而言,网络整体结构是一样的,只是模型权重不同,因此问题中的d2和d1是一样的。LoRA还能起作用,但是效果上会有折损,尤其当两个基础模型原始风格差距较大的时候。这里没有很好的评估方式,对于AI绘画模型的定制化生成任务而言,更多的还是主观评估。希望能帮助到你。
2023-08-29归属地:瑞士1