Utvärderingsmått för Generativ AI
Svep för att visa menyn
Utvärdering av generativa modeller skiljer sig från utvärdering av diskriminativa modeller, vilka förlitar sig på noggrannhetsmått. Eftersom generativa modeller kan producera många giltiga utdata, måste de bedömas utifrån kvalitet, mångfald och relevans. Detta avsnitt introducerar centrala mått som används inom både forskning och industri för att utvärdera generativa modeller utifrån perceptuella, statistiska och människocentrerade dimensioner.
Utvärdering för bildbaserade modeller (GANs, VAEs, Diffusion)
Perceptuella och statistiska utvärderingsmetoder används ofta för bildbaserade generativa modeller. Dessa hjälper till att mäta hur realistiska, varierade och välfördelade de genererade utdata är jämfört med verkliga bilder.
Inception Score (IS)
Kvantifierar både tydlighet och mångfald hos genererade bilder med hjälp av klassificeringssäkerheten från en förtränad Inception-modell.
IS=exp(Ex[DKL(p(y∣x)∣∣p(y))])Där:
- p(y∣x) är den villkorliga etikettfördelningen för bild x
- p(y) är den marginella klassfördelningen.
from torchmetrics.image.inception import InceptionScore
inception = InceptionScore()
inception.update(imgs)
inception.compute()
Fréchet Inception Distance (FID)
Mäter likheten mellan verkliga och genererade bildfördelningar med hjälp av funktionsinbäddningar.
FID=∣∣μr−μg∣∣2+Tr(Σr+Σg−2(ΣrΣg)1/2)Där:
- μ och Σ är medelvärde och kovarians för funktionsrepresentationer.
- Tr() står för spår av en matris — det är summan av de diagonala elementen. Spåret hjälper till att kvantifiera hur olika funktionsfördelningarna är vad gäller spridning eller form.
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
Jämför visuell likhet mellan bilder med hjälp av djupa nätverksfunktioner.
import lpips
loss_fn = lpips.LPIPS(net='alex')
distance = loss_fn(img1, img2)
print("LPIPS Distance:", distance.item())
Utvärdering för textbaserade modeller (Transformers, GPT, BERT)
Språkgenereringsmodeller utvärderas för kvalitet, koherens och relevans genom statistiska, semantiska och subjektiva mått.
BLEU / ROUGE / METEOR
Jämför n-gram överlapp mellan genererad och referenstext.
BLEU=BP⋅exp(n=1∑Nwnlogpn)Där:
- pn är precision för n-gram
- BP är förkortningsstraff.
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
Mäter semantisk likhet med hjälp av kontextuella inbäddningar. Använder cosinuslikhet mellan kontextuella inbäddningar, med precision/recall/F1-aggregat.
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}")
Promptfidelitet
Mäter hur väl utdata följer inmatade promptar, särskilt i instruktionsanpassade modeller.
Jämför promptar och utdata manuellt eller använd likhetspoängsmodeller som CLIP eller BERT.
Utvärdering för multimodala modeller (t.ex. DALL·E, Stable Diffusion)
Multimodala modeller behöver utvärderas för överensstämmelse mellan modaliteter, såsom bild och text.
CLIPScore
Beräknar likhet mellan bildinbäddningar och textprompt-inbäddningar.
CLIPScores=cos(fimage, ftext)där f är modalitetsspecifika inbäddningar.
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())
Överensstämmelse mellan prompt och bild
Mäter hur väl genererade bilder överensstämmer med sina tillhörande prompts.
Använd CLIP eller manuell annotering för att bedöma visuell-textuell överensstämmelse.
Mänsklig utvärdering
Trots framsteg inom automatiserade mått är mänsklig utvärdering fortfarande avgörande för subjektiva eller kreativa uppgifter. Många generativa resultat, särskilt inom konst, berättande eller design, kräver mänsklig bedömning för att utvärdera deras meningsfullhet, originalitet och attraktionskraft. Dessa metoder ger nyanserade insikter som automatiserade mått ofta missar.
A/B-testning och Turing-liknande upplägg
Be användare välja föredragna eller mest verklighetstrogna utdata från två alternativ.
- Exempel från verkligheten: I OpenAI:s GPT-3 RLHF-pipeline visades crowdworkers flera modellslut och ombads rangordna eller välja det mest hjälpsamma eller realistiska. Denna återkoppling påverkade direkt belöningsmodeller för vidare finjustering.
Trovärdighet mellan prompt och utdata
Subjektiv utvärdering av hur väl utdata speglar given prompt.
- Exempel från verkligheten: Under RLHF-träning för InstructGPT betygsatte annotatörer slutföranden för en prompt som "Skriv ett artigt e-postmeddelande för att tacka nej till ett jobberbjudande." Mänskliga poäng avgjorde vilka utdata som överensstämde med användarens avsikt och stil.
Betygsskalor
Samla in betyg på skalor (t.ex. 1–5) för realism, koherens eller kreativitet.
- Exempel från verkligheten: I Anthropic:s Claude-utvärderingar samlade forskare in betyg från 1 till 5 stjärnor på hjälpsamhet, ärlighet och ofarlighet för genereringar i dialog, vilket stödde modellens anpassningsmål.
Crowdsourcad utvärdering
Använd plattformar som MTurk för att samla in olika åsikter. Säkerställ överensstämmelse mellan bedömare.
- Exempel från verkligheten: Google använde storskalig crowdsourcing för att utvärdera kvaliteten på LaMDA-chatboten utifrån dimensioner som rimlighet och specificitet genom att samla in tusentals användarbedömningar.
Använd en hybrid av automatiska och människocentrerade utvärderingar för att få en mer komplett förståelse av generativa modellers prestanda. Mänsklig insikt hjälper till att validera metriks tillförlitlighet och identifiera subtila fel som inte fångas av siffror. För kritiska tillämpningar kan kombinationen av flera mänskliga bedömare och beräkning av interbedömarreliabilitet (t.ex. Cohens kappa) förbättra robustheten.
Sammanfattning
Dessa utvärderingsstrategier är oumbärliga för att iterera modellutveckling och vägleda beslut om driftsättning. Att kombinera objektiva mått med mänsklig återkoppling hjälper utvecklare att balansera realism, kreativitet, mångfald och överensstämmelse med användarens avsikt eller uppgiftskrav. Effektiv utvärdering säkerställer att generativa AI-modeller inte bara presterar tekniskt väl, utan även är anpassade till verkliga användningsfall och mänskliga förväntningar.
1. Vilket av följande utvärderingsmått används främst för att mäta mångfalden hos genererade bilder i Generative Adversarial Networks (GANs)?
2. Vad är det primära användningsområdet för Fréchet Inception Distance (FID) vid utvärdering av generativa modeller?
3. Vilken metrisk används vanligtvis för att utvärdera den semantiska likheten mellan genererad text och referenstext?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal