35 lines
1002 B
Bash
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" &
|
|
|