blog about dark mmfilesi
context engineering · ·8 min ·Beginner

¿En qué idioma piensan los LLMs?

¿Cómo pueden los modelos de lenguaje hablar finés, chino o incluso klingon? ¿Podemos saber en qué idioma piensan los LLM.

1. El signo: significante y significado

La capacidad de los grandes modelos de lenguaje de saltar de un idioma a otro y de entender tantas y tantas lenguas resulta fascinante, y estoy seguro de que va a impulsar el conocimiento de una manera extraordinaria en los próximos años. Pero, ¿por qué funciona tan bien? ¿Por qué saben hablar idiomas tan dispares como el finés, el italiano o el chino? ¿Cómo son capaces, incluso, de tener nociones de idiomas inventados como el klingon o el élfico sindarin?

Para responder a estas cuestiones podemos empezar por recordar algunas propuestas del lingüista y filósofo Ferdinand de Saussure (1857-1913). En Curso de Lingüística General, un libro póstumo publicado en 1916 que recoge las clases que dio en la Universidad de Ginebra entre 1906 y 1911, Saussure explicaba que debemos diferenciar entre el significante y el significado, y que el signo nace de la unión de ambos.

Según Saussure, el significante es la forma material del signo, la parte perceptible. Puede ser una secuencia de sonidos cuando hablamos o de letras cuando escribimos. Por ejemplo, la palabra «hipopótamo» como conjunto de sonidos /i.poˈpo.ta.mo/ o como letras h-i-p-o-p-ó-t-a-m-o.

«La imagen acústica no es el sonido material, cosa puramente física, sino su huella psíquica, la representación que de él nos da el testimonio de nuestros sentidos; esa imagen es sensorial, y si llegamos a llamarla «material» es solamente en este sentido y por oposición al otro término de la asociación, el concepto, generalmente más abstracto».

El significado, en cambio, es el concepto: la idea de hipopótamo asociada a ese significante.

El signo lingüístico es la combinación de ambos, y su relación es totalmente arbitraria. No hay conexión natural entre la palabra y la cosa que representa. Podríamos haber llamado gumare al hipopótamo, tal y como se dice en amárico, la principal lengua de Etiopía. No hay nada en ese término que condicione nuestra imagen mental del signo, a pesar de que «hipopótamo» suena más rotundo que «libélula» o «susurro».

Y lo curioso es que con el idioma que hablan los grandes modelos de lenguaje quizás suceda algo parecido.

2. De la palabra al token

Por paradójico que parezca, los grandes modelos de lenguaje no trabajan con palabras, sino con números. Así que, cuando prompteamos, lo primero que ocurre es una traducción: las palabras se convierten en números. Y para eso hay que descomponerlas en tokens. Un token puede ser desde un solo carácter hasta una palabra entera, y cada modelo trabaja con su propio diccionario. Por ejemplo, en el de ChatGPT, que se puede consultar online, la expresión «El elefante bebe agua» se convierte en seis tokens.

El - ele - f - ante - bebe - agua
La frase «El elefante bebe agua» segmentada en seis tokens de distinto tamaño
Descomposición en tokens de la frase «El elefante bebe agua»

Y aquí es normal que nos asalte ya una primera duda: ¿por qué hay tokens que son una palabra completa, como «agua», y otros que son una sola letra, como «f»? ¿Sigue algún criterio que podamos entender?

La respuesta está en los números y, una vez más, en la fuerza bruta. Para que una secuencia de caracteres entre en el diccionario de un modelo, el criterio no es semántico —la IA no sabe qué es un elefante— sino estadístico y de eficiencia.

Si el vocabulario fuera demasiado pequeño y estuviera formado solo por caracteres individuales como a, b, c, el modelo perdería mucha eficiencia. Las frases serían larguísimas y le costaría encontrar relaciones entre caracteres sueltos. Si, por el contrario, fuera demasiado grande e incluyera todas y cada una de las palabras de cada idioma, con sus erratas y sus conjugaciones, el modelo se volvería inmanejable. Solo almacenar semejante cantidad de datos consumiría toda la memoria, y el entrenamiento sería inviable.

Una de las maneras de resolver este dilema se llama Byte Pair Encoding (BPE), codificación de pares de bytes, y consiste en fusionar, una y otra vez, los pares de caracteres que más se repiten. En esencia, los pasos son estos:

