"Choose, instantiate, and troubleshoot TRL stable post-training
Scanned 9/9/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill core-training --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Core Training?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-core-training)More formats (shields.io, HTML) on the badges page.
---
name: core-training
description: "Choose, instantiate, and troubleshoot TRL stable post-training
trainers: SFT, DPO, GRPO, Reward, and RLOO."
disable-model-invocation: true
metadata:
disco-role: operating
license: Apache 2.0
---
# Core TRL Training
Use this sub-skill when the task is to select or wire up stable TRL post-training trainers, build trainer objects, set the main config/model arguments, attach reward functions, or debug trainer-specific setup errors.
## Route by Training Objective
- **SFTTrainer**: supervised fine-tuning on text, prompt-completion, or conversational examples; start here for instruction tuning and formatting/loss masking questions.
- **DPOTrainer**: preference optimization from paired `chosen`/`rejected` answers; use after an SFT-style model exists and no online generation rewards are needed.
- **RewardTrainer**: train a sequence-classification reward model from `chosen`/`rejected` comparisons; use before RLHF-style training when rewards should come from a model.
- **GRPOTrainer**: online RL from generated completions scored by one or more reward functions or reward models; use for grouped generations and reward shaping.
- **RLOOTrainer**: online RL with leave-one-out baselines; use when each prompt should produce multiple completions and rewards are compared within that prompt group.
## Quick References
- Trainer signatures and default highlights: [references/trainer-api-reference.md](references/trainer-api-reference.md)
- End-to-end trainer skeletons: [references/workflows.md](references/workflows.md)
- Setup and runtime failures: [references/troubleshooting.md](references/troubleshooting.md)
- Local signature helper: [scripts/inspect_trainer_config.py](scripts/inspect_trainer_config.py)
## Boundaries
- Route detailed dataset conversion, chat-template normalization, and reward-function data plumbing to `../data-and-rewards/`.
- Route CLI command construction, YAML recipes, and launcher flags to `../cli-and-configs/`.
- Route vLLM, DeepSpeed, FSDP, PEFT scaling, quantization, and memory-distributed execution to `../scaling-and-backends/`.
- Route experimental trainers, tools/environments, and non-stable APIs to `../experimental-and-environments/`.
## First Checks Before Instantiating
1. Pick the trainer from the objective and dataset shape, then verify the required columns in [references/trainer-api-reference.md](references/trainer-api-reference.md).
2. Create the matching config class rather than passing raw `TrainingArguments`, except for simple SFT cases where `SFTTrainer` can upgrade `TrainingArguments`.
3. Pass a model id string for automatic loading, or pass an already loaded model and keep `model_init_kwargs` out of the config.
4. Keep `trust_remote_code=False` unless the target model explicitly needs custom code.
5. Add `peft_config` only when PEFT is installed and the task actually needs adapter training; route scaling details to `../scaling-and-backends/`.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!