SkyPilot 示例

最后更新:09/04/2025。

本指南提供了在具有 GPU 节点的 Kubernetes 集群或云平台上,使用 SkyPilot 运行 VERL 强化学习训练的示例。

安装和配置

步骤 1:安装 SkyPilot

根据目标平台选择安装方式:

# 仅适用于 Kubernetes
pip install "skypilot[kubernetes]"

# 适用于 AWS
pip install "skypilot[aws]"

# 适用于 Google Cloud Platform
pip install "skypilot[gcp]"

# 适用于 Azure
pip install "skypilot[azure]"

# 适用于多个平台
pip install "skypilot[kubernetes,aws,gcp,azure]"

步骤 2:配置您的平台

请参见 https://docs.skypilot.co/en/latest/getting-started/installation.html

步骤 3:设置环境变量

导出用于实验跟踪的必要 API 密钥:

# 用于 Weights & Biases 跟踪
export WANDB_API_KEY="your-wandb-api-key"

# 用于 HuggingFace 有访问限制的模型(如果需要)
export HF_TOKEN="your-huggingface-token"

示例

所有示例配置都可在 GitHub 上的 examples/skypilot/ 目录中找到。有关更多详细信息,请参见 README

PPO 训练

sky launch -c verl-ppo verl-ppo.yaml --secret WANDB_API_KEY -y

在 GSM8K 数据集上运行 PPO 训练,使用 Qwen2.5-0.5B-Instruct 模型,跨越 2 个节点,每个节点配备 H100 GPU。此配置基于 examples/ppo_trainer/ 中的示例。

在 GitHub 上查看 verl-ppo.yaml

GRPO 训练

sky launch -c verl-grpo verl-grpo.yaml --secret WANDB_API_KEY -y

在 MATH 数据集上运行 GRPO(Group Relative Policy Optimization,中文:组相对策略优化)训练,使用 Qwen2.5-7B-Instruct 模型。这个配置针对 2 个节点的内存优化版本。此配置基于 examples/grpo_trainer/ 中的示例。

在 GitHub 上查看 verl-grpo.yaml

多轮工具使用训练

sky launch -c verl-multiturn verl-multiturn-tools.yaml \
  --secret WANDB_API_KEY --secret HF_TOKEN -y

单节点训练,配备 8xH100 GPU,用于 Qwen2.5-3B-Instruct 模型的多轮工具使用。包含 GSM8K 的工具和交互配置。此配置基于 examples/sglang_multiturn/ 中的示例,但使用 vLLM 而非 sglang。

在 GitHub 上查看 verl-multiturn-tools.yaml

配置

示例 YAML 文件已预先配置为:

  • 基础设施:Kubernetes 集群(infra: k8s)- 可以更改为 infra: awsinfra: gcp 等。

  • Docker 镜像:VERL 的官方 Docker 镜像,支持 CUDA 12.6。

  • 设置:自动克隆并从源码安装 VERL。

  • 数据集:在设置阶段下载所需的数据集。

  • Ray 集群:配置跨节点的分布式训练。

  • 日志记录:通过 --secret WANDB_API_KEY 支持 Weights & Biases。

  • 模型:通过 --secret HF_TOKEN 支持 HuggingFace 有访问限制的模型。

启动命令选项

  • -c <name>:用于管理作业的集群名称。

  • --secret KEY:传递 API 密钥的密钥(可以多次使用)。

  • -y:跳过确认提示。

监控您的作业

检查集群状态

sky status

查看日志

sky logs verl-ppo  # 查看 PPO 作业的日志

SSH 登录到头节点

ssh verl-ppo

访问 Ray 仪表板

sky status --endpoint 8265 verl-ppo  # 获取仪表板 URL

停止集群

sky down verl-ppo