Evaluationsmetriken für Generative KI
Swipe um das Menü anzuzeigen
Die Bewertung generativer Modelle unterscheidet sich von der Bewertung diskiminativer Modelle, die auf Genauigkeitsmetriken basieren. Da generative Modelle viele gültige Ausgaben erzeugen, müssen sie hinsichtlich Qualität, Vielfalt und Relevanz beurteilt werden. Dieser Abschnitt stellt zentrale Metriken vor, die sowohl in der Forschung als auch in der Industrie zur Bewertung generativer Modelle in Bezug auf Wahrnehmung, Statistik und menschzentrierte Aspekte verwendet werden.
Bewertung für bildbasierte Modelle (GANs, VAEs, Diffusion)
Wahrnehmungs- und statistische Bewertungsmethoden werden häufig auf bildbasierte generative Modelle angewendet. Diese helfen dabei, zu messen, wie realistisch, vielfältig und gut verteilt die generierten Ausgaben im Vergleich zu echten Bildern sind.
Inception Score (IS)
Quantifizierung sowohl der Klarheit als auch der Vielfalt generierter Bilder unter Verwendung der Klassifikationssicherheit eines vortrainierten Inception-Modells.
IS=exp(Ex[DKL(p(y∣x)∣∣p(y))])wobei:
- p(y∣x) die bedingte Labelverteilung für das Bild x ist
- p(y) die marginale Klassenverteilung ist.
from torchmetrics.image.inception import InceptionScore
inception = InceptionScore()
inception.update(imgs)
inception.compute()
Fréchet Inception Distance (FID)
Misst die Ähnlichkeit zwischen den Verteilungen realer und generierter Bilder anhand von Feature-Embeddings.
FID=∣∣μr−μg∣∣2+Tr(Σr+Σg−2(ΣrΣg)1/2)wobei:
- μ und Σ Mittelwert und Kovarianz der Feature-Repräsentationen sind.
- Tr() steht für die Spur einer Matrix — sie ist die Summe der Diagonalelemente. Die Spur hilft dabei, zu quantifizieren, wie unterschiedlich die Feature-Verteilungen hinsichtlich ihrer Streuung oder Form sind.
from pytorch_fid import fid_score
fid = fid_score.calculate_fid_given_paths(["real_images", "generated_images"], batch_size=50, device="cuda", dims=2048)
print("FID:", fid)
LPIPS
Vergleicht die visuelle Ähnlichkeit zwischen Bildern mithilfe von tiefen Netzwerk-Features.
import lpips
loss_fn = lpips.LPIPS(net='alex')
distance = loss_fn(img1, img2)
print("LPIPS Distance:", distance.item())
Bewertung für textbasierte Modelle (Transformers, GPT, BERT)
Sprachgenerierungsmodelle werden hinsichtlich Qualität, Kohärenz und Relevanz anhand statistischer, semantischer und subjektiver Metriken bewertet.
BLEU / ROUGE / METEOR
Vergleich des N-Gramm-Überlapps zwischen generiertem und Referenztext.
BLEU=BP⋅exp(n=1∑Nwnlogpn)wobei:
- pn ist die Präzision für N-Gramme
- BP ist die Kürzungsstrafe.
from nltk.translate.bleu_score import sentence_bleu
reference = [['the', 'cat', 'is', 'on', 'the', 'mat']]
candidate = ['the', 'cat', 'sat', 'on', 'the', 'mat']
score = sentence_bleu(reference, candidate)
print("BLEU Score:", score)
BERTScore
Misst die semantische Ähnlichkeit mithilfe kontextueller Einbettungen. Verwendet Kosinus-Ähnlichkeit zwischen kontextuellen Einbettungen mit Präzision/Recall/F1-Aggregaten.
from bert_score import score
cands = ["A cat sits on the mat."]
refs = ["The cat is on the mat."]
P, R, F1 = score(cands, refs, lang='en')
print(f"BERTScore F1: {F1.mean().item():.4f}")
Prompt-Treue
Misst die Übereinstimmung der Ausgabe mit den Eingabeaufforderungen, insbesondere bei instruktionstunierten Modellen.
Manueller Vergleich von Prompts und Ausgaben oder Verwendung von Ähnlichkeitsbewertungsmodellen wie CLIP oder BERT.
Bewertung für Multimodale Modelle (z. B. DALL·E, Stable Diffusion)
Multimodale Modelle müssen hinsichtlich der Übereinstimmung zwischen Modalitäten wie Bild und Text bewertet werden.
CLIPScore
Berechnet die Ähnlichkeit zwischen Bild-Embeddings und textuellen Prompt-Embeddings.
CLIPScores=cos(fimage, ftext)wobei f modalitätsspezifische Embeddings sind.
import torch
import clip
from PIL import Image
model, preprocess = clip.load("ViT-B/32")
image = preprocess(Image.open("generated.jpg")).unsqueeze(0)
text = clip.tokenize(["A dog playing in the snow"])
with torch.no_grad():
image_features = model.encode_image(image)
text_features = model.encode_text(text)
similarity = torch.cosine_similarity(image_features, text_features)
print("CLIPScore:", similarity.item())
Prompt-zu-Bild-Treue
Misst, wie gut generierte Bilder zu ihren zugehörigen Prompts passen.
Verwendung von CLIP oder manueller Annotation zur Beurteilung der visuellen-textuellen Übereinstimmung.
Menschliche Bewertung
Trotz Fortschritten bei automatisierten Metriken bleibt die menschliche Bewertung für subjektive oder kreative Aufgaben unerlässlich. Viele generative Ergebnisse, insbesondere in Kunst, Erzählung oder Design, erfordern menschliches Urteilsvermögen, um deren Sinnhaftigkeit, Originalität und Attraktivität zu beurteilen. Diese Methoden liefern differenzierte Einblicke, die automatisierte Metriken oft übersehen.
A/B-Tests und Turing-ähnliche Setups
Nutzer dazu auffordern, bevorzugte oder realistisch wirkende Ausgaben aus zwei Optionen auszuwählen.
- Praxisbeispiel: Im RLHF-Prozess von OpenAI's GPT-3 wurden Crowdworker mehrere Modellvorschläge gezeigt und gebeten, die hilfreichste oder realistischste Variante zu bewerten oder auszuwählen. Dieses Feedback floss direkt in die Belohnungsmodelle für das weitere Feintuning ein.
Prompt-zu-Output-Treue
Subjektive Bewertung, wie gut die Ausgabe dem gegebenen Prompt entspricht.
- Praxisbeispiel: Während des RLHF-Trainings für InstructGPT bewerteten Annotatoren Ausgaben zu einem Prompt wie "Write a polite email declining a job offer." Menschliche Bewertungen bestimmten, welche Ausgaben mit der Nutzerabsicht und dem gewünschten Stil übereinstimmten.
Bewertungsskalen
Sammeln von Bewertungen auf Skalen (z. B. 1–5) für Realismus, Kohärenz oder Kreativität.
- Praxisbeispiel: In den Claude-Evaluierungen von Anthropic sammelten Forschende 1–5-Sterne-Bewertungen für Hilfsbereitschaft, Ehrlichkeit und Unschädlichkeit von Dialog-Generierungen, um die Modellanpassung zu unterstützen.
Crowdsourcing-basierte Bewertung
Plattformen wie MTurk zur Sammlung vielfältiger Meinungen nutzen. Übereinstimmung der Bewerter sicherstellen.
- Praxisbeispiel: Google setzte groß angelegte Crowdsourcing-Methoden ein, um die Qualität des LaMDA-Chatbots hinsichtlich Kriterien wie Nachvollziehbarkeit und Spezifität zu bewerten, indem Tausende von Nutzerurteilen aggregiert wurden.
Eine Kombination aus automatischen und menschzentrierten Bewertungen verwenden, um ein umfassenderes Verständnis der Leistungsfähigkeit generativer Modelle zu erhalten. Menschliche Einschätzungen helfen, die Zuverlässigkeit von Metriken zu validieren und subtile Fehlerfälle zu identifizieren, die durch Zahlen nicht erfasst werden. Für kritische Anwendungen kann die Kombination mehrerer menschlicher Bewerter und die Berechnung der Interrater-Reliabilität (z. B. Cohen’s Kappa) die Robustheit erhöhen.
Zusammenfassung
Diese Evaluierungsstrategien sind unverzichtbar für die Weiterentwicklung von Modellen und die Steuerung von Entscheidungen zur Bereitstellung. Die Kombination objektiver Metriken mit menschlichem Feedback unterstützt Entwickler dabei, Realismus, Kreativität, Vielfalt und die Übereinstimmung mit Nutzerabsichten oder Aufgabenanforderungen auszubalancieren. Eine effektive Evaluierung stellt sicher, dass generative KI-Modelle nicht nur technisch leistungsfähig sind, sondern auch mit realen Anwendungsfällen und menschlichen Erwartungen übereinstimmen.
1. Welche der folgenden Evaluierungsmetriken wird hauptsächlich verwendet, um die Vielfalt generierter Bilder in Generative Adversarial Networks (GANs) zu messen?
2. Was ist der Hauptzweck des Fréchet Inception Distance (FID) bei der Bewertung generativer Modelle?
3. Welche Metrik wird häufig verwendet, um die semantische Ähnlichkeit zwischen generiertem Text und Referenztext zu bewerten?
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen