Capítulo 1: Fine-Tuning Completo
Cuándo usar el Fine-Tuning Completo
- Gran cambio de dominio respecto a los datos de preentrenamiento
- Disponibilidad suficiente de cómputo y datos
- Se requiere el máximo rendimiento
Requisitos de Cómputo
| Tamaño del modelo | VRAM (FP16) | VRAM (LoRA) |
|---|---|---|
| 7B | 56GB | 16GB |
| 13B | 104GB | 32GB |
| 70B | 560GB | 80GB |
Bucle de Entrenamiento
from transformers import Trainer, TrainingArguments
training_args = TrainingArguments(
output_dir="./results",
num_train_epochs=3,
per_device_train_batch_size=4,
gradient_accumulation_steps=8,
learning_rate=2e-5,
warmup_steps=100,
fp16=True,
)
trainer = Trainer(
model=model,
args=training_args,
train_dataset=train_dataset,
eval_dataset=eval_dataset,
)
trainer.train()
Olvido Catastrófico
El fine-tuning completo puede causar que el modelo olvide conocimientos preentrenados. Posibles mitigaciones:
- Tasas de aprendizaje más bajas
- Entrenamiento más corto
- Regularización
- Buffers de repetición