Parameter-Efficient Fine-Tuning (PEFT)
El ajuste fino eficiente en parámetros (PEFT) adapta un modelo preentrenado mediante el entrenamiento de un pequeño conjunto de pesos añadidos o seleccionados. Incluye adaptadores, LoRA y congelación de pesos.
El ajuste fino eficiente en parámetros (PEFT) adapta un modelo preentrenado a una tarea nueva entrenando solo una pequeña parte de sus parámetros, ya sean unos pocos parámetros nuevos añadidos a la red o un subconjunto elegido de los existentes, mientras el resto de los pesos del modelo permanece congelado. El ajuste fino completo actualiza todos los pesos, lo que, en un modelo de lenguaje grande (LLM) de 7.000 millones de parámetros, implica mantener los gradientes y el estado del optimizador de los 7.000 millones de valores y guardar una copia completa del modelo para cada tarea. Los métodos PEFT suelen entrenar menos del 1 % de los parámetros, por lo que un modelo fundacional se puede adaptar en una sola GPU, y cada tarea nueva añade un archivo pequeño de parámetros entrenados en vez de otro punto de control completo. La biblioteca PEFT de Hugging Face implementa los métodos más comunes para modelos Transformer.
Cómo funciona PEFT#
PEFT se basa en el aprendizaje por transferencia: un modelo preentrenado con datos variados ya codifica características generales, así que adaptarlo a una tarea relacionada requiere muchos menos cambios que entrenarlo desde cero. Los métodos se dividen en tres familias, según los parámetros que entrenan.
Los métodos aditivos insertan módulos o entradas entrenables nuevos en la red congelada. Los adaptadores añaden pequeñas capas de cuello de botella dentro de cada bloque Transformer y quedaron a menos de un 0,4 % del ajuste fino completo en la prueba de lenguaje GLUE, con un aumento de parámetros del 3,6 % por tarea. El ajuste de prompts y el ajuste de prefijos aprenden unos pocos vectores continuos que se anteponen a la entrada o a las activaciones de cada capa.
Los métodos selectivos entrenan un subconjunto elegido de los pesos existentes. Congelar el backbone y entrenar solo las capas posteriores es la forma más sencilla, y BitFit entrena únicamente los términos de sesgo.
Los métodos de reparametrización aprenden una actualización compacta de las matrices de pesos congeladas. LoRA representa cada actualización como el producto de dos matrices de rango bajo y, en comparación con el ajuste fino completo de GPT-3 175B, redujo los parámetros entrenables 10.000 veces y la memoria de GPU 3 veces. QLoRA entrena adaptadores LoRA sobre un modelo base cuantizado de 4 bits, y DoRA divide cada peso en una magnitud y una dirección, y adapta la dirección con LoRA.
Como entre tareas solo cambian los pocos parámetros entrenados, una copia del modelo base puede servir para muchas tareas a la vez. Un servidor mantiene la base congelada en memoria y aplica el adaptador que corresponde a cada solicitud; sistemas como S-LoRA sirven así miles de adaptadores LoRA:
Ventajas y contrapartidas#
Los gradientes y el estado del optimizador solo son necesarios para los parámetros entrenados, por lo que el uso de memoria disminuye drásticamente, aunque los pesos congelados y las activaciones deben seguir cabiendo en la GPU. Mantener fijos los pesos preentrenados también limita el sobreajuste en conjuntos de datos pequeños y el olvido catastrófico de las capacidades originales del modelo. El coste es la capacidad: en un estudio titulado LoRA aprende menos y olvida menos, LoRA quedó por detrás del ajuste fino completo en programación y matemáticas, aunque conservó mejor el rendimiento del modelo base en tareas ajenas a esos ámbitos.
PEFT en visión artificial#
Los transformadores de visión se adaptan con los mismos métodos. El ajuste visual de prompts aprende tokens de entrada adicionales para un ViT congelado; entrena menos del 1 % de los parámetros y superó al ajuste fino completo en muchas de sus pruebas, mientras que los adaptadores LoRA personalizan Stable Diffusion para un estilo o tema nuevos. En los modelos convolucionales de detección de objetos, congelar capas es el enfoque selectivo habitual. En el entrenamiento de Ultralytics YOLO26, el argumento freeze detiene las actualizaciones de gradiente de las primeras N capas y también fija sus estadísticas de normalización por lotes, y freeze=11 abarca las capas de 0 a 10, todo el backbone de YOLO26, por lo que solo se entrenan el neck y la cabeza de detección:
from ultralytics import YOLO
# Carga los pesos de YOLO26n preentrenados con COCO
model = YOLO("yolo26n.pt")
# Congela las capas 0-10 (el backbone) y entrena solo el neck y la cabeza de detección
results = model.train(data="coco8.yaml", epochs=5, freeze=11)El registro de entrenamiento enumera cada parámetro congelado en una línea Freezing layer antes de que empiece la primera época.
PEFT frente a términos relacionados#
- Ajuste fino completo: Actualiza todos los pesos, lo que ofrece la mayor capacidad de adaptación, pero requiere más memoria y una copia completa del modelo por tarea. PEFT es una forma de ajuste fino que limita los parámetros que cambian.
- Sondeo lineal: Entrena solo un clasificador lineal sobre características congeladas; es el método selectivo más restrictivo y se utiliza principalmente para medir hasta qué punto una representación preentrenada ya capta la información.
- Ingeniería de prompts: Cambia el comportamiento de un modelo mediante texto escrito a mano en su entrada y no entrena nada. El ajuste de prompts aprende vectores de prompt continuos mediante descenso del gradiente.
- Destilación de conocimiento: Entrena un modelo estudiante más pequeño para que imite a uno profesor más grande, con lo que comprime un modelo, mientras que PEFT adapta un modelo existente a una tarea nueva.
- Fusión de modelos: Combina pesos entrenados o adaptadores en un solo modelo. Una actualización LoRA entrenada se puede añadir a la matriz de pesos congelada que adapta, de modo que el modelo fusionado se ejecuta sin coste adicional de inferencia.










