本文档由 AI 生成。如果您发现任何错误或有改进建议,欢迎贡献! 在 GitHub 上编辑TrainLoraNode 使用提供的潜空间数据和条件数据,在扩散模型上创建并训练一个 LoRA(低秩适配)模型。它允许您使用自定义训练参数、优化器和损失函数对模型进行微调。该节点输出训练好的 LoRA 权重、损失历史记录图以及完成的总训练步数。
输入
| 参数 | 数据类型 | 是否必填 | 范围 | 描述 |
|---|---|---|---|---|
模型 | MODEL | 是 | - | 要训练 LoRA 的模型。 |
潜变量 | LATENT | 是 | - | 用于训练的潜空间数据,作为模型的数据集/输入。 |
正向条件 | CONDITIONING | 是 | - | 用于训练的正面条件数据。 |
批次大小 | INT | 是 | 1-10000 | 训练使用的批次大小(默认值:1)。 |
梯度累积步数 | INT | 是 | 1-1024 | 训练使用的梯度累积步数(默认值:1)。 |
步数 | INT | 是 | 1-100000 | 训练 LoRA 的步数(默认值:16)。 |
学习率 | FLOAT | 是 | 0.0000001-1.0 | 训练使用的学习率(默认值:0.0005)。 |
秩 | INT | 是 | 1-128 | LoRA 层的秩(默认值:8)。 |
优化器 | COMBO | 是 | ”AdamW" "Adam" "SGD" "RMSprop” | 训练使用的优化器(默认值:“AdamW”)。 |
损失函数 | COMBO | 是 | ”MSE" "L1" "Huber" "SmoothL1” | 训练使用的损失函数(默认值:“MSE”)。 |
种子 | INT | 是 | 0-18446744073709551615 | 训练使用的随机种子(用于 LoRA 权重初始化和噪声采样的生成器)(默认值:0)。 |
训练数据类型 | COMBO | 是 | ”bf16" "fp32" "none” | 训练使用的数据类型。‘none’ 保留模型原生的计算数据类型,而非覆盖它。对于 fp16 模型,会自动启用 GradScaler(默认值:“bf16”)。 |
LoRA 数据类型 | COMBO | 是 | ”bf16" "fp32” | LoRA 使用的数据类型(默认值:“bf16”)。 |
quantized_backward | BOOLEAN | 是 | - | 当使用 训练数据类型 为 ‘none’ 且在量化模型上训练时,启用后可在反向传播中使用量化矩阵乘法(默认值:False)。 |
算法 | COMBO | 是 | 提供多个选项 | 训练使用的算法。 |
梯度检查点 | BOOLEAN | 是 | - | 训练时使用梯度检查点(默认值:True)。 |
checkpoint_depth | INT | 是 | 1-5 | 梯度检查点的深度级别(默认值:1)。 |
offloading | BOOLEAN | 是 | - | 训练期间将模型权重卸载到 CPU 以节省 GPU 内存(默认值:False)。 |
现有LoRA | COMBO | 是 | 提供多个选项 | 要附加到的现有 LoRA。设置为 None 以创建新的 LoRA(默认值:“[None]”)。 |
bucket模式 | BOOLEAN | 是 | - | 启用分辨率桶模式。启用后,期望从 ResolutionBucket 节点接收预分桶的潜空间数据(默认值:False)。 |
bypass_mode | BOOLEAN | 是 | - | 启用训练旁路模式。启用后,适配器通过前向钩子应用,而非修改权重。对于无法直接修改权重的量化模型特别有用(默认值:False)。 |
training_dtype 的说明: 当设置为 “none” 时,会保留模型原生的计算数据类型。对于 fp16 模型,会自动启用 GradScaler 以防止梯度计算过程中的下溢。如果同时启用了 fp16_accumulation(通过 --fast 标志),这种组合可能在数值上不稳定,并可能导致 NaN 值。
关于 quantized_backward 的说明: 此参数仅在 training_dtype 设置为 “none” 且模型为量化模型时相关。它会在反向传播过程中启用量化矩阵乘法。
关于 bypass_mode 的说明: 启用后,适配器通过前向钩子应用,而非直接修改模型权重。这对于无法直接修改权重的量化模型特别有用。
输出
| 输出名称 | 数据类型 | 描述 |
|---|---|---|
LoRA | LORA_MODEL | 训练好的 LoRA 权重,可以保存或应用于其他模型。 |
损失 | LOSS_MAP | 一个包含随时间变化的训练损失值的字典。 |
步数 | INT | 完成的总训练步数(包括来自现有 LoRA 的任何先前步数)。 |
Source fingerprint (SHA-256):
df315ef416ff3ce81e6a526af2c4e5115980e6c35830825967e7189d4f8541d8