minimind/scripts/1-pretrain.sh

35 lines
1002 B
Bash

#!/bin/bash
# 环境变量配置
export MASTER_PORT=29500 # 设置通信端口
export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 # 设置使用的 GPU
# 训练配置参数
NUM_GPUS=8
EPOCHS=3
OUT_DIR="/home/jovyan/zlcode/minimind/out_dir"
LOG_DIR="/home/jovyan/zlcode/minimind/log"
LOG_FILE="${LOG_DIR}/pretrain.log"
Batch_size=128
# 创建输出目录和日志目录(如果不存在)
mkdir -p "$OUT_DIR"
mkdir -p "$LOG_DIR
# 设置训练参数的选项
TRAINING_OPTIONS="--use_wandb \
--ddp \
--epochs=$EPOCHS \
--batch_size=${Batch_size} \
--out_dir=$OUT_DIR"
# 设置torchrun分布式训练参数
DISTRIBUTED_OPTIONS="--nproc_per_node=$NUM_GPUS \
--nnodes=1 \
--rdzv_id=123 \
--rdzv_backend=c10d"
# 使用 nohup 启动训练任务,并且重定向输出
nohup torchrun $DISTRIBUTED_OPTIONS 1-pretrain.py $TRAINING_OPTIONS \
2>&1 | tee "$LOG_FILE" &