LoRA & PEFT
El Fine-Tuning Eficiente en Parámetros te permite entrenar modelos grandes con menos memoria.¿Qué es LoRA?
LoRA (Low-Rank Adaptation) añade pequeñas matrices entrenables al modelo mientras mantiene los pesos base congelados. Esto reduce drásticamente el uso de memoria y el tiempo de entrenamiento.Inicio Rápido
Python API
Parámetros
Rango (lora_r)
Rango mayor = más parámetros = más capacidad:Alpha
La razón alpha/rango afecta el aprendizaje:Módulos Objetivo
Por defecto, LoRA apunta a todas las capas lineales (all-linear). Puedes personalizar:
Con Cuantización
Combina LoRA con cuantización para máximo ahorro de memoria:Comparación de Memoria
Fusionando Adaptadores
Por defecto, los adaptadores LoRA se fusionan automáticamente en el modelo base después del entrenamiento. Esto simplifica la inferencia - obtienes un único archivo de modelo listo para usar.Comportamiento Por Defecto (Fusionado)
Guardar Solo Adaptadores
Para guardar solo los archivos de adaptador (más pequeños, pero requiere modelo base para inferencia):Fusionar Manualmente Después
Debes especificar
--output-folder para guardar localmente o --push-to-hub para subir a Hugging Face Hub.Parámetros de la Herramienta de Fusión
O en Python:
Convertir a Formato Kohya
Convierte adaptadores LoRA a formato.safetensors compatible con Kohya:
Cargando Adaptadores
Usa adaptadores sin fusionar:Mejores Prácticas
Entrenamiento
- Usa tasa de aprendizaje mayor (2e-4 a 1e-3)
- LoRA se beneficia de entrenamiento más largo
- Considera apuntar a todas las capas lineales para tareas complejas
Memoria
- Comienza con
lora_r=16 - Añade cuantización si es necesario
- Usa gradient checkpointing (activado por defecto)
Calidad
- Rango mayor generalmente = mejor calidad
- Prueba en tu tarea específica
- Compara con fine-tuning completo si la memoria lo permite
Próximos Pasos
Quantization
Reducción adicional de memoria
DPO Training
Optimización de preferencias