初始化项目,由ModelHub XC社区提供模型
Model: ayh015/myLightningOPD Source: Original Platform
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:66cf6cffd11dd523d28cd449afcd5500c62ab47e6617a977039e931d22ae2689
|
||||
size 13944494336
|
||||
23
configs/sft/dataset_info.json
Normal file
23
configs/sft/dataset_info.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"openthoughts3_300k_qwen3-8b": {
|
||||
"file_name": "data/sft_data/openthoughts3_300k_qwen3-8b.jsonl",
|
||||
"formatting": "sharegpt",
|
||||
"columns": {
|
||||
"messages": "messages"
|
||||
},
|
||||
"tags": {
|
||||
"role_tag": "role",
|
||||
"content_tag": "content",
|
||||
"user_tag": "user",
|
||||
"assistant_tag": "assistant",
|
||||
"system_tag": "system"
|
||||
}
|
||||
},
|
||||
"openthoughts3_300k_qwen3-32b": {
|
||||
"file_name": "data/sft_data/openthoughts3_300k_qwen3-32b.parquet",
|
||||
"formatting": "sharegpt",
|
||||
"columns": {
|
||||
"messages": "messages"
|
||||
}
|
||||
}
|
||||
}
|
||||
16
configs/sft/dataset_info_ori_Fri_5_Jun.json
Normal file
16
configs/sft/dataset_info_ori_Fri_5_Jun.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"openthoughts3_300k_qwen3-8b": {
|
||||
"file_name": "data/sft_data/openthoughts3_300k_qwen3-8b.jsonl",
|
||||
"formatting": "sharegpt",
|
||||
"columns": {
|
||||
"messages": "messages"
|
||||
}
|
||||
},
|
||||
"openthoughts3_300k_qwen3-32b": {
|
||||
"file_name": "data/sft_data/openthoughts3_300k_qwen3-32b.parquet",
|
||||
"formatting": "sharegpt",
|
||||
"columns": {
|
||||
"messages": "messages"
|
||||
}
|
||||
}
|
||||
}
|
||||
42
configs/sft/qwen3-4b-base-open-thoughts3-qwen3-8b.yaml
Normal file
42
configs/sft/qwen3-4b-base-open-thoughts3-qwen3-8b.yaml
Normal file
@@ -0,0 +1,42 @@
|
||||
### model
|
||||
model_name_or_path: model_weights/qwen3-4b-base
|
||||
|
||||
### method
|
||||
stage: sft
|
||||
do_train: true
|
||||
finetuning_type: full
|
||||
deepspeed: examples/deepspeed/ds_z0_config.json
|
||||
enable_liger_kernel: true
|
||||
packing: true
|
||||
|
||||
|
||||
### dataset
|
||||
dataset: openthoughts3_300k_qwen3-8b
|
||||
template: qwen3
|
||||
cutoff_len: 16384
|
||||
overwrite_cache: true
|
||||
preprocessing_num_workers: 16
|
||||
dataloader_persistent_workers: true
|
||||
dataloader_pin_memory: true
|
||||
dataloader_num_workers: 4
|
||||
|
||||
### output
|
||||
logging_steps: 1
|
||||
save_steps: 100
|
||||
save_total_limit: 10
|
||||
plot_loss: true
|
||||
overwrite_output_dir: false
|
||||
save_only_model: false
|
||||
#report_to: wandb
|
||||
report_to: none
|
||||
run_name: qwen3-4b-base-open-thoughts3-qwen3-8b
|
||||
|
||||
### train
|
||||
per_device_train_batch_size: 4
|
||||
gradient_accumulation_steps: 2
|
||||
learning_rate: 0.00008
|
||||
max_steps: 3000
|
||||
lr_scheduler_type: cosine
|
||||
warmup_ratio: 0.1
|
||||
bf16: true
|
||||
ddp_timeout: 180000000
|
||||
41
configs/sft/qwen3-8b-base-open-thoughts3-qwen3-32b.yaml
Normal file
41
configs/sft/qwen3-8b-base-open-thoughts3-qwen3-32b.yaml
Normal file
@@ -0,0 +1,41 @@
|
||||
### model
|
||||
model_name_or_path: Qwen/Qwen3-8B-Base
|
||||
|
||||
### method
|
||||
stage: sft
|
||||
do_train: true
|
||||
finetuning_type: full
|
||||
deepspeed: examples/deepspeed/ds_z1_config.json
|
||||
enable_liger_kernel: true
|
||||
packing: true
|
||||
|
||||
|
||||
### dataset
|
||||
dataset: openthoughts3_300k_qwen3-32b
|
||||
template: qwen3
|
||||
cutoff_len: 16384
|
||||
overwrite_cache: true
|
||||
preprocessing_num_workers: 16
|
||||
dataloader_persistent_workers: true
|
||||
dataloader_pin_memory: true
|
||||
dataloader_num_workers: 4
|
||||
|
||||
### output
|
||||
logging_steps: 1
|
||||
save_steps: 100
|
||||
save_total_limit: 10
|
||||
plot_loss: true
|
||||
overwrite_output_dir: false
|
||||
save_only_model: false
|
||||
report_to: wandb
|
||||
run_name: qwen3-8b-base-open-thoughts3-qwen3-32b
|
||||
|
||||
### train
|
||||
per_device_train_batch_size: 2
|
||||
gradient_accumulation_steps: 2
|
||||
learning_rate: 8e-5
|
||||
max_steps: 3000
|
||||
lr_scheduler_type: cosine
|
||||
warmup_ratio: 0.1
|
||||
bf16: true
|
||||
ddp_timeout: 180000000
|
||||
49
configs/sft/run_sft.sh
Normal file
49
configs/sft/run_sft.sh
Normal file
@@ -0,0 +1,49 @@
|
||||
#!/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}"
|
||||
Reference in New Issue
Block a user