1. Primero se parte el texto en sus unidades mínimas. BPE no arranca de un idioma concreto, sino de caracteres sueltos —la «b», la «,», la «é»—, lo que le permite, en principio, digerir cualquier lengua con el mismo método.

2. Luego comienza el conteo de frecuencia. Un algoritmo escanea un corpus masivo de texto y cuenta cuántas veces aparece cada par de caracteres adyacentes, como «te» o «go».

3. El par más frecuente se fusiona en un token nuevo. Si «t» y «e» aparecen juntos una y otra vez, se crea el token «te».

4. El algoritmo vuelve a escanear y repite el proceso. Ahora «te» puede fusionarse con «n» para formar «ten», y luego «ten» con «go» para formar «tengo».

5. Y así, pasada tras pasada, miles y miles de veces, hasta que el diccionario alcanza un tamaño predefinido: por ejemplo, 100.000 tokens.

De esta forma, las palabras muy comunes, como «bebe» o «agua», acaban siendo un solo token, porque aparecen juntas tantas veces que se fusionan por completo. Las raras o complejas se quedan fragmentadas en subunidades, como «ele» - «f» - «ante» 1.

3. Del token al embedding

Así, cuando se envía una expresión al modelo, lo primero que hace es convertirla en tokens, cada uno de los cuales se corresponde con un identificador numérico único. Por ejemplo, la expresión «La gata mira la ventana» se descompone en cinco tokens, uno por palabra, y cada uno se traduce a un id.

La - gata - mira - la - ventana
[4579, 133933, 87685, 557, 93033]

En este momento, los LLM siguen pensando en el idioma de entrada. La misma expresión en inglés genera otros tokens con sus correspondientes ids.

The cat watches the window
[198, 976, 9059, 842, 5734]

Luego, cada uno de esos ids se convierte a su vez en un embedding: una representación numérica del dato, un vector que puede tener desde decenas hasta miles de números —de dimensiones— según el modelo: 384, 768, 1024, 1536, 3072, 4096... Y lo interesante es que el vector en su conjunto codifica el significado del contenido.

Eso se parece a las coordenadas geográficas, pero a lo bestia. Las coordenadas de Ulán Bator se definen con un vector de dos dimensiones, [47.921, 106.905], donde el primer número es la latitud y el segundo la longitud. Un embedding hace algo parecido, solo que con cientos o miles de dimensiones en lugar de dos. Conviene un aviso, eso sí: aquí la analogía empieza a tensarse. En las coordenadas, cada número significa algo concreto y nombrable. En un embedding, en cambio, el significado está repartido por todo el vector, y las dimensiones, tomadas una a una, no suelen corresponder a conceptos limpios como «mamífero» o «mascota». Es cómodo imaginarlo así, pero no es lo que ocurre. Lo que hay es una huella distribuida, no una casilla por idea.

Hasta aquí el proceso no ha sido más que una traducción mecánica de palabras a vectores, y cada token arrastra todavía su idioma de origen. Pero empieza a haber cierta convergencia. En términos de Saussure: el significante —la forma concreta, las letras, el idioma— pesa cada vez menos, mientras que el significado gana terreno.

Un ejemplo con números inventados: los embeddings de «gato» y de «cat» pueden tener ya un núcleo semántico muy próximo, aunque con pequeñas diferencias numéricas entre un idioma y otro.

gato: [0.23, 0.87, -0.14, 0.61, ...]
cat:  [0.24, 0.85, -0.13, 0.60, ...]

A continuación los vectores entran en la red neuronal del modelo y se van transformando una y otra vez según el contexto en el que aparece cada palabra. El vector de «gato» en «el gato mira por la ventana», donde es sujeto, no es el mismo que en «he adoptado un gato», donde es objeto directo; y ninguno de los dos coincide con el de «he cambiado la rueda con un gato», donde la palabra nombra el artilugio metálico que levanta el coche.

Esas transformaciones se producen a lo largo de las capas de la red, y en cada una se activan unos matices u otros. Es un marco orientativo —la realidad es más fluida—, pero nos sirve para verlo como un pipeline de abstracción creciente. (Los números van exagerados a propósito, para que se note el cambio.)

  • Capa 1: «gato» — es una palabra, un sustantivo — [0.23, 0.87, -0.14, ...]
  • Capa 4: «gato» — es un animal — [0.23, 0.71, -0.14, ...]
  • Capa 8: «gato» — es un mamífero doméstico — [0.23, 0.71, -0.52, ...]
  • Capa 16: «gato» — en este contexto es el sujeto, probablemente seguido de un verbo de movimiento — [0.23, 0.71, -0.52, ...]

