Navigate to WaytoAGI Wiki →
Home/Question List/Question Detail

flux lora 训练

Answer

以下是关于 Flux 的 Lora 模型训练的详细步骤:

准备工作

  • 下载所需模型:t5xxl_fp16.safetensors、clip_l.safetensors、ae.safetensors、flux1-dev.safetensors。
    • 注意:不使用时模型放置位置不限,只要知道“路径”,后续会引用到“路径”。
    • 训练建议使用 flux1-dev.safetensors 版本的模型和 t5xxl_fp16.safetensors 版本的编码器。

下载训练脚本

  • 夸克网盘链接:https://pan.quark.cn/s/ddf85bb2ac59
  • 百度网盘链接:https://pan.baidu.com/s/1pBHPYpQxgTCcbsKYgBi_MQ?pwd=pfsq 提取码:pfsq

数据集准备

  • 进入厚德云-模型训练-数据集:https://portal.houdeyun.cn/sd/dataset
    • 步骤一:创建数据集
      • 在数据集一栏中,点击右上角创建数据集。
      • 输入数据集名称。
      • 可以上传包含图片+标签 txt 的 zip 文件,也可以上传只有图片的文件(之后可在 c 站使用自动打标功能),或者一张一张单独上传照片,但建议提前将图片和标签打包成 zip 上传。
      • Zip 文件里图片名称与标签文件应当匹配,例如:图片名“1.png”,对应的达标文件就叫“1.txt”。
      • 上传 zip 以后等待一段时间,确认创建数据集,返回到上一个页面,等待一段时间后上传成功,可点击详情检查,预览数据集的图片以及对应的标签。
    • 步骤二:Lora 训练
      • 点击 Flux,基础模型会默认是 FLUX 1.0D 版本。
      • 选择数据集,点击右侧箭头,会跳出所有上传过的数据集。
      • 触发词可有可无,取决于数据集是否有触发词。
      • 模型效果预览提示词则随机抽取一个数据集中的标签填入即可。
      • 训练参数可以调节重复次数与训练轮数,厚德云会自动计算训练步数。如果不知道如何设置,可以默认 20 重复次数和 10 轮训练轮数。
      • 可以按需求选择是否加速,点击开始训练,会显示所需要消耗的算力。
      • 等待训练,会显示预览时间和进度条,训练完成会显示每一轮的预览图。
      • 鼠标悬浮到想要的轮次模型,中间会有个生图,点击会自动跳转到使用此 lora 生图的界面。点击下方的下载按钮则会自动下载到本地。

数据集放置位置:.Flux_train_20.4\train\qinglong\train

运行训练:约 1 - 2 小时即可训练完成。

验证和 lora 跑图:有 ComfyUI 基础的话,直接原版工作流的模型后面,多加一个 LoraloaderModelOnly 的节点就可以,自行选择您的 Lora 和调节参数。

Content generated by AI large model, please carefully verify (powered by aily)

References

郑敏轩 :Flux的Lora模型训练

作者@郑敏轩大家好,上次讲了Flux简介,我们这次来讲讲Flux的Lora训练首先你要确保你已经正确安装使用了Flux的各个模块~~哈哈,开个玩笑,其实不用安装使用也是可以训练的~但是你要把当时需要的几个模型下载下来:t5xxl_fp16.safetensorsclip_l.safetensorsae.safetensorsflux1-dev.safetensors注意:1.你不使用的话他们放到哪里都可以,甚至放一起一个文件夹,只要你知道“路径”,我们后面要引用到“路径”2.因为是训练,不是跑图,跑图我们可以寻求降低方案,训练的话,哈哈模型就用flux1-dev.safetensors这个版本,编码器也用t5xxl_fp16.safetensors这个版本最好。好,接下来我们使用青龙的训练脚本,在此给青龙大大跪拜一下~阿弥陀佛~[heading2]下载脚本[content]网盘链接:夸克网盘链接:https://pan.quark.cn/s/ddf85bb2ac59通过百度网盘分享的文件:Flux_train_20.4.zip链接:https://pan.baidu.com/s/1pBHPYpQxgTCcbsKYgBi_MQ?pwd=pfsq提取码:pfsq--来自百度网盘超级会员V3的分享

10-0基础训练大模型

