Tokens - Los "ladrillos" de la Inteligencia Artificial

Escrito por Xavier Cumplido Morales
Publicado el

Entender este importante componente en el uso de la IA puede hacer la diferencia entre ser eficaz, eficiente o efectivo.

Imagen de tokens - los ladrillos de la IA

La unidad fundamental con la que trabajan los modelos de IA

Introducción

En el corazón de cualquier modelo de inteligencia artificial, ya sea para generar texto, imágenes o código, existe un concepto fundamental: los tokens. Para nosotros los humanos, el lenguaje está compuesto por palabras, frases y párrafos. Sin embargo, para una máquina, la información debe traducirse a un lenguaje numérico. Aquí es donde entran en juego los tokens, actuando como los ladrillos esenciales con los que estos sistemas construyen y comprenden el mundo.

Comprender qué son los tokens, cómo se crean y cómo se utilizan no es solo una curiosidad técnica, sino un conocimiento práctico clave para cualquier persona que desee trabajar eficazmente con herramientas de IA. Determina desde la calidad de las respuestas que recibes hasta los costos y la eficiencia de tus aplicaciones.

En esta publicación, desglosaremos este concepto crucial de manera clara y práctica. Explicaremos qué es exactamente un token, por qué son necesarios, cómo varían según los diferentes modelos de IA, y cómo puedes aprender a ver y calcular su uso en tu día a día.

Índice


1. ¿Qué es un token?

En términos simples, un token es la unidad fundamental de información que utilizan los modelos de lenguaje grande (LLM por sus siglas en inglés, como GPT, Gemini o Llama) para procesar y generar texto.

Imagina que estás construyendo algo con bloques de LEGO. No puedes usar una pared entera de una sola vez, ni tampoco tienes que usar cada molécula de plástico individual. En su lugar, utilizas bloques estandarizados de diferentes formas y tamaños. Los tokens funcionan de manera similar: no son palabras ni caracteres sueltos, sino fragmentos de texto que el modelo puede entender.

La lógica detrás de la tokenización

Los modelos de IA no procesan el texto como lo hacemos nosotros. Trabajan con secuencias de números. Por lo tanto, el primer paso para que el modelo entienda cualquier entrada es dividir ese texto en tokens. Este proceso se conoce como tokenización.

Una vez divididos los textos en estos fragmentos, cada token se asocia con un número único, un identificador (ID). Por ejemplo, la palabra “inteligencia” podría dividirse en dos tokens: “inteli” y “gencia”. A cada uno de estos se les asigna un número específico.

Cuando le das una instrucción o una pregunta a un modelo, este convierte primero tu texto en esta secuencia numérica de tokens. Luego, procesa estos números para calcular la respuesta y, finalmente, convierte los números resultantes de la respuesta de vuelta a texto legible para ti.

¿Por qué necesitamos tokens?

La necesidad de tokens surge de la naturaleza misma de cómo funcionan las redes neuronales y los modelos de lenguaje.

El texto plano, con sus letras y palabras variadas, es demasiado complejo y ambiguo para que una máquina lo procese directamente. Los tokens permiten estandarizar la entrada de varias maneras clave:

1. Manejo de vocabularios infinitos

Si bien el español tiene un vocabulario extenso, no es infinito. Sin embargo, existen palabras compuestas, nombres propios, tecnicismos, abreviaturas y errores ortográficos que hacen que el número de palabras posibles sea enorme, casi infinito. Si el modelo tuviera que aprender una representación numérica única para cada posible palabra, su “vocabulario” sería inmanejable y requeriría una cantidad prohibitiva de memoria y datos de entrenamiento.

Los tokens resuelven esto creando un vocabulario de tamaño fijo. La mayoría de estos tokens corresponden a palabras completas comunes, pero el sistema también tiene tokens para partes de palabras (subpalabras), caracteres especiales y espacios. Por ejemplo, la palabra “tokenización” podría dividirse en los tokens “tokeni”, “zación”, lo que permite al modelo entender la palabra incluso si no la ha visto exactamente así antes.