En este recorrido, cada vector se va afinando en función del resto. Al final, el vector del último token ha sido transformado por la influencia de todos los anteriores a través de la atención. Sigue siendo el vector de «el», pero ya no es el mismo: lleva impresa la huella de toda la expresión. En «el gato está en el...», ese último «el» arrastra ya algo así como «hay un felino y falta decir dónde está».

Ese vector se multiplica por una matriz de salida (unembedding matrix), que lo proyecta sobre el vocabulario completo del modelo y produce un número para cada token posible. Esos números son los logaritmos de las probabilidades correspondientes, y se llaman logprobs. No son una lista de candidatos ya elegidos, sino una distribución sobre todo el vocabulario: cada token tiene asignada una probabilidad, y los más probables son simplemente los de valor más alto. Si el modelo ha visto 55 veces «el gato está en el tejado» y solo una «el gato está en el tren», escogerá «tejado» con mucha más probabilidad que «tren».

La pregunta, entonces, es esta: en todo el recorrido que va desde que un token empieza a cargarse de sentido según el contexto hasta que se convierte en un logprob, ¿en qué idioma piensa el modelo?

4. Un vistazo a la maquinaria

Para saber en qué idioma piensan los modelos, lo primero es poder ver qué sucede dentro. Y eso es complicado, porque los modelos de lenguaje son cajas negras. Se sabe lo que entra y lo que sale, pero el recorrido interior —esas decenas de capas donde los vectores se transforman miles de veces— es en gran medida opaco, incluso para quienes los construyen. Nadie diseñó conscientemente qué debía ocurrir en cada capa. Esos comportamientos emergieron solos durante el entrenamiento, como propiedades no planificadas de un sistema optimizado para predecir el siguiente token. No se sabe a priori que en la capa 13, pongamos, vaya a existir un mecanismo para anticipar si el siguiente token será un artículo, un verbo o un sujeto.

Para asomarse a ese interior existe un campo de investigación llamado interpretabilidad mecanística, cuyo objetivo es hacer ingeniería inversa de los modelos: desmontar sus piezas, identificar qué computa cada componente y trazar el circuito que conecta una entrada con una salida. Equivale a tratar de entender para qué sirven los engranajes de un motor sin manual de instrucciones.

Dos herramientas que se han usado con éxito en esta deconstrucción son Logit Lens y su derivada, más sofisticada, Tuned Lens, que en esencia consisten en interceptar el vector de un token en cada capa y proyectarlo sobre el vocabulario, como si esa fuera la última, para ver qué token produciría en ese momento. El resultado es una secuencia de instantáneas en las que se advierte cómo evoluciona la predicción capa a capa. Es como capturar un fotograma de la película mental que el modelo está montando. Y lo que se ha encontrado al mirar esos fotogramas es anticlimático, pero revelador.

Lisa Schut, Yarin Gal y Sebastian Farquhar investigaron la cuestión con cuatro modelos multilingües: Llama-3.1, Gemma, Aya y Mixtral. En su paper Do Multilingual LLMs Think In English?, explicaron que la representación interna de estos modelos no es tan neutral entre idiomas como cabría esperar, sino que está sesgada hacia el inglés. Dicho en su forma más llamativa, la que ha circulado más, estos modelos pensarían en inglés.

Conviene mirar qué significa eso exactamente, porque el hallazgo tiene un matiz que lo hace más interesante. Si a uno de estos modelos se le pregunta algo en francés o en mandarín y nos asomamos a sus capas intermedias con la Logit Lens, el token que emerge con más fuerza para las palabras con carga semántica —los sustantivos, los verbos— tiende a ser el inglés, «cat» antes que «gato». Pero esto no ocurre con todas las palabras. Las piezas gramaticales —preposiciones, artículos, conjunciones— apenas pasan por el inglés. Es decir, el modelo parece resolver el significado en inglés, pero no el andamiaje que lo sostiene. Solo en las últimas capas el resultado vuelve a inclinarse hacia el idioma en que se hizo la pregunta.

La distinción no es menor, y aquí merece la pena frenar un momento. Lo que viaja por el inglés son los conceptos, las palabras que cargan el sentido; lo que se queda en el idioma de origen es la estructura. Un «de» sigue siendo «de», pero un «gato» pasa antes por «cat».

