Files
open-instruct/scripts/finetune_lora_with_accelerate.sh
8710794223 Configs for DPO; some repo organization (#183)
* init pr

* add script

* clean config folders

* organization

* up

* tokenizer fixes

* Fix dpo script tokenizer setup + minor fixes (#184)

* copy tokenizer setup

* minor fixes

---------

Co-authored-by: Hamish Ivison <[email protected]>
2024-07-10 10:22:55 -07:00

47 lines
1.6 KiB
Bash
Executable File

export CUDA_VISIBLE_DEVICES=0,1,2,3
MODEL_SIZE=7B
NUM_GPUS=4
BATCH_SIZE_PER_GPU=1
TOTAL_BATCH_SIZE=128
GRADIENT_ACC_STEPS=$(($TOTAL_BATCH_SIZE/$NUM_GPUS/$BATCH_SIZE_PER_GPU))
echo "Training llama model ${MODEL_SIZE} using $NUM_GPUS GPUs, $BATCH_SIZE_PER_GPU batch size per GPU, $GRADIENT_ACC_STEPS gradient accumulation steps"
# Lora training
accelerate launch \
--mixed_precision bf16 \
--num_machines 1 \
--num_processes $NUM_GPUS \
--use_deepspeed \
--deepspeed_config_file configs/ds_configs/stage3_no_offloading_accelerate.conf \
open_instruct/finetune.py \
--model_name_or_path ../hf_llama2_models/${MODEL_SIZE} \
--use_flash_attn \
--use_lora \
--lora_rank 64 \
--lora_alpha 16 \
--lora_dropout 0.1 \
--tokenizer_name ../hf_llama2_models/${MODEL_SIZE} \
--use_slow_tokenizer \
--train_file oasst1_data.jsonl \
--max_seq_length 4096 \
--preprocessing_num_workers 16 \
--checkpointing_steps epoch \
--per_device_train_batch_size $BATCH_SIZE_PER_GPU \
--gradient_accumulation_steps $GRADIENT_ACC_STEPS \
--learning_rate 1e-4 \
--lr_scheduler_type linear \
--warmup_ratio 0.03 \
--weight_decay 0. \
--num_train_epochs 5 \
--output_dir output/tulu_v2_${MODEL_SIZE}_lora/ \
--with_tracking \
--report_to tensorboard \
--logging_steps 1 &&
python open_instruct/merge_lora.py \
--base_model_name_or_path ../hf_llama2_models/${MODEL_SIZE} \
--lora_model_name_or_path output/tulu_v2_${MODEL_SIZE}_lora/ \
--output_dir output/tulu_v2_${MODEL_SIZE}_lora_merged/ \
--save_tokenizer