Files
open-instruct/scripts/finetune_with_accelerate_config.sh
Nathan LambertandGitHub 24feb6ed69 Revamp submit train script for evals (#192)
* init pr

* init

* script is running

* init bash script

* nits

* up

* update

* major fixes to configs

* up

* improvements

* remove pdb

* style
2024-07-25 11:34:27 -07:00

35 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
# example usage
# sh scripts/finetune_with_accelerate_config.sh 1 configs/train_configs/sft/default.yaml
# sh scripts/finetune_with_accelerate_config.sh 8 configs/train_configs/sft/olmo_17_sft.yaml
# Check if exactly two arguments are provided
if [ "$#" -ne 2 ]; then
echo "Usage: $0 <num_gpus> <config_file>"
echo "Example: $0 2 path/to/config.yaml"
exit 1
fi
NUM_GPUS="$1"
CONFIG_FILE="$2"
# Generate CUDA_VISIBLE_DEVICES as a range from 0 to NUM_GPUS-1
CUDA_VISIBLE_DEVICES=$(seq -s, 0 $((NUM_GPUS-1)))
export CUDA_VISIBLE_DEVICES
echo "Number of GPUs: $NUM_GPUS"
echo "Using config file: $CONFIG_FILE"
echo "CUDA_VISIBLE_DEVICES: $CUDA_VISIBLE_DEVICES"
# You can also set --gradient_checkpointing or use `stage3_offloading_accelerate.conf` to save memory,
# but it will trade off speed.
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 \
"$2" #\
#--report_to=tensorboard,wandb