Evalueringsmetrikker for generativ KI
Sveip for å vise menyen
Evaluering av generative modeller skiller seg fra evaluering av diskriminative modeller, som baserer seg på nøyaktighetsmetrikker. Siden generative modeller kan produsere mange gyldige utdata, må de vurderes ut fra kvalitet, variasjon og relevans. Denne delen introduserer sentrale metrikker som brukes både i forskning og industri for å evaluere generative modeller på perseptuelle, statistiske og menneskesentrerte dimensjoner.
Evaluering for bildebasserte modeller (GANs, VAEs, Diffusion)
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 klassifiseringskonfidensen til en forhåndstrent Inception-modell.
IS=exp(Ex[DKL(p(y∣x)∣∣p(y))])hvor:
- p(y∣x) er den betingede label-fordelingen 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 distribusjonene til 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 diagonal-elementene. Sporet hjelper med å kvantifisere hvor forskjellige funksjonsdistribusjonene 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åkgenereringsmodeller 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}")
Prompt-trofasthet
Måler hvor godt utdata følger inngangs-promptene, spesielt i instruksjonstilpassede modeller.
Manuell sammenligning av prompt og utdata eller bruk av likhetsscoringsmodeller som CLIP eller BERT.
Evaluering for 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 tekst-prompt-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())
Trofasthet 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, er menneskelig evaluering fortsatt essensiell 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.
- Eksempel fra virkeligheten: 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.
- Eksempel fra virkeligheten: Under RLHF-trening for InstructGPT vurderte annotatorer fullføringer for en prompt som "Skriv en høflig e-post for å avslå et jobbtilbud." Menneskelige vurderinger avgjorde hvilke utdata som samsvarte med brukerens hensikt og stil.
Vurderingsskalaer
Innhent vurderinger på skalaer (f.eks. 1–5) for realisme, sammenheng eller kreativitet.
- Eksempel fra virkeligheten: I Anthropic sine Claude-evalueringer samlet forskere inn vurderinger fra 1 til 5 stjerner på hjelpsomhet, ærlighet og ufarlighet for genererte dialoger, noe som støttet mål om modelljustering.
Evaluering med folkekilder
Bruk plattformer som MTurk for å samle inn ulike meninger. Sikre enighet blant vurderere.
- Virkelig eksempel: Google brukte storskala folkekilder for å vurdere kvaliteten på LaMDA-chatboten på dimensjoner som fornuftighet og spesifisitet ved å samle tusenvis av brukerbedømmelser.
Bruk en hybrid 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 målemetoder og identifisere subtile feiltilfeller som ikke fanges opp av tall. For kritiske applikasjoner kan det å kombinere flere menneskelige vurderere og beregne interrater-reliabilitet (f.eks. Cohens kappa) forbedre robustheten.
Sammendrag
Disse evalueringsstrategiene er uunnværlige for iterasjon i modellutvikling og for å veilede beslutninger om utrulling. Å kombinere objektive målemetoder med tilbakemeldinger fra mennesker hjelper utviklere å balansere realisme, kreativitet, mangfold og samsvar med brukerens hensikt eller krav til oppgaven. Effektiv evaluering sikrer at generative AI-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 i 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 til å 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