33

Alucinaciones y límites

¿Por qué se equivoca con tanta seguridad, y qué se puede hacer?

12 minRuta ejecutiva

Alucinaciones y límites

Con voz. Puedes pausar y saltar a cualquier paso.

Lección completa

Subtítulos

En dos mil veintitrés, unos abogados de Nueva York presentaron ante un tribunal un escrito que citaba casos anteriores, como se acostumbra. La otra parte no pudo encontrar la mayoría.

Voz

Sin voz: la lección avanza sola con subtítulos.

La voz de esta lección está en preparación: por ahora avanza sola con subtítulos.

0:00 / 0:00

Qué lograrás

  • Explicar por qué un modelo de lenguaje puede dar una respuesta falsa con el mismo tono seguro que una verdadera, a partir de cómo se entrena.
  • Reconocer tres familias de error (inventar, desactualizarse por el corte de conocimiento y razonar mal) y leer si la confianza de un modelo está calibrada.
  • Elegir mitigaciones y un nivel de verificación proporcional al riesgo de cada uso.

Ideas clave

  1. Una alucinación es una respuesta fluida y segura que es falsa o no tiene respaldo. No es una avería ocasional: se sigue de cómo se entrena un modelo de lenguaje.
  2. El modelo se entrena para continuar textos de forma plausible. Ninguna parte de ese objetivo comprueba la verdad, y «no lo sé» solo aparece si es una continuación probable.
  3. Hay tres familias de error: inventar lo que no sabe, desactualizarse (no conoce nada posterior a su corte de conocimiento) y razonar mal. Cada una se corrige distinto.
  4. La probabilidad interna informa (a más confianza, más aciertos), pero no siempre está calibrada y un chat no la muestra. El tono del texto no dice nada sobre la verdad.
  5. Las mitigaciones reducen, no eliminan: documentos (RAG), herramientas, salidas acotadas y verificación en una fuente independiente, proporcional al riesgo. La responsabilidad sigue siendo de quien despliega el sistema.

Lo que mucha gente cree

Creencia común Si el modelo da detalles y suena seguro, probablemente lo sabe; y si le preguntas si se equivocó, te lo dirá.

Lo correcto El tono seguro y los detalles son justo lo que mejor aprende, y no informan de la verdad: «Pablo Neruda» salió con 4 % de probabilidad y se ve igual que «Canberra», con 69 %. Preguntarle al mismo modelo no es una verificación independiente: el abogado de Nueva York lo hizo. Se comprueba en una fuente.

Compruébalo

Cuatro preguntas. Sin nota ni cuenta: sirven para ver si la idea quedó.

Concepto¿Por qué un modelo de lenguaje puede dar una respuesta falsa con tono seguro?
ConceptoUn sistema dice tener noventa por ciento de confianza en cien respuestas y acierta sesenta. ¿Qué indica?
CálculoUn examen tiene preguntas de cuatro opciones. Acertar suma 1 punto y dejar en blanco vale 0. Si además cada error resta 1 punto, ¿conviene adivinar al azar?
AplicaciónTu empresa quiere un asistente que conteste a clientes sobre políticas de reembolso. ¿Qué diseño reduce más el riesgo de respuestas inventadas?

Por dentroPara quien quiere las fórmulas y el código. No hace falta para seguir el curso.

Qué optimiza el entrenamiento

El preentrenamiento minimiza la entropía cruzada sobre texto real:

L(θ)=−1T∑t=1Tlog⁡pθ(xt∣x<t)\mathcal{L}(\theta) = -\frac{1}{T}\sum_{t=1}^{T} \log p_\theta(x_t \mid x_{<t})

La pérdida baja cuando el modelo da alta probabilidad a la pieza que de verdad siguió en el texto. En la fórmula no hay ninguna variable «verdad»: si el texto contiene un error, el objetivo lo premia igual. Después, el ajuste con preferencias humanas (RLHF, lección 28) añade otra señal y puede cambiar la calibración: el informe técnico de GPT-4 (OpenAI, 2023) dice que el modelo preentrenado estaba muy bien calibrado y que tras el ajuste posterior la calibración se reducía.

Los datos vistos una sola vez

Kalai, Nachum, Vempala y Zhang (2025) formalizan el efecto de lo poco frecuente. Sea srs_r la fracción de los hechos de entrenamiento que aparecen exactamente una vez (la «tasa de singletons», del estimador de masa faltante de Good y Turing). Para hechos arbitrarios, sin un patrón que generalizar (como un cumpleaños), el error de un modelo base cumple, con probabilidad al menos 99 %,

