Files
myLightningOPD/configs/sft/run_sft.sh
ModelHub XC d4e0a1af66 初始化项目,由ModelHub XC社区提供模型
Model: ayh015/myLightningOPD
Source: Original Platform
2026-08-27 23:50:14 +08:00

49 lines
1.6 KiB
Bash

#!/usr/bin/env bash
# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
# Step 2: Run SFT training with LlamaFactory.
#
# Required environment variables:
# CONFIG_YAML - Name of the SFT config file in configs/sft/ (e.g. qwen3-4b-base-sft-qwen3-8b.yaml)
# OUTPUT_DIR - Directory for the SFT checkpoint output
#
# Optional:
# NUM_NODES - Number of nodes (default: 4)
# NUM_GPUS - GPUs per node (default: 8)
# MASTER_ADDR - Master node address (default: localhost)
#
# Prerequisites:
# - LlamaFactory installed (pip install llamafactory)
# - SFT data generated by Step 1 and registered in LlamaFactory's dataset_info.json
set -euo pipefail
: "${CONFIG_YAML:?Set CONFIG_YAML (e.g. qwen3-4b-base-sft-qwen3-8b.yaml)}"
: "${OUTPUT_DIR:?Set OUTPUT_DIR for SFT checkpoint output}"
NUM_NODES="${NUM_NODES:-4}"
NUM_GPUS="${NUM_GPUS:-8}"
MASTER_ADDR="${MASTER_ADDR:-localhost}"
MASTER_PORT="${MASTER_PORT:-29500}"
# torchrun \
# --nnodes "${NUM_NODES}" \
# --nproc_per_node="${NUM_GPUS}" \
# --rdzv_id $RANDOM \
# --rdzv_backend c10d \
# --rdzv_endpoint "${MASTER_ADDR}:29500" \
# -m llamafactory.cli.train \
# "configs/sft/${CONFIG_YAML}" \
# "dataset_dir=configs/sft" \
# "output_dir=${OUTPUT_DIR}"
FORCE_TORCHRUN=1 \
NNODES="${NUM_NODES}" \
NPROC_PER_NODE="${NUM_GPUS}" \
MASTER_ADDR="${MASTER_ADDR}" \
MASTER_PORT="${MASTER_PORT}" \
llamafactory-cli train \
"configs/sft/${CONFIG_YAML}" \
"dataset_dir=configs/sft" \
"output_dir=${OUTPUT_DIR}"