# TRL

[TRL](https://huggingface.co/docs/trl/index) es un marco de posentrenamiento para modelos de base. Incluye métodos como SFT, GRPO y DPO. Cada método tiene un entrenador dedicado que se basa en la clase [Trainer](/docs/transformers/main/es/main_classes/trainer#transformers.Trainer) y escala desde una sola GPU hasta clústeres multinodo.

```py
from datasets import load_dataset
from trl import GRPOTrainer
from trl.rewards import accuracy_reward

dataset = load_dataset("trl-lib/DeepMath-103K", split="train")

trainer = GRPOTrainer(
    model="Qwen/Qwen2-0.5B-Instruct",
    reward_funcs=accuracy_reward,
    train_dataset=dataset,
)
trainer.train()
```

## Integración con Transformers

TRL extiende las API de Transformers y añade ajustes específicos de cada método.

- Los entrenadores de TRL se basan en [Trainer](/docs/transformers/main/es/main_classes/trainer#transformers.Trainer). Los entrenadores específicos de un método, como [GRPOTrainer](https://huggingface.co/docs/trl/main/en/grpo_trainer#trl.GRPOTrainer), añaden la generación, la puntuación de recompensa y el cálculo de la pérdida. Las clases de configuración extienden [TrainingArguments](/docs/transformers/main/es/main_classes/trainer#transformers.TrainingArguments) con campos específicos del método.

- La carga del modelo utiliza [AutoConfig.from_pretrained()](/docs/transformers/main/es/model_doc/auto#transformers.AutoConfig.from_pretrained) y luego instancia la clase del modelo a partir de la configuración mediante `from_pretrained` de esa clase.

## Recursos

- Documentación de [TRL](https://huggingface.co/docs/trl/index)
- Charla [Fine Tuning with TRL](https://huggingface.co/datasets/trl-lib/documentation-images/resolve/main/Fine%20tuning%20with%20TRL%20(Oct%2025).pdf)

