인터페이스는 현지화되어 있으며, Skill 소개와 설명 문서는 선택한 언어로 AI가 자동 번역합니다. 코드·명령어·경로·전문 용어는 원문을 유지하며 원작자 문서가 우선합니다.
Skills 둘러보기
데이터 및 연구 · 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

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