Comprender la inteligencia artificial: fundamentos técnicos
1. Aprendizaje automático (Machine Learning)
El software tradicional es determinista: ante una misma entrada y unas condiciones idénticas, produce el mismo resultado. El programador define explícitamente las instrucciones y las reglas que controlan su comportamiento.
Los modelos de inteligencia artificial funcionan de otra manera. En lugar de programar manualmente cada respuesta posible, se entrenan con datos para aprender patrones y relaciones estadísticas. Por eso, su comportamiento suele ser probabilístico: una misma entrada puede producir resultados diferentes, dependiendo de la configuración del modelo y de los parámetros de generación.
Modelos como GPT, Claude y Gemini aprenden durante el entrenamiento a partir de grandes conjuntos de datos. Posteriormente, reciben entradas mediante una API o una interfaz conversacional y generan respuestas en forma de texto, imágenes, audio u otros formatos, según sus capacidades.
El aprendizaje automático es una rama de la inteligencia artificial que permite construir sistemas capaces de aprender de los datos sin necesidad de especificar manualmente todas sus reglas.
2. Redes neuronales (Neural Networks)
Las redes neuronales son la base de muchos sistemas modernos de inteligencia artificial. Están formadas por unidades de cálculo interconectadas que transforman información mediante operaciones matemáticas y cuyos parámetros se ajustan durante el entrenamiento.
Una red neuronal suele organizarse en tres componentes:
- Capa de entrada: recibe los datos y los convierte en representaciones numéricas que la red puede procesar.
- Capas ocultas: transforman progresivamente la información mediante operaciones matemáticas, pesos, sesgos y funciones de activación. Los pesos determinan la influencia de cada conexión en el resultado.
- Capa de salida: produce los valores utilizados para construir la predicción final. En un modelo de lenguaje, estos valores pueden representar puntuaciones para los posibles tokens siguientes.
En esencia, cada capa calcula
h = f(W·x + b)
Multiplica la entrada x por una matriz de pesos W, suma un vector de sesgos b y aplica una función de activación no lineal f, como ReLU, que es max(0, z). Sin esa no linealidad, apilar capas equivaldría a una sola transformación lineal.
Por ejemplo, si el modelo recibe el texto «San», puede asignar una probabilidad elevada a «Francisco» y una probabilidad mucho menor a una palabra sin relación contextual.
Estas predicciones no proceden de reglas escritas manualmente para cada frase. Son el resultado de los patrones que la red ha aprendido durante el entrenamiento.
En última instancia, una red neuronal es un sistema matemático compuesto por operaciones de álgebra lineal, funciones no lineales y parámetros optimizados mediante métodos de cálculo y estadística. Bibliotecas como PyTorch abstraen buena parte de esta complejidad y permiten construir y entrenar redes sin implementar cada operación desde cero.
3. Transformers
La arquitectura Transformer, presentada en el artículo de investigación Attention Is All You Need (Vaswani et al., 2017), supuso un avance fundamental en el desarrollo de los modelos de lenguaje.
Antes de procesar el texto, los modelos lo dividen en unidades llamadas tokens. Estos tokens se convierten en vectores numéricos, conocidos como embeddings, que proporcionan una representación matemática de la información lingüística.
Los embeddings permiten representar relaciones entre palabras en espacios vectoriales de alta dimensión. Por ejemplo, determinadas relaciones semánticas entre «rey» y «reina» pueden guardar similitud con las existentes entre «hombre» y «mujer». El ejemplo clásico es aritmético: vector(«rey») − vector(«hombre») + vector(«mujer») queda cerca de vector(«reina»). Estas relaciones no son reglas universales: dependen de cómo se hayan aprendido y representado los vectores.
La característica central de los Transformers es el mecanismo de atención (attention), especialmente la autoatención (self-attention).
Este mecanismo permite que cada token incorpore información contextual de otros tokens de la secuencia. En lugar de interpretar cada palabra de manera aislada, el modelo puede ponderar qué partes del contexto resultan más relevantes para procesarla.
Attention(Q, K, V) = softmax(Q·Kᵀ / √dₖ) · V
Cada token emite una consulta (query) que se compara con las claves (keys) de todos los tokens. Las puntuaciones resultantes, normalizadas con un softmax, ponderan los valores (values) que se suman para formar su nueva representación.
Consideremos la frase:
«El gato se tumbó sobre la alfombra porque estaba cansado».
Para interpretar correctamente «estaba», el modelo necesita relacionar esa palabra con el sujeto de la oración. La autoatención facilita estas conexiones contextuales mediante cálculos que determinan la relevancia relativa de los distintos tokens.
Además, los Transformers permiten procesar múltiples posiciones de una secuencia en paralelo durante el entrenamiento. Esto aprovecha eficazmente el paralelismo de las GPU y facilita el entrenamiento de modelos con grandes cantidades de parámetros y datos.
Como la atención por sí sola no distingue el orden de los tokens, el modelo añade a cada embedding información de posición (positional encoding).
4. Tokenización (Tokenization)
La tokenización convierte el texto en unidades que un modelo puede procesar numéricamente.
Un token puede corresponder a una palabra completa, una parte de una palabra, un signo de puntuación o una secuencia de caracteres. La división concreta depende del tokenizador utilizado.
Por ejemplo, una palabra poco frecuente puede dividirse en varios tokens, mientras que otra habitual puede representarse mediante uno solo.
Los tokenizadores más extendidos, como BPE (byte-pair encoding), construyen su vocabulario fusionando repetidamente los pares de símbolos más frecuentes de un corpus.
Cada token se asocia a un identificador numérico que permite al modelo procesarlo. Posteriormente, estos identificadores se transforman en embeddings para alimentar la red neuronal.
La tokenización afecta tanto a la eficiencia como al coste de los modelos de lenguaje. Las entradas y salidas suelen medirse en tokens, y el número de unidades procesadas influye en el consumo de recursos y en los límites de contexto.
Como orientación, con los tokenizadores habituales un token equivale en inglés a unos cuatro caracteres, alrededor de tres cuartos de palabra; en otros idiomas, también en español, la proporción es distinta.
Por tanto, un token no equivale necesariamente a una palabra, y el número de tokens de un texto depende del idioma, del contenido y del tokenizador.
5. Preentrenamiento (Pretraining)
El preentrenamiento es la fase en la que el modelo aprende patrones generales a partir de grandes conjuntos de datos.
En los modelos de lenguaje autorregresivos, el objetivo habitual consiste en predecir el siguiente token a partir de los anteriores. Durante el entrenamiento, el modelo recibe secuencias de texto y calcula una distribución de probabilidades sobre los tokens posibles.
La diferencia entre sus predicciones y los tokens esperados se cuantifica mediante una función de pérdida (loss). El algoritmo de retropropagación (backpropagation) calcula cómo contribuyen los parámetros del modelo al error, y un optimizador utiliza esa información para actualizarlos.
En la práctica se usa la entropía cruzada: para cada posición, L = −log p(token correcto). Si el modelo asigna una probabilidad de 0,25 al token esperado, la pérdida es −ln 0,25 ≈ 1,39; si le asigna 0,9, baja a 0,105. La actualización sigue el gradiente:
θ ← θ − η·∇L
donde θ son los parámetros y η es la tasa de aprendizaje.
Este proceso se repite sobre grandes cantidades de ejemplos.
De forma simplificada, el ciclo de entrenamiento es el siguiente:
- El modelo recibe una secuencia de tokens.
- Calcula sus predicciones.
- Se compara la predicción con el resultado esperado.
- Se calcula la pérdida.
- Se obtienen los gradientes mediante retropropagación.
- El optimizador actualiza los parámetros.
- El proceso se repite con nuevos ejemplos.
Con suficientes datos, capacidad computacional y una arquitectura adecuada, el modelo aprende regularidades del lenguaje, relaciones contextuales y patrones presentes en los datos de entrenamiento.
Sin embargo, predecir correctamente el siguiente token no garantiza que todas las respuestas sean verdaderas, que el modelo comprenda el mundo como una persona o que pueda resolver cualquier tarea.
6. Ajuste fino (Fine-tuning)
El preentrenamiento proporciona capacidades generales, pero no necesariamente convierte al modelo en un asistente que siga instrucciones de manera fiable.
El ajuste fino adapta un modelo previamente entrenado mediante datos adicionales seleccionados para mejorar su comportamiento en determinadas tareas.
Por ejemplo, un modelo destinado a atención al cliente puede entrenarse con conversaciones representativas para aprender a responder preguntas, seguir procedimientos y mantener un formato coherente.
Durante el ajuste fino supervisado, el modelo recibe ejemplos de entradas y respuestas deseadas. Sus parámetros se actualizan para aumentar la probabilidad de generar las respuestas esperadas.
La calidad de los datos es fundamental. Un conjunto de entrenamiento pequeño, pero bien seleccionado, puede ser más útil para una tarea específica que una colección más grande con ejemplos inconsistentes o irrelevantes.
El ajuste fino no implica necesariamente entrenar el modelo desde cero. Habitualmente, se parte de un modelo preentrenado y se modifican sus parámetros para especializarlo. Tampoco exige modificarlos todos: técnicas como LoRA mantienen congelados los pesos originales y entrenan un número reducido de parámetros adicionales, lo que abarata la adaptación.
7. Aprendizaje por refuerzo a partir de retroalimentación humana (RLHF)
El aprendizaje por refuerzo a partir de retroalimentación humana (Reinforcement Learning from Human Feedback, RLHF) es una técnica utilizada para orientar el comportamiento de los modelos hacia respuestas que las personas consideran preferibles.
Un proceso clásico de RLHF puede incluir las siguientes etapas:
- El modelo genera varias respuestas posibles a una misma instrucción.
- Evaluadores humanos comparan las respuestas y las ordenan según criterios como utilidad, precisión y cumplimiento de instrucciones.
- Se entrena un modelo de recompensa (reward model) para estimar qué respuestas se ajustan mejor a esas preferencias.
- Se utiliza esa señal de recompensa para optimizar el modelo original mediante aprendizaje por refuerzo (en la formulación clásica, con el algoritmo PPO).
El objetivo es mejorar el comportamiento del modelo, no simplemente aumentar su capacidad para predecir texto.
Por ejemplo, en un sistema de atención al cliente, la retroalimentación puede favorecer respuestas que resuelvan correctamente los problemas, eviten afirmaciones infundadas y sigan las políticas de la empresa.
No obstante, el resultado depende de la calidad de las evaluaciones, de los criterios establecidos y del método de optimización. Las preferencias humanas pueden ser inconsistentes y no garantizan por sí solas la veracidad de las respuestas.
RLHF es, además, una de varias técnicas de alineamiento posibles. Los sistemas modernos también pueden utilizar otros métodos de optimización basados en preferencias humanas o generadas por modelos, como DPO (Direct Preference Optimization), que prescinde de un modelo de recompensa explícito.
8. Inferencia (Inference)
Una vez entrenado y adaptado, el modelo puede utilizarse para realizar inferencias: aplicar los parámetros aprendidos a nuevas entradas para producir predicciones o generar contenido.
En un modelo de lenguaje autorregresivo, el proceso básico consiste en calcular una distribución de probabilidades para el siguiente token, seleccionar uno de ellos según la estrategia de generación y añadirlo a la secuencia. El modelo repite este procedimiento hasta producir una respuesta completa o alcanzar un límite establecido.
La selección no siempre consiste en elegir el token más probable. Puede utilizar técnicas de muestreo y parámetros como la temperatura para modificar la distribución de las respuestas.
La temperatura T divide las puntuaciones antes del softmax:
pᵢ = exp(zᵢ / T) / Σⱼ exp(zⱼ / T)
Con T < 1 la distribución se concentra en los tokens más probables; con T > 1 se aplana. Otras técnicas, como top-k y top-p (nucleus sampling), restringen el muestreo a los candidatos más probables.
La inferencia también puede incluir entradas multimodales. Dependiendo de su arquitectura, un modelo puede procesar texto, imágenes o audio y generar una o varias modalidades de salida.
Algunos modelos incorporan entrenamiento y técnicas de inferencia orientados a resolver problemas complejos mediante pasos intermedios de razonamiento. Sin embargo, generar una explicación paso a paso no garantiza que el razonamiento sea correcto.
En producción, la inferencia introduce consideraciones prácticas como latencia, consumo de memoria, coste computacional, concurrencia y longitud del contexto. La cuantización (representar los pesos con 8 o 4 bits en lugar de 16 o 32), el procesamiento por lotes y otras técnicas de optimización permiten reducir costes o mejorar el rendimiento, aunque pueden implicar compromisos de precisión.
9. Evaluación de modelos (Evaluation)
La evaluación permite medir si un modelo cumple los objetivos para los que se ha desarrollado.
No existe una única métrica que describa adecuadamente todas las capacidades de un sistema de inteligencia artificial. La evaluación debe ajustarse al tipo de tarea, a los riesgos y a las condiciones reales de uso.
Entre los métodos habituales se encuentran:
- Benchmarks: conjuntos estandarizados de pruebas que permiten comparar el rendimiento de distintos modelos.
- Evaluación automática: métricas o verificaciones programáticas que comprueban propiedades concretas de las respuestas.
- Evaluación humana: revisión de la utilidad, precisión, claridad y adecuación de los resultados.
- Evaluación de seguridad: pruebas destinadas a detectar comportamientos no deseados, vulnerabilidades y respuestas peligrosas.
- Evaluación en producción: análisis del comportamiento del sistema con usuarios y entradas reales.
Una puntuación elevada en un benchmark no demuestra que el modelo sea superior en todas las tareas. Los resultados pueden depender de los datos utilizados, del diseño de las pruebas y de la similitud entre estas y las condiciones reales de uso.
También es importante evitar la contaminación de los datos de evaluación: si un modelo ha visto durante su entrenamiento las respuestas de una prueba, su puntuación puede sobreestimar su capacidad de generalización.
Por ello, una evaluación sólida combina pruebas independientes, métricas apropiadas y análisis de los errores.
10. Destilación de modelos (Knowledge Distillation)
La destilación es una técnica que permite transferir parte del comportamiento de un modelo grande, denominado teacher, a otro más pequeño, denominado student.
En lugar de entrenar al modelo pequeño únicamente con respuestas correctas, el proceso puede utilizar las distribuciones de probabilidades producidas por el modelo grande. Estas distribuciones proporcionan información sobre cómo se relacionan las distintas respuestas posibles.
En la formulación original (Hinton et al., 2015), ambas distribuciones se suavizan con una temperatura alta y el estudiante minimiza su divergencia respecto a la del profesor.
El modelo estudiante se entrena para aproximarse al comportamiento del modelo profesor, lo que puede permitirle ofrecer resultados competitivos con un menor coste de inferencia.
Por ejemplo, una empresa puede utilizar un modelo grande para generar datos de entrenamiento y después entrenar un modelo más pequeño, especializado en una tarea concreta.
La destilación no garantiza que el modelo pequeño conserve todas las capacidades del original. El resultado depende del método utilizado, de los datos, de la arquitectura y de las tareas que se pretenda optimizar.
Su principal ventaja es que puede reducir los requisitos de memoria, latencia y computación, facilitando el despliegue en entornos con recursos limitados.
Conclusión
Los sistemas modernos de inteligencia artificial se construyen combinando arquitecturas neuronales, grandes conjuntos de datos, optimización matemática y procedimientos de entrenamiento y evaluación.
El preentrenamiento permite aprender patrones generales; el ajuste fino adapta el modelo a tareas e instrucciones; las técnicas de alineamiento orientan sus respuestas; y la inferencia aplica lo aprendido a nuevas entradas.
A partir de estos fundamentos, los desarrolladores pueden elegir modelos, adaptarlos, evaluar sus limitaciones y desplegarlos en aplicaciones reales.
Comprender estos mecanismos permite trabajar con inteligencia artificial sin tratarla como una caja negra: sus resultados surgen de operaciones matemáticas y procesos de aprendizaje concretos, con capacidades, costes y limitaciones que pueden analizarse y medirse.
Fuentes
- Vaswani et al. (2017). Attention Is All You Need.
- Mikolov, Yih & Zweig (2013). Linguistic Regularities in Continuous Space Word Representations.
- Sennrich, Haddow & Birch (2015). Neural Machine Translation of Rare Words with Subword Units.
- OpenAI Help Center. Understanding and counting tokens.
- Hu et al. (2021). LoRA: Low-Rank Adaptation of Large Language Models.
- Ouyang et al. (2022). Training language models to follow instructions with human feedback.
- Schulman et al. (2017). Proximal Policy Optimization Algorithms.
- Rafailov et al. (2023). Direct Preference Optimization: Your Language Model is Secretly a Reward Model.
- Holtzman et al. (2019). The Curious Case of Neural Text Degeneration.
- Hinton, Vinyals & Dean (2015). Distilling the Knowledge in a Neural Network.