以下是关于微调训练框架选择的相关内容:
对于 Stable Diffusion 的微调训练:
对于 OpenAI 的微调训练:
接下来,Rocky将带着大家从头到尾走通SD全参微调训练过程,并讲解训练参数的意义。首先,我们可以看到config文件夹中有两个配置文件config_file.toml和sample_prompt.toml,他们分别存储着SD的训练超参数与训练中的验证prompt。config文件夹中的配置文件config_file.toml和sample_prompt.txt其中config_file.toml文件主要包含了model_arguments,optimizer_arguments,dataset_arguments,training_arguments,sample_prompt_arguments以及saving_arguments六个维度的的参数信息,下面Rocky为大家依次讲解各个超参数的作用:v2和v_parameterization:两者同时设置为true时,开启Stable Diffusion V2版本的训练。pretrained_model_name_or_path:读取本地Stable Diffusion预训练模型用于微调训练。optimizer_type:选择优化器类型。一共有:["AdamW"(default),"AdamW8bit","Lion","SGDNesterov","SGDNesterov8bit","DAdaptation","AdaFactor"]七种优化器可以选择。其中当我们不进行选择优化器类时,默认会启动AdamW优化器;当我们的显存不太充足时,可以选择AdamW8bit优化器,能降低训练时的显存占用,但代价是轻微地性能损失;Lion优化器是目前优化器方向上最新的版本,性能较为优异,但是使用Lion优化器时学习率需要设置较小,比如设置为AdamW优化器下的1/3。learning_rate:训练学习率,单卡推荐设置2e-6,多卡推荐设置1e-7。
除了上述的训练环境参数传入,最重要的还是将刚才配置好的config_file.toml和sample_prompt.txt参数传入训练脚本中。接下里,就到了激动人心的时刻,我们只需在命令行输入以下命令,就能开始SD模型的全参微调训练啦:训练脚本启动后,会打印出以下的log,方便我们查看整个训练过程的节奏:当我们设置1024分辨率+FP16精度+xformers加速时,SD模型进行Batch Size=1的微调训练需要约17.1G的显存,进行Batch Size=4的微调训练需要约26.7G的显存,所以想要微调训练SD模型,最好配置一个24G以上的显卡,能让我们更佳从容地进行训练。到此为止,Rocky已经将SD全参微调训练的全流程都做了详细的拆解,等训练完成后,我们就可以获得属于自己的SD模型了!(5)加载自训练SD模型进行AI绘画SD模型微调训练完成后,会将模型权重保存在我们之前设置的output_dir路径下。接下来,我们使用Stable Diffusion WebUI作为框架,加载SD宝可梦模型进行AI绘画。在本文4章中,Rocky已经详细讲解了如何搭建Stable Diffusion WebUI框架,未使用过的朋友可以按照这个流程快速搭建起Stable Diffusion WebUI。要想使用SD模型进行AI绘画,首先我们需要将训练好的SD宝可梦模型放入Stable Diffusion WebUI的/models/Stable-diffusion文件夹下。然后我们在Stable Diffusion WebUI中分别选用SD宝可梦模型即可:
以下假设您已经按照上述说明准备了训练数据。使用OpenAI CLI开始微调工作:您从哪里BASE_MODEL开始的基本模型的名称(ada、babbage、curie或davinci)。您可以使用后缀参数自定义微调模型的名称。运行上面的命令会做几件事:1.使用文件API上传文件(或使用已经上传的文件)2.创建微调作业3.流式传输事件直到作业完成(这通常需要几分钟,但如果队列中有很多作业或您的数据集很大,则可能需要数小时)每个微调工作都从一个默认为curie的基本模型开始。模型的选择会影响模型的性能和运行微调模型的成本。您的模型可以是以下之一:ada、babbage、curie或davinci。请访问我们的定价页面,了解有关微调费率的详细信息。开始微调作业后,可能需要一些时间才能完成。在我们的系统中,您的工作可能排在其他工作之后,训练我们的模型可能需要几分钟或几小时,具体取决于模型和数据集的大小。如果事件流因任何原因中断,您可以通过运行以下命令恢复它:工作完成后,它应该显示微调模型的名称。除了创建微调作业外,您还可以列出现有作业、检索作业状态或取消作业。