Spaces:
Sleeping
Sleeping
set -x | |
set -e | |
DIR="$( cd "$( dirname "$0" )" && cd .. && pwd )" | |
echo "working directory: ${DIR}" | |
if [ -z "$OUTPUT_DIR" ]; then | |
OUTPUT_DIR="${DIR}/checkpoint/rlm_$(date +%F-%H%M.%S)" | |
fi | |
if [ -z "$DATA_DIR" ]; then | |
DATA_DIR="${DIR}/data/msmarco_bm25_official/" | |
fi | |
mkdir -p "${OUTPUT_DIR}" | |
PROC_PER_NODE=$(nvidia-smi --list-gpus | wc -l) | |
# python -u -m torch.distributed.launch --nproc_per_node ${PROC_PER_NODE} src/train_rlm.py \ | |
deepspeed src/train_rlm.py --deepspeed ds_config.json \ | |
--model_name_or_path bert-base-uncased \ | |
--per_device_train_batch_size 64 \ | |
--per_device_eval_batch_size 64 \ | |
--gradient_accumulation_steps 4 \ | |
--seed 45678 \ | |
--do_train \ | |
--do_eval \ | |
--fp16 \ | |
--train_file "${DATA_DIR}/passages.jsonl.gz" \ | |
--rlm_max_length 144 \ | |
--rlm_encoder_mask_prob 0.3 \ | |
--rlm_decoder_mask_prob 0.5 \ | |
--rlm_generator_model_name google/electra-base-generator \ | |
--rlm_freeze_generator True \ | |
--rlm_generator_mlm_weight 0.2 \ | |
--all_use_mask_token True \ | |
--dataloader_num_workers 1 \ | |
--max_steps 80000 \ | |
--learning_rate 3e-4 \ | |
--warmup_steps 4000 \ | |
--weight_decay 0.0 \ | |
--remove_unused_columns False \ | |
--logging_steps 50 \ | |
--report_to none \ | |
--output_dir "${OUTPUT_DIR}" \ | |
--save_total_limit 20 \ | |
--save_strategy steps \ | |
--save_steps 10000 \ | |
--evaluation_strategy steps \ | |
--eval_steps 10000 \ | |
--data_dir "${DATA_DIR}" \ | |
--overwrite_output_dir \ | |
--disable_tqdm True "$@" | |