[THUDM/ChatGLM-6B][BUG/Help] ptuning v2微调后,权重为1 bias为0

2024-06-12 287 views
9

如题: 我在用新的模型做ptuning微调的时候,在广告生成数据集上损失一直是4.0左右。模型后几层权重均为1,checkpoint文件大小从13g降低到了400M。

ptuning训练 LR=2e-3 PRE_SEQ_LEN=128 TRAIN_DATA_DIR=xxx/AdvertiseGenMini

MODEL_DIR=xxx/lm/chatglm-6b

MODEL_DIR=xxx/adgen-chatglm-6b-pt--128-2e-2/new NEW_MODEL_DIR=xxx/data/lm/AdvertiseGen

CUDA_VISIBLE_DEVICES=0 python3 main.py \ --do_train \ --train_file $TRAIN_DATA_DIR/train.json \ --validation_file $TRAIN_DATA_DIR/train.json \ --prompt_column content \ --response_column summary \ --overwrite_cache \ --model_name_or_path $MODEL_DIR \ --output_dir xxx/adgen-chatglm-6b-pt--128-2e-2 \ --overwrite_output_dir \ --max_source_length 32 \ --max_target_length 100 \ --per_device_train_batch_size 16 \ --per_device_eval_batch_size 1 \ --gradient_accumulation_steps 1 \ --predict_with_generate \ --max_steps 100000 \ --logging_steps 2 \ --save_steps 1000 \ --learning_rate $LR \ --pre_seq_len $PRE_SEQ_LEN

Environment
- OS:deepin
- Python: 3.10.0
- Transformers:4.27.1
- PyTorch:2.0.0
- CUDA Support (`python -c "import torch; print(torch.cuda.is_available())"`) :

回答

1

ptuning v2 不会改变模型的权重和bias,不知道你看的是什么。 checkpoint 大小只有 400M 是因为只保存了 soft prompt,模型参数从原来的模型文件夹加载就行。 loss 高可以把 LR 设大一点,我们用的是 2e-2

5

之前的版本 我的模型每个checkpoint是 13G 你们是做了修改吗? 好的 我提高一下LR试一下 2e-2我的也不能收敛

5

ptuning v2 不会改变模型的权重和bias,不知道你看的是什么。 checkpoint 大小只有 400M 是因为只保存了 soft prompt,模型参数从原来的模型文件夹加载就行。 loss 高可以把 LR 设大一点,我们用的是 2e-2 image 这个是我之前微调的效果比较好的结果 checkpoint大概 13g

3

ptuning v2 不会改变模型的权重和bias,不知道你看的是什么。 checkpoint 大小只有 400M 是因为只保存了 soft prompt,模型参数从原来的模型文件夹加载就行。 loss 高可以把 LR 设大一点,我们用的是 2e-2 image 这个是我之前微调的效果比较好的结果 checkpoint大概 13g

代码有更新过

3

应该是数据集的问题,实测下来全量数据集,损失最低3.8左右