LlamaFamily / Llama-Chinese

Llama中文社区,Llama3在线体验和微调模型已开放,实时汇总最新Llama3学习资料,已将所有代码更新适配Llama3,构建最好的中文Llama大模型,完全开源可商用
https://llama.family
14.01k stars 1.26k forks source link

使用lora微调,造成显存爆炸 #243

Open FLoutione opened 1 year ago

FLoutione commented 1 year ago

使用lora微调Meta的llama-2-7b-chat-hf的时候,开始占用显存为8G左右,之后逐渐增大,一天之后显存超过24G爆掉。 image

FLoutione commented 1 year ago

output_model=./save_folder

需要修改到自己的输入目录

if [ ! -d ${output_model} ];then
mkdir ${output_model} fi cp ./finetune.sh ${output_model} CUDA_VISIBLE_DEVICES=1,0 deepspeed --num_gpus 2 finetune_clm_lora.py \ --model_name_or_path /data1/cjh1/Llama2-Chinese/train/pretrain/Llama-checkpoint/llama-2-7b-chat \ --train_files ../../data/train_IT.txt \ --validation_files ../../data/dev_IT.txt \ --per_device_train_batch_size 1 \ --per_device_eval_batch_size 1 \ --do_train \ --do_eval \ --use_fast_tokenizer false \ --output_dir ${output_model} \ --evaluation_strategy steps \ --max_eval_samples 800 \ --learning_rate 1e-4 \ --gradient_accumulation_steps 8 \ --num_train_epochs 10 \ --warmup_steps 400 \ --load_in_bits 4 \ --lora_r 8 \ --lora_alpha 32 \ --target_modules q_proj,k_proj,v_proj,o_proj,down_proj,gate_proj,up_proj \ --logging_dir ${output_model}/logs \ --logging_strategy steps \ --logging_steps 10 \ --save_strategy steps \ --preprocessing_num_workers 10 \ --save_steps 2000 \ --eval_steps 20 \ --save_total_limit 2000 \ --seed 42 \ --disable_tqdm false \ --ddp_find_unused_parameters false \ --block_size 2048 \ --report_to tensorboard \ --overwrite_output_dir \ --deepspeed ds_config_zero2.json \ --ignore_data_skip true \ --bf16 \ --gradient_checkpointing \ --bf16_full_eval \ --ddp_timeout 18000000 \ | tee -a ${output_model}/train.log

# --resume_from_checkpoint ${output_model}/checkpoint-20400 \

lora微调脚本为这个,没有更改其他配置。