Skip to content
Back to skills

Supervised Preference Training

ASecurity

"Build and review OpenRLHF supervised/preference training plans for

  • 247 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 8, 2026
toolspythonshellbashdocker

Works with

  • cli

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill supervised-preference-training --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Supervised Preference Training?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Supervised Preference Training
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-supervised-preference-training/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-supervised-preference-training)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: supervised-preference-training
description: "Build and review OpenRLHF supervised/preference training plans for
  SFT, reward models, DPO, IPO, and cDPO. Use for train_sft/train_rm/train_dpo
  CLI construction, LoRA/packing/DeepSpeed/checkpoint/logging choices, and
  preflight checks before expensive GPU training."
disable-model-invocation: true
metadata:
  disco-role: operating
license: Apache 2.0
---

# Supervised Preference Training

Use this sub-skill when the user is preparing OpenRLHF SFT, reward-model, DPO, IPO, or cDPO training and needs command construction, flag review, or risk checks. Treat all actual training launches as expensive GPU/network actions.

## Route First

- For SFT, use `openrlhf.cli.train_sft` with prompt/completion keys such as `--data.input_key` and `--data.output_key`.
- For reward-model training, use `openrlhf.cli.train_rm` with preference keys such as `--data.chosen_key` and `--data.rejected_key`.
- For DPO, IPO, and cDPO, use `openrlhf.cli.train_dpo`; add `--model.ipo_enable` for IPO and `--model.label_smoothing` for cDPO.
- For detailed dataset schema conversion, chat templates, multiturn examples, and key mapping, route to the `data-preparation` sub-skill.
- For PPO, REINFORCE++, Ray, vLLM, remote actors, and agent training, route to the `rl-agent-training` sub-skill.
- For installation, FlashAttention/Liger/RingAttention dependencies, Ray clusters, serving, Docker, and environment repair, route to `operations-and-utilities`.

## Core References

- Read `references/training-workflows.md` for SFT/RM/DPO workflow recipes, source-backed shell patterns, and preflight order.
- Read `references/cli-reference.md` for current CLI flag names and source-backed defaults.
- Read `references/troubleshooting.md` for common failure modes before recommending a training run.
- Use `scripts/build_training_command.py` to print a safe command skeleton without importing OpenRLHF or starting training.

## Command Builder

The bundled helper is safe for planning and help-only validation:

```bash
python skills/openrlhf/sub-skills/supervised-preference-training/scripts/build_training_command.py sft --model MODEL --dataset DATASET --output-dir OUT
python skills/openrlhf/sub-skills/supervised-preference-training/scripts/build_training_command.py rm --model MODEL --dataset DATASET --output-dir OUT
python skills/openrlhf/sub-skills/supervised-preference-training/scripts/build_training_command.py dpo --model MODEL --dataset DATASET --output-dir OUT --ref-model REF --beta 0.1 --label-smoothing 0.1 --nll-loss-coef 0.05
```

It prints `deepspeed --module openrlhf.cli.train_* ...` commands for review. It does not check GPU availability, download models, import OpenRLHF, or execute the result.

## Safety Checklist

Before approving or launching a generated command:

- Confirm model and dataset identifiers/paths are intended and access-controlled; Hugging Face or ModelScope names may trigger network downloads.
- Confirm dataset keys match the selected trainer; SFT uses input/output keys, RM/DPO use chosen/rejected preference keys.
- Confirm `--train.batch_size` is global and `--train.micro_batch_size` is per GPU; reduce micro-batch size or use ZeRO-3/offload/LoRA for OOM.
- Confirm optional kernels (`flash_attention_2`, Liger, RingAttention) and 4-bit/LoRA dependencies exist before using their flags.
- Confirm checkpoint behavior: `--ckpt.save_steps -1` disables periodic DeepSpeed checkpoint saves; `--ckpt.save_hf` writes HF-format saves at checkpoint intervals.
- Prefer source-backed `--model.model_name_or_path` over older README snippets that may mention `--actor.model_name_or_path` for these CLIs.

## Evidence Base

This sub-skill is based on OpenRLHF training entrypoints `openrlhf.cli.train_sft`, `openrlhf.cli.train_rm`, and `openrlhf.cli.train_dpo`; trainers `sft_trainer.py`, `rm_trainer.py`, and `dpo_trainer.py`; README SFT/RM/DPO examples; and example shell recipes for SFT, RM, DPO, and SFT LoRA. The installed package import was verified for `openrlhf` version `0.10.4`, but full dependency and GPU runtime readiness were not verified.

Files in this skill

  • SKILL.md4 KB
  • references/cli-reference.md6.4 KB
  • references/training-workflows.md7.2 KB
  • references/troubleshooting.md6.6 KB
  • scripts/build_training_command.py14 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.