La razón, según los autores, está sobre todo en los datos de aprendizaje. La mayor parte del texto con que se entrenan estos modelos está en inglés, así que el sistema acaba tendiendo sus conexiones más fuertes en ese idioma. Y el grado de anglocentrismo varía de un modelo a otro en función de cuán multilingüe haya sido ese entrenamiento: Aya, el más políglota de los cuatro, es el que menos recurre al inglés; Gemma, el menos diverso, el que más, hasta enrutar por inglés en torno al 70% de las palabras.

En esa misma línea, otros estudios apuntan a que todo depende, en última instancia, del idioma predominante en los datos. En Beyond English-Centric LLMs: What Language Do Multilingual Language Models Think in?, Chengzhi Zhong y sus colegas quisieron comprobar si lo de «pensar en inglés» se daba también en modelos modificados o entrenados desde el principio para ser expertos en otra lengua, en este caso el japonés. Para ello compararon tres tipos:

  • Llama-2: un modelo estándar, fuertemente anglocéntrico.
  • Swallow: un modelo basado en Llama-2, pero con un entrenamiento posterior intensivo en japonés.
  • LLM-jp: un modelo construido desde cero con un corpus equilibrado de inglés y japonés.

En el modelo anglocéntrico, el resultado fue el esperado: se apoyaba en el inglés. Aunque la tarea fuera repetir una palabra en francés o traducir del chino al japonés, sus capas intermedias se inclinaban casi solo hacia el inglés, que hacía de puente entre las primeras capas y las últimas.

Pero en los modelos con entrenamiento más equilibrado, Swallow y LLM-jp, la cosa cambiaba. Sus capas intermedias no tiraban solo del inglés: activaban a la vez inglés y japonés para procesar la lógica. Los autores lo llaman lenguas latentes internas duales (dual internal latent languages).

La conclusión de estos autores es que los modelos no están condenados a pensar en inglés. Que lo hagan es un efecto secundario de un entrenamiento pobre en otras lenguas. Si un modelo se entrena desde el principio de forma equilibrada, como LLM-jp, o recibe una especialización posterior fuerte, como Swallow, su «idioma mental» se vuelve híbrido.

Quedémonos con esa idea, porque es la que conviene examinar: estos sistemas parecen pensar en inglés, o en una mezcla, según con qué se los haya alimentado. Pero hay una palabra que llevamos usando con demasiada comodidad. ¿Qué quiere decir, exactamente, que un modelo «piensa» en un idioma?

5. Conclusiones inconclusas

Como vimos, para Saussure el signo lingüístico es una entidad de dos caras: el significante —la imagen acústica o la palabra escrita, el componente físico— y el significado —el concepto mental al que se refiere, la idea abstracta—. Las dos caras de una misma hoja de papel.

En los LLM, sin embargo, el significado puede existir temporalmente desprendido de su significante original. Actúan como máquinas saussureanas: toman un significante en un idioma, le extraen el significado de forma matemática en un espacio conceptual sesgado hacia el inglés, y luego le tejen un significante nuevo en el idioma que el usuario haya pedido. Y hay un detalle que encaja demasiado bien para pasarlo por alto. Lo que parece que más viaja por ese espacio inglés son justamente las palabras con carga semántica, los conceptos; la gramática, el andamiaje, se queda atrás. Es decir, lo que se desprende del significante es, sobre todo, el significado.

Todo esto se puede llevar a un terreno más epistemológico. ¿Tiene sentido decir que un vector es «inglés» —o el idioma que sea— antes de convertirse en significante, o es solo significado? ¿Es un vector de 4096 dimensiones lo mismo que la palabra física, el significante, ya sea «gato», «cat», «chat» o «kot»? ¿O es más bien una representación matemática del puro significado?

Invito al lector a sacar sus propias conclusiones; yo intuyo que no es un significante. Un significante, en términos saussureanos, exige una forma material concreta, una imagen acústica o visual: c-a-t. Y un vector no tiene forma material. Es un punto en un espacio de miles de dimensiones.

El vector dentro del modelo es una coordenada semántica. Al aplicar la Logit Lens, el token que asoma con más probabilidad es «cat», pero que «cat» gane no significa que el modelo «piense en inglés»: dentro no hay palabras de ningún idioma, solo significados.

