workspace-adapter-verl

Orchestrates Verl GRPO training and validation cases on remote Ascend NPU servers.

Updated Jun 6, 2026
One-click install
npx skills add https://github.com/Kirrito-k423/AutoResearch --skill workspace-adapter-verl-kirrito-k423
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: workspace-adapter-verl
Source: https://github.com/Kirrito-k423/AutoResearch/tree/main/workspace-adapter/verl
Command: npx skills add https://github.com/Kirrito-k423/AutoResearch --skill workspace-adapter-verl-kirrito-k423

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pydantic, requests, huggingface_hub.

What problem does it solve? Running formal Verl GRPO experiments on remote Ascend NPU servers requires coordinating Docker containers, model and dataset staging, dependency source sync, W&B and Prometheus telemetry, and evidence packaging. This Skill automates that entire pipeline so every run produces reproducible, auditable artifacts. ## Core Features & Use Cases - Formal Case Orchestration: Builds immutable config locks and provenance records, then executes Qwen/geo3k GRPO matrices on remote NPU servers via Docker with reusable container detection. - Asset and Dependency Management: Prepares Qwen3.5 model caches and geometry3k datasets with ModelScope/Hugging Face downloads, resume support, and remote staging, while syncing verl/vllm/transformers/mindspeed source repos with recorded commits. - Telemetry and Evidence Delivery: Streams NPU metrics to Prometheus Pushgateway, names W&B runs semantically, and packages numbered evidence bundles (report, wandb, prometheus, raw logs, config, provenance, rows). - Use Case: Run autoresearch run verl-case to execute a Qwen3.5-2B GRPO training matrix on an A2 server, starting from single-card BS=1 tuning and promoting stable candidates to 8-card throughput cases, then open the generated HTML report with full provenance. ## Quick Start Ask the AI to run a Verl GRPO formal case with Qwen3.5-2B on the geometry3k dataset against a configured NPU server and generate the numbered evidence report.

Frequently Asked Questions about workspace-adapter-verl

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run a Verl GRPO training case on a remote NPU server?▼

Use the autoresearch run verl-case command after readiness checks pass. The adapter stages the model and dataset, syncs dependency sources, writes an immutable config lock, and executes the matrix rows inside an Ascend Docker container on the target server.

What is the difference between val-only and real GRPO training in Verl?▼

Val-only mode (trainer_val_only=true) runs the validation matrix without updating model parameters, while real GRPO training (trainer_val_only=false) must complete at least 3 training steps per case. Results with fewer than 3 steps are recorded only as failed data points.

Why does W&B show no data for my Verl run?▼

First confirm the W&B project is named verl and the run display name follows the model-algorithm-sequence-timestamp convention. Then check 1-wandb/source-runs.json and the rebuild scripts to reconstruct the historical web view.

Why is geometry3k accuracy zero even when the model answers correctly?▼

Strict accuracy requires the model output to contain the answer in a \boxed{} expression as the reward function expects. A numerically correct answer without the boxed format still scores zero, and val-only runs never update model weights.

Why does Prometheus show flat NPU memory curves after a run?▼

Pushgateway only stores the latest gauge value, so pushing metrics once after the run produces a flat line in Grafana. The runner must continuously push autoresearch_npu_* metrics during training and keep npu-smi watch logs for 0.5s curve replay.

Can I reuse a running Docker container for multiple Verl case rows?▼

Yes, the adapter discovers a running container from the same image, verifies it is idle, and runs a torch_npu smoke test before executing rows via docker exec. If checks fail, it falls back to launching a fresh container per row.