verl
Use verl for LLM post-training workflows: setup, data and rewards, PPO/GRPO/SFT configs, rollout tools, checkpoints, profiling, and repository maintenance.
SKILL.mdskills/repositories/repo-skills/verl/SKILL.md
GitHubverl
Use this repo skill when a user asks how to install, configure, run, debug, or maintain verl, the Volcano Engine Reinforcement Learning library for LLM post-training.
Start Here
- Read
references/repo-provenance.mdbefore relying on this skill for a different checkout or after package metadata, config files, examples, or docs change. - Read
references/troubleshooting.mdfor cross-cutting failures that span setup, Hydra configs, data schema, rollout backends, checkpoint operations, and repo maintenance. - Run
scripts/check_skill_integrity.pywhen editing or importing this skill to check frontmatter, links, private-path leaks, and generated cache files.
Route By User Task
- Install or verify an environment: use
sub-skills/setup-and-backends/for base install choices, Docker-vs-custom setup, Python/CUDA requirements, optional extras, vLLM/SGLang/Megatron/TensorRT-LLM/NPU/ROCm caveats, and safe import/backend checks. - Prepare or validate data and rewards: use
sub-skills/data-and-rewards/for parquet row schemas, chat prompt fields,reward_model.ground_truth, custom reward modules, and the bundled parquet validator. - Build training commands and Hydra overrides: use
sub-skills/training-and-configs/for PPO, GRPO, SFT, on-policy distillation, backend strategy switches, batch/micro-batch sizing, generated config references, and the dry-run PPO command builder. - Configure rollout, agent loops, and tools: use
sub-skills/rollout-and-tools/for rollout engines, async generation server flows, multi-turn agent loops,@function_tool, nativeBaseTool, tokenization sanity checks, traces, and tool schema validation. - Operate checkpoints and model artifacts: use
sub-skills/checkpoints-and-model-ops/for checkpoint layout inspection,verl.model_merger, FSDP/Megatron/HuggingFace export decisions, LoRA merge implications, profiling, and performance diagnostics. - Maintain the repository: use
sub-skills/repo-development/for contribution policy, duplicate-work checks, AGENTS.md editing rules, generated trainer config maintenance, focused test selection, and non-executing test suggestions.
Common Decision Points
- If the user says “training fails,” first classify the failure: installation/import (
setup-and-backends), parquet/reward schema (data-and-rewards), Hydra override/resource sizing (training-and-configs), rollout backend/tooling (rollout-and-tools), or checkpoint/export (checkpoints-and-model-ops). - If the user asks for a command, prefer the nearest bundled command builder or validator; never require the original source checkout examples to remain available.
- If the user asks for GPU execution, distinguish a base Python import check from real accelerator runtime validation. vLLM, SGLang, Megatron, flash-attn, TensorRT-LLM, ROCm, and NPU stacks need backend-specific environments.
- If the user is editing the repo, apply
repo-developmentbefore changing files so duplicate-work, AGENTS.md scope, generated config, and focused-test rules are not missed.
Bundled Helpers
sub-skills/setup-and-backends/scripts/check_verl_environment.pychecks active Python package metadata, imports, optional CUDA state, and dependency consistency.sub-skills/data-and-rewards/scripts/validate_verl_parquet.pyvalidates verl parquet rows without importingverl.sub-skills/training-and-configs/scripts/build_ppo_command.pyprints a dry-runpython -m verl.trainer.main_ppocommand from common arguments.sub-skills/rollout-and-tools/scripts/validate_function_tool.pypreflights trusted function-tool Python files for type hints and Google-styleArgs:docs.sub-skills/checkpoints-and-model-ops/scripts/inspect_checkpoint_path.pyclassifies checkpoint/run/role directories without loading tensors.sub-skills/repo-development/scripts/select_verl_tests.pymaps changed paths to suggested tests and pre-commit hooks without running them.
Safety Rules
- Do not run training, dataset downloads, Docker builds, GPU/NPU jobs, checkpoint merges, or source-mutating maintenance scripts unless the user explicitly asks and the environment is appropriate.
- Treat original repo docs, examples, scripts, and tests as evidence only. Runtime guidance in this skill is self-contained and should use bundled references/scripts.
- Do not leak local checkout paths, private Python prefixes, cache paths, credentials, or machine-specific install commands into public skill content.
- For native verification, prefer CPU-safe tests and help/parser checks first; record GPU/NPU/e2e examples as skipped unless the user authorizes heavy hardware runs.