进入厚德云-模型训练-数据集https://portal.houdeyun.cn/sd/dataset[heading2]步骤一·创建数据集[content]在数据集一栏中,点a击右上角创建数据集输入数据集名称这个zip文件可以是包含图片+标签txt,也可以只有图片没有打标文件(之后你可以在c站使用它的自动打标功能)你也可以一张一张单独上传照片,但还是建议提前把图片和标签打包成zip上传Zip文件里图片名称与标签文件应当匹配例如:图片名"1.png",对应的达标文件就叫"1.txt"。上传zip以后等待一段时间确认创建数据集返回到上一个页面,等待一段时间后就会上传成功,可以点击详情检查可以预览到数据集的图片以及对应的标签[heading2]步骤二· Lora训练[content]点击Flux,基础模型会默认是FLUX 1.0D版本选择数据集,点击右侧箭头,会跳出你所有上传过的数据集触发词可有可无,取决于你的数据集是否有触发词模型效果预览提示词则随机抽取一个你数据集里的标签填入即可训练参数这里可以调节重复次数与训练轮数,厚德云会自动计算训练步数如果不知道如何设置,可以默认20重复次数和10轮训练轮数可以按需求选择是否加速,点击开始训练,会显示所需要消耗的算力然后就可以等待训练了,会显示预览时间和进度条训练完成的会显示出每一轮的预览图鼠标悬浮到你想要的轮次模型,中间会有个生图,点击会自动跳转到使用此lora生图的界面。点击下方的下载按钮则会自动下载到本地

郑敏轩 :Flux的Lora模型训练

建议使用自然语言,其他和之前SDXL的训练一样,社区前面有SD训练的内容,不多介绍了数据集放哪里?.Flux_train_20.4\train\qinglong\train就是下图红色文件夹,里面一直往里找,顺带说一下绿色部分是训练好的模型产出的地方如果此处还没有准备数据集的伙伴们呢,本身检查一下这个路径里面,会有原先放好的试验数据集,是可以直接使用的,也就是说你如果试验操作的话,这一步可以先省略,可以往下进行。等训练成功,再准备自己的训练集。[heading2]运行训练[content]约1-2小时即可训练完成[heading2]验证和lora跑图:[content]有comfyUI基础的话,直接原版工作流的模型后面,多加一个LoraloaderModelOnly的节点就可以,自行选择你的Lora和调节参数。

