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

Prompt Tuning

El ajuste de prompts adapta un modelo congelado a una tarea entrenando unos pocos vectores de prompt blandos que se añaden a la entrada, para que un modelo pueda realizar muchas tareas.

El ajuste de prompts adapta un modelo fundacional preentrenado a una tarea nueva mediante el entrenamiento de un pequeño conjunto de vectores, llamado prompt suave, que se coloca delante de la entrada, mientras todos los pesos del modelo permanecen congelados. El prompt suave ocupa el mismo espacio que las incrustaciones de los tokens del modelo, pero sus vectores se aprenden mediante retropropagación y no tienen por qué corresponderse con ninguna palabra real. Brian Lester, Rami Al-Rfou y Noah Constant, de Google, presentaron el método en The Power of Scale for Parameter-Efficient Prompt Tuning, en EMNLP 2021. Señalaron que un prompt de cinco tokens para el modelo T5-XXL, con 11.000 millones de parámetros, solo necesita 20.480 parámetros por tarea, y mostraron que, cuando los modelos superan los mil millones de parámetros, el ajuste de prompts iguala la precisión del ajuste de todo el modelo.

Cómo funciona el ajuste de prompts#

Un modelo de lenguaje grande (LLM) convierte cada token de entrada en un vector de incrustación antes de que lo procesen las capas Transformer. El ajuste de prompts antepone k vectores adicionales a esa secuencia; Lester et al. probaron longitudes de 1 a 150 y utilizaron 100 de forma predeterminada. Durante el entrenamiento, la función de pérdida de la tarea se retropropaga por toda la red congelada hasta la entrada, y el optimizador actualiza únicamente los vectores del prompt. El resultado es un pequeño tensor por tarea. Como el modelo en sí nunca cambia, eliminar el prompt restaura su comportamiento original sin riesgo de olvido catastrófico, y una única copia desplegada puede servir a muchas tareas a la vez: cada solicitud de un lote lleva su propio prompt suave, lo que Lester et al. llaman inferencia de tareas mixtas.

El siguiente ejemplo con PyTorch ajusta un prompt suave de 8 vectores para el análisis de sentimiento con un GPT-2 congelado de Transformers de Hugging Face, usando cuatro reseñas de entrenamiento y ocho reseñas reservadas para las pruebas:

import torch
from torch.nn.functional import cross_entropy
from transformers import AutoModelForCausalLM, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("gpt2")
model = AutoModelForCausalLM.from_pretrained("gpt2").requires_grad_(False)  # freeze all 124M weights
embed = model.get_input_embeddings()

# Soft prompt: 8 trainable vectors in GPT-2's embedding space, initialized from the word " review"
soft_prompt = torch.nn.Parameter(embed.weight[tokenizer.encode(" review")].repeat(8, 1).clone())
optimizer = torch.optim.Adam([soft_prompt], lr=0.01)
labels = tokenizer.encode(" positive negative")  # token ids for label 0 and label 1

# Reviews alternate between positive (label 0) and negative (label 1)
train = ["Loved every minute.", "A waste of time.", "Great story and acting.", "Boring and slow."]
test = ["What a wonderful film.", "I fell asleep halfway.", "A fantastic ending.", "Terrible dialogue."]
test += ["A joy to watch.", "Dull and predictable.", "Superb from start to end.", "I want my money back."]


def label_scores(text):
    """Score both label tokens after the soft prompt and the review."""
    ids = tokenizer.encode(f"{text} Sentiment:", return_tensors="pt")
    return model(inputs_embeds=torch.cat([soft_prompt[None], embed(ids)], dim=1)).logits[0, -1, labels]


def correct():
    """Count held-out reviews whose higher-scoring label is right."""
    with torch.no_grad():
        return sum(int(label_scores(text).argmax()) == i % 2 for i, text in enumerate(test))


print(f"Held-out reviews correct before tuning: {correct()}/8")
for step in range(30):
    loss = sum(cross_entropy(label_scores(text), torch.tensor(i % 2)) for i, text in enumerate(train))
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()
print(f"After tuning: {correct()}/8, training {soft_prompt.numel():,} of {model.num_parameters():,} parameters")

Imprime Held-out reviews correct before tuning: 5/8 y, a continuación, After tuning: 7/8, training 6,144 of 124,439,808 parameters. Treinta pasos de Adam con cuatro ejemplos cambiaron solo 6.144 números, el 0,005 % del modelo, y el GPT-2 congelado clasificó correctamente dos reseñas inéditas más.

Ajuste de prefijos y ajuste de prompts visuales#

El ajuste de prompts forma parte de una familia de métodos de prompts continuos dentro del ajuste fino eficiente en parámetros (PEFT). El ajuste de prefijos de Xiang Lisa Li y Percy Liang aprende vectores que se anteponen en cada capa Transformer —alrededor del 0,1 % de los parámetros de GPT-2 o BART— y que igualaron el ajuste fino completo en tareas de generación de texto a partir de tablas y de resumen. El ajuste de prompts simplifica este método aprendiendo vectores únicamente en la capa de entrada.

La idea también se aplica a la visión. El ajuste de prompts visuales (VPT) de Menglin Jia y sus colegas antepone tokens entrenables a los tokens de parches de un Vision Transformer (ViT) congelado; entrena menos del 1 % de los parámetros y superó al ajuste fino completo en muchas configuraciones de clasificación de imágenes. Para los modelos de visión y lenguaje, la optimización del contexto (CoOp) de Kaiyang Zhou y sus colegas sustituye las palabras escritas a mano en un prompt de CLIP, como «una foto de», por vectores aprendidos. En 11 conjuntos de datos, CoOp superó a los prompts diseñados a mano con uno o dos ejemplos etiquetados por clase, y los superó en aproximadamente un 15 % de media con 16 ejemplos por clase.

Los detectores de vocabulario abierto se adaptan de una forma relacionada. Ultralytics YOLOE convierte los nombres de clase en incrustaciones de prompts de texto, y su método de sondeo lineal para conjuntos de datos personalizados fusiona las incrustaciones de los nombres de clase del conjunto de datos en la última convolución de cada rama de clasificación; después, solo entrena esas capas mientras la red troncal, el cuello y el resto de la cabeza permanecen congelados.

  • Ingeniería de prompts: Una persona redacta el prompt como texto, a veces llamado prompt duro, y no se entrena nada. El ajuste de prompts aprende el prompt a partir de datos etiquetados y necesita acceso a los gradientes del modelo, por lo que se aplica a modelos con pesos abiertos.
  • Ajuste fino completo: Actualiza todos los pesos, lo que produce una copia completa del modelo por tarea y conlleva el riesgo de olvido catastrófico de habilidades anteriores. Lester et al. descubrieron que los modelos con ajuste de prompts también eran más robustos al cambio de dominio que los modelos con ajuste completo.
  • LoRA: Añade matrices entrenables de rango bajo dentro de las capas de pesos del modelo. El ajuste de prompts no modifica las capas y solo cambia la entrada.
  • Aprendizaje con pocos ejemplos en el prompt: Incluye ejemplos etiquetados como texto en la ventana de contexto de cada solicitud. Un prompt suave ajustado almacena lo que enseñan los ejemplos en unos pocos vectores y solo cuesta k posiciones de entrada adicionales.

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