err  ≥  sr  −  2min⁡c∣Ec∣  −  35+6ln⁡NN  −  δ\text{err} \;\ge\; s_r \;-\; \frac{2}{\min_c |E_c|} \;-\; \frac{35 + 6\ln N}{\sqrt{N}} \;-\; \delta

donde NN es el número de ejemplos, EcE_c el conjunto de respuestas erróneas plausibles para el contexto cc y δ\delta mide la descalibración. En palabras de los autores: si el 20 % de los cumpleaños aparece una sola vez en los datos de preentrenamiento, se espera que un modelo base alucine en al menos el 20 % de los cumpleaños. Es un resultado teórico para hechos sin estructura; no predice la tasa de un modelo concreto. Kandpal et al. (2023) lo observan en la práctica: la exactitud en preguntas de datos crece con el número de documentos de preentrenamiento relacionados con la pregunta.

Por qué el ajuste no lo quita: los exámenes premian adivinar

Kalai et al. (2025) también explican por qué las alucinaciones sobreviven al ajuste posterior: la mayoría de las evaluaciones que dominan las tablas de clasificación califican de forma binaria (1 si acierta, 0 si no), y «no lo sé» vale 0. En un examen de opción múltiple con cuatro opciones, adivinar vale en promedio 14\tfrac14 de punto y dejar en blanco, 0: adivinar siempre conviene. Proponen anunciar en la instrucción un umbral de confianza tt y penalizar cada error con t/(1−t)t/(1-t) puntos, de modo que contestar «no lo sé» valga 0 y adivinar deje de convenir cuando la confianza es baja.

Corte de conocimiento y lo que se queda viejo

Pythia se entrenó con The Pile (Gao et al., 2020), publicado el 31 de diciembre de 2020: no puede saber nada posterior. A «Who won the 2022 FIFA World Cup?», con el mismo prompt de cinco ejemplos y decodificación voraz, Pythia-1.4B responde «Germany» con probabilidad 0.46 (ganó Argentina, según la FIFA). Responde lo mismo para 2014 (correcto) y para 2018 (falso: ganó Francia). Además, lo viejo se queda: a «What is the capital of Brazil?» responde «Rio de Janeiro» (0.53), que dejó de ser la capital el 21 de abril de 1960, cuando se inauguró Brasilia (IBGE). Mediciones: run-cutoff.py y run-qa.py en la carpeta de la lección.

Calibración y error de calibración esperado

Se reparten las NN respuestas en BB tramos por confianza. Con nbn_b respuestas en el tramo bb, su acierto medio acc(b)\mathrm{acc}(b) y su confianza media conf(b)\mathrm{conf}(b):

ECE=∑b=1BnbN ∣acc(b)−conf(b)∣\mathrm{ECE} = \sum_{b=1}^{B} \frac{n_b}{N}\,\bigl|\mathrm{acc}(b) - \mathrm{conf}(b)\bigr|

(Guo et al., 2017). Con diez tramos de igual ancho, las cuatrocientas veinticuatro preguntas de la lección dan un ECE de ≈ 0.18 para Pythia-1.4B; la escena usa cinco tramos para que se lean mejor. Casi todo el error viene de la subconfianza: sus respuestas aciertan más de lo que su probabilidad indica, en parte porque la probabilidad de una cadena reparte la masa entre formas de escribir lo mismo («Cervantes», «Miguel de Cervantes»). Farquhar et al. (2024) agrupan las respuestas por significado (entropía semántica) para corregir ese efecto.

Los datos de la lección son mediciones propias, no un banco de pruebas publicado: 424 preguntas de cultura general escritas para la lección (capitales, autores, fechas, símbolos químicos…), en inglés, con cinco ejemplos resueltos en el prompt y decodificación voraz. La «confianza» es la probabilidad de la cadena completa de la respuesta. Son preguntas fáciles para un modelo de internet: con datos realmente raros, el error sería mayor.

Responder o callar

Si acertar suma 1, fallar resta kk y callar vale 0, y la probabilidad de acertar es pp, responder vale en promedio p−k(1−p)p - k(1-p). Conviene responder cuando

p>k1+kp > \frac{k}{1+k}

