From e274974822d387149d51007626c61868e6fc3d9e Mon Sep 17 00:00:00 2001 From: leoz9 Date: Fri, 10 Jan 2025 16:09:12 +0800 Subject: [PATCH] add scripts --- .DS_Store | Bin 0 -> 6148 bytes scripts/1-pretrain.sh | 34 ++++++++++++++++++++++++++++++++++ scripts/2-full_sft.sh | 8 ++++++++ scripts/3-lora.sh | 13 +++++++++++++ scripts/4-dpo | 0 5 files changed, 55 insertions(+) create mode 100644 .DS_Store create mode 100644 scripts/1-pretrain.sh create mode 100644 scripts/2-full_sft.sh create mode 100644 scripts/3-lora.sh create mode 100644 scripts/4-dpo diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5f68b27b25f67ed393003b4f6ae5a625a93867cc GIT binary patch literal 6148 zcmeHKPfP1S5TC78H;B-Kg73EAwO}Hs2QRVK!@C;MgGy~o(O{YlO-c`?kc%hZ2Y6q_ zs|P=V;J0!1PeqM_Cl#52+28E!Ot$+=*y#WOYYih0paB3JRbkD+;T=)yN-I*co>@eu zpOHZUc{s|mFsVe7<0mqp-rYRpa1H~A;l=xtA+FqpSrX@k>prmBOnr84o^!syPlHQ2 z3W{zq%v;^Tv6>x7nS@ij8y?2JQKzxAE7PJIr@etrh@&2coE*hzBu6bdOru=q24;af zj?-!U8IRXD-KOxi+(}c6J=fi6icQa*OdP(vy0*RFxk~z}yfIud{Oq(WTAac^G~OI5 zx$uH>+0UjS)rh`qx5GpqoIn1ZySx5>zw=&H^ogkKva;KYjmabihyh~Ydl|5oCtvv9 zpFz751H`}&WI){y0#%`Ju{5Z!4jgm~fLKSj7PM6_p>l*p-(qPHS5TNqMKr0*wiwK$ zqhHuK-(qRdqyw|f2eUgf+o3SMJ3e3NaA3Yc8i@g7;57p?X4+8ofA8b||8)}0hyh~Y zS24iq?V#PlBiY(oIh?As0`&}4iHa)?KBu6eOEJc(QoMqy1^q%9h`zfkAS9u K24dh#8F&JRy=O!K literal 0 HcmV?d00001 diff --git a/scripts/1-pretrain.sh b/scripts/1-pretrain.sh new file mode 100644 index 0000000..930d370 --- /dev/null +++ b/scripts/1-pretrain.sh @@ -0,0 +1,34 @@ +#!/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" & + diff --git a/scripts/2-full_sft.sh b/scripts/2-full_sft.sh new file mode 100644 index 0000000..2973c44 --- /dev/null +++ b/scripts/2-full_sft.sh @@ -0,0 +1,8 @@ +nohup torchrun \ + --nproc_per_node 8 \ + 3-full_sft.py \ + --use_wandb \ + --ddp \ + --epochs 3 \ + --out_dir /home/jovyan/zlcode/minimind/out_dir/sft \ + 2>&1 > /home/jovyan/zlcode/minimind/log/full_sft.log & diff --git a/scripts/3-lora.sh b/scripts/3-lora.sh new file mode 100644 index 0000000..70b9a15 --- /dev/null +++ b/scripts/3-lora.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# LoRA fine-tuning script +# Run with distributed training and save logs + +nohup torchrun \ + --nproc_per_node=8 \ + 4-lora_sft.py \ + --use_wandb \ + --epochs 3 \ + --out_dir /home/jovyan/zlcode/minimind/out_dir \ + 2>&1 > /home/jovyan/zlcode/minimind/log/lora_sft.log & + diff --git a/scripts/4-dpo b/scripts/4-dpo new file mode 100644 index 0000000..e69de29