ChatGLM-Efficient-Tuning icon indicating copy to clipboard operation
ChatGLM-Efficient-Tuning copied to clipboard

微调的时候如何设置最大的token长度?

Open Ethan-Chen-plus opened this issue 2 years ago • 7 comments

image

微调时,出现了较多的数据重复现象,实际上,我完整的数据还没有完全encode 9ba6553be0926dfcda71d9c1316632e 有一个问题,原文还没有结束,但是却会把原文一段替换给到未结束的部分。 chatglm2的token长度得到了较大的更新,我要如何修改代码,突破长度限制?

Ethan-Chen-plus avatar Jun 28 '23 15:06 Ethan-Chen-plus

增加 --max_source_length 和 --max_target_length

hiyouga avatar Jun 28 '23 15:06 hiyouga

感觉这里是制造出复读机的重要问题点

AlphaINF avatar Jun 28 '23 15:06 AlphaINF

增加 --max_source_length 和 --max_target_length

想请问下source和target的最大长度可以设置为多少? 这里的source和target指的就是question和response的长度么?

Ethan-Chen-plus avatar Jun 29 '23 04:06 Ethan-Chen-plus

@Ethan-Chen-plus 根据你的显存大小决定,越大消耗的显存越高

hiyouga avatar Jun 29 '23 07:06 hiyouga

增加 --max_source_length 和 --max_target_length

这个加在哪里,训练的时候吗

dragononly avatar Jun 30 '23 07:06 dragononly

@dragononly 就是加在训练命令那里。

!python src/train_sft.py \
    --model_name_or_path /root/models/chatglm2-6b/ \
    --use_v2 \
    --do_train \
    --dataset lit \
    --finetuning_type lora \
    --lora_rank 8 \
    --max_source_length 30000 \
    --max_target_length 30000 \
    --output_dir path_to_sft_checkpoint \
    --per_device_train_batch_size 1 \
    --per_device_eval_batch_size 1 \
    --gradient_accumulation_steps 8 \
    --lr_scheduler_type cosine \
    --logging_steps 10 \
    --save_steps 10000 \
    --learning_rate 5e-5 \
    --num_train_epochs 200.0 \
    --fp16

Ethan-Chen-plus avatar Jul 02 '23 04:07 Ethan-Chen-plus

长度问题已经解决。 有一个问题,原文还没有结束,如果长度不够的话,会把原文一段替换给到未结束的部分。这是什么原因?

Ethan-Chen-plus avatar Jul 02 '23 04:07 Ethan-Chen-plus