LoRA y QLoRA sin humo

LoRA no hace magia: añade adaptadores pequeños y entrena esos pesos. QLoRA reduce memoria usando cuantización. La parte difícil sigue siendo datos, evaluación y no pasarte entrenando.

Objetivos de aprendizaje
  • Entender qué entrenas realmente con LoRA.
  • Elegir rank, alpha, learning rate y epochs con prudencia.
  • Detectar señales tempranas de overfitting.
En cristiano: adaptador. Es un archivo pequeño que modifica el comportamiento del modelo base. Puedes cargarlo, quitarlo o combinarlo sin duplicar todo el modelo.

Parámetros que importan

  • rank r: capacidad del adaptador. Más no siempre es mejor.
  • alpha: escala del impacto de LoRA.
  • learning rate: velocidad de aprendizaje; alto puede destruir generalización.
  • epochs: pasadas por el dataset; demasiadas memorizan.
  • target modules: capas donde aplicas LoRA.
Idea clave. La guía de Unsloth sobre hiperparámetros avisa de overfitting cuando la pérdida baja demasiado y el modelo deja de generalizar. No persigas solo loss baja.

Configuración inicial prudente

Terminal
lora:
  r: 16
  alpha: 32
  dropout: 0.05
  target_modules:
    - q_proj
    - k_proj
    - v_proj
    - o_proj
training:
  learning_rate: 2e-4
  epochs: 1
  max_seq_length: 2048
  eval_steps: 50
Cuidado. Si tu dataset tiene 300 ejemplos, entrenar muchas epochs probablemente memoriza estilo y errores. Primero mejora datos; luego toca hiperparámetros.
Comprueba que funciona. Entrena un adaptador pequeño y evalúa en ejemplos que el modelo nunca vio. Si solo mejora en train, no has adaptado: has memorizado.
Guardar y reabrir el proyecto.
LoRA es barato comparado con full fine-tuning, pero un adaptador malo también es barato de producir. Evalúa siempre.