-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtrain.sh
125 lines (102 loc) · 3.34 KB
/
train.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# Multi-nodes are also supported
export NCCL_DEBUG=INFO
export NCCL_SOCKET_IFNAME=en,eth,em,bond
export NCCL_IB_GID_INDEX=3
export NCCL_IB_SL=3
export NCCL_NET_GDR_READ=1
export MASTER_ADDR="${CHIEF_IP:=localhost}"
export MASTER_PORT="${MASTER_PORT:=29510}"
export WANDB_DISABLED=true
train_path=run_files/run_clm_lora_derta_llama.py
valid_path=data/train/example_data_to_read.json
root_path_model=llms/
models=(Meta-Llama-3-70B)
datasets=(llama_derta llama_vanilla llama_recaug)
for model in ${models[@]}
do
model_path=${root_path_model}${model}
for data in ${datasets[@]}
do
model_save=saved_model/lora_${model}_${data}
train_file=data/train/${data}.json
torchrun --nnodes 1 --node_rank 0 --nproc_per_node 8 \
--master_addr $MASTER_ADDR --master_port 6666 \
${train_path} \
--deepspeed train_config/deepspeed_config.json \
--model_name_or_path ${model_path} \
--train_file ${train_file} \
--use_lora True \
--lora_config train_config/lora_config.json \
--validation_file ${valid_path} \
--preprocessing_num_workers 16 \
--dataloader_num_workers 0 \
--dataloader_pin_memory True \
--per_device_train_batch_size 8 \
--per_device_eval_batch_size 1 \
--gradient_accumulation_steps 2 \
--num_train_epochs 2 \
--save_strategy "steps" \
--save_steps 50000 \
--save_total_limit 15 \
--learning_rate 1e-4 \
--weight_decay 0. \
--warmup_ratio 0.00 \
--logging_steps 10 \
--block_size 512 \
--do_train \
--evaluation_strategy "no" \
--bf16 True \
--streaming \
--ddp_timeout 3600 \
--seed 1 \
--gradient_checkpointing True \
--output_dir ${model_save} \
--overwrite_output_dir
done
done
train_path=run_files/run_clm_llms_derta_llama_drop_5_percent.py
valid_path=data/train/example_data_to_read.json
root_path_model=llms/
models=(Meta-Llama-3-8B)
datasets=(llama_derta llama_vanilla llama_recaug)
for model in ${models[@]}
do
model_path=${root_path_model}${model}
for data in ${datasets[@]}
do
model_save=saved_model/${model}_${data}
train_file=data/train/${data}.json
torchrun --nnodes 1 --node_rank 0 --nproc_per_node 8 \
--master_addr $MASTER_ADDR --master_port 6666 \
${train_path} \
--deepspeed train_config/deepspeed_config.json \
--model_name_or_path ${model_path} \
--train_file ${train_file} \
--validation_file ${valid_path} \
--preprocessing_num_workers 16 \
--dataloader_num_workers 0 \
--dataloader_pin_memory True \
--per_device_train_batch_size 16 \
--per_device_eval_batch_size 1 \
--gradient_accumulation_steps 1 \
--num_train_epochs 2 \
--save_strategy "steps" \
--save_steps 5000 \
--lr_scheduler_type "cosine" \
--save_total_limit 15 \
--learning_rate 2e-5 \
--weight_decay 2e-5 \
--warmup_ratio 0.03 \
--logging_steps 10 \
--block_size 1024 \
--do_train \
--evaluation_strategy "no" \
--bf16 True \
--streaming \
--ddp_timeout 3600 \
--seed 1 \
--gradient_checkpointing True \
--output_dir ${model_save} \
--overwrite_output_dir
done
done