Cuando hablamos de Inteligencia Artificial, es común encontrar términos que pueden resultar confusos o abstractos. Para comprender el funcionamiento de los modelos de IA generativa, es fundamental conocer a fondo sus conceptos clave.
⚠️ Los conceptos y explicaciones que vienen a continuación, han sido extraídos de una estupenda publicación realizada por Samuel Gil en su newsletter Suma Positiva, a la cual recomiendo mucho suscribirse.
LLM
El objetivo de un gran modelo de lenguaje (LLM por sus siglas en inglés) es predecir la palabra que con mayor probabilidad sigue a una cadena de texto previa. Por ejemplo, ante la cadena “El cielo está muy nublado. Creo que va a…” el modelo predice que la siguiente palabra más probable será “llover”.
Este comportamiento estadístico es lo que da lugar a las famosas “alucinaciones”. Cuando el modelo no tiene datos actualizados, en lugar de decir “no lo sé”, genera una respuesta errónea basada en patrones de información que ha visto antes.
Los LLMs (Large Language Models) son un tipo de Transformer, que es una arquitectura de red neuronal diseñada para procesar secuencias de datos.
Las redes neuronales son modelos matemáticos inspirados en el cerebro humano y, cuando tienen muchas capas para aprender patrones complejos, se consideran parte del Deep Learning.
El Deep Learning es una subcategoría del Machine Learning, que engloba técnicas en las que los sistemas aprenden a partir de datos sin ser programados explícitamente.
A su vez, el Machine Learning es un subconjunto de la Inteligencia Artificial, el campo general que abarca cualquier sistema capaz de realizar tareas que normalmente requieren inteligencia humana.
En la práctica, un LLM es un conjunto de matrices gigantes llenas de números con muchos decimales. A estos números los llamamos pesos.
En un modelo de IA, los parámetros incluyen tanto los pesos como otras variables configurables. Por lo general, el número de parámetros (que en su inmensa mayoría son pesos por lo que muchas veces ambos términos se usan como sinónimos) se usa como referencia del tamaño del modelo, es decir, de su capacidad para aprender y procesar información.
Estas matrices transforman el texto de entrada —que, como veremos, primero se convierte en un vector de números— en el texto de salida, a través de una infinidad de cálculos matemáticos. A este proceso se le llama inferencia.
El modelo de IA es sólo una parte de un sistema de software más amplio, como ChatGPT, que incluye el resto de componentes esenciales para su funcionamiento, como la interfaz de usuario, entre otros. Todo esto permite que el modelo se ejecute correctamente y que un humano pueda interactuar con él de manera fluida.
Tokenización y embeddings
Como antes se explicó, el modelo transforma el texto de entrada en un vector de números, que luego es procesado por la red neuronal (las matrices de pesos) para ofrecerlos la salida.
Vamos a profundizar un poco más en esta parte del proceso.
El modelo, en lugar de palabras, utiliza tokens, que pueden ser palabras, partes de palabras o signos de puntuación, dependiendo del método de tokenización utilizado.
Con el método de tokenización de subpalabra, la frase:
“¡Eso es impresionantemente difícil!”
se tokenizaría en:
[“¡”, “Eso”, “es”, “impresion”, “##ante”, “##mente”, “difícil”, "!"]
De esta forma el modelo no necesita conocer tantas palabras diferentes, sino que puede derivar su significado a partir de partes más pequeñas.
Una vez que hemos dividido el texto de entrada en tokens, cada token se convierte en un vector numérico llamado embedding, que representa su significado.
Estos vectores suelen tener miles de dimensiones para capturar de manera precisa las relaciones semánticas y sintácticas entre las palabras. Sin embargo, para simplificar, podemos imaginar un ejemplo en tres dimensiones.
Como es lógico, a mayor número de dimensiones, mayor es la capacidad del modelo para capturar matices y relaciones entre palabras, pero también aumenta la complejidad de los cálculos y, por tanto, el coste computacional.
Por ejemplo, los tokens “perro” y “gato” se representarán con vectores cuyas coordenadas los situarán cerca en el espacio vectorial, ya que ambos son animales domésticos. En cambio, la distancia entre estos vectores y los de palabras como “azul” o “escribir” será mucho mayor, ya que pertenecen a categorías semánticas diferentes.
Otro ejemplo para entender mejor cómo estos vectores capturan relaciones semánticas. En el espacio de embeddings, la operación “rey – hombre + mujer” (más precisamente a la suma y resta de sus vectores correspondientes) podría dar un vector cercano al embedding de “reina”.
El proceso para transformar tokens en embeddings es aprendido por el modelo durante la fase de entrenamiento, donde ajusta automáticamente los valores de los vectores para reflejar las relaciones entre las palabras basándose en grandes cantidades de datos.
Contexto y Atención
Otro concepto clave en este tipo de modelos es el de ventana de contexto, que es el número máximo de tokens que el modelo puede procesar a la vez.
En el caso de GPT-4, la ventana de contexto estándar es de 8.192 tokens (aproximadamente 6.000-6.500 palabras en español. Esto equivale a un documento de unas 12-15 páginas), aunque hay una versión especial con una ventana de contexto de 32.000 tokens.
Procesar una gran cantidad de tokens simultáneamente permite al modelo comprender de manera más precisa las relaciones entre ellos y determinar cuáles son más relevantes. Esto es posible gracias al mecanismo de atención, la característica principal de la arquitectura Transformer.
Durante la generación de texto, el modelo toma una secuencia de entrada (el “prompt”) y construye la respuesta token por token, utilizando un proceso iterativo basado en el contexto.
Para ello, sigue estos pasos:
- Predicción del siguiente token: A partir del contexto disponible, el modelo selecciona el token más probable que debe seguir.
- Actualización del contexto: El token generado se añade a la secuencia.
- Repetición del proceso: Con el contexto actualizado, el modelo vuelve a predecir el siguiente token y repite este ciclo hasta completar la respuesta.
Este mecanismo permite que el modelo genere texto de manera fluida y coherente, ajustándose dinámicamente al contenido ya procesado.
RAG
RAG (Retrieval-Augmented Generation) es una técnica que combina búsqueda de información (retrieval) con generación de texto (generation) en modelos de lenguaje.
Su objetivo es mejorar la precisión, reducir la alucinación y permitir que los modelos trabajen con información más actualizada o específica sin necesidad de re-entrenarlos.
Funciona así:
- Antes de generar una respuesta, el modelo busca información relevante en una base de datos, documentos o fuentes externas (como páginas de Internet).
- Una vez recuperada la información relevante, se introduce como contexto en el modelo de lenguaje.
- El modelo usa este contexto para generar una respuesta más precisa y fundamentada.
Por ejemplo, tanto Perplexity como NotebookLM usan RAG (en el primer caso fuentes de internet como páginas web o vídeos de YouTube y en el segundo documentos subidos por el usuario) para mejorar el contexto del modelo antes de generar una respuesta
Razonamiento
Una de las cosas más fascinantes es ver cómo modelos avanzados como DeepSeek-R1 o OpenAI-o1 “razonan”, es decir, descomponen un problema en pasos intermedios para llegar a una solución, en una secuencia de “pensamientos” llamada “chain-of-though”.
Todo esto ocurre durante la fase de inferencia o “test-time” y es donde se prevé que se hagan más avances próximamente.
Hasta ahora, la mejora de los modelos de IA ha dependido en gran medida del aumento en la cantidad de datos de entrenamiento y de la capacidad computacional, a lo que se conoce como "ley de escalado". Sin embargo, también han sido clave innovaciones en arquitectura, optimización y técnicas de entrenamiento, que han permitido avances más allá del simple aumento de recursos.
Aquí un ejemplo sencillo de chain-of-thought:
Aunque el modelo está técnicamente prediciendo tokens, su capacidad para “razonar” surge de:
- Contexto amplio: Los modelos modernos tienen una ventana de contexto lo suficientemente grande como para mantener coherencia y seguir cadenas de pensamiento complejas.
- Patrones aprendidos: Durante el entrenamiento, el modelo ha visto millones o billones de ejemplos de texto que incluyen razonamientos, explicaciones, y soluciones a problemas. El modelo aprende a imitar estos patrones.
- Emergencia de habilidades: A medida que los modelos crecen en tamaño y se entrenan con más datos, emergen habilidades como la resolución de problemas, la inferencia lógica y la comprensión de conceptos abstractos, aunque estas habilidades estén basadas en la predicción de tokens.
¿Realmente razonan?
- Aunque los modelos pueden parecer que razonan, no tienen una comprensión real del mundo como los humanos. Simplemente están generando secuencias de texto que estadísticamente tienen sentido dado el contexto.
- Además, hay una gran dependencia del entrenamiento. Si un modelo no ha sido expuesto a suficientes ejemplos de un tipo específico de razonamiento, es probable que no pueda generalizar bien en ese ámbito.
Entrenamiento
El proceso de entrenamiento se encarga de ajustar los valores de los pesos. Lo hace ‘aprendiendo’ a partir de un conjunto de datos de entrenamiento, que en nuestro ejemplo es texto.
Durante la fase pre-entrenamiento, de manera secuencial, el modelo procesa fragmentos de texto y ajusta reiterativa y astutamente los pesos (que inicialmente tienen valores aleatorios) hasta que la entrada (la parte inicial del fragmento) genere la salida deseada (la última palabra de la cadena). El proceso se repite millones o billones de veces con diferentes ejemplos de texto hasta que el modelo alcanza un nivel de precisión óptimo.
Cuando el conjunto de datos de entrenamiento es muy grande (por ejemplo, y sin exagerar, prácticamente todo el texto disponible en internet), este proceso puede durar meses y requiere una enorme capacidad de cómputo (y por ende de energía). En particular, se necesita hardware especializado en cálculo paralelo —fundamental para las operaciones matriciales— como las GPUs.
Como ya hemos visto, entrenar el modelo implica ejecutarlo billones de veces, lo que equivale a que miles de personas del mundo lo ejecutaran miles de veces. A lo que voy es que la inferencia a gran escala también es costosa en términos de computación, pues en esencia estamos haciendo lo mismo y se necesita la misma infraestructura.
Una vez que el modelo ha sido pre-entrenado, suele pasar por dos fases adicionales: post-entrenamiento y fine-tuning (opcional).
- El post-entrenamiento es una fase de refinamiento que se aplica después del entrenamiento base y antes de poner el modelo en producción. El objetivo es hacer que el modelo sea más útil, seguro y alineado con objetivos específicos. Se trata de evitar respuestas dañinas o incorrectas.
- En el caso de ChatGPT, se utilizó RLHF (Reinforcement Learning from Human Feedback), un método en el que humanos evaluaron las respuestas del modelo y este fue ajustado en base a esas evaluaciones.
Además de los sesgos ya presentes en los propios datos de entrenamiento, en esta fase entran en juego, de manera significativa, los sesgos culturales y políticos del creador del modelo.
Fine-tunning
El fine-tuning es una técnica que consiste en tomar un modelo ya entrenado y entrenarlonuevamente con un conjunto de datos más específico, con el objetivo de especializar el modelo en una tarea concreta sin necesidad de entrenarlo desde cero.
Por ejemplo, OpenAI entrenó GPT-4 con un gran conjunto de datos generales (internet, libros, artículos, etc.), pero si una empresa quiere un chatbot especializado en medicina, puede hacer fine-tuning con datos médicos específicos para mejorar su precisión en ese ámbito.
Fine-tuning es ideal cuando quieres que el modelo aprenda de forma permanente conocimientos especializados o mejore su razonamiento. RAG, en cambio, es más eficiente cuando necesitas que el modelo acceda a información actualizada sin reentrenamiento. En muchos casos, la mejor solución es combinarlos: usar RAG para recuperar información en tiempo real y fine-tuning para mejorar la especialización del modelo.
Infraestructura
Al igual que cualquier otro software, un modelo de IA puede estar alojado en infraestructura propia o de terceros, siempre y cuando esta cumpla con los requisitos técnicos necesarios. En el caso de los modelos de IA, especialmente aquellos que requieren un alto poder de procesamiento, es fundamental contar con una infraestructura robusta, que suele incluir un conjunto significativo de GPUs para manejar las operaciones intensivas en cálculo.
Uso de modelos cerrados como GPT-4
Para utilizar un modelo cerrado como GPT-4, existen varias opciones:
- Versión web de ChatGPT: Puedes acceder directamente a través de tu navegador visitando https://chatgpt.com/. Esta versión está alojada en los servidores de OpenAI, los cuales pueden estar distribuidos en diversas regiones gracias a proveedores de infraestructura en la nube como Microsoft Azure. Alternativamente, también puedes utilizar las aplicaciones móviles o de escritorio disponibles.
- Desarrollo de software con API: Si en lugar de usar la interfaz de usuario prefieres desarrollar una aplicación que aproveche las capacidades de un modelo como GPT-4, puedes hacerlo desde cualquier entorno (local o en la nube). Sin embargo, el modelo en sí seguirá alojado en la infraestructura de OpenAI, a la cual accederás mediante una API. En este caso, no es posible desplegar el modelo en tu propia infraestructura, ya que los modelos cerrados como GPT-4 no están disponibles para su instalación local.
Uso de modelos abiertos como DeepSeek o LLaMA
Con modelos de código abierto como DeepSeek o LLaMA, tienes más flexibilidad. Además de las opciones mencionadas anteriormente (uso a través de interfaces web o APIs), puedes desplegar estos modelos en tu propia infraestructura. Esto incluye:
- Data center propio: Si cuentas con el hardware necesario, como GPUs adecuadas, puedes instalar y ejecutar el modelo en tus propios servidores.
- Infraestructura en la nube: También puedes desplegar el modelo en servidores en la nube, lo que te permite escalar según tus necesidades sin preocuparte por el mantenimiento del hardware.
En resumen, mientras que los modelos cerrados como GPT-4 están restringidos a la infraestructura del proveedor, los modelos abiertos ofrecen la ventaja de poder ser desplegados en entornos propios, brindando mayor control y flexibilidad.
Si te interesa todo lo relacionado con IA generativa, puedes consultar aquí otros artículos publicados en el blog.
No responses yet