nv_dlms / SDLM /shell /train_nv /debug_sdlm.sh
lll2343's picture
Upload folder using huggingface_hub (part 6)
43ad5ea verified
Raw
History Blame Contribute Delete
1.8 kB
set -x
# ==================== DDP Configuration ====================
GPUS=${GPUS:-8}
NNODES=${NNODES:-1}
NODE_RANK=${NODE_RANK:-0}
MASTER_ADDR=${MASTER_ADDR:-"127.0.0.1"}
PORT=${PORT:-29501}
TOTAL_GPUS=$((GPUS * NNODES))
export PYTHONPATH="${PYTHONPATH}:$(pwd)"
export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True
OUTPUT_DIR="./shell/playground/train_states/Debug_SDLM_7B_D8"
BASE_MODEL="./shell/playground/ckpt/Qwen/Qwen2.5-7B"
# META_JSON="./shell/playground/data/meta/sft_opc436k_scale_math_1m_smoltalk_1m_tulu_1m.json"
META_JSON="./shell/playground/data/meta/sft_3500k_filter.json"
if [ ! -d "$OUTPUT_DIR" ]; then
mkdir -p "$OUTPUT_DIR"
fi
# number of gpus: 1
# batch size per gpu: 2
# gradient accumulation steps: 1
# total batch size: 2
# num of examples:
# epoch: 1
torchrun \
--nnodes=$NNODES \
--node_rank=$NODE_RANK \
--master_addr=$MASTER_ADDR \
--nproc_per_node=$GPUS \
--master_port=$PORT \
sdlm/train/sdlm_train.py \
--model_name_or_path ${BASE_MODEL} \
--conv_style "Qwen-2-5" \
--use_fast_tokenizer False \
--output_dir ${OUTPUT_DIR} \
--meta_path ${META_JSON} \
--overwrite_output_dir True \
--dataloader_num_workers 4 \
--bf16 True \
--num_train_epochs 1 \
--per_device_train_batch_size 2 \
--gradient_accumulation_steps 2 \
--save_strategy "steps" \
--save_steps 400 \
--save_total_limit 100 \
--learning_rate 5e-6 \
--weight_decay 0.01 \
--warmup_ratio 0.03 \
--lr_scheduler_type "constant" \
--logging_steps 1 \
--max_seq_length 6144 \
--do_train True \
--grad_checkpoint True \
--deepspeed "zero_stage1_config.json" \
--report_to "tensorboard" \
--block_size 8 \
--causal_attn False \
--attn_implementation sdpa \
2>&1 | tee -a "${OUTPUT_DIR}/training_log_$(date +%Y%m%d_%H%M%S).txt"