Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Mesures d'évaluation pour l'IA générative | Section
Apprentissage Profond Génératif

bookMesures d'évaluation pour l'IA générative

Glissez pour afficher le menu

L'évaluation des modèles génératifs diffère de celle des modèles discriminatifs, qui reposent sur des métriques de précision. Étant donné que les modèles génératifs produisent de nombreux résultats valides, ils doivent être évalués selon leur qualité, leur diversité et leur pertinence. Cette section présente les principales métriques utilisées en recherche et en industrie pour évaluer les modèles génératifs selon des dimensions perceptuelles, statistiques et centrées sur l'humain.

Évaluation des modèles basés sur l'image (GAN, VAE, Diffusion)

Les méthodes d'évaluation perceptuelle et statistique sont couramment appliquées aux modèles génératifs d'images. Elles permettent de mesurer à quel point les sorties générées sont réalistes, diversifiées et bien réparties par rapport aux images réelles.

Inception Score (IS)

Quantifie à la fois la clarté et la diversité des images générées en utilisant la confiance de classification d'un modèle Inception pré-entraîné.

IS=exp(Ex[DKL(p(yx)p(y))])\text{IS}=\exp(\mathbb{E}_x[D_{KL}(p(y|x)||p(y))])

où :

  • p(yx)p(y|x) est la distribution conditionnelle des étiquettes pour l'image xx
  • p(y)p(y) est la distribution marginale des classes.
from torchmetrics.image.inception import InceptionScore

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

Fréchet Inception Distance (FID)

Mesure la similarité entre les distributions d'images réelles et générées à l'aide d'embeddings de caractéristiques.

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})

où :

  • μ\mu et Σ\Sigma sont la moyenne et la covariance des représentations de caractéristiques.
  • Tr()\text{Tr}() désigne la trace d'une matrice — il s'agit de la somme des éléments diagonaux. La trace permet de quantifier la différence entre les distributions de caractéristiques en termes de dispersion ou de forme.
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

Compare la similarité visuelle entre des images en utilisant des caractéristiques extraites par des réseaux profonds.

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

Évaluation des modèles basés sur le texte (Transformers, GPT, BERT)

Les modèles de génération de langage sont évalués selon la qualité, la cohérence et la pertinence à l'aide de métriques statistiques, sémantiques et subjectives.

BLEU / ROUGE / METEOR

Comparaison du recouvrement des n-grammes entre le texte généré et le texte de référence.

BLEU=BPexp(n=1Nwnlogpn)\text{BLEU}=\text{BP} \cdot \exp\left(\sum^N_{n=1}w_n\log p_n\right)

où :

  • pnp_n désigne la précision pour les n-grammes
  • BP\text{BP} désigne la pénalité de brièveté.
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

Mesure la similarité sémantique à l'aide d'embeddings contextuels. Utilise la similarité cosinus entre les embeddings contextuels, avec des agrégats de précision/rappel/F1.

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}")

Fidélité au prompt

Mesure le respect de la sortie par rapport aux prompts d'entrée, en particulier dans les modèles ajustés par instructions.

Note
Note

Comparer manuellement les prompts aux sorties ou utiliser des modèles de score de similarité tels que CLIP ou BERT.

Évaluation des modèles multimodaux (par exemple, DALL·E, Stable Diffusion)

Les modèles multimodaux doivent être évalués pour l'alignement entre les modalités, telles que l'image et le texte.

CLIPScore

Calcule la similarité entre les embeddings d'image et les embeddings du prompt textuel.

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

ff sont des embeddings spécifiques à chaque modalité.

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())

Fidélité du prompt à l'image

Mesure la correspondance entre les images générées et leurs prompts de conditionnement.

Note
Remarque

Utiliser CLIP ou l'annotation manuelle pour évaluer l'alignement visuel-textuel.

Évaluation humaine

