Evalueringsmetrikker for Generativ KI
Sveip for å vise menyen
Evaluering av generative modeller skiller seg fra evaluering av diskriminative modeller, som benytter nøyaktighetsmetrikker. Siden generative modeller kan produsere mange gyldige utdata, må de vurderes ut fra kvalitet, variasjon og relevans. Denne delen introduserer sentrale metrikker brukt i både forskning og industri for å evaluere generative modeller på perseptuelle, statistiske og menneskesentrerte dimensjoner.
Evaluering for bildebasserte modeller (GANs, VAEs, Diffusjon)
Perseptuelle og statistiske evalueringsmetoder brukes ofte på bildegenerative modeller. Disse hjelper med å måle hvor realistiske, varierte og godt fordelt de genererte bildene er sammenlignet med ekte bilder.
Inception Score (IS)
Kvantifiserer både klarhet og variasjon i genererte bilder ved å bruke klassifiseringssikkerheten til en forhåndstrent Inception-modell.
IS=exp(Ex[DKL(p(y∣x)∣∣p(y))])hvor:
- p(y∣x) er den betingede etikettfordelingen for bilde x
- p(y) er den marginale klassefordelingen.
from torchmetrics.image.inception import InceptionScore
inception = InceptionScore()
inception.update(imgs)
inception.compute()
Fréchet Inception Distance (FID)
Måler likheten mellom fordelinger av ekte og genererte bilder ved bruk av funksjonsembeddinger.
FID=∣∣μr−μg∣∣2+Tr(Σr+Σg−2(ΣrΣg)1/2)hvor:
- μ og Σ er gjennomsnitt og kovarians av funksjonsrepresentasjoner.
- Tr() står for sporet til en matrise — det er summen av de diagonale elementene. Sporet hjelper med å kvantifisere hvor forskjellige funksjonsfordelingene er når det gjelder spredning 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
Sammenligner visuell likhet mellom bilder ved bruk av dype nettverksfunksjoner.
import lpips
loss_fn = lpips.LPIPS(net='alex')
distance = loss_fn(img1, img2)
print("LPIPS Distance:", distance.item())
Evaluering for tekstbaserte modeller (Transformers, GPT, BERT)
Språkmodeller for tekstgenerering evalueres for kvalitet, sammenheng og relevans gjennom statistiske, semantiske og subjektive målemetoder.
BLEU / ROUGE / METEOR
Sammenligner n-gram-overlapp mellom generert og referansetekst.
BLEU=BP⋅exp(n=1∑Nwnlogpn)hvor:
- pn er presisjon for n-gram
- BP er korthetsstraff.
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åler semantisk likhet ved bruk av kontekstuelle innebygginger. Benytter cosinuslikhet mellom kontekstuelle innebygginger, med presisjon/tilbakekalling/F1-aggregater.
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åler hvor godt utdata samsvarer med inndata, spesielt i instruksjonsjusterte modeller.
Sammenlign manuelt mellom prompt og utdata, eller bruk modeller for likhetsskåring som CLIP eller BERT.
Evaluering av multimodale modeller (f.eks. DALL·E, Stable Diffusion)
Multimodale modeller må evalueres for samsvar mellom modaliteter, som bilde og tekst.
CLIPScore
Beregner likhet mellom bilde-embeddinger og tekstprompt-embeddinger.
CLIPScores=cos(fimage, ftext)hvor f er modalitetsspesifikke embeddinger.
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())
Troverdighet fra prompt til bilde
Måler hvor godt genererte bilder samsvarer med sine tilhørende prompt.
Bruk CLIP eller manuell annotering for å vurdere visuell-tekstuell samsvar.
Menneskelig evaluering
Til tross for fremskritt innen automatiserte målemetoder, forblir menneskelig evaluering avgjørende for subjektive eller kreative oppgaver. Mange generative resultater, spesielt innen kunst, historiefortelling eller design, krever menneskelig vurdering for å bedømme meningsfullhet, originalitet og appell. Disse metodene gir nyanserte innsikter som automatiserte målemetoder ofte overser.
A/B-testing og Turing-lignende oppsett
Be brukere velge foretrukket eller mest realistisk utseende utdata fra to alternativer.
- Virkelig eksempel: I OpenAIs GPT-3 RLHF-prosess ble crowdworkere vist flere modellfullføringer og bedt om å rangere eller velge den mest hjelpsomme eller realistiske. Denne tilbakemeldingen formet direkte belønningsmodellene for videre finjustering.
Samsvar mellom prompt og utdata
Subjektiv vurdering av hvor godt utdataene reflekterer den gitte prompten.
- Virkelig eksempel: Under RLHF-trening for InstructGPT vurderte annotatorer fullføringer for en prompt som "Write a polite email declining a job offer." Menneskelige vurderinger avgjorde hvilke utdata som samsvarte med brukerens hensikt og stil.
Vurderingsskalaer
Samle vurderinger på skalaer (f.eks. 1–5) for realisme, sammenheng eller kreativitet.
- Virkelig eksempel: I Anthropic sine Claude-evalueringer samlet forskere inn vurderinger fra 1–5 stjerner på hjelpsomhet, ærlighet og ufarlighet for genererte dialoger, noe som støttet modellens tilpasningsmål.
Evaluering med folkekilder
Bruk plattformer som MTurk for å samle inn ulike meninger. Sikre enighet blant vurderere.
- Virkelig eksempel: Google brukte storskala folkebasert evaluering for å vurdere kvaliteten på LaMDA-chatboten på dimensjoner som fornuftighet og spesifisitet ved å samle tusenvis av brukerbedømmelser.
Bruk en kombinasjon av automatiske og menneskesentrerte evalueringer for å få en mer helhetlig forståelse av ytelsen til generative modeller. Menneskelig innsikt bidrar til å validere påliteligheten til metrikker og identifisere subtile feiltilfeller som ikke fanges opp av tall. For kritiske applikasjoner kan det å kombinere flere menneskelige vurderere og beregne interrater-pålitelighet (f.eks. Cohens kappa) øke robustheten.
Sammendrag
Disse evalueringsstrategiene er uunnværlige for å iterere modellutvikling og veilede beslutninger om produksjonssetting. Å kombinere objektive målemetoder med menneskelig tilbakemelding hjelper utviklere å balansere realisme, kreativitet, mangfold og samsvar med brukerintensjon eller oppgavekrav. Effektiv evaluering sikrer at generative KI-modeller ikke bare presterer teknisk godt, men også er tilpasset virkelige bruksområder og menneskelige forventninger.
1. Hvilket av følgende evalueringsmål brukes primært for å måle mangfoldet av genererte bilder i Generative Adversarial Networks (GANs)?
2. Hva er hovedformålet med Fréchet Inception Distance (FID) ved evaluering av generative modeller?
3. Hvilken metrikk brukes ofte for å evaluere den semantiske likheten mellom generert tekst og referansetekst?
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår