Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Métricas de Evaluación para IA Generativa | Sección
/
Aprendizaje Profundo Generativo

bookMétricas de Evaluación para IA Generativa

Desliza para mostrar el menú

La evaluación de modelos generativos difiere de la evaluación de modelos discriminativos, que dependen de métricas de precisión. Dado que los modelos generativos producen múltiples salidas válidas, deben evaluarse en términos de calidad, diversidad y relevancia. Esta sección presenta métricas clave utilizadas tanto en investigación como en la industria para evaluar modelos generativos en dimensiones perceptuales, estadísticas y centradas en el usuario.

Evaluación para modelos basados en imágenes (GANs, VAEs, Difusión)

Los métodos de evaluación perceptual y estadística se aplican comúnmente a modelos generativos basados en imágenes. Estos ayudan a medir cuán realistas, diversos y bien distribuidos son los resultados generados en comparación con imágenes reales.

Inception Score (IS)

Cuantifica tanto la claridad como la diversidad de las imágenes generadas utilizando la confianza de clasificación de un modelo Inception preentrenado.

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

donde:

  • p(yx)p(y|x) es la distribución condicional de etiquetas para la imagen xx
  • p(y)p(y) es la distribución marginal de clases.
from torchmetrics.image.inception import InceptionScore

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

Fréchet Inception Distance (FID)

Mide la similitud entre las distribuciones de imágenes reales y generadas utilizando incrustaciones de características.

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

donde:

  • μ\mu y Σ\Sigma son la media y la covarianza de las representaciones de características.
  • Tr()\text{Tr}() representa la traza de una matriz — es la suma de los elementos diagonales. La traza ayuda a cuantificar cuán diferentes son las distribuciones de características en términos de su dispersión o forma.
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

Compara la similitud visual entre imágenes utilizando características de redes neuronales profundas.

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

Evaluación para modelos basados en texto (Transformers, GPT, BERT)

Los modelos de generación de lenguaje se evalúan en cuanto a calidad, coherencia y relevancia mediante métricas estadísticas, semánticas y subjetivas.

BLEU / ROUGE / METEOR

Comparan la coincidencia de n-gramas entre el texto generado y el de referencia.

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

donde:

  • pnp_n es la precisión para n-gramas
  • BP\text{BP} es la penalización por brevedad.
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

Mide la similitud semántica utilizando incrustaciones contextuales. Utiliza la similitud coseno entre incrustaciones contextuales, con agregados de precisión/recuperación/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}")

Fidelidad al Prompt

Mide la adherencia de la salida a los prompts de entrada, especialmente en modelos ajustados por instrucciones.

Note
Nota

Comparación manual de prompts con salidas o uso de modelos de puntuación de similitud como CLIP o BERT.

Evaluación para Modelos Multimodales (por ejemplo, DALL·E, Stable Diffusion)

Los modelos multimodales deben evaluarse en cuanto a la alineación entre modalidades, como imagen y texto.

CLIPScore

Calcula la similitud entre los embeddings de imagen y los embeddings del prompt textual.

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

donde ff son embeddings específicos de cada modalidad.

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

Fidelidad de Prompt a Imagen

Mide qué tan bien las imágenes generadas coinciden con sus prompts de condicionamiento.

Note
Nota

Utilizar CLIP o anotación manual para evaluar la alineación visual-textual.

Evaluación Humana

A pesar de los avances en métricas automatizadas, la evaluación humana sigue siendo esencial para tareas subjetivas o creativas. Muchos resultados generativos, especialmente en arte, narración o diseño, requieren juicio humano para valorar su significado, originalidad y atractivo. Estos métodos proporcionan perspectivas matizadas que las métricas automatizadas suelen pasar por alto.

Pruebas A/B y Configuraciones Estilo Turing

Solicitar a los usuarios que elijan las salidas preferidas o más realistas entre dos opciones.

  • Ejemplo del mundo real: en el proceso RLHF de GPT-3 de OpenAI, los trabajadores de la multitud observaron múltiples finalizaciones del modelo y debían clasificar o seleccionar la más útil o realista. Esta retroalimentación influyó directamente en los modelos de recompensa para un ajuste fino posterior.

Fidelidad de la Salida al Prompt

Evaluación subjetiva de cuán bien la salida refleja el prompt dado.

  • Ejemplo del mundo real: durante el entrenamiento RLHF para InstructGPT, los anotadores calificaron las finalizaciones para un prompt como "Write a polite email declining a job offer." Las puntuaciones humanas determinaron qué salidas se alineaban con la intención y el estilo del usuario.

Escalas de Calificación

Recopilar calificaciones en escalas (por ejemplo, 1–5) para realismo, coherencia o creatividad.

  • Ejemplo del mundo real: en las evaluaciones de Claude de Anthropic, los investigadores recopilaron calificaciones de 1 a 5 estrellas sobre utilidad, honestidad e inocuidad para las generaciones en diálogo, apoyando los objetivos de alineación del modelo.

Evaluación mediante Multitudes

Utilizar plataformas como MTurk para recopilar opiniones diversas. Garantizar el acuerdo entre evaluadores.

  • Ejemplo del mundo real: Google empleó la evaluación a gran escala mediante multitudes para valorar la calidad del chatbot LaMDA en dimensiones como coherencia y especificidad, agregando miles de juicios de usuarios.
Note
Estudiar más

Utilizar una combinación de evaluaciones automáticas y centradas en humanos para obtener una comprensión más completa del rendimiento de los modelos generativos. La perspectiva humana ayuda a validar la fiabilidad de las métricas e identificar casos sutiles de fallo que no se reflejan en los números. Para aplicaciones críticas, combinar múltiples evaluadores humanos y calcular la fiabilidad entre evaluadores (por ejemplo, kappa de Cohen) puede mejorar la robustez.

Resumen

Estas estrategias de evaluación son indispensables para iterar en el desarrollo de modelos y guiar las decisiones de despliegue. La combinación de métricas objetivas con retroalimentación humana ayuda a los desarrolladores a equilibrar realismo, creatividad, diversidad y alineación con la intención del usuario o los requisitos de la tarea. Una evaluación eficaz garantiza que los modelos de IA generativa no solo funcionen bien técnicamente, sino que también se alineen con casos de uso reales y expectativas humanas.

1. ¿Cuál de las siguientes métricas de evaluación se utiliza principalmente para medir la diversidad de imágenes generadas en Redes Generativas Antagónicas (GANs)?

2. ¿Cuál es el uso principal de Fréchet Inception Distance (FID) en la evaluación de modelos generativos?

3. ¿Qué métrica se utiliza comúnmente para evaluar la similitud semántica entre el texto generado y el texto de referencia?

question mark

¿Cuál de las siguientes métricas de evaluación se utiliza principalmente para medir la diversidad de imágenes generadas en Redes Generativas Antagónicas (GANs)?

Select the correct answer

question mark

¿Cuál es el uso principal de Fréchet Inception Distance (FID) en la evaluación de modelos generativos?

Select the correct answer

question mark

¿Qué métrica se utiliza comúnmente para evaluar la similitud semántica entre el texto generado y el texto de referencia?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 13

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Sección 1. Capítulo 13
some-alt