Qué es de verdad un LLM: token, embedding y atención
Sin misticismo y sin matemáticas: qué hace el modelo, por qué alucina, y cómo eso cambia tus decisiones de arquitectura.
Lo más útil que se puede entender sobre un modelo de lenguaje es también lo más incómodo:
No sabe nada. Predice el próximo pedazo de texto.
No consulta una base. No razona en el sentido en que usamos la palabra. No tiene opinión ni intención. Produce una distribución de probabilidad sobre el próximo token, elige uno, lo añade al texto, y repite, lo bastante rápido como para parecer una conversación.
Esa frase parece reductora. Es la clave de todo lo que viene después.
Token: la unidad que define precio y límite
El modelo no ve letras ni palabras. Ve tokens, que son pedazos de palabra.
Regla práctica: en inglés, un token equivale a unos cuatro caracteres; cien tokens dan unas setenta y cinco palabras.
En español es peor. Los tokenizadores se entrenaron mayoritariamente en inglés, así que el mismo texto en español consume entre un veinte y un cuarenta por ciento más de tokens. Literalmente: pagas más caro por decir lo mismo en tu idioma.
Tres consecuencias prácticas:
Precio. El cobro es por token de entrada y de salida, con precios distintos: la salida suele ser varias veces más cara. Eso cambia el diseño: pedir una respuesta corta y estructurada es más barato que pedir un texto largo.
Límite. La ventana de contexto se mide en tokens, y todo cuenta: instrucción, historial, documento recuperado y la respuesta que todavía se va a generar.
Comportamiento. Contar letras en una palabra es difícil porque el modelo no ve letras. La matemática con números grandes falla porque el número se parte en pedazos arbitrarios. No es estupidez; es representación.
Embedding: el significado convertido en geometría
El embedding transforma texto en un vector de números (cientos o miles de dimensiones) de tal forma que los textos con significado parecido quedan cerca en ese espacio.
Cerca medido por similitud de coseno, que compara el ángulo entre los vectores.
Lo que eso desbloquea: la búsqueda por significado. "Cómo cancelo mi suscripción" encuentra un documento que habla de "dar de baja el plan", aun sin una palabra en común. La búsqueda tradicional por palabra clave no lo encontraría.
Lo que el embedding no hace bien, y es donde la gente se decepciona:
→ Negación. "Con intereses" y "sin intereses" quedan cerca, porque los textos son casi idénticos.
→ Identificadores. Código de producto, número de factura, SKU: el embedding es malo en eso.
→ Jerga de dominio. Un modelo genérico no conoce el vocabulario interno de tu empresa.
Por eso, en la práctica, la búsqueda híbrida (semántica más palabra clave) casi siempre le gana a cualquiera de las dos por separado.
Atención: el mecanismo que hizo que funcionara
Al producir cada token, el modelo mira todos los anteriores y pesa cuáles importan.
En la frase "el perro que estaba en el patio ladró", para decidir quién ladró, el modelo necesita ligar "ladró" a "perro" y no a "patio". La atención hace eso.
Ese mecanismo, presentado en 2017 en el artículo "Attention Is All You Need", es la razón del salto de calidad que llevó a los modelos actuales.
El coste: la atención compara cada token con todos los demás, lo que crece con el cuadrado del tamaño del contexto. Por eso el contexto largo es caro y lento, y por eso hay tanta investigación en atención eficiente.
Cómo un modelo se convierte en un asistente
Tres etapas, y explican muchas cosas.
Preentrenamiento. Lee una cantidad enorme de texto y aprende solo a predecir el próximo token. Aquí adquiere conocimiento y lenguaje. Es la etapa que cuesta decenas de millones de dólares.
Ajuste supervisado (SFT). Le muestran miles de ejemplos de buena conversación: pregunta y respuesta ideal. Aquí aprende el formato de asistente.
Alineamiento por preferencia (RLHF y variantes). Humanos comparan pares de respuestas e indican cuál es mejor. El modelo se ajusta para producir el tipo preferido. Aquí aprende tono, rechazo y utilidad.
Eso explica por qué el modelo base sabe mucho y es pésimo conversando, y por qué productos construidos sobre modelos parecidos se comportan de forma tan distinta. Las dos últimas etapas son buena parte de la diferencia.
- 1PreentrenamientoLee texto en cantidad enorme y aprende solo a predecir el próximo token. Aquí adquiere conocimiento. Cuesta decenas de millones.
- 2Ajuste supervisadoMiles de ejemplos de buena conversación. Aquí aprende el formato de asistente.
- 3Alineamiento por preferenciaHumanos comparan pares de respuestas. Aquí aprende tono, rechazo y utilidad.
La alucinación no es un bug
Esta es la parte más importante.
El modelo inventa con confianza porque fue entrenado para producir el texto más probable. Un texto plausible es más probable que un rechazo. Y no existe en él un mecanismo interno que separe "yo sé" de "estoy completando".
La alucinación es consecuencia directa del objetivo de entrenamiento.
Lo que la reduce, en orden de eficacia:
-
Dar el contexto correcto. Para eso sirve RAG.
-
Exigir cita de la fuente. Hace que la invención sea verificable.
-
Enseñar a rechazar. Instrucción explícita más ejemplos de rechazo en el prompt. Sin ejemplo, el modelo no aprende el formato del rechazo.
-
Temperatura baja para tareas factuales.
-
Verificar la salida con código determinista. Si el modelo devolvió un id, comprueba que existe.
Lo que no la reduce: pedirle por favor que no alucine.
La regla que lo resume: el modelo propone, el código dispone.
Temperatura y ventana de contexto
La temperatura controla cuánto se aleja la elección del próximo token del más probable. Cerca de cero es lo más determinista posible, aun así no totalmente reproducible, por detalles de ejecución paralela.
Extracción, clasificación y código piden temperatura baja. La escritura creativa pide alta.
La ventana de contexto creció mucho: hoy tenemos de cientos de miles a un millón de tokens. Pero un contexto grande no significa atención uniforme: existe el efecto documentado de perder lo que está en el medio. El modelo presta más atención al principio y al final.
Consecuencia de diseño: instrucción al principio, material en el medio, pregunta al final.
Y el coste crece con el contexto. Meter un documento gigante en cada llamada es caro y empeora la calidad. Recuperar el fragmento correcto es mejor que mandarlo todo, que es, una vez más, el argumento del RAG.
Qué llevarse
El token define precio y límite. El embedding permite búsqueda por significado, con puntos ciegos conocidos. La atención es el mecanismo, y es lo que hace caro el contexto. La alucinación es consecuencia del objetivo, no un defecto.
Y la decisión de arquitectura que se desprende de todo eso: tu trabajo no es escribir un prompt bonito. Es decidir qué entra en la ventana, en qué orden, y qué se queda fuera.
Lee esto después
- IngenieríaPaso 12Qué estructura de datos para qué problemaUna guía de decisión por problema, y no por estructura. Tienes una necesidad; qué estructura responde, y a qué coste.Leer artículo
- IngenieríaPaso 11B-tree contra LSM-tree: por dentro del índice de tu base de datosPor qué Postgres es bueno en rangos y Cassandra es bueno escribiendo. No es marketing: es el árbol que cada uno eligió, y la cuenta que cada elección cobra.Leer artículo
- IngenieríaPaso 9Observabilidad: métrica, log y trace, y qué responde cada unoLos tres pilares no son intercambiables. Cada uno responde una pregunta distinta, y usar el equivocado es el motivo de investigaciones que duran horas.Leer artículo