2025-12-23 14:22:15 +08:00
..
2025-12-23 14:22:15 +08:00
2025-12-23 14:22:15 +08:00
2025-12-23 14:22:15 +08:00
2025-12-23 14:22:15 +08:00
2025-12-23 14:22:15 +08:00
2025-12-23 14:22:15 +08:00
2025-12-23 14:22:15 +08:00

MVP v1.1GRPO + SFT on Ray运行说明

本目录是一套独立可运行的 v1.1 交付:使用 1 个 Ray head不跑训练+ 2 个 Ray worker各 4 GPU在同一宿主机通过 docker exec 协调容器,并通过 head 上的 ray job submit 提交作业,同时强制 driver 落到 worker。

远程 dev 环境推荐目录布局:

  • /home2/argus/infra/mvp/
    • shared/持久化datasets/hf/jobs/...
    • verl/(代码仓库,用于 prepare / snapshot
    • v1.1/本目录内容compose + scripts

快速开始(远程机 argus@h1

/home2/argus/infra/mvp/v1.1/ 下执行:

./scripts/00_prereq_check.sh
./scripts/01_up.sh
./scripts/20_start_head.sh
./scripts/21_start_workers.sh
./scripts/30_prepare_data_and_model.sh
./scripts/12_install_py_deps.sh
./scripts/44_submit_sdk.sh /workspace/mvp/v1.1/py/configs/dev.yaml /workspace/mvp/v1.1/py/jobspecs/ppo.yaml
./scripts/44_submit_sdk.sh /workspace/mvp/v1.1/py/configs/dev.yaml /workspace/mvp/v1.1/py/jobspecs/grpo.yaml
./scripts/44_submit_sdk.sh /workspace/mvp/v1.1/py/configs/dev.yaml /workspace/mvp/v1.1/py/jobspecs/sft.yaml
./scripts/40_submit_ppo_epoch1.sh
./scripts/41_submit_grpo_epoch1.sh
./scripts/42_submit_sft_minimal.sh
./scripts/50_status.sh

说明:

  • scripts/40/41/42 是历史的 “CLI 提交脚本”(仍可用),但 v1.1 的工程化目标是把提交机制迁移到 scripts/44_submit_sdk.shRay Python SDK + YAML 配置)。

停止并清理:

./scripts/02_down.sh

关键约束(必须满足)

  • 必须通过 head 执行 ray job submit 提交任务(满足“从 head 提交”要求)。
  • head 不跑训练head 以 --num-cpus=0 --num-gpus=0 启动worker 具备自定义资源 worker_node;提交时 --entrypoint-resources='{"worker_node": 1}' 强制 driver 落 worker。
  • 共享路径统一为 /private(容器内)compose 将宿主机 ../shared 挂载到容器内 /private,对齐生产环境。
  • 多版本 verl:通过 Ray Job runtime_env.env_vars.PYTHONPATH 注入 ${SHARED_ROOT}/common/code/verl/...job 粒度选择代码快照。

共享目录(容器内 /private

  • /private/datasets/数据PPO 的 gsm8k RL parquet、SFT parquet
  • /private/hf/HF 缓存(模型持久化,避免重复下载)
  • /private/jobs/<submission_id>/:每个 Ray Job 的输出目录logs/config/debug/checkpoints
  • /private/common/:共享区(模型/数据/代码快照)
  • /private/user/:用户自定义代码(例如 reward_fn