Dicho de otra forma, si pienso en los gatos que me han acompañado a lo largo de mi vida, me vienen a la cabeza imágenes visuales, sonidos, sensaciones y palabras; un batiburrillo descomunal de significados, un vector multidimensional estratosférico que supera con creces los límites de la expresión que puedo construir con los significantes, con los tokens: «siempre he vivido con gatos». El idioma es, en suma, una capa de traducción periférica. Y la naturaleza de estos modelos, sospecho, es más translingüística que inglesa.

En fin, tengo que darle muchas más vueltas al asunto. De momento, lo dejamos aquí.

Mapa conceptual del texto
Mapa conceptual del artículo

Para saber más

  • Gao, Leo et al. Weight-sparse transformers have interpretable circuits. Noviembre de 2025. arXiv:2511.13653

  • Panchal, Mihir et al. Indic-TunedLens: Interpreting Multilingual Models in Indian Languages. Febrero de 2026. arXiv:2602.15038

  • Schut, Lisa. Do Multilingual LLMs Think In English? Febrero de 2025. arXiv:2502.15603

  • Zhong, Chengzhi. Beyond English-Centric LLMs: What Language Do Multilingual Language Models Think in? Agosto de 2024 arXiv:2408.10811v1

Notas

1. Tokens especiales

Además, en este diccionario se añaden una serie de tokens especiales, siguen dos convenciones principales de notación:

  • La clásica. que es la de BERT y los primeros modelos usa corchetes: [CLS], [SEP], [PAD], [UNK], [MASK]. Son tokens cortos y genéricos, pensados sobre todo para tareas de clasificación y entrenamiento.
  • La moderna usa el formato de tags de los lenguajes de marcas, como XML o HTML, como <|...|>: <|begin_of_text|>, <|user|>, <|eot_id|>. Las barras verticales y el texto descriptivo hacen casi imposible que esas secuencias aparezcan por accidente en texto normal, lo que evita colisiones, y encajan mejor con el formato conversacional por turnos de los modelos actuales.

Por ver algunos ejemplos agrupados por categorías.

1. Delimitadores de Secuencia

Estos son los más comunes. Sirven para enmarcar el mensaje, para indicarle al modelo dónde empieza y dónde termina un fragmento de información.

  • [BOS] (Beginning of Sequence) o <|begin_of_text|>: Marca el inicio absoluto de una entrada. Le dice al modelo que ahí empieza el contexto.

  • [EOS] (End of Sequence) o <|end_of_text|>: Es importantísimo, pues le dice al modelo que ahí termina el mensaje, que deje de generar texto. Sin este token, el modelo entraría en un bucle infinito o seguiría escribiendo cosas sin sentido, lo cual es muy útil para componer poemas dadaístas, pero poco más.

2. Tokens de Separación

Son tokens para identificar turnos de conversación y rol, para que el modelo distinga quién dijo cada cosa.

  • Tokens de Rol como <|user|>, <|assistant|> o <|system|>, que sirven para que el modelo entienda quién está hablando, para que sepa que parte de una conversación es del usuario y cuál del modelo, del asistente.

  • [SEP] (Separator): Se usa para separar dos frases o dos contextos distintos dentro de una misma entrada, lo que permite entender al modelo que, aunque están juntos, son unidades diferentes.

3. Tokens auxiliares

  • [PAD] (Padding): Los ordenadores procesan los datos en bloques, matrices, de un tamaño fijo. Si una frase es corta, se rellena con este token [PAD] para que toda la "matriz" tenga el mismo largo. Es un token que el modelo ignora o trata como "espacio vacío" durante el entrenamiento.

  • [UNK] (Unknown): Si el tokenizador encuentra un carácter o símbolo que no existe en su diccionario original. Es el no lo sé del tokenizador.

4. Tokens de control avanzado

  • Tokens de herramientas (Tool Calls) como <tool_call> y </tool_call> que se usan en los modelos modernos para que usen herramientas como buscar en internet o hacer un cálculo.

  • Thought: Tokens de razonamiento como <think> y </think>, que delimitan la cadena de pensamiento interna del modelo antes de dar la respuesta final.

Así, por ejemplo, podría quedar un texto que le pide a un modelo cómo hacer una tortilla de patatas.

<|begin_of_text|>
<|system|>
Eres un asistente útil.
<|eot_id|>
<|user|>
Enséñame a hacer una tortilla de patatas.
<|eot_id|>
<|assistant|>
<think>
El usuario quiere una receta sencilla. Voy a listar ingredientes y pasos.
</think>
Necesitas patatas, huevos, cebolla y aceite. Primero...
<|eot_id|>
<|end_of_text|>
mmfilesi · 2026