Open liuzhiyong01 opened 1 year ago
--gradient_checkpointing 目前只能在deepspeed框架下使用,需要同时添加
--deepspeed ds_config.json \
--gradient_checkpointing
ds_config.json可以参考https://github.com/FlagOpen/FlagEmbedding/blob/master/examples/finetune/ds_config.json
使用deepspeed的 zero-stage=2,会出现如下错误: zero-stage=0,1可以正常运行
应该是deepspeed的问题,deepspeed最新版fix了这个bug,可以更新到最新版,
使用deepspeed的 zero-stage=2,会出现如下错误: zero-stage=0,1可以正常运行
在微调bge-en-icl
,使用deepspeed stage2
的时候遇到了同样错误。deepspeed版本0.15.4
使用deepspeed的 zero-stage=2,会出现如下错误: zero-stage=0,1可以正常运行
在微调
bge-en-icl
,使用deepspeedstage2
的时候遇到了同样错误。deepspeed版本0.15.4
当我添加use_reentrant=False,在stage2下运行正常
--gradient_checkpointing_kwargs '{"use_reentrant":false}'
训练参数: torchrun --nnodes=1 --nproc_per_node=2 --master_port=$PORT \ -m FlagEmbedding.baai_general_embedding.finetune.run \ --output_dir $OUTPUT_DIR \ --model_name_or_path $MODEL_PATH \ --train_data $DATA_PATH \ --learning_rate 1e-5 \ --fp16 \ --num_train_epochs $EPOCH \ --per_device_train_batch_size 64 \ --gradient_checkpointing \ --dataloader_drop_last True \ --evaluation_strategy "no" \ --normlized True \ --temperature 0.02 \ --negatives_cross_device \ --query_max_len 64 \ --passage_max_len 128 \ --train_group_size 2 \ --logging_steps 10 \ --save_strategy "steps" \ --save_steps 200 \ --save_total_limit 2 \ --report_to "none"
不管是单GPU还是多GPU,都会报错, bu tian jia不添加--gradient_checkpointing参数,训练正常