AvanzadoTiempo de lectura 7 min·

Iniciación al fine-tuning: LoRA y QLoRA

Cuando la ingeniería de prompts y el RAG se quedan cortos, el fine-tuning permite que un modelo domine de forma fiable un estilo o una tarea concretos. Este tutorial presenta los métodos de fine-tuning eficiente más extendidos: LoRA y QLoRA.

PorAI Resource Hub

Cuándo necesitas realmente fine-tuning

Si solo necesitas complementar conocimiento, opta por RAG. El fine-tuning tiene más sentido cuando buscas un estilo o formato de salida fijo, o quieres que un modelo pequeño aprenda una tarea concreta.

El fine-tuning exige una cantidad razonable de datos etiquetados de calidad, así que define bien tus objetivos y tu método de evaluación antes de invertir.

El coste del fine-tuning completo

El fine-tuning de todos los parámetros actualiza la totalidad de los pesos del modelo, con unos costes de memoria y cómputo enormes: para modelos grandes resulta casi inasumible para particulares y equipos pequeños.

La idea central de LoRA

LoRA (Low-Rank Adaptation) congela los pesos originales e inserta a su lado un par de pequeñas matrices de bajo rango que aprenden el "delta". Los parámetros entrenables suelen ser apenas un uno por ciento del fine-tuning completo, o incluso menos.

Tras el entrenamiento obtienes un adaptador diminuto que se carga bajo demanda, lo que facilita mantener varios juegos para tareas distintas.

QLoRA y la cuantización

Partiendo de LoRA, QLoRA cuantiza primero el modelo base a 4 bits antes de entrenar, reduciendo aún más el consumo de memoria de forma drástica: afinar modelos bastante grandes en una sola GPU doméstica se vuelve viable.

Preparación de datos y consejos prácticos

La calidad de los datos importa más que la cantidad: construye pares de instrucción-respuesta claros y coherentes que cubran tus escenarios objetivo.

Empieza con una tasa de aprendizaje baja y pocas épocas, vigila de cerca el rendimiento en validación para evitar el sobreajuste, y apóyate en librerías como Hugging Face PEFT para arrancar rápido.

Combinar y desplegar adaptadores

Tras el entrenamiento, puedes combinar los pesos LoRA con el modelo base para obtener un archivo independiente, o mantenerlos separados y cargarlos bajo demanda. Combinar es más sencillo para desplegar, pero pierdes la flexibilidad de cambiar de adaptador sin reexportar. Mantén adaptadores separados cuando necesites servir varias tareas desde el mismo modelo base; combínalos cuando busques un solo artefacto para un solo propósito.

Un paso de adaptador

Esta llamada resuelve el paso que engancha un adaptador LoRA antes de cualquier bucle de entrenamiento. El rango y alpha del fragmento son un borrador de partida, no un resultado medido. Fallo: si los nombres de target_modules no están en este modelo, print_trainable_parameters informa 0 y la pérdida no mueve las capas que querías entrenar.

from peft import LoraConfig, get_peft_model

config = LoraConfig(
    r=8,
    lora_alpha=16,
    target_modules=["q_proj", "v_proj"],
    task_type="CAUSAL_LM",
)
model = get_peft_model(base_model, config)
model.print_trainable_parameters()
Fine-tuningLoRAQLoRAEntrenamiento

Tutoriales relacionados

Reseñas relacionadas

Ajuste Práctico de LLM
Guía práctica y con enfoque hands-on para el ajuste fino de modelos grandes: cubre métodos eficientes en parámetros como LoRA y QLoRA junto con el ajuste fino tradicional. Recorre la preparación de datasets, ajuste de hiperparámetros y métricas de evaluación con ejemplos de código reales; ideal para ingenieros de ML que quieren adaptar modelos base a dominios específicos sin el coste de entrenar desde cero.
Tutorial de Hugging Face Transformers
Tutorial oficial de Transformers de Hugging Face, la biblioteca estándar de la industria para NLP y visión por computador. Cubre clasificación de texto, tokenización, traducción, segmentación de imágenes y más, con ejemplos de código para PyTorch y TensorFlow; orientado a profesionales que quieren aprovechar modelos preentrenados o ajustarlos con datasets propios para uso en producción.
Marco de Aprendizaje Profundo PyTorch
PyTorch es un framework líder de deep learning desarrollado por Meta, famoso por su grafo de computación dinámico e interfaz Pythonica. Impulsa tanto investigación de vanguardia como despliegues en producción, con un ecosistema rico en herramientas para entrenar, depurar y escalar modelos en GPUs y TPUs.
Guía de uso de la API Replicate
Tutorial paso a paso sobre cómo usar la API de Replicate para ejecutar miles de modelos de IA open source en tareas de imagen, vídeo, audio y texto. Cubre el registro, tu primera predicción, la comprensión de precios y la optimización de arranques en frío; ideal para desarrolladores que quieren experimentar con modelos diversos sin comprometerse con infraestructura GPU.