que es la regla de rechazo de Chow (1970). Con k=1,3,9,19k = 1, 3, 9, 19 el umbral es 0.5, 0.75, 0.9, 0.950.5,\ 0.75,\ 0.9,\ 0.95. La regla vale si pp está calibrada. Con la probabilidad cruda de Pythia los mejores umbrales medidos son menores, justamente por su subconfianza: hay que recalibrar (por ejemplo, con escalado por temperatura, Guo et al., 2017) o fijar el umbral directamente sobre datos propios.

TruthfulQA, con detalle

Lin, Hilton y Evans (2021) escribieron 817 preguntas en 38 categorías (salud, derecho, finanzas, política…) que algunas personas responderían mal por una creencia falsa. El mejor modelo (GPT-3 de 175 mil millones de parámetros con un prompt «servicial») fue veraz en el 58 % de las preguntas, pero solo el 21 % de sus respuestas fue a la vez veraz e informativa: «no tengo comentarios» cuenta como veraz. Las personas llegaron al 94 %. Dentro de cada familia de modelos, los más grandes solían ser los menos veraces, porque imitan mejor las falsedades de sus textos («escalamiento inverso»).

En código

def tramos(conf, ok, n_tramos=5):
    """Agrupa por confianza (tramos de igual ancho) y devuelve (ECE, [(n, confianza media, acierto medio), ...])."""
    filas, ece = [], 0.0
    for b in range(n_tramos):
        lo, hi = b / n_tramos, (b + 1) / n_tramos
        idx = [i for i, c in enumerate(conf) if lo <= c < hi or (b == n_tramos - 1 and c == 1.0)]
        if not idx:
            continue
        c_med = sum(conf[i] for i in idx) / len(idx)
        a_med = sum(ok[i] for i in idx) / len(idx)
        ece += len(idx) / len(conf) * abs(a_med - c_med)
        filas.append((len(idx), round(c_med, 2), round(a_med, 2)))
    return round(ece, 3), filas


def umbral(conf, ok, t):
    """Responde solo si la confianza es >= t. Devuelve (aciertos, errores, silencios)."""
    resp = [o for c, o in zip(conf, ok) if c >= t]
    return sum(resp), len(resp) - sum(resp), len(conf) - len(resp)


conf = [0.97, 0.91, 0.83, 0.62, 0.55, 0.38, 0.31, 0.22, 0.12, 0.08]
ok   = [1,    1,    1,    1,    0,    1,    0,    0,    1,    0]
print(tramos(conf, ok))
# (0.211, [(2, 0.1, 0.5), (3, 0.3, 0.33), (1, 0.55, 0.0), (1, 0.62, 1.0), (3, 0.9, 1.0)])
print(umbral(conf, ok, 0.0))   # (6, 4, 0)
print(umbral(conf, ok, 0.5))   # (4, 1, 5)

Lo que viene

La recuperación de documentos (lección 31) ataca el origen del problema: que el dato falte en la memoria del modelo. Evaluar un sistema con casos propios, y no con una demostración, es la lección 34. Los riesgos que van más allá de la calidad (privacidad, inyección de instrucciones, responsabilidad) están en la lección 35.

Lente de decisión

Qué significa esta idea si tu trabajo es decidir, no programar.

  • Clasifica cada uso por lo que cuesta un error y lo fácil que es comprobarlo. Una lluvia de ideas tolera errores; una cifra para un cliente, una cita legal o un dato médico, no. Pon la revisión humana donde el error cuesta.
  • No aceptes «el modelo dice estar seguro» ni «le pregunté si era correcto» como verificación: el tono no informa de la verdad. Pide fuentes que se puedan comprobar y, donde importe, revísalas contra la fuente.
  • Pregunta al proveedor: ¿qué tasa de error se midió en MIS casos?, ¿puede abstenerse y con qué umbral?, ¿cita fuentes verificables?, ¿cuál es su corte de conocimiento? Una demostración sin tasa de error no es evidencia.
  • La responsabilidad es tuya: en el caso de Air Canada (2024), un tribunal de Columbia Británica hizo responder a la empresa por lo que dijo su chatbot. Define un dueño, un registro de respuestas, una vía de corrección y un punto de escalamiento a una persona.

Términos de la lección

Transcripción completa
ComentariosConversación pública de esta lección: dudas, datos por revisar, ideas.

Los comentarios viven en GitHub Discussions, en el repositorio público del curso; para escribir se necesita una cuenta de GitHub. Se cargan desde giscus.app al abrir esta sección. Las personas que revisan el curso los leen, y si un cambio se acepta, se aplica en los dos idiomas. Abrir el hilo en GitHub

Fuentes