Pular para o conteúdo principal

Capítulo 3: Argumentos de Treinamento e Otimização

Ajustando a Configuração do Seu Treinamento​

Argumentos de treinamento ideais são cruciais para um fine-tuning bem-sucedido.


TrainingArguments Completo​

from transformers import TrainingArguments

training_args = TrainingArguments(
# Output
output_dir="./results",
overwrite_output_dir=True,

# Training duration
num_train_epochs=3,
max_steps=-1, # -1 means use epochs

# Batch size
per_device_train_batch_size=4,
per_device_eval_batch_size=4,
gradient_accumulation_steps=4,

# Learning rate
learning_rate=2e-4,
lr_scheduler_type="cosine",
warmup_ratio=0.03,
weight_decay=0.01,

# Precision
bf16=True,

# Memory optimization
gradient_checkpointing=True,
optim="paged_adamw_8bit",

# Logging
logging_steps=10,
logging_first_step=True,

# Saving
save_strategy="epoch",
save_total_limit=2,

# Evaluation
evaluation_strategy="epoch",
load_best_model_at_end=True,

# Other
seed=42,
dataloader_num_workers=4,
)

Agendamentos de Taxa de Aprendizagem​

ScheduleComportamentoMelhor Para
linearDecaimento linearTarefas simples
cosineDecaimento cossenoidalMaioria dos fine-tuning
constantSem decaimentoTreinamentos muito curtos
polynomialDecaimento polinomialTreinamentos mais longos

Diretrizes de Hiperparâmetros​

ParâmetroLoRAQLoRA
Taxa de aprendizagem1e-4 a 5e-41e-4 a 2e-4
Épocas1-51-3
Tamanho de batch (efetivo)8-328-16
Warmup3-10%3-5%

Solução de Problemas​

ProblemaSolução
Loss não diminuiAumente a taxa de aprendizagem
Loss NaNDiminua a LR, ative grad clipping
Erro OOMReduza o batch size, ative checkpointing
OverfittingEarly stopping, mais dados, regularização

Continuar para o Quiz →