Others are asking
flux lora调参数,我训练出来的人物模型和数据集的人物图片不像,出现这种情况的原因都有哪些,应该调整哪些参数,我需要我的flux模型训练出来的模型是一致性还原性,和泛化性比较不错的,按照这个方向给我指导
以下是关于 flux lora 调参数以获得一致性、还原性和泛化性较好的人物模型的指导: 打标环节: 选择基础大模型,如“麦橘写实”,并为 lora 命名。 将照片导入,选择合适分辨率,可勾选“脸部加强训练”,然后进行预处理。手动裁剪图片比自动裁剪更可靠。 预处理后会出现脸部和整体文件夹,且每张照片自动打好 tag 标签。 可为整体添加统一标签,也可单独修改每张图片的标签。标签有助于 AI 理解图片,描述越详细,人物变化可能越多,泛化性可能越好。仔细检查每张图片的标签,其质量会影响人物 lora 的泛化性。 参数调整环节: 大部分参数是固定的,主要的几个按照人物参数配置一遍。后期根据生成结果再调整。 炼丹环节: 例如 18 张脸部图片,20 张整体图片,各训练 50 步,循环训练 10 次,并行步数为 1。训练总步数和时长会有所不同,loss 值可作为参考,但最终效果仍需通过测试判断。 此外,在 Lora 串联方面,多个 Lora 串联时左右顺序不影响结果,可复制并点对点连接。CLIP 层 1 和 2 的效果不同,加 Lora 时某些 Lora 可能更适合 2。Lora 可用于生成底模无法画出的内容。在运行中点击取消可打断正在渲染跑的图。图像放大可通过 up scale image using model 节点,选择放大模型,用 resize 节点调整尺寸,再用编码器和采样器处理。放大模型直接放大的图像效果不佳,需再次采样增加细节。添加飞桨缺失节点可通过拖入工作流查看标红节点,从管理器安装或从 GitHub 获取节点包放入文件管理系统。采样器和调度器参数设置建议参考模型作者推荐,并结合自己调试。Web UI 中 Lora 库有刷新按钮,将 Lora 丢到文件夹后多点几次刷新即可。
2025-01-04
flux lora训练指南
以下是关于 Flux 的 Lora 模型训练的指南: 准备工作: 需要下载以下模型: t5xxl_fp16.safetensors clip_l.safetensors ae.safetensors flux1dev.safetensors 注意事项: 1. 不使用的话,模型放置位置不限,但要清楚其“路径”,后续会引用到。 2. 训练建议使用 flux1dev.safetensors 版本的模型和 t5xxl_fp16.safetensors 版本的编码器。 下载脚本: 夸克网盘链接:https://pan.quark.cn/s/ddf85bb2ac59 百度网盘链接:https://pan.baidu.com/s/1pBHPYpQxgTCcbsKYgBi_MQ?pwd=pfsq 提取码:pfsq 修改脚本路径和参数: 如果显卡是 16G,右键 16G 的 train_flux_16GLora 文件;如果显卡是 24G 或更高,右键 24G 的 train_flux_24GLora 文件。(DB 全参微调对硬件要求高,内存 32G 可能不行。即使是 train_flux_24GLora 方式,也建议内存高于 32G 以避免意外。) 右键用代码编辑器打开文件,理论上只需修改红色部分:底模路径、VAE 路径、数据集路径,还有下面的 clip 路径和 T5xxl 路径。如果 4 件套在一个文件夹,路径填写更简单;若不在,需准确复制各模型的路径,注意检查格式,避免多双引号、漏双引号或路径错误。 数据集准备: 1. 进入厚德云 模型训练 数据集:https://portal.houdeyun.cn/sd/dataset 2. 创建数据集:在数据集一栏中,点击右上角创建数据集,输入数据集名称。zip 文件可以包含图片+标签 txt,也可以只有图片(之后可在 c 站使用自动打标功能),也可一张一张单独上传照片,但建议提前将图片和标签打包成 zip 上传。Zip 文件里图片名称与标签文件应当匹配,例如:图片名"1.png",对应的达标文件就叫"1.txt"。上传 zip 后等待一段时间,确认创建数据集,返回到上一个页面,等待上传成功后可点击详情检查,能预览到数据集的图片以及对应的标签。 Lora 训练: 点击 Flux,基础模型会默认是 FLUX 1.0D 版本。选择数据集,点击右侧箭头选择上传过的数据集。触发词可有可无,取决于数据集是否有触发词。模型效果预览提示词可随机抽取数据集中的一个标签填入。训练参数可调节重复次数与训练轮数,若不知如何设置,可默认 20 重复次数和 10 轮训练轮数。可按需求选择是否加速,点击开始训练,会显示所需消耗的算力,然后等待训练,会显示预览时间和进度条。训练完成会显示每一轮的预览图,鼠标悬浮到想要的轮次模型,中间会有生图,点击会自动跳转到使用此 lora 生图的界面,点击下方的下载按钮则会自动下载到本地。
2025-01-04
flux模型风格提示词
以下是关于 Flux 模型风格提示词的相关信息: ComfyUI Flux redux: Redux 模型是轻量级的,可与 Flux.1配合使用,基于 1 个输入图像生成图像变体,无需提示,适合快速生成特定样式图像。 往一张图上融合时,提示词最好描述图片背景颜色。 将 Redux 模型下载到 comfyui/models/style_models,下载 sigclip_patch14384.safetensors 到 ComfyUI/models/clip_vision。 重绘节点为 ComfyUIInpaintEasy,相关链接:https://github.com/CYCHENYUE/ComfyUIInpaintEasy。 ComfyUI FLUX 模型的安装部署: 模型 FLUX.1中,建议选择 dev 版本,显卡可以的用 fp16,显卡不够用的选 fp8。模型下载后放入 ComfyUI/models/unet/文件夹中。若爆显存,“UNET 加载器”节点中的 weight_dtype 可设置为 fp8 降低显存使用量,但可能稍降质量,默认的 weight_type 显存使用较大。 clip 方面,t5xxl_fp16.safetensors 和 clip_l.safetensors 放在 ComfyUI/models/clip/文件夹里,相关链接:https://huggingface.co/comfyanonymous/flux_text_encoders/tree/main。可用 t5xxl_fp8_e4m3fn.safetensors 降低内存使用率,有超过 32GB 内存建议用 fp16。 Vae 下载后放入 ComfyUI/models/vae 文件夹,相关链接:https://huggingface.co/blackforestlabs/FLUX.1schnell/tree/main。 T5(/t5xxl_fp16.safetensors)的 clip 原本有输入输出,可能会导致提示词被吞,短提示效果差,训练 flux 或 sd3 时应尽量用长提示词或自然语言。 STYLE PROMPTS 风格: Stratospheric:关联流派为 Soundtrack、Classical、Orchestral。指高空和极高的音乐风格,具有高亢壮丽特质,典型用于表现高空和极高情感的音乐作品,示例为 Queen 的《Bohemian Rhapsody》。 Streetwise:关联流派为 HipHop、Rap、R&B。指街头和世故的音乐风格,具有现实机智特质,典型用于表现街头和世故情感的音乐作品,示例为 JayZ 的《Empire State of Mind》。 Strength:关联流派为 Rock、Hard Rock、Arena Rock。指力量和坚强的音乐风格,具有强大坚定特质,典型用于表现力量和坚强情感的音乐作品,示例为 Survivor 的《Eye of the Tiger》。 Stressful:关联流派为 Progressive Rock、Psychedelic Rock、Classic Rock。指紧张和压力的音乐风格,具有紧张焦虑特质,典型用于表现紧张和压力情感的音乐作品,示例为 Pink Floyd 的《Time》。 Stretching:指延伸和扩展的音乐风格,具有延展渐进特质,典型用于表现延伸和扩展情感的音乐作品。
2025-01-03
flux-dev提示词
以下是关于 ComfyUI Fluxdev 提示词的相关信息: Redux 模型:是轻量级模型,可与 Flux.1配合使用,基于 1 个输入图像生成图像变体,无需提示,适合快速生成特定样式的图像。若要往一张图上融合,提示词最好描述图片的背景颜色。将 Redux 模型下载到 comfyui/models/style_models,下载 sigclip_patch14384.safetensors 到 ComfyUI/models/clip_vision。重绘节点可使用 ComfyUIInpaintEasy,链接为 https://github.com/CYCHENYUE/ComfyUIInpaintEasy。 低显存运行工作流:目的是让 FLUX 模型能在较低显存情况下运行。分阶段处理思路为:先在较低分辨率下使用 Flux 模型进行初始生成以提高效率,采用两阶段处理,即先用 Flux 生成,后用 SDXL 放大,有效控制显存使用,最后使用 SD 放大提升图片质量。工作流流程包括初始图像生成(Flux)和图像放大和细化(SDXL),各阶段涉及不同的模型加载、处理和预览步骤。 模型的安装部署:FLUX.1中建议选择 dev 版本,显卡可以的用 fp16,显卡不够用的选 fp8,模型下载后放入 ComfyUI/models/unet/文件夹。若爆显存,可在“UNET 加载器”节点中的 weight_dtype 设置为 fp8 降低显存使用量,但可能稍降质量。t5xxl_fp16.safetensors 和 clip_l.safetensors 放在 ComfyUI/models/clip/文件夹,可使用 t5xxl_fp8_e4m3fn.safetensors 降低内存使用率,超过 32GB 内存建议使用 fp16。Vae 下载后放入 ComfyUI/models/vae 文件夹。T5(/t5xxl_fp16.safetensors)的 clip 原本有输入输出,可能导致提示词被吞,短提示效果差,训练 flux 或 sd3 时应尽量用长提示词或自然语言。
2025-01-03
我想问 有没有可以帮忙写 flux 或者其他图像模型 prompt 的 system prompt 模板
以下是为您整理的相关内容: 关于 FLUX 模型的安装部署: 模型选择:FLUX.1 有 dev、dev fp8、schnell 等版本,建议选择 dev 版本,显卡较好可用 fp16,显卡不够选 fp8。模型下载后放入 ComfyUI/models/unet/文件夹中。若爆显存,可在“UNET 加载器”节点中将 weight_dtype 设置为 fp8,降低显存使用量,但可能稍降质量。 clip:t5xxl_fp16.safetensors 和 clip_l.safetensors 放在 ComfyUI/models/clip/文件夹里,也可用 t5xxl_fp8_e4m3fn.safetensors 降低内存使用率,超过 32GB 内存建议用 fp16。 Vae:下载后放入 ComfyUI/models/vae 文件夹。 关于训练 Midjourney 的 prompt: 训练问题:强大的 DMs 通常消耗数百个 GPU 天,推理由于顺序评估而成本高昂。在有限的计算资源上应用 DMs 于强大的预训练自动编码器的潜在空间中训练,可在不影响质量和灵活性的情况下实现复杂度降低和细节保留的最佳点,显著提高视觉保真度。引入交叉注意力层到模型架构使扩散模型成为强大灵活的生成器,支持文本和边界框等一般条件输入,实现高分辨率卷积合成。 版本:Midjourney 定期发布新模型版本以提高效率、连贯性和质量。最新模型为默认,也可通过version 或v 参数或/settings 命令选择其他版本。V5 模型于 2023 年 3 月 15 日发布,具有更广泛的风格范围、更高的图像质量、更详细的图像等优点。 关于 ComfyUI 图片提示词反推提示词生成: 在 ComfyUI 里使用 MiniCPM 做图片提示词反推与文本提示词生成,可和 flux 模型配合生成图片,建议使用量化版本的模型(int4 结尾)节省显存。 安装方法:进入 ComfyUI 自定义节点目录,克隆相关仓库,重启 ComfyUI。 模型下载:网盘 https://pan.quark.cn/s/00b3b6fcd6ca ,下载后放入 ComfyUI 的 models 文件夹下 MiniCPM 文件夹中,没有就新建一个。
2025-01-02
flux lora训练
以下是关于 Flux 的 Lora 模型训练的相关内容: 模型准备: 需下载以下模型:t5xxl_fp16.safetensors、clip_l.safetensors、ae.safetensors、flux1dev.safetensors。 注意:不使用时存放位置不限,只要知晓路径即可。训练建议使用 flux1dev.safetensors 和 t5xxl_fp16.safetensors 版本。 下载训练脚本: 夸克网盘链接:https://pan.quark.cn/s/ddf85bb2ac59 百度网盘链接:https://pan.baidu.com/s/1pBHPYpQxgTCcbsKYgBi_MQ?pwd=pfsq 提取码:pfsq 数据集准备: 进入厚德云模型训练数据集(https://portal.houdeyun.cn/sd/dataset)。 创建数据集:在数据集一栏中,点击右上角创建数据集,输入数据集名称。可以提前将图片和标签打包成 zip 上传,也可一张一张单独上传照片。Zip 文件里图片名称与标签文件应当匹配,例如:图片名"1.png",对应的达标文件就叫"1.txt"。上传 zip 后等待一段时间,确认创建数据集,返回到上一个页面等待上传成功,可点击详情检查,预览数据集的图片以及对应的标签。 Lora 训练: 点击 Flux,基础模型会默认是 FLUX 1.0D 版本。 选择数据集,点击右侧箭头选择上传过的数据集。 触发词可有可无,取决于数据集是否有触发词。 模型效果预览提示词随机抽取数据集中的一个标签填入。 训练参数可调节重复次数与训练轮数,厚德云会自动计算训练步数。若不知如何设置,可默认 20 重复次数和 10 轮训练轮数。可按需求选择是否加速,点击开始训练,会显示所需消耗的算力,然后等待训练,会显示预览时间和进度条。训练完成会显示每一轮的预览图,鼠标悬浮到想要的轮次模型,中间会有生图,点击会自动跳转到使用此 lora 生图的界面,点击下方下载按钮可自动下载到本地。 数据集存放位置:.Flux_train_20.4\\train\\qinglong\\train ,红色文件夹内。若未准备数据集,此路径内有试验数据集可直接使用。 运行训练:约 1 2 小时即可训练完成。 验证和 lora 跑图:若有 ComfyUI 基础,在原版工作流的模型后面,多加一个 LoraloaderModelOnly 的节点即可,自行选择 Lora 和调节参数。
2024-12-27
理解LoRA训练以及参数
LoRA 训练的参数主要包括以下方面: 1. 学习步数:指 AI 对每张图片的学习次数。二次元图片的 repeat 一般在 10 15,写实人物图片的 repeat 一般在 30 50,真实世界的景观场景可能要达到 100。repeat 值越高,AI 越能读懂图片,但图片精细度越高,学习步数也要越高。 2. 循环次数:AI 将所有图片按照学习步数学习一轮就是一次循环,循环次数就是将这个过程重复的遍数。一般数值在 10 20 之间,次数并非越多越好,过多会导致过拟合。总的训练步数 = 图片张数×学习步数×循环次数。 3. 效率设置:主要控制电脑的训练速度,可保持默认值,也可根据电脑显存微调,但要避免显存过载。 4. DIM:不同场景有不同的推荐值。如二次元一般为 32,人物常见为 32 128,实物、风景则≥128。DIM 为 64 时,输出文件一般为 70MB +;DIM 为 128 时,输出文件一般为 140MB + 。 5. 样图设置:主要控制训练过程中的样图显示,可实时观测训练效果。“sample every n steps”为 50 代表每 50 步生成一张样图,prompts 提示词可预设效果或自定义。 6. 并行数量:代表 AI 同一时间学习的图片数量。数值越大,训练速度越快,内存占用越大,收敛得慢;数值越小,训练速度越慢,内存占用越小,收敛得快。以 512×512 的图片为例,显存小于等于 6g,batch size 设为 1;显存为 12g 以上,batch size 可设为 4 或 6。增加并行数量时,通常也会增加循环次数。 7. 质量设置: 学习率:指 AI 学习图片的效率,过高会过拟合,过低会不拟合。1e 4 即 1 除以 10 的 4 次方,等于 0.0001;1e 5 即 1 除以 10 的 5 次方,等于 0.00001。一般保持默认,如需调整可点击数值旁的加减号。 网格维度:network dim 决定出图精细度,数值越高有助于 AI 学会更多细节,但数值越大学习越慢,训练时间越长,易过拟合。
2025-01-06
理解LoRA训练以及参数
LoRA 训练的参数主要包括以下方面: 1. 学习步数:指 AI 对每张图片的学习次数。二次元图片的 repeat 一般在 10 15,写实人物图片的 repeat 一般在 30 50,真实世界的景观场景可能要达到 100。repeat 值越高,AI 越能读懂图片,但图片精细度越高,学习步数也要越高。 2. 循环次数:AI 将所有图片按照学习步数学习一轮就是一次循环,循环次数就是将这个过程重复的遍数。一般数值在 10 20 之间,次数并非越多越好,过多会导致过拟合。总的训练步数 = 图片张数×学习步数×循环次数。 3. 效率设置:主要控制电脑的训练速度,可保持默认值,也可根据电脑显存微调,但要避免显存过载。 4. DIM:不同场景有不同的推荐值。如二次元一般为 32,人物常见为 32 128,实物、风景则≥128。DIM 为 64 时,输出文件一般为 70MB +;DIM 为 128 时,输出文件一般为 140MB + 。 5. 样图设置:主要控制训练过程中的样图显示,“sample every n steps”为 50 代表每 50 步生成一张样图。Prompts 提示词可预设效果或自定义。 6. 并行数量:代表 AI 同一时间学习的图片数量。数值越大,训练速度越快,内存占用越大,但收敛得慢;数值越小,训练速度越慢,内存占用越小,但收敛得快。显存小于等于 6g 时,batch size 设为 1;显存为 12g 以上时,batch size 可设为 4 或 6。 7. 质量设置: 学习率:指 AI 学习图片的效率,过高会过拟合,过低会不拟合。1e 4 实际为 1 除以 10 的 4 次方,即 0.0001;1e 5 为 1 除以 10 的 5 次方,即 0.00001。一般保持默认,如需调整可点击数值旁的加减号。 网格维度:network dim 决定出图精细度,数值越高有助于 AI 学会更多细节,但数值越大学习越慢,训练时间越长,易过拟合。
2025-01-06
高效微调技术-LoRA 全量微调与少量参数微调
以下是关于高效微调技术 LoRA 全量微调与少量参数微调的相关信息: LoRA 微调: 微调脚本: 脚本见: 具体实现代码见: 单机多卡的微调可以通过修改脚本中的include localhost:0来实现。 加载微调模型: 基于 LoRA 微调的模型参数见:基于 Llama2 的中文微调模型,LoRA 参数需要和基础模型参数结合使用。 通过加载预训练模型参数和微调模型参数,示例代码中,base_model_name_or_path 为预训练模型参数保存路径,finetune_model_path 为微调模型参数保存路径。 全量参数微调: 微调脚本: 脚本见: 具体实现代码见: 加载微调模型: 对于全量参数微调的模型,调用方式同模型调用代码示例,只需要修改其中的模型名称或者保存路径即可。 此外,关于微调还有以下补充信息: 微调模型意味着改变模型的权重,现在微调变得越来越容易,因为开发了许多技术并建立了代码库。 像 LoRA 这样的参数高效微调技术只训练模型的小部分稀疏片段,模型大部分保持基础模型状态,效果好且成本低。 微调技术上更为复杂,需要更多技术专业知识,包括人工数据合同承包商的数据集和复杂的合成数据流程,会减慢迭代周期。 SFT(有监督的微调)相对简单明了,RLHF(基于人类反馈的强化学习)则是非常研究性的领域,难度大,不适合初学者。 目前除了传统的全量训练和 freeze 冻结某些层方式,还发展出了很多种高效的微调方法,如 LoRA、Prefix Tuning、PTuning、Prompt Tuning、AdaLoRA、3、MultiTask Prompt Tuning 等。本篇主要采用 LoRA 方式,主要思路是训练一个参数量较小的分支,然后再与底模合并,从而在模型中注入新的知识。
2025-01-06
为什么有的大模型不能和lora一起用
大模型不能和 Lora 一起用可能有以下原因: 1. 不配套:一般情况下,只有配套的大模型和 Lora 一起使用才能达到 Lora 的最佳效果。不同的大模型和 Lora 可能在特征、参数等方面不匹配。 2. 触发条件:除了加载 Lora 外,还需要加入一些特定的触发词才能保证其正常使用,如果没有满足触发条件,可能无法协同工作。 同时,模型的类型和安装位置也很重要: 1. 大模型(Ckpt)应放入 models\\Stablediffusion 目录。 2. Lora/LoHA/LoCon 模型应放入 extensions\\sdwebuiadditionalnetworks\\models\\lora 或 models/Lora 目录。 使用 Lora 时要注意作者使用的大模型,也不排除一些 Lora 和其他大模型会产生奇妙的效果。此外,文件后缀名相似,难以通过后缀名区分文件类型,可通过特定网站检测。
2025-01-02
训练以及部署微调模型
以下是关于训练以及部署微调模型的相关信息: 创建微调模型: 假设您已准备好训练数据。使用 OpenAI CLI 开始微调工作,需指定从哪个 BASE_MODEL(如 ada、babbage、curie 或 davinci)开始,可使用后缀参数自定义微调模型的名称。运行命令后会进行以下操作: 1. 使用文件 API 上传文件(或使用已上传的文件)。 2. 创建微调作业。 3. 流式传输事件直到作业完成,这通常需要几分钟,但如果队列中有很多作业或数据集很大,可能需要数小时。 每个微调工作都从默认为 curie 的基本模型开始,模型的选择会影响性能和成本。您的模型可以是 ada、babbage、curie 或 davinci,可访问定价页面了解微调费率的详细信息。 开始微调作业后,可能需要一些时间才能完成。工作可能排在其他工作之后,训练模型可能需要几分钟或几小时,具体取决于模型和数据集的大小。若事件流中断,可通过运行特定命令恢复。工作完成后,会显示微调模型的名称。此外,还可以列出现有作业、检索作业状态或取消作业。 GPT 助手的训练: 在有监督的微调阶段,收集少量但高质量的数据集,要求人工承包商收集提示和理想响应的数据,通常是几万个或类似数量。然后对这些数据进行语言建模,算法不变,只是训练集从互联网文档变为问答提示响应类型的数据。训练后得到有监督的微调模型(SFT 模型),可实际部署。 大型语言模型的微调: 一旦有了基础模型,进入计算成本相对较低的微调阶段。编写标签说明,明确助手的表现期望,雇佣人员创建文档,如收集 100,000 个高质量的理想问答对来微调基础模型,此过程可能只需一天。然后进行大量评估,部署模型并监控表现,收集不当行为实例并纠正,将正确答案加入训练数据,重复此过程。由于微调成本较低,可每周或每天进行迭代。 例如 Llama2 系列,Meta 发布时包括基础模型和助手模型。基础模型不能直接使用,助手模型可直接用于回答问题。若想自己微调,Meta 完成的昂贵的第一阶段结果可提供很大自由。
2025-01-06
微调训练框架的选择
以下是关于微调训练框架选择的相关内容: 在 Stable Diffusion 中: 首先,config 文件夹中有两个配置文件 config_file.toml 和 sample_prompt.toml,分别存储着训练超参数与训练中的验证 prompt。 config_file.toml 文件主要包含了 model_arguments、optimizer_arguments、dataset_arguments、training_arguments、sample_prompt_arguments 以及 saving_arguments 六个维度的参数信息。 v2 和 v_parameterization:两者同时设置为 true 时,开启 Stable Diffusion V2 版本的训练。 pretrained_model_name_or_path:读取本地 Stable Diffusion 预训练模型用于微调训练。 optimizer_type:有七种优化器可以选择。不进行选择时默认启动 AdamW 优化器;显存不太充足时,可选择 AdamW8bit 优化器,但会有轻微性能损失;Lion 优化器是较新的版本,性能优异,但学习率需设置较小,比如为 AdamW 优化器下的 1/3。 learning_rate:单卡推荐设置 2e6,多卡推荐设置 1e7。 除了上述的训练环境参数传入,还需将配置好的 config_file.toml 和 sample_prompt.txt 参数传入训练脚本中。 当设置 1024 分辨率+FP16 精度+xformers 加速时,SD 模型进行 Batch Size=1 的微调训练需要约 17.1G 的显存,进行 Batch Size=4 的微调训练需要约 26.7G 的显存,所以最好配置一个 24G 以上的显卡。 微调训练完成后,模型权重会保存在之前设置的 output_dir 路径下。可以使用 Stable Diffusion WebUI 作为框架加载模型进行 AI 绘画,需将训练好的模型放入/models/Stablediffusion 文件夹下。 在 OpenAI 中: 使用 OpenAI CLI 开始微调工作,需指定从哪个 BASE_MODEL 开始(ada、babbage、curie 或 davinci),还可使用后缀参数自定义微调模型的名称。 运行命令后会上传文件、创建微调作业并流式传输事件直到作业完成。 每个微调工作都从一个默认为 curie 的基本模型开始,模型的选择会影响性能和成本。 开始微调作业后,可能需要几分钟或几小时才能完成,工作完成后会显示微调模型的名称。此外,还可以列出现有作业、检索作业状态或取消作业。
2025-01-06
训练以及部署微调模型
以下是关于训练以及部署微调模型的相关知识: 创建微调模型: 假设您已准备好训练数据,使用 OpenAI CLI 开始微调工作。需指定从哪个 BASE_MODEL 开始,如 ada、babbage、curie 或 davinci,还可使用后缀参数自定义微调模型的名称。运行命令后会进行以下操作: 1. 使用文件 API 上传文件(或使用已上传的文件)。 2. 创建微调作业。 3. 流式传输事件直到作业完成,这通常需要几分钟,但如果队列中有很多作业或数据集很大,则可能需要数小时。每个微调工作都从默认为 curie 的基本模型开始,模型的选择会影响性能和成本,您可访问定价页面了解微调费率的详细信息。开始微调作业后,可能需要一些时间才能完成,若事件流中断,可通过运行特定命令恢复。工作完成后,会显示微调模型的名称。此外,还可以列出现有作业、检索作业状态或取消作业。 GPT 助手的训练: 在有监督的微调阶段,收集少量但高质量的数据集,要求人工承包商收集提示和理想响应的数据,通常是几万个或类似数量。然后对这些数据进行语言建模,算法不变,只是训练集从互联网文档变为问答提示响应类型的数据。训练后得到有监督的微调模型(SFT 模型),可实际部署,它们在某种程度上是有用的。 大型语言模型的微调: 一旦有了基础模型,就进入计算成本相对较低的微调阶段。在这个阶段,编写标签说明明确助手的表现期望,雇佣人员创建文档,例如收集 100,000 个高质量的理想问答对来微调基础模型,这个过程可能只需一天。然后进行大量评估,部署模型并监控表现,收集不当行为实例并纠正,将正确答案加入训练数据,由于微调成本较低,可每周或每天进行迭代。例如 Llama2 系列,Meta 发布时包括基础模型和助手模型,基础模型不能直接使用,助手模型可直接用于回答问题。
2025-01-06
微调训练框架的选择
以下是关于微调训练框架选择的相关内容: 对于 Stable Diffusion 的微调训练: 1. 配置文件: 在 config 文件夹中有 config_file.toml 和 sample_prompt.toml 两个配置文件,分别存储着训练超参数与训练中的验证 prompt。 config_file.toml 文件包含 model_arguments、optimizer_arguments、dataset_arguments、training_arguments、sample_prompt_arguments 以及 saving_arguments 六个维度的参数信息。 例如,v2 和 v_parameterization 同时设置为 true 时开启 Stable Diffusion V2 版本的训练;pretrained_model_name_or_path 用于读取本地 Stable Diffusion 预训练模型用于微调训练;optimizer_type 可选择多种优化器,如 AdamW(默认)、AdamW8bit(显存不足时可选,会有轻微性能损失)、Lion(最新版本,性能优异但学习率需设置较小)等;学习率方面,单卡推荐设置 2e6,多卡推荐设置 1e7。 2. 训练启动: 将配置好的 config_file.toml 和 sample_prompt.txt 参数传入训练脚本中。 在命令行输入相应命令即可开始训练,训练脚本启动后会打印出 log 方便查看训练过程节奏。 1024 分辨率+FP16 精度+xformers 加速时,SD 模型进行 Batch Size=1 的微调训练约需 17.1G 显存,Batch Size=4 的微调训练约需 26.7G 显存,因此最好配置 24G 以上显卡。 3. 模型使用: 微调训练完成后,模型权重保存在之前设置的 output_dir 路径下。 使用 Stable Diffusion WebUI 框架加载模型进行 AI 绘画,需将训练好的模型放入/models/Stablediffusion 文件夹下,并在 Stable Diffusion WebUI 中选用。 对于 OpenAI 的微调训练: 1. 准备训练数据后,使用 OpenAI CLI 开始微调工作。 2. 指明从哪个基本模型(ada、babbage、curie 或 davinci)开始,可使用后缀参数自定义微调模型名称。 3. 运行命令后会上传文件、创建微调作业并流式传输事件直到作业完成,通常需要几分钟,也可能因作业排队或数据集大小等因素需要数小时。 4. 每个微调工作都从默认为 curie 的基本模型开始,模型选择会影响性能和成本。 5. 开始微调作业后,可能需要排队等待,完成后会显示微调模型的名称。还可以列出现有作业、检索作业状态或取消作业。
2025-01-06