lora体验

项目链接

GitHub - cloneofsimo/lora: Using Low-rank adaptation to quickly fine-tune diffusion models.

现在如果想体验stable diffusion的lora功能,有很多种渠道吧,虽然lora是微软开源,但是cloneofsimo提供了适配stable diffusion的lora流程。

数据准备

我准备了20张葫芦娃的图片用于微调,没有什么特别操作。

微调

微调耗时很短,10分钟?

Code Review

代码基于cli_lora_pti.py 执行, 针对输入的关键词,我们生成对应的token id. 其实就是建立embedding的映射了。

这里有点不理解的是,initialize_token_ids, place_token_ids的作用不太理解。。。

接下来,进入

复制代码
PivotalTuningDatasetCapation

它的作用就是构建数据集。

接下来,还有inpaint的训练选项,这是一个我很感兴趣的功能。我们可以选择是使用inpainting_dataloader还是text2img_dataloader 加载数据

然后,我们设定require_grad为false。

复制代码
   unet.requires_grad_(False)
    vae.requires_grad_(False)

接下来,我们可以选择是否进行inversion, 如果选择训练inversion,我们会对于text encoder进行训练,

接下来,我们可以选择利用lora进行训练,这里可以选择是否使用extended lora进行训练,

然后,我们可以inspect_lora(什么意思呢?

最后,我们又一次进行tuning,对象为text_encoder和unet。并进行保存!我认为这个代码结构非常的清晰简洁,值得多看!

看什么呢?

有几个问题需要再梳理清楚

  1. initialized_token_id和place holder token id是什么关系

  2. inpaint 的操作如何进行?

  3. inspect lora是什么操作?

  4. inversion的细节

  5. extended lora是什么操作?

  6. unet微调的细节?

  7. vae不需要微调吗?

相关推荐
副露のmagic4 小时前
草履虫级 Transformer code by hand
深度学习·bert·transformer
香芋Yu7 小时前
【大模型教程——第二部分:Transformer架构揭秘】第2章:模型家族谱系:从编码器到解码器 (Model Architectures)
深度学习·架构·transformer
飞鹰517 小时前
深度学习算子CUDA优化实战:从GEMM到Transformer—Week4学习总结
c++·人工智能·深度学习·学习·transformer
shangjian0079 小时前
AI-大语言模型LLM-Transformer架构7-模型参数量计算
人工智能·语言模型·transformer
斐夷所非12 小时前
Jay Alammar | 图解 Transformer
transformer
人工智能培训1 天前
基于Transformer的人工智能模型搭建与fine-tuning
人工智能·深度学习·机器学习·transformer·知识图谱·数字孪生·大模型幻觉
人工智能培训1 天前
基于Transformer的人工智能模型搭建与fine-tuning二
人工智能·深度学习·机器学习·大模型·transformer·企业数字化转型
缘友一世1 天前
大模型分布式推理:Ray 与 vLLM/Transformers 的协同架构深度解析
分布式·架构·transformer·ray·vllm
Loo国昌2 天前
【Transformer解析】第二阶段:深度解析Encoder、Decoder与Encoder-Decoder架构
人工智能·后端·深度学习·算法·语言模型·自然语言处理·transformer
错把套路当深情2 天前
通俗易懂的 TensorFlow 和 Transformers
人工智能·tensorflow·transformer