Fine-tuning de LLMs con LoRA
Guía práctica para hacer fine-tuning de modelos de lenguaje usando Low-Rank Adaptation, reduciendo costos de entrenamiento un 90%.
¿Por qué LoRA?
Fine-tuning completo de un LLM de 7B parámetros requiere múltiples GPUs A100. Con LoRA, basta una sola GPU con 16GB VRAM.
Concepto
LoRA descompone las matrices de pesos en productos de matrices de bajo rango, entrenando solo los deltas.
from peft import LoraConfig, get_peft_model
config = LoraConfig(
r=16,
lora_alpha=32,
target_modules=["q_proj", "v_proj"],
lora_dropout=0.05,
)
model = get_peft_model(base_model, config)
Resultados
- 92% menos parámetros entrenables
- Performance comparable al fine-tuning completo en benchmarks de NER y QA