在ALpaca上进行指令精调,运行完成后没有生成lora的权重
XuefangJia opened this issue · 5 comments
XuefangJia commented
提交前必须检查以下项目
- 请确保使用的是仓库最新代码(git pull),一些问题已被解决和修复。
- 我已阅读项目文档和FAQ章节并且已在Issue中对问题进行了搜索,没有找到相似问题和解决方案。
- 第三方插件问题:例如llama.cpp、LangChain、text-generation-webui等,同时建议到对应的项目中查找解决方案。
问题类型
模型训练与精调
基础模型
Chinese-Alpaca-2 (7B/13B)
操作系统
Linux
详细描述问题
# 请在此处粘贴运行代码(请粘贴在本代码块里)
依赖情况(代码类问题务必提供)
torchrun --nnodes 1 --nproc_per_node 1 run_clm_sft_with_peft.py \
--deepspeed ${deepspeed_config_file} \
--model_name_or_path ${pretrained_model} \
--tokenizer_name_or_path ${chinese_tokenizer_path} \
--dataset_dir ${dataset_dir} \
--per_device_train_batch_size ${per_device_train_batch_size} \
--per_device_eval_batch_size ${per_device_eval_batch_size} \
--do_train \
--do_eval \
--seed $RANDOM \
--fp16 \
--num_train_epochs 1 \
--lr_scheduler_type cosine \
--learning_rate ${lr} \
--warmup_ratio 0.03 \
--weight_decay 0 \
--logging_strategy steps \
--logging_steps 10 \
--save_strategy steps \
--save_total_limit 3 \
--evaluation_strategy steps \
--eval_steps 250 \
--save_steps 500 \
--gradient_accumulation_steps ${gradient_accumulation_steps} \
--preprocessing_num_workers 8 \
--max_seq_length ${max_seq_length} \
--output_dir ${output_dir} \
--overwrite_output_dir \
--ddp_timeout 30000 \
--logging_first_step True \
--lora_rank ${lora_rank} \
--lora_alpha ${lora_alpha} \
--trainable ${lora_trainable} \
--modules_to_save ${modules_to_save} \
--lora_dropout ${lora_dropout} \
--torch_dtype float16 \
--validation_file ${validation_file} \
--gradient_checkpointing \
--ddp_find_unused_parameters False \
--save_safetensors False
运行日志或截图
最终保存下来的没有模型的权重,请问是为什么呢?
ymcui commented
是按照requirements.txt中的版本安装的吗?
XuefangJia commented
iMountTai commented
peft 0.7.0版本在保存模型权重时默认保存safetensors权重。我们的repo中是有开源的peft代码的,如果是lora微调建议直接使用我们开源的peft代码。
XuefangJia commented
好的,谢谢,我试一下,感谢~
XuefangJia commented
您好,确实是peft的版本问题,问题已解决,感谢您的回复~