Skip to content

TRL

La biblioteca de Hugging Face para el post-entrenamiento de LLM: fine-tuning supervisado, DPO, GRPO y otros métodos de aprendizaje por refuerzo.

Reseña de Sheela · Actualizado

Ver en GitHub Código abierto

Nuestra nota

4.5/5

TRL es el código de post-entrenamiento que envuelven las herramientas de fine-tuning más amables; ve directamente a él cuando lo que necesitas cambiar es el propio bucle de entrenamiento.

¿Qué es TRL?

TRL (Transformer Reinforcement Learning) es la biblioteca de Hugging Face para el post-entrenamiento de modelos de lenguaje. Ofrece clases trainer para fine-tuning supervisado (SFTTrainer), ajuste por preferencias (DPOTrainer, KTOTrainer), modelado de recompensas y aprendizaje por refuerzo online (GRPOTrainer, RLOOTrainer), además de una línea de comandos `trl` para ejecuciones de SFT, DPO y KTO sin escribir un script.

Cada trainer es una capa fina sobre el Trainer de Transformers, así que el entrenamiento multi-GPU y multinodo llega a través de Accelerate (DDP, DeepSpeed ZeRO, FSDP), LoRA y QLoRA a través de PEFT, y la generación rápida durante el RL a través de vLLM. El README ahora también incluye las GPU AMD Instinct (ROCm) y AWS Trainium como hardware compatible.

La versión v1.16.0 se publicó el 15 de octubre de 2026, la sexta versión menor desde la v1.11.0 del 26 de agosto.

¿Merece la pena TRL?

TRL es la implementación de referencia del post-entrenamiento en el stack de Hugging Face, y la base adecuada para un equipo que necesita cambiar cómo se entrena un modelo en lugar de limitarse a lanzar un fine-tune. Tiene unas 19.600 estrellas en GitHub y publica rápido: seis versiones menores entre el 26 de agosto y el 15 de octubre de 2026. Los métodos nuevos suelen llegar primero a `trl.experimental`, y la documentación advierte de que eso puede cambiar o desaparecer en cualquier versión.

El coste de entrada es bajo. El quick start del README entrena Qwen2.5-0.5B con SFT, GRPO o DPO en unas diez líneas, y como cada trainer se apoya en el Trainer de Transformers, escalar es cuestión de configurar Accelerate y no de reescribir. El mismo README muestra un fine-tuning con LoRA de un modelo mixture-of-experts de 501B en un nodo de 8 B300, lo que dice más de su alcance que el número de estrellas.

El RL online es donde se va el esfuerzo de ingeniería. GRPO y RLOO generan respuestas durante el entrenamiento, y TRL se lo pasa a vLLM en uno de dos modos: colocate (el predeterminado, que comparte memoria de GPU con el trainer) o server, en GPU dedicadas. El ejemplo de la documentación reparte un nodo de 8 GPU en cuatro y cuatro. TRL solo admite vLLM de la 0.22 a la 0.31, y el modo server necesita `VLLM_SERVER_DEV_MODE=1`, que también expone los endpoints de desarrollo de vLLM; la documentación dice que ese servidor debe quedarse en una red de confianza.

La otra cara de una biblioteca es que el ajuste de memoria, el formato de las plantillas de chat y la configuración distribuida te tocan a ti. Unsloth conecta sus kernels más rápidos a los trainers de TRL y Axolotl envuelve una maquinaria parecida en configuraciones YAML, así que un equipo que solo quiere un LoRA que funcione en una GPU suele llegar antes con cualquiera de los dos. TRL se gana su sitio cuando el experimento es la función de recompensa, el bucle de muestreo o la función de pérdida.

Dónde se gana su sitio

  • Un ingeniero de ML con un nodo de entrenamiento de 8 GPU

    Entrenar un modelo de 7B con GRPO frente a una recompensa matemática verificable

    Ejecutar vLLM con paralelismo de tensores en cuatro GPU y el GRPOTrainer en las otras cuatro, como en el ejemplo de Qwen2.5-7B de la documentación, con una función de recompensa en Python como accuracy_reward. El coste son horas de nodo; el principal riesgo es la contención de memoria de GPU si te quedas en modo colocate.

  • Un laboratorio universitario de alineamiento

    Reproducir un nuevo artículo de ajuste por preferencias frente a las referencias de DPO y KTO

    Heredar de un trainer existente o partir de uno en trl.experimental, conservando la fontanería de datasets y PEFT de Hugging Face. Ahorra escribir un bucle de entrenamiento desde cero, a cambio de seguir los cambios de la API en versiones quincenales.

  • Un equipo de producto en una empresa SaaS mediana

    Ajustar un modelo abierto pequeño con sus propias transcripciones de soporte para reducir el gasto en API por llamada

    Usar `trl sft` o SFTTrainer con un adaptador LoRA en una GPU alquilada y luego servir el adaptador. TRL es Apache 2.0 sin nivel de pago, así que la factura es tiempo de GPU; la licencia del modelo base sigue rigiendo el uso comercial.

