【Datawhale X 魔搭 AI夏令营】进阶上分-实战优化

94 阅读3分钟

学习链接:Datawhale (linklearner.com)

01 GUI

主流

  • 窗口式function

    这种界面通过网页浏览器提供给用户,并且通常包含一个或多个窗口,每个窗口可以包含不同的功能或工具。

    代表:WebUI

  • prompt only

    仅依赖于文本提示(prompt)来进行交互的用户界面。这种界面不提供可视化的控件,而是让用户通过输入文本指令来驱动程序的行为。

    代表:Fooocus

  • 节点式pipeline

    使用节点来组织和控制数据流程的用户界面。在这种界面上,用户可以通过连接不同的节点来创建复杂的工作流。

    代表:ComfyUI

其他

  • 官方
    • 开源 Stable Studio Stable Swarm
    • 在线 Dream Studio Clip drop
  • 第三方
    • 开源 Invoke AI SD.Next Volta ML
    • 在线 SD Online Hugging Face Cat bird AI Platground AI

02 ComfyUI -- 可视化代码平台

定义

Comfy UI 是一个开源的图形用户界面(GUI)工具,主要用于简化和改进文本到图像生成模型(如 Stable Diffusion)的工作流程。它通过提供一个直观的节点编辑器界面,让用户能够轻松地构建和管理用于生成图像的复杂过程。

作用

  • 作为后端:Comfy Box、Stable Swarm
  • 本体
  • 作为插件:WebUI、Blender

运行

安装

1723898363499.png

不带Lora的工作流样例

1723898577072.png

带Lora的工作流样例

1723898721460.png

1723898773776.png

体会

运行截图 image.png

初次接触ComfyUI,不同于传统的设计软件,ComfyUI简洁直观的界面,让即便是新手小白也能轻松跑出图片,快速实现创意构图的构想。这种低门槛的入门体验,极大地激发了我的学习兴趣。技术并不遥远,创意实现触手可及。

03 LoRA微调

1. 定义

LoRA(Low-Rank Adaptation)是一种高效的微调技术,特别适用于大型预训练语言模型(LLMs)。LoRA 的核心思想是在不修改原有模型权重的情况下,通过引入额外的小规模参数矩阵来调整模型行为,以适应特定的任务或领域。这种方法大大减少了微调所需的计算资源和时间,同时也避免了因全量微调导致的过拟合问题。

2. 特点

  1. 模型微调

    • LoRA 可以用于对预训练的大型语言模型进行微调,使其能够更好地完成特定的下游任务,例如文本分类、情感分析、问答系统等。
    • 通过 LoRA,可以在不重新训练整个模型的情况下,快速调整模型的行为。
  2. 资源效率

    • 由于 LoRA 只添加了少量的参数(通常是低秩矩阵),因此它允许在资源有限的环境中进行模型微调,这对于部署大型模型到边缘设备尤其有用。
  3. 快速迭代

    • LoRA 提供了一种快速迭代的方法,使得开发者可以迅速尝试不同的微调策略,找到最适合特定任务的模型配置。
  4. 模型压缩

    • LoRA 可以作为一种模型压缩的技术,通过减少模型的参数数量来降低模型的复杂度,同时尽量保持模型性能。
  5. 多任务学习

    • LoRA 可以用于多任务学习场景,使得模型能够在不同的任务间共享大部分参数,而每个任务只需要微调特定的 LoRA 参数。

3. LoRA 的工作原理:

学习链接:

1723900120081.png

  • 在每个模型层内部,LoRA 添加了两个小的可训练矩阵 AA 和 BB,其中 AA 是一个低秩矩阵,BB 通常是一个较窄的矩阵。这些矩阵被设计成与原有的权重矩阵相乘,从而有效地改变模型的行为,而不需要对原模型进行任何更改。
  • 这些额外的矩阵只包含相对较少的参数,这意味着它们可以非常快地进行训练,而且占用的存储空间也更少。