LLM-2:LLama-factory windows部署及在qwen2-1.5B上的使用
1、LLama-factoryLLama-factory的网站:https://github.com/hiyouga/LLaMA-Factory
LLama-factory的优势是将主流的微调方法、开源的大模子进行整合,形成一个功能丰富,便于操作的框架。
以Qwen2-1.5Bt 模子 和 windows + RTX 4060ti 8GB环境,LoRA+sft训练阶段为例子
2、windows本地部署
下载https://github.com/hiyouga/LLaMA-Factory网站内容,最好使用git安装,高校快速。
下载后在CMD中进行环境设置:
1、创建新环境
conda create -n llama_factory python=3.11 2、通过cd命令进入到下载页面
cd C:\Users\Administrator\Desktop\llm-factory 3、激活anconda 环境,安装必要的程序包(最后一个conda安装是torch,可以根据自己的cuda版本进行安装)
pip install -e "."
pip install -r requirements.txt
pip install https://github.com/jllllll/bitsandbytes-windows-webui/releases/download/wheels/bitsandbytes-0.41.2.post2-py3-none-win_amd64.whl
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
4、运行webui.py程序,生成UI界面。
Set CUDA_VISIBLE_DEVICES=0
Set GRADIO_SHARE=1
python src/webui.py
当出现 When localhost is not accessible, a shareable link must be created. Please set share=True or check your proxy settings to allow access to localhost.时运行下面代码(只能单次使用,没使用一回就要设置一遍。有知道可以永世使用的可以在批评里留言)
set no_proxy=localhost,127.0.0.1,::1
3、LLama-factory UI界面使用(训练阶段)
下图是LLama-factory的UI界面默认的端口号是7860https://i-blog.csdnimg.cn/direct/70e8e947fe92460c99a8420560637f49.png
语言可以选择中文或则英文,模子可以根据自己的必要进行选择(最好使用本地下载的模子文件),在模子路径中加载自己的模子文件名。
微调方法可以选择lora\full等,适配器路径可以是微调后生成的adapter_model.safetensors文件。
https://i-blog.csdnimg.cn/direct/52acfdf30a534665911729c742dbd399.png
高级设置一般选择默认就可以,假如有特殊要求可以去尝试。
https://i-blog.csdnimg.cn/direct/c1810a7afe6644709135e2369f6fdf0c.png
这部分图片显示了train(模子训练)、predict/evaluate(模子预测和评估)、chat(模子对话)、export(模子合并):
train(模子训练):
[*]学习率调治器:有以下选项可以选择,这里我们选择默认值cosine。 linear(线性): 随着训练的进行,学习率将以线性方式镌汰。 cosine(余弦): 这是根据余弦函数来镌汰学习率的。在训练开始时,学习率较高,然后徐徐降低并在训练结束时到达最低值。 cosine_with_restarts(带重启的余弦): 和余弦策略类似,但是在一段时间后会重新启动学习率,并多次这样做。 polynomial(多项式): 学习率会根据一个多项式函数来镌汰,可以设定多项式的次数。 constant(常数): 学习率始终保持稳定。 constant_with_warmup(带预热的常数): 开始时,学习率会逐步上升到一个固定值,然后保持这个值。 inverse_sqrt(反平方根): 学习率会随着训练的进行按照反平方根的方式镌汰。 reduce_lr_on_plateau(在平台上镌汰学习率): 当模子的希望停滞时(比方,验证误差不再下降),学习率会自动镌汰。
[*]梯度累积和最大梯度范数:这两个参数通常可以一起使用,以保证在微调大型语言模子时,能够有效地处置处罚大规模数据,同时保证模子训练的稳固性。梯度累积允许在有限的硬件资源上处置处罚更大的数据集,而最大梯度范数则可以防止梯度爆炸,保证模子训练的稳固性,这里我们使用默认值即可。
https://i-blog.csdnimg.cn/direct/b1ae7f7c59814d668d8c51898fc83103.png
剩下参数选择默认,点击开始就可以训练了,会在输出目录中生成,lora微调的模子文件。
假如不想使用UI界面运行:可以点击预览命令,在对用的的cmd命令行中运行https://i-blog.csdnimg.cn/direct/ca6d86aeac874601a4e55aab7aaea877.png
--stage sft:指定训练阶段为指令微调训练
--do_train:指定是训练任务
--model_name_or_path:本地模子的文件路径或 Hugging Face 的模子标识符
--dataset:指定数据集
--finetuning_type lora:指定微调方法为lora
--output_dir: 生存训练效果的路径
--overwrite_cache: 覆盖缓存的训练集和评估集
--per_device_train_batch_size 2: 每个gpu的批处置处罚大小,训练参数
--gradient_accumulation_steps 8:梯度累计的步数,训练参数
--lr_scheduler_type cosine:学习率调理器,训练参数
--save_steps 1000:每两次断点生存间的更新步数,训练参数
--learning_rate 5e-5:学习率,adamW优化器的默认值为5e-5,训练参数
--num_train_epochs 2.0:必要实行的训练轮数,训练参数
--plot_loss:是否生存训练损失曲线
--fp16:使用fp16混合精度训练,此参数后续详解
3、LLama-factory UI界面使用(chat阶段)
https://i-blog.csdnimg.cn/direct/6afb707f231e489f9bc00b6be0008516.png
model path写预先下载的llm模子,checkpoint path写微调预训练生成的文件路径(微调生成的文件默认存在LLaMA-Factory的save文件夹下)。
4、LLama-factory UI界面使用(export阶段)
https://i-blog.csdnimg.cn/direct/52ea2dccb1174a969577fd68f7091bb4.png
model path和checkpoint path与(chat阶段划一),只必要添加随处路径Export dir
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]