L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Données et recherche · SKILL.md

data-preparation

data-preparation

Prepare and validate OpenRLHF datasets for SFT, reward modeling, DPO, PPO/RL prompts, chat-template use, dataset mixing, packing-sensitive length checks, and VLM image placeholders before expensive training.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: data-preparation description: "Prepare and validate OpenRLHF datasets for SFT, reward modeling, DPO, PPO/RL prompts, chat-template use, dataset mixing, packing-sensitive length checks, and VLM image placeholders before expensive training." disable-model-invocation: true metadata: disco-role: operating license: Apache 2.0

OpenRLHF Data Preparation

Use this sub-skill when the task is about dataset schemas, key mapping, chat-template choices, prompt/reward/preference records, tiny dry-run validation, or VLM image placeholder alignment for OpenRLHF.

Route by Training Mode

  • SFT: prepare prompt/response or multiturn chat records; see references/data-formats.md#sft-records and validate with scripts/validate_openrlhf_dataset.py --mode sft.
  • Reward model: prepare chosen/rejected pairs, optional prompt prefixes, and optional margin values; see references/data-formats.md#reward-model-records and validate with --mode rm.
  • DPO: prepare chosen/rejected preferences with optional shared prompt; see references/data-formats.md#dpo-records and validate with --mode dpo.
  • PPO/RL prompts: prepare prompt-only records with optional labels and datasource fields; see references/data-formats.md#ppo-and-rl-prompt-records and validate with --mode ppo.
  • VLM prompts: verify <image> placeholders line up with the configured image key before Ray/vLLM training; see references/data-formats.md#vlm-image-prompts and references/troubleshooting.md#multimodal-image-mismatches.

Core Decisions

  • Match CLI key flags (--data.input_key, --data.output_key, --data.prompt_key, --data.chosen_key, --data.rejected_key, --data.label_key, --data.image_key) to the actual record fields before launching training.
  • Choose exactly one prompt formatting path: use --data.apply_chat_template for chat-message lists, or --data.input_template for plain string prompts.
  • For SFT multiturn data, enable --data.multiturn only with --data.apply_chat_template, and put the full trajectory under --data.input_key rather than splitting assistant turns into --data.output_key.
  • For mixed datasets, keep comma-separated --data.dataset and --data.dataset_probs counts aligned; probabilities are parsed as floats and must match the dataset count.
  • Treat --data.max_len, prompt length, packing, ring attention, and VLM image counts as preflight risks; see references/validation.md before running expensive GPU jobs.

Safe Local Validator

Run the bundled validator on tiny local JSON or JSONL samples without importing OpenRLHF, Ray, torch, datasets, or transformers:

python skills/openrlhf/sub-skills/data-preparation/scripts/validate_openrlhf_dataset.py \
  --mode sft \
  --input sample.jsonl \
  --input-key question \
  --output-key response \
  --max-samples 20

The validator checks required keys, null/empty values, chat-message shape, chosen/rejected confusion, dataset probability counts, rough length limits, and VLM placeholder/image alignment. It is a schema preflight, not a tokenizer-accurate training simulation.

Boundaries

  • For full SFT/RM/DPO training command construction, hand off to supervised-preference-training after data validates.
  • For PPO/Ray/vLLM rollout setup, agent functions, or reward services, hand off to rl-agent-training after prompt data validates.
  • For installation, CUDA, flash-attn, Ray, vLLM, DeepSpeed, checkpoint, and environment issues, hand off to operations-and-utilities.
Skills enregistrées