hiyouga / ChatGLM-Efficient-Tuning

Fine-tuning ChatGLM-6B with PEFT | 基于 PEFT 的高效 ChatGLM 微调
Apache License 2.0
3.66k stars 471 forks source link

为什么加载sft权重计算的指标和sft+ppo微调的权重计算的指标是一样的? #382

Closed JingyuHuAtVoxelCloud closed 1 year ago

JingyuHuAtVoxelCloud commented 1 year ago

只加载sft的权重脚本:

CUDA_VISIBLE_DEVICES=1 python src/train_bash.py \
    --stage sft \
    --model_name_or_path THUDM/chatglm2-6b  \
    --do_predict \
    --dataset ft_test \
    --dataset_dir data/medicalgpt \
    --finetuning_type lora \
    --checkpoint_dir outputs/output-sft-chatglm2/checkpoint-12000 \
    --output_dir outputs/output-rl-chatglm2 \
    --per_device_eval_batch_size 8 \
    --predict_with_generate \
    --max_samples 100 \

加载sft和ppo权重的脚本:

CUDA_VISIBLE_DEVICES=1 python src/train_bash.py \
    --stage sft \
    --model_name_or_path THUDM/chatglm2-6b  \
    --do_predict \
    --dataset ft_test \
    --dataset_dir data/medicalgpt \
    --finetuning_type lora \
    --checkpoint_dir outputs/output-sft-chatglm2/checkpoint-12000,outputs/output-rl-chatglm2/checkpoint-2000 \
    --output_dir outputs/output-rl-chatglm2 \
    --per_device_eval_batch_size 8 \
    --predict_with_generate \
    --max_samples 100 \
jiahuanluo commented 1 year ago

same problem

codemayq commented 1 year ago

请问是说两个不同的脚本最后 eval metrics 输出的指标数字相等,还是什么意思?

JingyuHuAtVoxelCloud commented 1 year ago

bleu这些指标通过上面两个不同的脚本计算得到的结果是一样的。

jiahuanluo commented 1 year ago

我遇到的是ppo训练后的模型指标与sft前的模型指标是一样的。感觉ppo训练后的adaptor没有正确保存或者正确加载?