Resumen: La mayoría de las explicaciones sobre cómo funcionan los LLMs se detienen en “es una red neuronal entrenada con mucho texto.” Eso no es incorrecto, pero tampoco es útil. Esta entrada va capa por capa: desde cómo tus palabras se fragmentan en tokens, pasando por la geometría del significado y el mecanismo de atención, hasta el objetivo de entrenamiento que, sorprendentemente, escala hacia comportamientos similares al razonamiento. Si usas LLMs de forma profesional y quieres entender qué está computando realmente la máquina, esta es la imagen honesta.
Hay un tipo específico de frustración que surge de leer diez explicaciones distintas sobre cómo funcionan los modelos de lenguaje a gran escala y seguir sin poder responder la pregunta: ¿pero qué está calculando realmente?
La capa de marketing te dice que los LLMs “están entrenados en internet” y pueden “entender el contexto.” La capa hiperbólica te dice que son proto-conscientes (no me convence este termino) o simplemente autocompletado elaborado. Ninguna es útil si estás tomando una decisión real: sobre si confiar en el resultado, sobre por qué falla de la manera en que falla, sobre cuáles son realmente los límites arquitectónicos.
Lo que sigue es la imagen mecánica. No es un curso de posgrado, pero tampoco es una mentira.
Paso 1: Tu texto no entra como palabras
Cuando escribes un mensaje a un LLM, lo primero que ocurre no tiene nada que ver con redes neuronales. Tu texto se divide en tokens — unidades de subpalabra que son la moneda real del sistema.
La mayoría de los LLMs modernos utilizan una variante de Byte Pair Encoding (BPE), un algoritmo de compresión adaptado para NLP por Sennrich, Haddow y Birch [1]. El algoritmo comienza con caracteres individuales y fusiona iterativamente los pares que aparecen con mayor frecuencia, hasta obtener un vocabulario fijo de típicamente 50.000 a 100.000 tokens en modelos grandes.
El resultado es un vocabulario donde las palabras comunes tienen su propio token (cat, the, running), pero las palabras más raras o largas se dividen en fragmentos. La palabra "strawberry" en el tokenizador de GPT-4 se divide en straw y berry. "Tokenization" se divide en token + ization. Una palabra como "uncharacteristically" puede convertirse en cuatro o cinco tokens.
Analogía: Imáginalo como un catálogo de biblioteca que asigna a cada libro un número de ID único. En lugar de buscar “strawberry”, el sistema busca la entrada 14823 (“straw”) y la entrada 6271 (“berry”): dos búsquedas separadas, dos pasos de procesamiento separados. El catálogo fue diseñado para ahorrar espacio, no para mapear limpiamente los límites de las palabras humanas.
Las consecuencias prácticas de esto no son triviales. El modelo nunca ve “strawberry” como una unidad única. Ve una secuencia de dos pasos, y cualquier patrón que el modelo haya aprendido sobre la palabra completa debe reconstruirse a partir de esas piezas. Esta es una de las razones por las que los LLMs son sorprendentemente malos en tareas a nivel de caracteres (como contar letras en una palabra): la unidad fundamental del modelo no son letras ni palabras, son IDs de tokens. (Ahora puedes refutar a los “expertos” que postean en linkedIn cuando estos modelos no pueden contar el numero de “r”s en la palabra “strawberry”)
Una vez tokenizado, cada token se mapea a un entero. Para una oración de 20 palabras, podrías tener entre 25 y 30 IDs enteros pasándose al modelo real.
Paso 2: Los enteros se convierten en geometría
Una lista de IDs enteros no es útil para una red neuronal por sí sola — no puedes hacer cálculo sobre el token número 14823 de manera que codifique que es semánticamente similar al token 6271. El siguiente paso es el embedding: cada entero se mapea a un vector de alta dimensión, típicamente de 768 a 12.288 números según el tamaño del modelo.
Piensa en esto como colocar cada token en una coordenada específica en un espacio de muy alta dimensión. A diferencia de las coordenadas GPS (que tienen dos dimensiones. Simplificamos para no lidear con el eje Z), los vectores de embedding pueden tener 4.096 dimensiones. Pero la misma lógica geométrica aplica: los tokens semánticamente relacionados terminan cerca en ese espacio, y las distancias y direcciones codifican relaciones significativas.
La base de esta idea fue establecida por Mikolov, Sutskever, Chen, Corrado y Dean en Google en 2013 con word2vec [2]. Su modelo Skip-gram demostró que se podían entrenar vectores únicamente prediciendo palabras de contexto, y la geometría resultante era sorprendentemente significativa. El ejemplo clásico: el vector de “king” menos “man” más “woman” aterriza cerca de “queen.” La dirección en el espacio codifica relaciones conceptuales.
Word2vec fue una revelación, pero tenía una limitación fundamental: cada palabra recibía exactamente un vector, independientemente del contexto. La palabra “bank” — institución financiera o ribera de río — obtenía un único punto en el espacio, un promedio tosco de sus significados. Esa representación estática era demasiado imprecisa para la comprensión del lenguaje a escala.
La arquitectura Transformer, y específicamente el mecanismo de self-attention, resolvió esto. En un Transformer, el embedding de un token no es fijo — evoluciona a través de la red en función de todos los demás tokens en la secuencia. Cuando “bank” ha pasado por varias capas, su vector ha sido atraído hacia el clúster de institución financiera si apareció cerca de “loan” e “interest rate”, o hacia el clúster geográfico si apareció cerca de “river” y “flood.” El embedding se vuelve contextual.
Paso 3: El Transformer — qué cambió realmente “Attention Is All You Need”
El artículo de 2017 de Vaswani, Shazeer, Parmar, Uszkoreit, Jones, Gomez, Kaiser y Polosukhin [3] es uno de los más citados en la historia del machine learning. Su título, “Attention Is All You Need,” era una afirmación directa: no necesitas recurrencia ni convoluciones. Necesitas attention.
Para entender por qué esto fue un cambio de dirección, necesitas saber qué venía antes.
Las redes neuronales recurrentes (RNNs) y sus descendientes más sofisticadas, las Long Short-Term Memory networks (LSTMs), procesaban secuencias token por token, de izquierda a derecha. Cada paso comprimía todo lo anterior en un estado oculto de tamaño fijo y lo pasaba hacia adelante. Esto funcionaba, pero tenía dos problemas. Primero, el estado oculto era un cuello de botella — un vector de 512 dimensiones intentando codificar todo el contexto de un párrafo. Segundo, el procesamiento era secuencial, lo que lo hacía lento de entrenar en hardware paralelo moderno.
El self-attention reemplazó el cuello de botella secuencial con un mecanismo diferente: cada token mira a todos los demás tokens simultáneamente y decide cuánto peso asignarle a cada uno.
El mecanismo Q/K/V
Esto funciona a través de tres proyecciones lineales aprendidas del embedding de cada token: Query (Q), Key (K) y Value (V).
Imagina a una bibliotecaria de referencia (el Query) revisando un sistema de fichas (los Keys). Cada ficha describe el tema de un libro. La bibliotecaria calcula una puntuación de relevancia para cada ficha comparando su consulta con la descripción de la ficha. Las fichas con puntuaciones altas se recuperan; los libros reales detrás de esas fichas (los Values) se extraen en proporción a esas puntuaciones. La respuesta final de la bibliotecaria es una combinación ponderada del contenido de los libros recuperados.
El mecanismo real: para una secuencia de tokens, el vector Query de cada token se compara con el vector Key de cada otro token mediante un producto punto, escalado por la raíz cuadrada de la dimensión del vector (un truco de normalización para evitar que productos punto muy grandes colapsen los gradientes). Estas puntuaciones brutas pasan por una función softmax para producir una distribución de probabilidad — los attention weights. La salida de cada token se calcula entonces como una suma ponderada de todos los vectores Value, donde los pesos son las puntuaciones de atención.
Expresado directamente: la salida para el token i es:
Attention(Q, K, V) = softmax( Q · Kᵀ / √d_k ) · V
donde d_k es la dimensión de los vectores key.
Esto se calcula en paralelo para todos los tokens simultáneamente, lo que lo hace drásticamente más rápido de entrenar que las RNNs secuenciales. Y como cada token puede atender a cualquier otro sin penalización por distancia, las dependencias de largo alcance — “el sujeto de esta oración de hace tres cláusulas” — se aprenden con la misma facilidad que las de corto alcance.
El multi-head attention ejecuta este proceso en paralelo a través de múltiples conjuntos de proyecciones Q/K/V. Cada “cabeza” puede aprender a atender a un tipo diferente de relación: una cabeza puede capturar dependencias sintácticas, otra similitud semántica, otra proximidad posicional. Las salidas de todas las cabezas se concatenan y se proyectan de nuevo a la dimensión original.
Este fue el unlock arquitectónico central. El Transformer reemplazó un cuello de botella secuencial con una reponderación paralela, dinámica y consciente del contexto de toda la entrada en cada capa.
Paso 4: La profundidad — capas, residuales y Layer Norm
Una sola capa de attention no es un modelo de lenguaje. La arquitectura real apila muchas de estas capas — GPT-3 usa 96 capas [4]. ¿Qué aporta la profundidad?
La respuesta práctica es la abstracción composicional. Las capas tempranas tienden a codificar patrones de superficie: si los tokens son sustantivos o verbos, si están en mayúsculas, su posición relativa a la puntuación. Las capas intermedias codifican relaciones a nivel de frase: concordancia sujeto-verbo, referencia pronominal, límites de entidades nombradas. Las capas profundas codifican semántica abstracta: que este párrafo está construyendo un argumento causal, que esta oración es una concesión a un contraargumento.
Piensa en las capas como estratos geológicos. Un geólogo que lee un núcleo de roca de arriba (superficial, reciente) a abajo (profundo, antiguo) ve estructuras progresivamente más fundamentales. Las capas Transformer se apilan de manera similar: cuanto más profundo vas, más abstracta y comprimida es la representación.
Dos características arquitectónicas hacen que esta profundidad sea práctica:
Las conexiones residuales (tomadas de la literatura de visión por computadora, notablemente del trabajo ResNet de He et al. [5]) añaden la entrada de cada subcapa directamente a su salida. En forma de fórmula: output = F(x) + x. Esto significa que la señal del gradiente puede fluir hacia atrás a través de la red sin desvanecerse a lo largo de docenas de capas — el camino residual da a los gradientes una autopista directa. También significa que cada capa solo necesita aprender una corrección incremental sobre lo que las capas anteriores ya computaron, en lugar de aprender la representación completa desde cero.
La normalización de capas (Layer Normalization) [6], introducida por Ba, Kiros y Hinton, normaliza las activaciones dentro de cada capa para tener media cero y varianza unitaria antes de la siguiente computación. Sin esto, la magnitud de las activaciones puede explotar o colapsar de manera impredecible al pasar por muchas capas. LayerNorm mantiene el entrenamiento estable.
Juntas, las conexiones residuales y LayerNorm son el andamiaje de ingeniería que hace que las redes de 96 capas sean entrenables.
Paso 5: El objetivo de entrenamiento que rinde más de lo esperado
Aquí está el hecho más sorprendente de toda la IA moderna: estos modelos se entrenan con una sola tarea.
El objetivo completo del pre-entrenamiento es la predicción del siguiente token. Dada una secuencia de tokens, predice la distribución de probabilidad sobre qué viene a continuación. Eso es todo. El modelo ve una secuencia de tokens, hace una predicción, se compara con el token real siguiente, y los parámetros se ajustan mediante descenso de gradiente. Repite esto a través de cientos de miles de millones de tokens de texto.
Un niño aprende el lenguaje en parte completando oraciones: “El gato se sentó en el ___.” Un modelo de lenguaje hace exactamente esto — 500 mil millones de repeticiones, a través de esencialmente todos los patrones textuales del lenguaje humano escrito.
Lo que hace esto extraño es que la tarea parece demasiado simple para producir lo que produce. Predecir el siguiente token en un artículo de química requiere entender química. Predecir el siguiente token en un escrito legal requiere entender la argumentación jurídica. Predecir el siguiente token en un bloque de código Python requiere entender la sintaxis y semántica del lenguaje. El modelo se ve obligado, por la enorme diversidad de su corpus de entrenamiento, a construir representaciones internas capaces de razonar en todos estos dominios.
El artículo GPT-2 de Radford et al. (2019) [7] fue el primero en demostrar esto de manera convincente a escala — un modelo entrenado puramente con predicción del siguiente token, sin fine-tuning específico para tareas, podía generar texto coherente, responder preguntas de comprensión lectora y traducir entre idiomas que nunca se le enseñó explícitamente a traducir. El artículo GPT-3 de Brown et al. (2020) [4] escaló esto a 175 mil millones de parámetros y mostró que el few-shot learning — la capacidad de realizar nuevas tareas con solo unos pocos ejemplos en el prompt — emergió como función de la escala.
El artículo de leyes de escala de Kaplan et al. (2020) [8] dio a este fenómeno una base cuantitativa. Los investigadores encontraron relaciones de ley de potencia limpias entre el tamaño del modelo, el volumen de datos de entrenamiento, el presupuesto computacional y el rendimiento. Los modelos más grandes entrenados con más datos y más cómputo rinden mejor de manera suave y predecible: sin transiciones de fase misteriosas, solo una curva. El artículo Chinchilla de seguimiento (Hoffmann et al., 2022) [9] refinó esto: los grandes modelos anteriores estaban significativamente subentrenados en relación con su tamaño. La receta óptima en términos de cómputo exige escalar el tamaño del modelo y los tokens de entrenamiento en proporción aproximadamente igual. Chinchilla, con 70 mil millones de parámetros entrenados con 1,4 billones de tokens, superó a GPT-3 a pesar de ser 2,5 veces más pequeño.
Paso 6: Del modelo pre-entrenado al asistente útil
Un modelo entrenado puramente con predicción del siguiente token es técnicamente capaz pero prácticamente difícil de usar. Continuará cualquier patrón que detecte en el prompt — incluyendo patrones dañinos, poco útiles o fuera de tema. El modelo pre-entrenado bruto no es ChatGPT.
El paso que cierra esta brecha es el post-entrenamiento, que actualmente combina fine-tuning supervisado y Reinforcement Learning from Human Feedback (RLHF).
El proceso, documentado en el artículo InstructGPT de Ouyang, Wu, Jiang y colegas en OpenAI (2022) [10], funciona en tres etapas:
1. Fine-tuning supervisado (SFT): Se muestran al modelo ejemplos de buen comportamiento de seguimiento de instrucciones — respuestas escritas por humanos a prompts de usuarios — y se hace fine-tuning sobre ellos. Esto le enseña al modelo el formato de las respuestas útiles.
2. Entrenamiento del modelo de recompensa: Se recopilan datos de preferencia humana — se presentan dos salidas del modelo a un evaluador humano y se pregunta cuál es mejor — y se entrena una red neuronal separada (el modelo de recompensa) para predecir las puntuaciones de preferencia humana.
3. Optimización de política con PPO: Se hace fine-tuning del modelo de lenguaje usando proximal policy optimization, tratando las puntuaciones del modelo de recompensa como la señal de recompensa. El modelo de lenguaje aprende a generar salidas que el modelo de recompensa califica con puntuaciones altas.
El artículo InstructGPT lo dijo directamente: “Hacer los modelos de lenguaje más grandes no los hace intrínsecamente mejores para seguir la intención del usuario.” RLHF es lo que alinea un predictor estadístico de texto con la noción de una respuesta útil. Los modelos ajustados por instrucciones como BERT [11] — que se afinaba en tareas específicas usando datos etiquetados — representan una versión anterior de esta intuición: pre-entrenar de forma general, luego especializar.
Lo que esta arquitectura no es
Habiendo descrito lo que hace el Transformer, vale la pena ser igualmente directo sobre lo que no hace, porque los límites de la arquitectura a menudo se presentan erróneamente como bugs que se corregirán, cuando en realidad son propiedades estructurales de cómo fue construido el sistema.
No hay un modelo del mundo incorporado. El modelo aprendió patrones estadísticos sobre texto. No aprendió un modelo causal del mundo. Sabe que “los antibióticos tratan infecciones bacterianas” porque esa frase aparece con alta frecuencia en su corpus de entrenamiento, no porque tenga un modelo de bacterias, sistemas inmunes o biología molecular. Para muchos propósitos prácticos, esta distincción no importa. Para algunos — como el razonamiento científico novedoso o tareas que requieren inferencia causal confiable en dominios con pocos datos de entrenamiento — importa enormemente.
Las alucinaciones no son un bug que se puede corregir; son una consecuencia estructural. Un modelo de predicción del siguiente token está optimizado para producir continuaciones plausibles. Cuando encuentra una pregunta cuya verdadera respuesta está ausente de su distribución de entrenamiento, produce una continuación que suena plausible de todas formas — porque eso es lo que fue entrenado para hacer. El modelo no tiene un estado “no sé” que se active cuando su confianza es baja. Las estrategias de mitigación (RLHF, aumento por recuperación, prompting de cadena de pensamiento) reducen la frecuencia de respuestas incorrectas con confianza, pero no eliminan la causa subyacente.
Las ventanas de contexto son una restricción real, no una configuración arbitraria. El mecanismo de self-attention tiene complejidad de memoria cuadrática en la longitud de la secuencia — procesar una secuencia de longitud N requiere memoria O(N²). Por eso existen las ventanas de contexto. Extenderlas requiere cambios arquitectónicos, actualizaciones de hardware o métodos de aproximación, no simplemente girar un dial. Investigaciones recientes sobre el “context rot” también han demostrado que el rendimiento puede degradarse con contextos muy largos incluso cuando están técnicamente dentro del límite de la ventana — la atención efectiva del modelo no es uniforme en todas las posiciones.
El modelo no “lee” tu prompt; procesa una secuencia de tokens de tamaño fijo. No hay distinción entre “el system prompt” y “la entrada del usuario” a nivel arquitectónico — ambos son simplemente secuencias de tokens concatenadas. La separación existe a nivel de la API, no en el modelo.
Por qué ganó esta arquitectura
Vale la pena detenerse a apreciar lo elegante que es esto. Un objetivo relativamente simple — predecir el siguiente token — aplicado a una arquitectura relativamente elegante — self-attention apilado con conexiones residuales — entrenado a escala suficiente produce sistemas que escriben código, resumen documentos legales, redactan correos, explican conceptos y mantienen conversaciones. Las “capacidades emergentes” que aparecen a gran escala no son magia; son la consecuencia de un objetivo de entrenamiento que recompensa al modelo por aprender las representaciones internas necesarias para predecir bien el texto en toda la escritura humana.
BERT [11] demostró que la misma arquitectura, apuntada en una dirección diferente (prediciendo tokens enmascarados bidireccionalmente en lugar del siguiente token autorregressivamente), aprendia representaciones poderosas para tareas de comprensión: clasificación, preguntas y respuestas, reconocimiento de entidades nombradas. El Transformer resultó ser una herramienta arquitectónica de propósito general, no una solución estrecha.
Las leyes de escala nos dicen que el sistema no ha alcanzado un techo. El rendimiento continúa mejorando con datos y cómputo de manera predecible. Eso no significa que la arquitectura actual sea la forma final de la IA — casi con certeza no lo es. Pero significa que el progreso de los próximos diez años tiene más probabilidades de venir del escalado, de una mejor curacón de datos, de mejores métodos de post-entrenamiento y de refinamientos arquitectónicos, que de un alejamiento total del Transformer.
Entender estos engranajes — tokens, embeddings, attention, apilamiento, predicción del siguiente token, RLHF — no es un prerrequisito para usar los LLMs de manera efectiva. Pero sí es un prerrequisito para usarlos honestamente: saber por qué fallan de la manera en que fallan, qué afirmaciones sobre ellos son creíbles y dónde está realmente la frontera del progreso.
Referencias
[1] Sennrich, R., Haddow, B., & Birch, A. (2016). Neural Machine Translation of Rare Words with Subword Units. arXiv:1508.07909
[2] Mikolov, T., Sutskever, I., Chen, K., Corrado, G., & Dean, J. (2013). Distributed Representations of Words and Phrases and their Compositionality. arXiv:1310.4546
[3] Vaswani, A. et al. (2017). Attention Is All You Need. arXiv:1706.03762
[4] Brown, T. B. et al. (2020). Language Models are Few-Shot Learners. arXiv:2005.14165
[5] He, K., Zhang, X., Ren, S., & Sun, J. (2016). Deep Residual Learning for Image Recognition. arXiv:1512.03385
[6] Ba, J. L., Kiros, J. R., & Hinton, G. E. (2016). Layer Normalization. arXiv:1607.06450
[7] Radford, A. et al. (2019). Language Models are Unsupervised Multitask Learners. OpenAI Blog
[8] Kaplan, J. et al. (2020). Scaling Laws for Neural Language Models. arXiv:2001.08361
[9] Hoffmann, J. et al. (2022). Training Compute-Optimal Large Language Models. arXiv:2203.15556
[10] Ouyang, L. et al. (2022). Training language models to follow instructions with human feedback. arXiv:2203.02155
[11] Devlin, J., Chang, M.-W., Lee, K., & Toutanova K. (2018). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805
¿Listo para hacer tu software AI-operable?
Cuéntanos tu proceso manual más doloroso. Te mostramos cómo se vería en versión agent-ready — y cuánto tomaría implementarlo.