2. Eficiencia computacional

El procesamiento de texto a nivel de caracteres individuales sería extremadamente lento y requeriría un contexto muy largo para entender el significado. Por el contrario, procesar a nivel de palabras completas sería ineficiente para palabras poco comunes o inventadas.

Los tokens ofrecen un punto óptimo. Al agrupar letras en fragmentos de tamaño razonable, se reduce la longitud de las secuencias numéricas que el modelo debe procesar, lo que hace que el cálculo sea mucho más rápido y eficiente.

3. Manejo de múltiples idiomas

Los tokens también son esenciales para trabajar con diferentes idiomas. Un mismo token puede tener diferentes significados o formas en distintos idiomas. La tokenización permite que el modelo reconozca y procese caracteres y palabras de múltiples idiomas dentro de un mismo texto.


2. ¿Cómo funciona la tokenización?

La tokenización es un proceso realizado por un componente del modelo de IA llamado tokenizador. Este componente es crucial, ya que la calidad y el rendimiento del modelo dependen en gran medida de la eficacia con la que divide el texto.

Aunque los detalles técnicos pueden ser complejos, el concepto general es bastante intuitivo.

El proceso paso a paso

Imaginemos que queremos analizar la frase: “¿Cuántos tokens son?”.

El proceso de tokenización seguiría estos pasos conceptuales:

  1. Pre-procesamiento: El tokenizador elimina espacios en blanco innecesarios y normaliza el texto. En este caso, la frase está lista.

  2. División en unidades: El tokenizador examina el texto y lo divide en fragmentos basándose en su vocabulario interno.

    • Podría reconocer que ”¿” es un token por sí solo.
    • “Cuántos” es una palabra común, por lo que podría ser un solo token: “Cuántos”.
    • “son” es otra palabra común: “son”.
    • ”?” es otro carácter especial: ”?”.
  3. Asignación de IDs: Cada uno de estos fragmentos (tokens) se busca en el vocabulario del tokenizador y se le asigna un número identificador único (ID).

    • Supongamos que ”?” es el token 13.
    • “Cuántos” es el token 4589.
    • “son” es el token 1234.
  4. Secuencia numérica: La frase original se convierte en una secuencia de números: [13, 4589, 1234, 13].

Esta secuencia numérica es la que el modelo de IA realmente “lee” y procesa.

Subpalabras y caracteres especiales

La mayoría de los tokenizadores modernos no dividen el texto únicamente en palabras. Utilizan técnicas de tokenización de subpalabras (subword tokenization). Esto les permite manejar palabras que no están en su vocabulario principal de manera eficiente.

Veamos un ejemplo de cómo funcionaría con una palabra más compleja:

Palabra: “Inconstitucionalidad”

En lugar de tener un token único para esta palabra larga y poco común (que podría no existir en su vocabulario), el tokenizador la dividiría en fragmentos más manejables:

  1. “In” (prefijo común)
  2. “consti” (parte de la raíz)
  3. “tu” (parte de la raíz)
  4. “cional” (sufijo común)
  5. “i” (sufijo)
  6. “dad” (sufijo común)

Cada uno de estos fragmentos se representaría con un token numérico único.

Esta técnica tiene varias ventajas:

  • Manejo de palabras raras o inventadas: Si el modelo encuentra una palabra que nunca ha visto, puede descomponerla en subpalabras conocidas.
  • Eficiencia: Reduce el tamaño del vocabulario necesario.
  • Comprensión de la estructura: Ayuda al modelo a entender la morfología de las palabras (prefijos, sufijos, raíces), lo que mejora su capacidad para entender el significado.

Espacios y puntuación

Es importante destacar que los espacios y la puntuación también se manejan mediante tokens. A menudo, los espacios se codifican de manera especial o se incorporan al inicio de los tokens.


