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

全量微调与少量参数微调

Answer

在参数规模的角度,大模型的微调主要分为全量微调(FFT,Full Fine Tuning)和少量参数微调(PEFT,Parameter-Efficient Fine Tuning)两条技术路线。

全量微调是对全量的模型参数进行全量的训练。全量参数微调脚本见:train/sft/finetune.sh,关于全量参数微调的具体实现代码见train/sft/finetune_clm.py

少量参数微调则只对部分模型参数进行训练。从成本和效果的角度综合考虑,PEFT 是目前业界比较流行的微调方案。OpenAI 官方微调教程:https://github.com/openai/openai-cookbook/blob/main/examples/How_to_finetune_chat_models.ipynb

微调是在较小的、特定领域的数据集上继续 LLM 的训练过程,通过调整模型本身的参数,而不是像提示工程和 RAG 那样仅仅更改提示,来大幅提高模型在特定任务中的性能。把微调想象成把通用工具打磨成精密仪器。

微调有两大好处:

  1. 提高模型在特定任务中的性能。微调意味着可以输入更多的示例。可以在数以百万计的代币上进行微调,而少量学习提示仅限于数以万计的代币。经过微调的模型可能会失去一些通用性,但对于其特定任务而言,应该期待它有更好的表现。
  2. 提高模型效率。LLM 应用程序的效率意味着更低的延迟和更低的成本。实现这一优势有两种方法。通过专门化模型,可以使用更小的模型。此外,由于只对输入输出对进行训练,而不是对完整的提示及其任何提示工程技巧和提示进行训练,因此可以舍弃示例或指令。这可以进一步改善延迟和成本。

在微调中,超参数的选择也很重要。我们选择了适用于一系列用例的默认超参数,唯一需要的参数是训练文件。但调整用于微调的超参数通常可以产生产生更高质量输出的模型。特别是,可能需要配置以下内容:

  1. model:要微调的基本模型的名称。可以选择“ada”、“babbage”、“curie”或“davinci”之一。要了解有关这些模型的更多信息,请参阅模型文档。
  2. n_epochs - 默认为 4。训练模型的时期数。一个纪元指的是训练数据集的一个完整周期。
  3. batch_size - 默认为训练集中示例数量的 0.2%,上限为 256。批量大小是用于训练单个正向和反向传递的训练示例数。总的来说,我们发现更大的批次大小往往更适用于更大的数据集。
  4. learning_rate_multiplier - 默认为 0.05、0.1 或 0.2,具体取决于 final batch_size。微调学习率是用于预训练的原始学习率乘以该乘数。建议使用 0.02 到 0.2 范围内的值进行试验,以查看产生最佳结果的值。根据经验,我们发现较大的学习率通常在较大的批量大小下表现更好。
  5. compute_classification_metrics - 默认为假。如果为 True,为了对分类任务进行微调,在每个 epoch 结束时在验证集上计算特定于分类的指标(准确性、F-1 分数等)。要配置这些额外的超参数,请通过 OpenAI CLI 上的命令行标志传递它们。

LoRA 微调脚本见:train/sft/finetune_lora.sh,关于 LoRA 微调的具体实现代码见train/sft/finetune_clm_lora.py,单机多卡的微调可以通过修改脚本中的--include localhost:0 来实现。基于 LoRA 微调的模型参数见:基于 Llama2 的中文微调模型,LoRA 参数需要和基础模型参数结合使用。通过PEFT加载预训练模型参数和微调模型参数,以下示例代码中,base_model_name_or_path 为预训练模型参数保存路径,finetune_model_path 为微调模型参数保存路径。对于全量参数微调的模型,调用方式同模型调用代码示例,只需要修改其中的模型名称或者保存路径即可。

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

References

3. 如何让 LLM 应用性能登峰造极

