deepseek-ai / DeepSeek-LLM

DeepSeek LLM: Let there be answers
https://chat.deepseek.com/
MIT License
1.33k stars 87 forks source link

lora sft deepseek 67b base版本 #20

Closed liwenju0 closed 7 months ago

liwenju0 commented 7 months ago

感谢分享这么好的模型。 我使用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

训练硬件:

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

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

再次感谢!