3. La diferencia entre ser eficaz, eficiente o efectivo

Entender cómo funcionan los tokens es crucial para mejorar la forma en que interactuamos con los modelos de IA. La manera en que formulamos nuestras preguntas (lo que conocemos como prompt engineering) tiene un impacto directo en la cantidad de tokens que se utilizan, y por lo tanto, en el rendimiento y el costo de la interacción.

A continuación, te muestro la diferencia entre ser eficaz, eficiente y efectivo:

Ser eficaz: Lograr el objetivo

Cuando hablamos de ser eficaz en el uso de un modelo de IA, nos referimos a obtener la respuesta o el resultado que necesitamos. Es decir, lograr la meta propuesta.

En el contexto de la tokenización, ser eficaz implica que nuestra pregunta, por bien formulada que esté, pueda ser procesada por el modelo y nos devuelva una respuesta útil.

Ejemplo de ser eficaz

Prompt: “¿Cuál es la capital de Francia?”

El modelo procesará esta pregunta (que se compone de varios tokens) y nos devolverá la respuesta correcta: “París”. Hemos logrado nuestro objetivo.

Sin embargo, la forma en que formulamos la pregunta puede hacer que este proceso sea más o menos eficiente. Aquí es donde entran en juego los conceptos de eficiencia y efectividad.

Ser eficiente: Lograr el objetivo con pocos recursos

Ser eficiente se refiere a lograr el objetivo propuesto utilizando la menor cantidad de recursos posible. En el contexto de los modelos de IA y la tokenización, los recursos clave son los tokens.

Cuantos menos tokens utilicemos para obtener la respuesta deseada, más eficiente será nuestra interacción con el modelo. Esto se traduce en un menor costo (ya que el costo se basa en el uso de tokens) y un procesamiento más rápido.

Ejemplo de ser eficiente

Prompt ineficiente: “¿Me puedes decir cuál es la ciudad capital de Francia? Por favor, dame su nombre.”

Prompt eficiente: “¿Capital de Francia?”

Ambos prompts lograrán el mismo objetivo (obtener la capital de Francia), pero el segundo es mucho más eficiente porque utiliza significativamente menos tokens.

Ser efectivo: Lograr el objetivo con calidad y valor añadido

Ser efectivo va un paso más allá de la eficiencia. No solo se trata de obtener la respuesta correcta con la menor cantidad de recursos, sino de obtenerla de una manera que aporte valor añadido. Es decir, que la respuesta sea útil, relevante y aporte un valor superior al esperado.

Esto implica entender el contexto del modelo, anticipar sus necesidades y formular la pregunta de manera que no solo obtengamos la respuesta, sino que lo hagamos de una forma que optimice el proceso y nos dé un resultado de alta calidad.

Ejemplo de ser efectivo

Prompt efectivo: “Actúa como un experto en geografía y dame el nombre de la capital de Francia, junto con su población aproximada y una breve descripción de su importancia histórica.”

Este prompt es efectivo porque:

  • Logra el objetivo (obtener la capital de Francia)
  • Utiliza eficientemente los recursos (pocos tokens para el objetivo principal)
  • Añade valor (información adicional relevante sobre la ciudad)
  • Optimiza el proceso (el modelo entiende el contexto y proporciona información estructurada)

4. Cómo optimizar el uso de tokens en tus prompts

Optimizar el uso de tokens en tus prompts es fundamental para mejorar la eficiencia y efectividad de tus interacciones con los modelos de IA. Al reducir la cantidad de tokens que utilizas, no solo ahorras costos, sino que también obtienes respuestas más rápidas y precisas.

A continuación, te presento algunas estrategias clave para lograrlo:

1. Sé conciso y directo

Evita rodeos y formulaciones innecesariamente largas. Ve directo al grano y utiliza un lenguaje claro y preciso.

Evita: “¿Me podrías hacer el favor de decirme cuál es la capital de Francia?”

