用改框架微调GLM-4V-9B模型,存在重复输出和任务无法拟合的问题。
问题:训练效果不及预期
环境: 2 * A800 torch 2.2.2 torchvision 0.17.2 cuda 11.8 transformers 4.42.4
训练脚本:
DATE=0719
DATA_DIR=/home/ssd1/luojinchang/swift/data/dataset_${DATE}
OUTPUT_DIR=/home/ssd1/luojinchang/swift/output/glm-4v-9b-sft_${DATE}
NUM_TRAIN_EPOCHS=3
LEARNING_RATE=1e-5
export CUDA_VISIBLE_DEVICES=2,3
nohup swift sft
--model_id_or_path /home/ssd1/luojinchang/glm-4v-9b
--model_type glm4v-9b-chat
--sft_type lora
--lora_target_modules ALL
--output_dir ${OUTPUT_DIR}
--max_length 4096
--batch_size 2
--gradient_accumulation_steps 2
--logging_steps 10
--dataset ${DATA_DIR}/train.jsonl
--val_dataset ${DATA_DIR}/val.jsonl
--eval_batch_size 2
--eval_steps 50
--save_strategy epoch
--num_train_epochs ${NUM_TRAIN_EPOCHS}
--learning_rate ${LEARNING_RATE} > logs/train_${DATE}.log 2>&1 &
问题: 1、用swift框架训练,特别快,几百条数据,15分钟就可以训完3个EPOCH,这是正常的吗? 2、训练完后,发现模型重复输出比较严重,同时训练任务也没拟合。
希望有人尽快解答,,感谢
速度还好,loss收敛情况如何
lora学习率可以大一点
使用最新的代码. 2,2,3或者2.3.0.dev0(main分支)