[ -z "${MASTER_PORT}" ] && MASTER_PORT=10086 [ -z "${n_gpu}" ] && n_gpu=$(nvidia-smi -L | wc -l) export NCCL_ASYNC_ERROR_HANDLING=1 export OMP_NUM_THREADS=1 run_name=bert_example save_dir="./save/${run_name}" mkdir -p ${save_dir} torchrun --nproc_per_node=$MLP_WORKER_GPU --nnodes=$MLP_WORKER_NUM --node_rank=$MLP_ROLE_INDEX --master_addr=$MLP_WORKER_0_HOST --master_port=$MLP_WORKER_0_PORT \ $(which unicore-train) ./example_data --user-dir . --valid-subset valid \ --num-workers 0 --ddp-backend=c10d \ --task bert --loss masked_lm --arch bert_base \ --optimizer adam --adam-betas '(0.9, 0.98)' --adam-eps 1e-6 --clip-norm 1.0 \ --lr-scheduler polynomial_decay --lr 1e-4 --warmup-updates 100 --total-num-update 10000 --batch-size 4 \ --update-freq 1 --seed 1 \ --fp16 --fp16-init-scale 4 --fp16-scale-window 256 --tensorboard-logdir $save_dir/tsb \ --max-update 10000 --log-interval 100 --log-format simple \ --save-interval-updates 1000 --validate-interval-updates 1000 --keep-interval-updates 30 --no-epoch-checkpoints \ --save-dir $save_dir