Optimizado: “¿Cuál es la capital de Francia?“

2. Utiliza palabras clave

En lugar de frases largas, utiliza palabras clave que el modelo pueda entender fácilmente. Esto reduce significativamente la cantidad de tokens necesarios.

Evita: “¿Podrías por favor darme un resumen de los eventos principales de la Segunda Guerra Mundial?”

Optimizado: “Resumen: Segunda Guerra Mundial”

3. Define el formato de salida

Especificar el formato en el que deseas la respuesta puede reducir la ambigüedad y, por lo tanto, el número de tokens necesarios para obtener un resultado claro y estructurado.

Optimizado: “Capital de Francia en formato JSON”

4. Proporciona contexto relevante

Aunque parezca contradictorio, proporcionar el contexto necesario puede reducir la ambigüedad y evitar que el modelo tenga que hacer suposiciones, lo que a menudo requiere más tokens para clarifying.

Optimizado: “Actuando como historiador del arte, analiza ‘La Gioconda’ de Leonardo da Vinci”

5. Evita la redundancia

No repitas la misma información varias veces. El modelo tiene memoria de la conversación (dentro de su ventana de contexto), por lo que no es necesario repetir información que ya ha sido proporcionada.

Evita: “¿Cuál es la capital de Francia? Te lo pregunto otra vez, ¿cuál es la capital de Francia?“

6. Utiliza ejemplos cuando sea necesario

Aunque parezca contradictorio, proporcionar un ejemplo de lo que buscas puede reducir la ambigüedad y el número de tokens necesarios. Esto es especialmente útil cuando buscas un formato de salida específico.

Optimizado: “Convierte los siguientes nombres a formato JSON: [“Juan”, “Maria”, “Pedro”] Formato: { “nombre”: "" }“

7. Sé específico en tus instrucciones

Cuanto más específico seas en tus instrucciones, menos tendrá que adivinar el modelo. Esto reduce la ambigüedad y el número de tokens necesarios.

Evita: “Háblame de coches”

Optimizado: “Analiza la eficiencia de combustible de los coches eléctricos en comparación con los de gasolina en 2024”

8. Utiliza lenguaje natural pero preciso

No es necesario utilizar un lenguaje técnico complejo. De hecho, a menudo es mejor utilizar un lenguaje natural pero preciso. Sin embargo, evita el uso de jerga innecesaria o lenguaje coloquial que pueda causar ambigüedad.

Evita: “Chavos, ¿qué onda con las movidas del mercado este año?”

Optimizado: “¿Cuáles son las tendencias del mercado en 2024?“


5. Ventanas de contexto: La memoria de los modelos de IA

Cuando interactuamos con modelos de IA, especialmente modelos de lenguaje grandes (LLMs), es fundamental entender el concepto de ventana de contexto. La ventana de contexto es, en esencia, la memoria del modelo. Es la cantidad de información que el modelo puede “recordar” o considerar cuando genera una respuesta.

Piensa en la ventana de contexto como la memoria a corto plazo del modelo. No solo incluye la pregunta que acabas de hacer, sino también todo el historial de la conversación, así como cualquier información adicional que le proporciones (como documentos, imágenes o datos).

¿Qué es exactamente la ventana de contexto?

La ventana de contexto es la cantidad máxima de tokens que el modelo puede procesar en una sola interacción. Se mide en tokens, y varía significativamente entre diferentes modelos. Por ejemplo, un modelo puede tener una ventana de contexto de 4,096 tokens, mientras que otro puede tener una ventana de 128,000 tokens o más.

Importancia de la ventana de contexto

La ventana de contexto es crucial porque determina cuánta información puede procesar el modelo de una sola vez. Si la información que proporcionamos excede la ventana de contexto del modelo, los datos más antiguos simplemente se “olvidarán” y no podrán ser utilizados para generar la respuesta.

Limitaciones de la ventana de contexto