Antes de decidirte

Puesta en marcha
`pip install trl`, o `pip install "trl[vllm]"` para RL online; necesita PyTorch y, para cualquier cosa más allá de un modelo de juguete, un dispositivo CUDA, ROCm o Trainium. El ejemplo de SFT del README se ejecuta en unas diez líneas de Python o con un solo comando `trl sft`.
Integraciones
Transformers, Datasets, PEFT (LoRA, QLoRA), Accelerate (DDP, DeepSpeed ZeRO, FSDP), vLLM para GRPO, RLOO y Online DPO, y kernels de Unsloth; los modelos y datasets se cargan desde el Hugging Face Hub.
Datos y privacidad
El entrenamiento se ejecuta en tu hardware y TRL no tiene servicio alojado; aparte de las descargas y subidas al Hub que pidas, envía un ping de uso anónimo cada vez que arranca un trainer (versión de TRL, clase del trainer, arquitectura, modelo de GPU, world size), desactivado en CI y desactivable con HF_HUB_DISABLE_TELEMETRY=1. Apache 2.0 permite el uso comercial. El modo server de vLLM expone endpoints de desarrollo, así que mantenlo fuera de redes públicas.
Coste a escala
Hugging Face no ofrece edición de pago ni empresarial; el coste es el cómputo. El ejemplo de GRPO de la documentación supone un solo nodo con 8 GPU, y los ejemplos más grandes del README usan un nodo de 8 B300 para un modelo de 501B y ocho nodos para uno de 816B.
Límites
Unas 274 issues y pull requests abiertas. El soporte de vLLM está fijado de la 0.22 a la 0.31, el paralelismo de datos en vLLM ya no ayuda a los modelos densos y cualquier cosa bajo trl.experimental puede romperse entre versiones.

Lo bueno

  • SFT, DPO, KTO, modelado de recompensas, GRPO y RLOO con una sola API
  • Escala de una GPU a varios nodos con Accelerate, DeepSpeed y FSDP
  • Generación con vLLM para RL online en modo colocate o server
  • Versiones menores cada una a tres semanas

Lo malo

  • La memoria y el formato de los datos te tocan a ti; Unsloth es más ligero en una GPU
  • Fijado a vLLM de la 0.22 a la 0.31
  • Los trainers experimentales pueden cambiar sin aviso

Ideal para

Ingenieros e investigadores de ML que construyen pipelines de post-entrenamiento a medida.

Alternativas a TRL

TRL: preguntas frecuentes

¿Merece la pena TRL?
TRL es el código de post-entrenamiento que envuelven las herramientas de fine-tuning más amables; ve directamente a él cuando lo que necesitas cambiar es el propio bucle de entrenamiento. Le damos un 4.5 sobre 5.
¿Cuánto cuesta TRL?
Gratuito y de código abierto con licencia Apache 2.0.
¿Qué inconvenientes tiene TRL?
La memoria y el formato de los datos te tocan a ti; Unsloth es más ligero en una GPU; fijado a vLLM de la 0.22 a la 0.31; los trainers experimentales pueden cambiar sin aviso.
¿Para quién es TRL?
Ingenieros e investigadores de ML que construyen pipelines de post-entrenamiento a medida.
¿Cuánto cuesta TRL para un equipo o en producción?
Hugging Face no ofrece edición de pago ni empresarial; el coste es el cómputo. El ejemplo de GRPO de la documentación supone un solo nodo con 8 GPU, y los ejemplos más grandes del README usan un nodo de 8 B300 para un modelo de 501B y ocho nodos para uno de 816B.
¿Es TRL seguro para los datos de la empresa?
El entrenamiento se ejecuta en tu hardware y TRL no tiene servicio alojado; aparte de las descargas y subidas al Hub que pidas, envía un ping de uso anónimo cada vez que arranca un trainer (versión de TRL, clase del trainer, arquitectura, modelo de GPU, world size), desactivado en CI y desactivable con HF_HUB_DISABLE_TELEMETRY=1. Apache 2.0 permite el uso comercial. El modo server de vLLM expone endpoints de desarrollo, así que mantenlo fuera de redes públicas.
¿Cuáles son las mejores alternativas a TRL?
Las alternativas más cercanas que hemos analizado son Unsloth, Axolotl y Hugging Face Transformers.

Respuestas comprobadas el 26 oct 2026.