Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

LoRA (Low-Rank Adaptation)

LoRA ajusta modelos grandes congelando sus pesos y entrenando pequeñas matrices de actualización de bajo rango, lo que reduce los parámetros entrenables, la memoria y el almacenamiento.

LoRA, abreviatura de Low-Rank Adaptation, es un método de ajuste fino eficiente en parámetros (PEFT) que adapta un modelo grande preentrenado a una tarea nueva congelando sus pesos originales y entrenando un pequeño par de matrices junto a las capas seleccionadas. Su producto es una actualización de rango bajo que se suma a los pesos congelados, por lo que solo una fracción diminuta de los parámetros recibe gradientes. Presentado por Hu et al. en Microsoft en 2021, LoRA redujo 10.000 veces los parámetros entrenables de GPT-3 175B y 3 veces la memoria de GPU necesaria para entrenar, frente al ajuste fino completo con Adam, igualando o superando la calidad del ajuste fino completo en RoBERTa, DeBERTa, GPT-2 y GPT-3. Hoy se usa ampliamente para personalizar modelos de lenguaje grandes (LLM), modelos de difusión y transformadores de visión con hardware modesto. LoRa, el protocolo de radio de largo alcance para dispositivos IoT, es un término sin relación.

Cómo funciona LoRA#

El ajuste fino modifica una matriz de pesos W preentrenada de tamaño d × k mediante una actualización ΔW. LoRA supone que esta actualización tiene un rango intrínseco bajo, por lo que puede expresarse como el producto de dos matrices estrechas: ΔW = B × A, donde A es r × k, B es d × r y el rango r es mucho menor que d o k. La salida de la capa pasa a ser h = Wx + (α / r) × BAx, donde α es una constante de escala fija. A se inicializa con valores aleatorios pequeños y B con ceros, así que el entrenamiento parte exactamente del modelo preentrenado. Durante la retropropagación, solo se actualizan A y B, lo que también elimina el estado del optimizador de todos los pesos congelados.

Para una proyección de 4096 × 4096, el ajuste fino completo entrena unos 16,8 millones de pesos, mientras que un adaptador de rango 8 entrena 8 × (4096 + 4096) = 65.536. El script de PyTorch que aparece a continuación crea un adaptador de este tipo y lo fusiona con la capa congelada:

import torch
from torch import nn

# A frozen pretrained 4096 x 4096 projection, like one in a transformer attention block
base = nn.Linear(4096, 4096).requires_grad_(False)

# LoRA's trainable rank-8 update: B @ A, scaled by alpha / r
# B starts at zero, so the adapted layer initially matches the pretrained one
r, alpha = 8, 16
A = nn.Parameter(torch.randn(r, 4096) * 0.01)
B = nn.Parameter(torch.zeros(4096, r))
trainable = A.numel() + B.numel()
total = trainable + sum(p.numel() for p in base.parameters())
print(f"Trainable: {trainable:,} of {total:,} parameters ({trainable / total:.2%})")

# After training, merge the update into the base weight so inference costs nothing extra
nn.init.normal_(B, std=0.01)  # stand-in for trained values
x = torch.randn(2, 4096)
adapted = base(x) + (alpha / r) * (x @ A.T @ B.T)
merged = nn.functional.linear(x, base.weight + (alpha / r) * B @ A, base.bias)
print(f"Merged layer matches adapter output: {torch.allclose(adapted, merged, atol=1e-5)}")

El adaptador entrena 65.536 de los 16.846.848 parámetros de la capa, es decir, el 0,39 %, y plegar B × A dentro de W produce las mismas salidas que ejecutar el adaptador por separado. Por tanto, los modelos LoRA fusionados se ejecutan exactamente a la misma velocidad que el original, una ventaja frente a las primeras capas de adaptador, que añaden cálculos adicionales a cada pasada hacia delante.

Uso práctico de LoRA#

El artículo original solo adaptó las proyecciones de consulta y valor de la atención del transformador, pero hoy muchas recetas se aplican a todas las capas lineales. El rango y α son los principales hiperparámetros: la biblioteca Hugging Face PEFT usa r = 8 y α = 8 de forma predeterminada. Como el modelo base permanece intacto, una implementación puede conservar una sola copia y alternar entre pequeños adaptadores específicos para cada tarea. Con rango 4 en las proyecciones de consulta y valor de GPT-3 175B, cada punto de control adaptado pasó de 350 GB a unos 35 MB, unas 10.000 veces menos.

  • Modelos de lenguaje: Los equipos adaptan LLM abiertos a un ámbito, estilo o formato de instrucciones en una sola GPU, a menudo combinando LoRA con datos de ajuste de instrucciones.
  • Generación de imágenes: Los archivos LoRA enseñan a Stable Diffusion y a modelos similares un personaje, producto o estilo artístico, y se comparten y combinan por separado del punto de control base.
  • Modelos de visión y multimodales: Los adaptadores especializan transformadores de visión y modelos de lenguaje y visión (VLM) para imágenes médicas, industriales o de documentos sin volver a entrenar la red troncal.

Variantes#

  • QLoRA: Congela el modelo base con precisión NormalFloat de 4 bits y entrena adaptadores LoRA encima. Dettmers et al. lo usaron para ajustar un modelo de 65.000 millones de parámetros en una sola GPU de 48 GB, conservando el rendimiento del ajuste fino completo de 16 bits.
  • DoRA: Divide cada peso preentrenado en magnitud y dirección, y aplica LoRA solo a la dirección, lo que reduce la diferencia de precisión respecto al ajuste fino completo con el mismo coste de inferencia.
  • Ajuste fino eficiente en parámetros: Término general para los métodos que entrenan solo una pequeña parte del modelo. Congelar capas es la forma más sencilla, y Ultralytics YOLO lo ofrece mediante el argumento de entrenamiento freeze, que mantiene las primeras N capas de un modelo YOLO26 con sus pesos preentrenados mientras se entrena el resto.
  • Ajuste fino completo: Actualiza todos los pesos y almacena una copia completa del modelo para cada tarea. En programación y matemáticas, el ajuste fino completo superó ampliamente a LoRA estándar, mientras que LoRA sufrió menos olvido catastrófico de otras capacidades del modelo base.
  • Ajuste de prompts: Aprende incrustaciones de prompts blandos que se anteponen a la entrada mientras todos los pesos del modelo permanecen congelados.
  • Aprendizaje por transferencia: Idea general de reutilizar conocimientos de una tarea en otra. LoRA es una forma eficiente de hacerlo.
  • Fusión de modelos: Combina los pesos de modelos ajustados por separado; fusionar varios adaptadores LoRA en un único modelo base es un caso habitual.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático