Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Evalueringsmetrikker for Generativ AI | Opbygning og Træning af Generative Modeller
Dybe Generative Modeller med Python

Evalueringsmetrikker for Generativ AI

Stryg for at vise menuen

Evaluering af generative modeller adskiller sig fra evaluering af diskriminative modeller, som er afhængige af nøjagtighedsmetrikker. Da generative modeller kan producere mange gyldige output, skal de vurderes ud fra kvalitet, diversitet og relevans. Dette afsnit introducerer centrale metrikker, der anvendes i både forskning og industri til at evaluere generative modeller ud fra perceptuelle, statistiske og menneskecentrerede dimensioner.

Evaluering af billedbaserede modeller (GANs, VAEs, Diffusion)

Perceptuelle og statistiske evalueringsmetoder anvendes ofte på billedbaserede generative modeller. Disse hjælper med at måle, hvor realistiske, varierede og veluddelte de genererede output er sammenlignet med rigtige billeder.

Inception Score (IS)

Kvantificerer både klarhed og diversitet i genererede billeder ved hjælp af klassifikationssikkerheden fra en prætrænet Inception-model.

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 label-fordeling for billede xx
  • p(y)p(y) er den marginale klassefordeling.
from torchmetrics.image.inception import InceptionScore

inception = InceptionScore()
inception.update(imgs)
inception.compute()

Fréchet Inception Distance (FID)

Måler ligheden mellem fordelinger af rigtige og genererede billeder ved hjælp af feature-embeddings.

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 middelværdi og kovarians af feature-repræsentationer.
  • Tr()\text{Tr}() står for sporet af en matrix — det er summen af de diagonale elementer. Sporet hjælper med at kvantificere, hvor forskellige feature-fordelingerne er med hensyn til deres 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 visuel lighed mellem billeder ved hjælp af dybe netværksfunktioner.

import lpips
    
loss_fn = lpips.LPIPS(net='alex')
distance = loss_fn(img1, img2)
print("LPIPS Distance:", distance.item())

Evaluering af tekstbaserede modeller (Transformers, GPT, BERT)

Sprogmodeller til generering evalueres for kvalitet, sammenhæng og relevans gennem statistiske, semantiske og subjektive metrikker.

BLEU / ROUGE / METEOR

Sammenligner n-gram-overlap mellem genereret og reference tekst.

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 præcision for n-grammer
  • BP\text{BP} er korthedsstraffen.
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 lighed ved brug af kontekstuelle indlejringer. Benytter cosinus-lighed mellem kontekstuelle indlejringer, med præcision/recall/F1-sammenfatninger.

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-troskab

Måler overholdelse af output i forhold til input-prompter, især i modeller finjusteret til instruktioner.

Note
Bemærk

Manuel sammenligning af prompts og output eller brug af models til lighedsscore som CLIP eller BERT.

Evaluering af multimodale modeller (f.eks. DALL·E, Stable Diffusion)

Multimodale modeller skal evalueres for overensstemmelse mellem modaliteter, såsom billede og tekst.

CLIPScore

Beregner lighed mellem billed-embeddings og tekstuelle prompt-embeddings.

CLIPScores=cos(fimage, ftext)\text{CLIPScores}=cos(f_{image},\ f_{text})

hvor ff er modalitetsspecifikke embeddings.

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-til-billede-troværdighed

Måler hvor godt genererede billeder matcher deres tilhørende prompts.

Note
Bemærk

Brug CLIP eller manuel annotering til at vurdere visuel-tekstuel overensstemmelse.

Menneskelig evaluering

På trods af fremskridt inden for automatiserede metrikker forbliver menneskelig evaluering essentiel for subjektive eller kreative opgaver. Mange generative output, især inden for kunst, historiefortælling eller design, kræver menneskelig vurdering for at bedømme deres meningsfuldhed, originalitet og appel. Disse metoder giver nuancerede indsigter, som automatiserede metrikker ofte overser.

A/B-testning og Turing-lignende opsætninger

Brugere bedes vælge det foretrukne eller mest realistiske output blandt to muligheder.

  • Virkelighedseksempel: I OpenAI's GPT-3 RLHF-pipeline blev crowdworkere præsenteret for flere modeludfyldelser og bedt om at rangere eller vælge den mest hjælpsomme eller realistiske. Denne feedback formede direkte belønningsmodeller til yderligere finjustering.

Prompt-til-output-troværdighed

Subjektiv vurdering af, hvor godt outputtet afspejler den givne prompt.

  • Virkelighedseksempel: Under RLHF-træning for InstructGPT vurderede annotatorer udfyldelser for en prompt som "Skriv en høflig e-mail, der afslår et jobtilbud." Menneskelige vurderinger afgjorde, hvilke outputs der matchede brugerens hensigt og stil.

Vurderingsskalaer

Indsamling af vurderinger på skalaer (f.eks. 1–5) for realisme, sammenhæng eller kreativitet.

  • Virkelighedseksempel: I Anthropic's Claude-evalueringer indsamlede forskere vurderinger fra 1–5 stjerner for hjælpsomhed, ærlighed og ufarlighed for genereringer i dialog, hvilket understøttede modellens tilpasningsmål.

Crowdsourcet evaluering

Brug platforme som MTurk til at indsamle forskellige meninger. Sikr enighed blandt bedømmere.

  • Virkelighedseksempel: Google brugte storskala crowdsourcing til at vurdere LaMDA-chatbottens kvalitet på dimensioner som fornuftighed og specificitet ved at samle tusindvis af brugerbedømmelser.
Note
Læs mere

Brug en hybrid af automatiske og menneskecentrerede evalueringer for at opnå en mere fuldstændig forståelse af generative modellers ydeevne. Menneskelig indsigt hjælper med at validere metrikpålidelighed og identificere subtile fejlsituationer, som ikke fanges af tal. For kritiske anvendelser kan kombinationen af flere menneskelige bedømmere og beregning af inter-bedømmer pålidelighed (f.eks. Cohens kappa) forbedre robustheden.

Resumé

Disse evalueringsstrategier er uundværlige for at iterere modeludvikling og vejlede beslutninger om implementering. Kombinationen af objektive målinger og menneskelig feedback hjælper udviklere med at balancere realisme, kreativitet, diversitet og overensstemmelse med brugerens hensigt eller opgavekrav. Effektiv evaluering sikrer, at generative AI-modeller ikke kun præsterer teknisk godt, men også stemmer overens med virkelige anvendelser og menneskelige forventninger.

1. Hvilket af følgende evalueringsmål bruges primært til at måle diversiteten af genererede billeder i Generative Adversarial Networks (GANs)?

2. Hvad er den primære anvendelse af Fréchet Inception Distance (FID) ved evaluering af generative modeller?

3. Hvilken metrik bruges ofte til at evaluere den semantiske lighed mellem genereret tekst og referencetekst?

question mark

Hvilket af følgende evalueringsmål bruges primært til at måle diversiteten af genererede billeder i Generative Adversarial Networks (GANs)?

Vælg det korrekte svar

question mark

Hvad er den primære anvendelse af Fréchet Inception Distance (FID) ved evaluering af generative modeller?

Vælg det korrekte svar

question mark

Hvilken metrik bruges ofte til at evaluere den semantiske lighed mellem genereret tekst og referencetekst?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 3

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 3. Kapitel 3
some-alt