This commit is contained in:
hupenglong1
2026-05-20 15:04:19 +08:00
parent c4b935692c
commit 1a94cec822
27 changed files with 4831 additions and 1693 deletions
@@ -4,11 +4,9 @@
用法:
# 仅组装数据
AUTORESEARCH_ROOT=/mnt/wangsenhao/autoresearch-zk \
python prepare_and_train_sft.py prepare --output_dir /mnt/wangsenhao/autoresearch-zk/sft_data
python prepare_and_train_sft.py prepare --output_dir /mnt/wangsenhao/autoresearch-zk/sft_data
# 启动训练(需先 prepare)
AUTORESEARCH_ROOT=/mnt/wangsenhao/autoresearch-zk \
python prepare_and_train_sft.py train \
--data_dir /mnt/wangsenhao/autoresearch-zk/sft_data \
--model_path /mnt/wangsenhao/verl_zk/Qwen3-4B-Instruct-2507 \
@@ -28,14 +26,7 @@ from pathlib import Path
logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(message)s")
log = logging.getLogger(__name__)
def _path_from_env(name: str, fallback: Path) -> Path:
return Path(os.environ.get(name, str(fallback))).expanduser().resolve()
AUTORESEARCH_ROOT = _path_from_env("AUTORESEARCH_ROOT", Path("/mnt/wangsenhao/autoresearch-zk"))
AI_PLANNING = _path_from_env("AI_PLANNING_DIR", AUTORESEARCH_ROOT / "ai-planning")
ZK_TRAINER_DIR = _path_from_env("ZK_TRAINER_DIR", AUTORESEARCH_ROOT / "zk_trainer")
AI_PLANNING = Path(__file__).resolve().parent / "ai-planning"
TRAIN_SET_DIR = AI_PLANNING / "data" / "train_set"
DATA_TRAIN_DIR = AI_PLANNING / "data_train"
GENERATE_TRAIN_SCRIPT = DATA_TRAIN_DIR / "generate_train.py"
@@ -157,7 +148,7 @@ def run_sft_training(data_dir: str, model_path: str, model_type: str, train_outp
epochs: int = 3, lr: float = 1e-5, max_seq_length: int = 1024,
per_device_batch: int = 1, grad_accum: int = 1):
"""基于 zk_trainer 的 accelerate launch 方式启动 SFT 训练。"""
zk_trainer_dir = str(ZK_TRAINER_DIR)
zk_trainer_dir = str(Path(__file__).resolve().parent / "zk_trainer")
if not os.path.isdir(zk_trainer_dir):
log.error(f"zk_trainer 目录不存在: {zk_trainer_dir}")
return None