-
Notifications
You must be signed in to change notification settings - Fork 16
指令微调模型
Joyce94 edited this page Aug 26, 2023
·
3 revisions
进入script/sft
目录,运行bash run_sft.sh
进行训练
run_sft.sh
内容如下
pretrained_model=chinese_llama_path
dataset_dir=/root/LLM-RLHF-Tuning/sft_data
data_cache_dir=/root/LLM-RLHF-Tuning/sft_data/cache/data
lora_trainable="q_proj,v_proj,k_proj,o_proj,gate_proj,down_proj,up_proj"
output_dir=sft_model_path
peft_path=sft_lora_model
modules_to_save=None
torchrun --nnodes 1 --nproc_per_node 1 run_sft_with_peft.py \
--model_type llama \
--template "chinese_llama2_alpaca" \
--model_name_or_path ${pretrained_model} \
--dataset_dir ${dataset_dir} \
--split_ratio 0.01 \
--data_cache_dir ${data_cache_dir} \
--block_size 512 \
--per_device_train_batch_size 2 \
--per_device_eval_batch_size 2 \
--dataloader_num_workers 16 \
--gradient_accumulation_steps 8 \
--do_train \
--do_eval \
--seed 512 \
--fp16 \
--num_train_epochs 1 \
--max_prompt_length 512 \
--max_response_length 512 \
--logging_steps 100 \
--eval_steps 100 \
--save_steps 500 \
--learning_rate 1e-4 \
--lr_scheduler_type cosine \
--warmup_ratio 0.03 \
--weight_decay 0 \
--logging_strategy steps \
--save_strategy steps \
--evaluation_strategy steps \
--save_total_limit 1 \
--output_dir ${output_dir} \
--overwrite_output_dir \
--ddp_timeout 30000 \
--logging_first_step True \
--lora_rank 128 \
--lora_alpha 32 \
--lora_target ${lora_trainable} \
--lora_dropout 0.05 \
--torch_dtype float16 \
--report_to "wandb"
-
--modules_to_save
: 如果想训练lm_head,可以在这里加上 -
--model_type
: 选择base模型类型,目前只支持llama
- 下载地址:Chinese-LLaMA-7B