Comprender las limitaciones de la ventana de contexto es esencial para utilizar los modelos de IA de manera efectiva. Si intentamos proporcionar más información de la que el modelo puede manejar, la calidad de las respuestas puede disminuir significativamente. Además, el costo de procesamiento también aumenta con el tamaño de la ventana de contexto.

Estrategias para manejar ventanas de contexto limitadas

Afortunadamente, existen varias estrategias que podemos utilizar para manejar ventanas de contexto limitadas:

  • Priorizar información relevante: Concentrarse en proporcionar solo la información más relevante para la tarea en cuestión.
  • Resumir información: Condensar información extensa en resúmenes concisos que se ajusten a la ventana de contexto.
  • Utilizar información externa: Para tareas que requieren grandes cantidades de datos, puede ser más efectivo utilizar herramientas externas o bases de datos que el modelo pueda consultar según sea necesario.
  • Técnicas de gestión de contexto: Implementar técnicas avanzadas como la memoria jerárquica, el resumen incremental o el uso de embeddings para mantener el contexto relevante sin exceder la ventana de contexto.

6. Tokenomics: La economía de los tokens en los modelos de IA

Cuando hablamos de Tokenomics, nos referimos a la economía de los tokens en los modelos de IA. Es decir, cómo se distribuyen los tokens entre los diferentes componentes del sistema y cómo se utilizan para generar respuestas.

¿Qué es la Tokenomics?

La Tokenomics es el estudio de cómo los tokens se distribuyen entre los diferentes componentes del sistema y cómo se utilizan para generar respuestas. Es una parte fundamental de la arquitectura de los modelos de IA, ya que determina cómo se procesa la información y cómo se generan las respuestas.

¿Por qué es importante la Tokenomics?

La Tokenomics es importante porque determina cómo se procesa la información y cómo se generan las respuestas. Si la Tokenomics no está bien diseñada, los modelos de IA no podrán procesar la información de manera eficiente, lo que reducirá la calidad de las respuestas.

¿Cómo funciona la Tokenomics?

La Tokenomics funciona distribuyendo los tokens entre los diferentes componentes del sistema. Por ejemplo, en un modelo de IA, los tokens se distribuyen entre el modelo, la ventana de contexto y la salida.

Ejemplos de Tokenomics

Aquí tienes algunos ejemplos de Tokenomics:

  • Modelo: El modelo es el cerebro del sistema y utiliza tokens para procesar información y generar respuestas.
  • Ventana de contexto: La ventana de contexto es la memoria del sistema y utiliza tokens para almacenar información.
  • Salida: La salida es el resultado del procesamiento de información y utiliza tokens para generar respuestas.

Conclusiones

Hablar de “tokens” en el contexto de la IA es hablar de su unidad básica de información, similar a cómo funcionan las letras y palabras en el lenguaje humano. Son fragmentos de texto que los modelos de IA procesan para entender y generar lenguaje. Un dato interesante es que la cantidad de tokens en un texto puede variar significativamente dependiendo del idioma y del tipo de texto. Por ejemplo, un texto en español tiende a usar más caracteres por palabra que un texto en inglés, lo que resulta en una mayor cantidad de tokens en el español.

Además, la forma en que un modelo de IA “divide” un texto en tokens puede variar dependiendo del modelo. Algunos modelos pueden dividir una palabra en varios tokens, mientras que otros pueden dividirla en menos tokens. Esto se debe a que los modelos de IA están entrenados en diferentes conjuntos de datos y tienen diferentes “vocabulario” de tokens.

El estudio de cómo se gestionan estos tokens es fundamental para optimizar el uso de los modelos de IA, mejorar la calidad de las respuestas y reducir los costos de procesamiento. Para obtener una experiencia óptima, es importante entender cómo funcionan los tokens y cómo se utilizan en los modelos de IA. Esto te permitirá aprovechar al máximo el potencial de la IA y obtener mejores resultados.