LoRA训练参数解读

11 篇文章 0 订阅

训练参数解读

项目源码:

https://github.com/hiyouga/LLaMA-Factory

CUDA_VISIBLE_DEVICES=0 python src/train_bash.py \
    --stage sft \
    --do_train True \
    --model_name_or_path /home/ubuntu/THUDM/chatglm3-6b \
    --finetuning_type lora \
    --template chatglm3 \
    --dataset_dir data \
    --dataset test_identity \
    --cutoff_len 1024 \
    --learning_rate 5e-05 \
    --num_train_epochs 80.0 \
    --max_samples 100000 \
    --per_device_train_batch_size 2 \
    --gradient_accumulation_steps 8 \
    --lr_scheduler_type cosine \
    --max_grad_norm 1.0 \
    --logging_steps 5 \
    --save_steps 100 \
    --warmup_steps 0 \
    --optim adamw_torch \
    --report_to none \
    --output_dir saves/ChatGLM3-6B-Chat/lora/train_2024-04-17-17-19-32 \
    --fp16 True \
    --lora_rank 8 \
    --lora_alpha 16 \
    --lora_dropout 0.1 \
    --lora_target query_key_value \
    --plot_loss True

CUDA_VISIBLE_DEVICES=0:这个环境变量限制了训练只能使用索引为0的GPU。
python src/train_bash.py:运行位于src目录中的train_bash.py 的Python脚本。
--stage sft:表示训练的阶段,其中“sft”代表“监督式微调”(Supervised Fine-Tuning)。
--do_train True:这个标志表示脚本应该执行训练。
--model_name_or_path /home/ubuntu/THUDM/chatglm3-6b:这指定了预训练模型的目录位置。
--finetuning_type lora:这指定微调将使用LoRA(低秩适应),这是一种对大型模型进行高效微调的方法。
--template chatglm3:这表示正在微调的模板或基础模型架构。
--dataset_dir data:这是数据集所在的目录。
--dataset test_identity:这指定了用于微调的数据集的名称。
--cutoff_len 1024:这个参数指定输入数据的最大序列长度。
--learning_rate 5e-05:这是优化器的初始学习率。
--num_train_epochs 120.0:这表示总的训练轮数。
--max_samples 100000:这指定了从数据集中使用的最大样本数。
--per_device_train_batch_size 2:这是每个GPU的训练批次大小。
--gradient_accumulation_steps 8:这个参数累积多个步骤的梯度,以有效地增加批次大小。
--lr_scheduler_type cosine:这表示学习率调度器将使用余弦衰减策略。
--max_grad_norm 1.0:这将剪辑梯度,防止梯度爆炸。
--logging_steps 5:这指定了记录训练指标之间的步数。
--save_steps 100:这表示保存检查点之间的步数。
--warmup_steps 0:这表示训练开始时的预热步数。
--optim adamw_torch:这指定了要使用的优化器,即PyTorch中实现的AdamW。
--report_to none:这禁用了将训练指标报告给远程服务。
--output_dir saves/ChatGLM3-6B-Chat/lora/train_5-120:这是保存训练模型和日志的目录。
--fp16 True:这启用了混合精度训练,以实现更快和更节省内存的训练。
--lora_rank 8:这指定了LoRA使用的低秩近似的等级。
--lora_alpha 16:这是LoRA的一个超参数,用于缩放低秩适应的权重。
--lora_dropout 0.1:这指定了LoRA层的丢弃率。
--lora_target query_key_value:这表示LoRA适应将针对注意力层中的查询和键值矩阵。
--plot_loss True:这个标志表示脚本应该在训练过程中绘制损失图。

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿老罗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值