TRL documentation
Início rápido
Primeiros passos
Guias conceituais
Trainers
Guias de como fazer
Interface de Linha de Comando (CLI)Treinamento usando JobsPersonalizando o TreinamentoReduzindo o uso de memóriaAcelerando o TreinamentoDistribuindo o TreinamentoTreinamento no AWS TrainiumTreinamento em GPUs AMDTreinamento além de 1M de tokensUsando modelos treinados
Integrações
Exemplos
API
Experimental
You are viewing main version, which requires installation from source. If you'd like
regular pip install, checkout the latest stable version (v1.17.1).
Início rápido
TRL é uma biblioteca abrangente para o pós-treino de modelos de fundação usando técnicas como Supervised Fine-Tuning (SFT), Group Relative Policy Optimization (GRPO), Direct Preference Optimization (DPO).
Exemplos Rápidos
Comece imediatamente com os treinadores mais populares do TRL. Cada exemplo usa modelos compactos para experimentação rápida.
Ajuste Fino Supervisionado
from trl import SFTTrainer
from datasets import load_dataset
trainer = SFTTrainer(
model="Qwen/Qwen2.5-0.5B",
train_dataset=load_dataset("trl-lib/Capybara", split="train"),
)
trainer.train()Group Relative Policy Optimization
accuracy_reward requer math-verify, que você pode instalar com pip install trl[math_verify].
from trl import GRPOTrainer
from datasets import load_dataset
from trl.rewards import accuracy_reward
trainer = GRPOTrainer(
model="Qwen/Qwen2.5-0.5B-Instruct",
train_dataset=load_dataset("trl-lib/DeepMath-103K", split="train"),
reward_funcs=accuracy_reward,
)
trainer.train()Otimização de Preferência Direta
from trl import DPOTrainer
from datasets import load_dataset
trainer = DPOTrainer(
model="Qwen/Qwen2.5-0.5B-Instruct",
train_dataset=load_dataset("trl-lib/ultrafeedback_binarized", split="train"),
)
trainer.train()Modelagem de Recompensa
from trl import RewardTrainer
from datasets import load_dataset
dataset = load_dataset("trl-lib/ultrafeedback_binarized", split="train")
trainer = RewardTrainer(
model="Qwen/Qwen2.5-0.5B-Instruct",
train_dataset=dataset,
)
trainer.train()Interface de Linha de Comando
Pule o código por completo - treine diretamente do seu terminal:
# SFT: Fine-tune on instructions
trl sft --model_name_or_path Qwen/Qwen2.5-0.5B \
--dataset_name trl-lib/Capybara
# DPO: Align with preferences
trl dpo --model_name_or_path Qwen/Qwen2.5-0.5B-Instruct \
--dataset_name trl-lib/ultrafeedback_binarized
# Reward: Train a reward model
trl reward --model_name_or_path Qwen/Qwen2.5-0.5B-Instruct \
--dataset_name trl-lib/ultrafeedback_binarizedO que vem a seguir?
📚 Saiba mais
- Trainer SFT - Guia completo de SFT
- DPO Trainer - Alinhamento de preferências
- GRPO Trainer - Otimização relativa de política por grupo
🚀 Escala
- Treinamento Distribuído - Configurações multi-GPU
- Otimização de memória - Treinamento eficiente
- Integração com PEFT - LoRA e QLoRA
💡 Exemplos
- Scripts de exemplo - Código pronto para produção
- Tutoriais da Comunidade - Guias externos
Solução de problemas
Sem memória?
Reduza o tamanho do lote e ative otimizações:
SFT
DPO
GRPO
training_args = SFTConfig(
per_device_train_batch_size=1, # Start small
gradient_accumulation_steps=8, # Maintain effective batch size
)training_args = DPOConfig(
per_device_train_batch_size=1, # Start small
gradient_accumulation_steps=8, # Maintain effective batch size
)training_args = GRPOConfig(
per_device_train_batch_size=1, # Start small
gradient_accumulation_steps=8, # Maintain effective batch size
num_generations=4, # Reduce from default 8 (GRPO generates num_generations completions per prompt)
max_completion_length=512, # Tune based on task; longer sequences cost more memory
)A perda não está diminuindo?
Tente ajustar a taxa de aprendizado:
training_args = SFTConfig(learning_rate=2e-5) # Good starting pointPara mais ajuda, abra uma issue no GitHub.
Update on GitHub