Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Evalueringsmetrikker for Generativ KI | Seksjon
Generativ Dyp Læring

bookEvalueringsmetrikker 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(yx)p(y))])\text{IS}=\exp(\mathbb{E}_x[D_{KL}(p(y|x)||p(y))])

hvor:

  • p(yx)p(y|x) er den betingede etikettfordelingen for bilde xx
  • p(y)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μg2+Tr(Σr+Σg2(ΣrΣg)1/2)\text{FID}=||\mu_r-\mu_g||^2+\text{Tr}(\Sigma_r + \Sigma_g - 2(\Sigma_r\Sigma_g)^{1/2})

hvor:

  • μ\mu og Σ\Sigma er gjennomsnitt og kovarians av funksjonsrepresentasjoner.
  • Tr()\text{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=BPexp(n=1Nwnlogpn)\text{BLEU}=\text{BP} \cdot \exp\left(\sum^N_{n=1}w_n\log p_n\right)

hvor:

  • pnp_n er presisjon for n-gram
  • BP\text{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.

Note
Merk

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)\text{CLIPScores}=cos(f_{image},\ f_{text})

hvor ff 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.

Note
Merk

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.
Note
Studer mer

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?

question mark

Hvilket av følgende evalueringsmål brukes primært for å måle mangfoldet av genererte bilder i Generative Adversarial Networks (GANs)?

Select the correct answer

question mark

Hva er hovedformålet med Fréchet Inception Distance (FID) ved evaluering av generative modeller?

Select the correct answer

question mark

Hvilken metrikk brukes ofte for å evaluere den semantiske likheten mellom generert tekst og referansetekst?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 13

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 1. Kapittel 13
some-alt