Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Zurück zum Ultralytics-Glossar

Prompt Tuning

Prompt Tuning passt ein eingefrorenes Modell an eine Aufgabe an, indem einige wenige Soft-Prompt-Vektoren trainiert werden, die der Eingabe hinzugefügt werden. So kann ein Modell viele Aufgaben übernehmen.

Prompt Tuning passt ein vortrainiertes Grundlagenmodell an eine neue Aufgabe an, indem es eine kleine Menge von Vektoren trainiert, die Soft Prompt genannt wird und vor der Eingabe steht. Alle Modellgewichte bleiben dabei unverändert. Der Soft Prompt befindet sich im selben Raum wie die Token-Einbettungen des Modells. Seine Vektoren werden jedoch durch Backpropagation gelernt und müssen keinem realen Wort entsprechen. Brian Lester, Rami Al-Rfou und Noah Constant von Google stellten das Verfahren in The Power of Scale for Parameter-Efficient Prompt Tuning vor, das auf der EMNLP 2021 präsentiert wurde. Sie stellten fest, dass ein Prompt mit fünf Tokens für das T5-XXL-Modell mit 11 Milliarden Parametern pro Aufgabe nur 20.480 Parameter benötigt. Außerdem zeigten sie, dass Prompt Tuning bei Modellen mit mehreren Milliarden Parametern dieselbe Genauigkeit wie das Tuning des gesamten Modells erreicht.

So funktioniert Prompt Tuning#

Ein großes Sprachmodell (LLM) wandelt jedes Eingabe-Token in einen Einbettungsvektor um, bevor die Transformer-Schichten es verarbeiten. Prompt Tuning stellt dieser Sequenz k zusätzliche Vektoren voran. Lester et al. testeten Längen von 1 bis 150 und verwendeten standardmäßig 100. Beim Training wird die Verlustfunktion der Aufgabe durch das eingefrorene Netzwerk bis zurück zur Eingabe propagiert. Der Optimierer aktualisiert dabei nur die Prompt-Vektoren. Das Ergebnis ist ein kleiner Tensor pro Aufgabe. Da das Modell selbst unverändert bleibt, stellt das Entfernen des Prompts sein ursprüngliches Verhalten wieder her, ohne dass die Gefahr des katastrophalen Vergessens besteht. Eine bereitgestellte Modellkopie kann viele Aufgaben gleichzeitig bedienen. Bei Stapelverarbeitung enthält jede Anfrage ihren eigenen Soft Prompt. Lester et al. nennen dies Inferenz mit gemischten Aufgaben.

Das folgende Beispiel mit PyTorch stimmt einen Soft Prompt mit 8 Vektoren für die Sentimentanalyse ab. Dafür wird ein eingefrorenes GPT-2 aus Transformers von Hugging Face verwendet, mit vier Trainingsrezensionen und acht zurückgehaltenen Rezensionen:

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")

Es gibt zuerst Held-out reviews correct before tuning: 5/8 und dann After tuning: 7/8, training 6,144 of 124,439,808 parameters aus. Dreißig Schritte mit Adam anhand von vier Beispielen änderten nur 6.144 Zahlen, also 0,005 % des Modells. Das eingefrorene GPT-2 klassifizierte anschließend zwei weitere, zuvor ungesehene Rezensionen korrekt.

Prefix Tuning und visuelles Prompt Tuning#

Prompt Tuning gehört zu einer Familie kontinuierlicher Prompt-Verfahren im Bereich des parametereffizienten Fine-Tunings (PEFT). Xiang Lisa Li und Percy Liang entwickelten das Prefix Tuning. Dabei werden Vektoren gelernt, die jeder Transformer-Schicht vorangestellt werden. Sie machen etwa 0,1 % der Parameter von GPT-2 oder BART aus und erreichten bei der Textgenerierung aus Tabellen sowie beim Zusammenfassen Ergebnisse, die mit vollständigem Fine-Tuning mithalten konnten. Prompt Tuning vereinfacht das Verfahren, indem es nur Vektoren auf der Eingabeschicht lernt.

Die Idee lässt sich auch auf die Bildverarbeitung übertragen. Visual Prompt Tuning (VPT) von Menglin Jia und Kollegen stellt lernbare Tokens den Patch-Tokens eines eingefrorenen Vision Transformers (ViT) voran und trainiert dabei weniger als 1 % der Parameter. Bei vielen Aufgaben zur Bildklassifizierung übertraf das Verfahren vollständiges Fine-Tuning. Bei Bild-Sprach-Modellen ersetzt Context Optimization (CoOp) von Kaiyang Zhou und Kollegen die von Hand geschriebenen Wörter in einem CLIP-Prompt wie „a photo of a“ durch gelernte Vektoren. Bei 11 Datensätzen übertraf CoOp von Hand erstellte Prompts mit ein oder zwei gekennzeichneten Beispielen pro Klasse. Mit 16 Beispielen pro Klasse lag die Genauigkeit im Durchschnitt etwa 15 % höher.

Open-Vocabulary-Detektoren lassen sich auf verwandte Weise anpassen. Ultralytics YOLOE wandelt Klassennamen in Text-Prompt-Einbettungen um. Beim Verfahren zum linearen Sondieren für eigene Datensätze werden die Einbettungen der Klassennamen des Datensatzes in die letzte Faltung jedes Klassifizierungszweigs integriert. Anschließend werden nur diese Schichten trainiert. Backbone, Neck und der restliche Head bleiben eingefroren.

  • Prompt Engineering: Eine Person verfasst den Prompt als Text, manchmal auch als Hard Prompt bezeichnet. Es wird nichts trainiert. Prompt Tuning lernt den Prompt anhand gekennzeichneter Daten und benötigt Zugriff auf die Gradienten des Modells. Daher eignet es sich für Modelle mit offenen Gewichten.
  • Vollständiges Fine-Tuning: Aktualisiert jedes Gewicht. Dadurch entsteht für jede Aufgabe eine vollständige Modellkopie, und frühere Fähigkeiten können katastrophal vergessen werden. Lester et al. stellten fest, dass prompt-getunte Modelle außerdem robuster gegenüber Domänenverschiebungen waren als vollständig getunte Modelle.
  • LoRA: Fügt trainierbare Matrizen mit niedrigem Rang in die Gewichtsschichten des Modells ein. Prompt Tuning lässt die Schichten unangetastet und verändert nur die Eingabe.
  • Few-Shot-Learning im Prompt: Fügt jeder Anfrage gekennzeichnete Beispiele als Text in das Kontextfenster ein. Ein getunter Soft Prompt speichert die aus den Beispielen gelernte Information in wenigen Vektoren und benötigt nur k zusätzliche Eingabepositionen.

Lösungen entdecken

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Computer Vision in der Luft- und Raumfahrt mit Ultralytics YOLO ein – für Flugzeuginspektionen, die Erkennung von Fremdkörpern auf Start- und Landebahnen, den Bodenbetrieb am Flughafen und die Erkennung von Verbundwerkstofffehlern.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens