deepseek-ai/DeepSeek-LLM

lora sft deepseek 67b base版本

liwenju0 opened this issue · 0 comments

感谢分享这么好的模型。
我使用5万条多轮数据对 67b base模型进行了sft微调。微调了一个epoch。但是测试时,模型输出会出现乱码。

image

使用的sft框架是 llama factory
实验参数如下:

deepspeed --num_gpus 2 --master_port=9901 src/train_bash.py
--deepspeed ds_config.json
--stage sft
--model_name_or_path /data/origin_models/deepseek-llm-67b-base
--do_train
--dataset 50k_multiple,self_cognition
--template alpaca
--finetuning_type lora
--quantization_bit 4
--lora_target q_proj,v_proj
--output_dir output-deepseek-67b-sft
--overwrite_cache
--overwrite_output_dir true
--per_device_train_batch_size 1
--gradient_accumulation_steps 10
--lr_scheduler_type cosine
--logging_steps 10
--save_steps 100
--learning_rate 2e-4
--num_train_epochs 2.0
--plot_loss
--lora_rank 64
--lora_alpha 128
--cutoff_len 4096
--ddp_find_unused_parameters False
--preprocessing_num_workers 20
--save_total_limit 1
--flash_attn

测试时load模型的参数如下:
python src/web_demo.py
--model_name_or_path /data/origin_models/deepseek-llm-67b-base
--template alpaca
--finetuning_type lora
--quantization_bit 4
--checkpoint_dir /home/output-deepseek-deepctrl-67b-sft

训练硬件:

  • 两个A800 80G
  • cuda:12.1
  • torch 2.1.0
  • transformers 4.34.1

尝试调整了 repetition_penalty temprature top_p 的各种组合,这个问题仍然存在。

我的疑问是,是不是lora的rank过小,或者学习率过小,导致训练sft训练非常不充分造成的呢?

再次感谢!