参数规模的角度,大模型的微调分成两条技术路线:全量微调FFT(Full Fine Tuning):对全量的模型参数,进行全量的训练。PEFT(Parameter-Efficient Fine Tuning):只对部分模型参数进行训练。从成本和效果的角度综合考虑,PEFT是目前业界比较流行的微调方案。OpenAI官方微调教程:[https://github.com/openai/openai-cookbook/blob/main/examples/How_to_finetune_chat_models.ipynb](https://github.com/openai/openai-cookbook/blob/main/examples/How_to_finetune_chat_models.ipynb)微调是在较小的、特定领域的数据集上继续LLM的训练过程。这可以通过调整模型本身的参数,而不是像提示工程和RAG那样仅仅更改提示,来大幅提高模型在特定任务中的性能。把微调想象成把通用工具打磨成精密仪器。微调有两大好处:提高模型在特定任务中的性能。微调意味着你可以输入更多的示例。您可以在数以百万计的代币上进行微调,而根据上下文的大小,少量学习提示仅限于数以万计的代币。经过微调的模型可能会失去一些通用性,但对于其特定任务而言,您应该期待它有更好的表现。提高模型效率。LLM应用程序的效率意味着更低的延迟和更低的成本。实现这一优势有两种方法。通过专门化模型,您可以使用更小的模型。此外,由于只对输入输出对进行训练,而不是对完整的提示及其任何提示工程技巧和提示进行训练,因此可以舍弃示例或指令。这可以进一步改善延迟和成本。

模型微调

LoRA微调脚本见:[train/sft/finetune_lora.sh](https://github.com/LlamaFamily/Llama-Chinese/blob/main/requirements.txt),关于LoRA微调的具体实现代码见[train/sft/finetune_clm_lora.py](https://github.com/LlamaFamily/Llama-Chinese/blob/main/train/sft/finetune_clm_lora.py),单机多卡的微调可以通过修改脚本中的--include localhost:0来实现。[heading6]全量参数微调[content]全量参数微调脚本见:[train/sft/finetune.sh](https://github.com/LlamaFamily/Llama-Chinese/blob/main/train/sft/finetune.sh),关于全量参数微调的具体实现代码见[train/sft/finetune_clm.py](https://github.com/LlamaFamily/Llama-Chinese/blob/main/train/sft/finetune_clm.py)。[heading5]Step4:加载微调模型[heading6]LoRA微调[content]基于LoRA微调的模型参数见:基于Llama2的中文微调模型,LoRA参数需要和基础模型参数结合使用。通过[PEFT](https://github.com/huggingface/peft)加载预训练模型参数和微调模型参数,以下示例代码中,base_model_name_or_path为预训练模型参数保存路径,finetune_model_path为微调模型参数保存路径。[heading6]全量参数微调[content]对于全量参数微调的模型,调用方式同模型调用代码示例,只需要修改其中的模型名称或者保存路径即可。

微调(Fine-tuning)

我们选择了适用于一系列用例的默认超参数。唯一需要的参数是训练文件。也就是说,调整用于微调的超参数通常可以产生产生更高质量输出的模型。特别是,您可能需要配置以下内容:model:要微调的基本模型的名称。您可以选择“ada”、“babbage”、“curie”或“davinci”之一。要了解有关这些模型的更多信息,请参阅[模型](https://ywh1bkansf.feishu.cn/wiki/R70MwasSpik2tgkCr7dc9eTmn0o)文档。n_epochs-默认为4。训练模型的时期数。一个纪元指的是训练数据集的一个完整周期。batch_size-默认为训练集中示例数量的0.2%,上限为256。批量大小是用于训练单个正向和反向传递的训练示例数。总的来说,我们发现更大的批次大小往往更适用于更大的数据集。learning_rate_multiplier-默认为0.05、0.1或0.2,具体取决于final batch_size。微调学习率是用于预训练的原始学习率乘以该乘数。我们建议使用0.02到0.2范围内的值进行试验,以查看产生最佳结果的值。根据经验,我们发现较大的学习率通常在较大的批量大小下表现更好。compute_classification_metrics-默认为假。如果为True,为了对分类任务进行微调,在每个epoch结束时在验证集上计算特定于分类的指标(准确性、F-1分数等)。要配置这些额外的超参数,请通过OpenAI CLI上的命令行标志传递它们,例如:

Others are asking
微调和增量训练的区别
微调和增量训练是在人工智能领域中用于改进模型性能的两种不同方法,它们有以下区别: 微调: 参数调整范围:分为全量微调(FFT)和参数高效微调(PEFT)。全量微调对全量的模型参数进行全量训练,PEFT 则只对部分模型参数进行训练。 数据使用:在较小的、特定领域的数据集上继续大语言模型(LLM)的训练过程,通过调整模型本身的参数来提高在特定任务中的性能。 效果和优势: 能大幅提高模型在特定任务中的性能,因为可以输入更多示例。 提高模型效率,可通过专门化模型使用更小的模型,且由于只对输入输出对进行训练,能舍弃示例或指令,进一步改善延迟和降低成本。 但经过微调的模型可能会失去一些通用性。 增量训练:文中未明确提及增量训练的相关内容。 总的来说,微调是一种针对特定任务和数据集对模型参数进行调整的有效方法,而增量训练的具体特点和与微调的详细对比在提供的内容中未充分阐述。
2025-01-07
训练以及部署微调模型
以下是关于训练以及部署微调模型的相关信息: 创建微调模型: 假设您已准备好训练数据。使用 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
全量微调与少量参数微调
在参数规模的角度,大模型的微调分为全量微调(FFT,Full Fine Tuning)和少量参数微调(PEFT,ParameterEfficient Fine Tuning)两条技术路线。 全量微调是对全量的模型参数进行全量的训练。少量参数微调则只对部分模型参数进行训练。从成本和效果的综合考虑,PEFT 是目前业界较流行的微调方案。 微调是在较小的、特定领域的数据集上继续 LLM 的训练过程,通过调整模型本身的参数,而非像提示工程和 RAG 那样仅更改提示,能大幅提高模型在特定任务中的性能。微调有两大好处:一是提高模型在特定任务中的性能,可输入更多示例,经过微调的模型可能会失去一些通用性,但对于特定任务会有更好表现;二是提高模型效率,实现更低的延迟和成本,可通过专门化模型使用更小的模型,且只对输入输出对进行训练,舍弃示例或指令进一步改善延迟和成本。 关于微调的具体实现,LoRA 微调脚本见:。 在微调的超参数方面,选择了适用于一系列用例的默认超参数,唯一需要的参数是训练文件。调整超参数通常可产生更高质量输出的模型,可能需要配置的内容包括:model(要微调的基本模型的名称,可选择“ada”“babbage”“curie”或“davinci”之一)、n_epochs(默认为 4,训练模型的时期数)、batch_size(默认为训练集中示例数量的 0.2%,上限为 256)、learning_rate_multiplier(默认为 0.05、0.1 或 0.2,具体取决于 final batch_size)、compute_classification_metrics(默认为假,若为 True,为对分类任务进行微调,在每个 epoch 结束时在验证集上计算特定于分类的指标)。要配置这些额外的超参数,可通过 OpenAI CLI 上的命令行标志传递。 OpenAI 官方微调教程:
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
测试微调模型
以下是关于测试微调模型的相关内容: 在完成微调之后,需要对结果进行测试。微调不会直接影响原有的大模型,而是生成一些文件,包括模型权重文件、配置文件、训练元数据、优化器状态等。这些文件可以和原有大模型合并并输出新的大模型。 在测试之前,先通过不合并的方式进行微调结果的验证。例如,若数据集中有问答“问:你是谁?答:家父是大理寺少卿甄远道”,当给微调后的模型指定角色“现在你要扮演皇帝身边的女人甄嬛”,然后问模型“你是谁?”,若回答是“家父是大理寺少卿甄远道”,则认为模型微调有效果。 测试代码结果成功。之后可以将微调结果和原有大模型进行合并,然后输出新的模型,使用 webdemo 进行测试。包括切换到对应的目录、执行合并代码、生成相应文件、创建 chatBotLora.py 文件并执行代码进行本地测试、开启自定义服务等步骤,最终验收成功。 此外,当作业成功时,fine_tuned_model 字段将填充模型名称,可将此模型指定为 Completions API 的参数,并使用 Playground 向它发出请求。首次完成后,模型可能需要几分钟准备好处理请求,若超时可能是仍在加载中,几分钟后重试。可通过将模型名称作为 model 完成请求的参数传递来开始发出请求,包括 OpenAI 命令行界面、cURL、Python、Node.js 等方式。 要删除微调模型,需在组织中被指定为“所有者”。 创建微调模型时,假设已准备好训练数据。使用 OpenAI CLI 开始微调工作,需指定基本模型的名称(ada、babbage、curie 或 davinci),还可使用后缀参数自定义微调模型的名称。运行命令会上传文件、创建微调作业、流式传输事件直到作业完成,每个微调工作都从默认为 curie 的基本模型开始,模型选择会影响性能和成本。开始微调作业后,可能需要一些时间才能完成,若事件流中断可恢复。工作完成后会显示微调模型的名称,还可列出现有作业、检索作业状态或取消作业。
2025-01-06
模型微调对模型的影响和价值
模型微调对模型具有重要的影响和价值,主要体现在以下几个方面: 1. 提高结果质量:能够获得比即时设计更高质量的结果。 2. 增加训练示例:可以训练比提示中更多的例子,从而改进小样本学习,在大量任务中取得更好的效果。 3. 节省 Token 和成本:由于更短的提示而节省了 Token,对模型进行微调后,不再需要在提示中提供示例,能够节省成本并实现更低延迟的请求。 4. 提高模型效率:通过专门化模型,可以使用更小的模型,并且由于只对输入输出对进行训练,舍弃示例或指令,进一步改善延迟和成本。 5. 适应特定领域:针对特定领域进行微调,优化所有层的参数,提高模型在该领域的专业性。 目前,微调适用于以下基础模型:davinci、curie、babbage 和 ada。参数规模角度,大模型的微调分成全量微调 FFT(Full Fine Tuning)和 PEFT(ParameterEfficient Fine Tuning)两条技术路线,从成本和效果综合考虑,PEFT 是目前业界较流行的微调方案。 通用大模型如 GPT4.0、GPT3.5 等具有广泛的自然语言理解能力,但在特定领域表现可能不理想。而通过微调,可以在现有模型基础上,更经济、高效地适应新的应用领域,节省成本并加快模型部署和应用速度。
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. 学习步数:指 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
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
图生图时,如何多维度多参数进行生图
以下是关于图生图时多维度多参数进行生图的方法: 1. 设置文生图提示词: 大模型:majicmixRealistic_v6.safetensors 正向提示词:,auburn hair,eyes open,cinematic lighting,Hyperrealism,depth of field,photography,ultra highres,photorealistic,8k,hyperrealism,studio lighting,photography 负向提示词:EasyNegative,canvasframe,canvas frame,eyes shut,wink,blurry,hands,closed eyes,,lowres,sig,signature,watermark,username,bad,immature,cartoon,anime,3d,painting,b&w 2. 设置参数: 迭代步数:50 采样方法:DPM++ 2M Karras 尺寸:1328×800px 3. 除了文本提词框,图生图功能还有图片框输入口,可通过图片给与 AI 创作灵感。 例如随便照一张照片拖入,文本输入框旁有两个反推提示词的按钮:CLIP 可通过图片反推出完整含义的句子;DeepBooru 可反推出关键词组。 两种反推方式生成的提示词可能有瑕疵,需手动补充提示词信息。 写好提示词后,调整宽度和高度使红框刚好匹配图片。 注意两个重要参数:提示词相关性和重绘幅度。
2024-12-03
科学问题二:XXX(小标题) 问题挑战:如何通过构建合理的先验知识或模型假设,刻画出数据中的可变性?如何利用从少量样本中提取到的变化信息来预测未见数据的表现? XXX XXX(问题挑战一的方法) XXX)问题挑战二的方法) 请将XXX补充完整,重点在预测,如何刻画和利用数据分布的“变化性”
以下是为您补充完整的内容: 对于如何通过构建合理的先验知识或模型假设,刻画出数据中的可变性,以及如何利用从少量样本中提取到的变化信息来预测未见数据的表现,我们可以参考以下方法: 在准备 LLM 数据方面,对于制作 LLM 微调数据集,首先获取文本格式非结构式和网络式结构式的数据。对于 QA 数据集,主要依靠已有的大语言模型生成,根据不同文本设定不同的提示词以获取尽可能多且信息量丰富的 QA。先对文件中的文本进行切割,将每一大部分放进一个约 200 字的 txt 文件里,然后设定提示词模板。例如对于公司产品手册,模板可以是:“你是一个聪明的 xxx 公司的 xxx 产品的产品经理。给你一段 xxxxx 有限公司 xx 产品相关的文本,你必须依据文本想出十个不同的问题和这十个问题对应的答案。你想出的问题可以被用来测试公司内部 xxx 职员的专业能力。你想出的问题可以是使用公司产品的用户会想到的问题。你想出的问题和答案必须和所给文本相关。你回答得答案必须可以让使用产品的用户理解。当你想出问题和答案后,你必须用以下格式回复:```
2024-10-21