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.