Malgré les progrès des métriques automatisées, l'évaluation humaine reste essentielle pour les tâches subjectives ou créatives. De nombreux résultats génératifs, notamment en art, narration ou design, nécessitent un jugement humain pour évaluer leur pertinence, originalité et attrait. Ces méthodes fournissent des analyses nuancées que les métriques automatisées omettent souvent.

Tests A/B et configurations de type Turing

Demander aux utilisateurs de choisir les sorties préférées ou les plus réalistes parmi deux options.

  • Exemple concret : dans le pipeline RLHF de GPT-3 d'OpenAI, des travailleurs ont été exposés à plusieurs complétions générées par le modèle et devaient classer ou sélectionner celle jugée la plus utile ou réaliste. Ces retours ont directement influencé la construction des modèles de récompense pour l'affinage ultérieur.

Fidélité de la sortie par rapport à l'invite

Évaluation subjective de la correspondance entre la sortie générée et l'invite fournie.

  • Exemple concret : lors de l'entraînement RLHF pour InstructGPT, des annotateurs notaient les complétions pour une invite telle que « Write a polite email declining a job offer. » Les scores humains déterminaient quelles sorties correspondaient à l'intention et au style de l'utilisateur.

Échelles d'évaluation

Collecte d'évaluations sur des échelles (par exemple, de 1 à 5) pour le réalisme, la cohérence ou la créativité.

  • Exemple concret : lors des évaluations de Claude par Anthropic, les chercheurs recueillaient des notes de 1 à 5 étoiles sur l'utilité, l'honnêteté et l'innocuité des générations en dialogue, contribuant ainsi aux objectifs d'alignement du modèle.

Évaluation participative

Utilisation de plateformes telles que MTurk pour recueillir des avis variés. Veiller à l'accord entre évaluateurs.

  • Exemple concret : Google a utilisé une évaluation participative à grande échelle pour mesurer la qualité du chatbot LaMDA sur des critères tels que la cohérence et la spécificité, en agrégeant des milliers de jugements d'utilisateurs.
Note
Approfondir

Utilisation d'une approche hybride combinant évaluations automatiques et humaines pour obtenir une compréhension plus complète des performances du modèle génératif. L'analyse humaine permet de valider la fiabilité des métriques et d'identifier des cas d'échec subtils non détectés par les chiffres. Pour les applications critiques, la combinaison de plusieurs évaluateurs humains et le calcul de la fiabilité inter-évaluateurs (par exemple, le kappa de Cohen) peuvent renforcer la robustesse.

Résumé

Ces stratégies d'évaluation sont indispensables pour itérer sur le développement du modèle et orienter les décisions de déploiement. La combinaison de métriques objectives et de retours humains aide les développeurs à équilibrer réalisme, créativité, diversité et adéquation avec l'intention de l'utilisateur ou les exigences de la tâche. Une évaluation efficace garantit que les modèles d'IA générative offrent non seulement de bonnes performances techniques, mais sont également adaptés aux cas d'utilisation réels et aux attentes humaines.

1. Laquelle des métriques d'évaluation suivantes est principalement utilisée pour mesurer la diversité des images générées dans les réseaux antagonistes génératifs (GAN) ?

2. Quelle est l'utilisation principale du Fréchet Inception Distance (FID) dans l'évaluation des modèles génératifs ?

3. Quelle métrique est couramment utilisée pour évaluer la similarité sémantique entre un texte généré et un texte de référence ?

question mark

Laquelle des métriques d'évaluation suivantes est principalement utilisée pour mesurer la diversité des images générées dans les réseaux antagonistes génératifs (GAN) ?

Select the correct answer

question mark

Quelle est l'utilisation principale du Fréchet Inception Distance (FID) dans l'évaluation des modèles génératifs ?

Select the correct answer

question mark

Quelle métrique est couramment utilisée pour évaluer la similarité sémantique entre un texte généré et un texte de référence ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 13

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 1. Chapitre 13
some-alt