Stanford CME295 Transformers & LLMs | Autumn 2025 | Lecture 1 - Transformer

Stanford CME295 Transformers & LLMs | Autumn 2025 | Lecture 1 - Transformer

Introducción a CME 295: Transformers y Modelos de Lenguaje Grande

Presentación de los Instructores

  • Afshine y Shervine, hermanos gemelos, presentan su experiencia académica en Centrale Paris, MIT y Stanford.
  • Ambos han trabajado en empresas como Uber, Google y Netflix, enfocándose en Modelos de Lenguaje Grande (LLMs).

Objetivos del Curso

  • Desde 2020, se especializan en Procesamiento de Lenguaje Natural (NLP), ofreciendo el curso CME 295 tras el aumento del interés por LLMs desde la llegada de ChatGPT en 2022.
  • El curso tiene dos objetivos principales: entender el mecanismo subyacente detrás de los LLMs y conocer cómo se entrenan y aplican.

Público Objetivo

  • Ideal para quienes desean hacer carrera en investigación o desarrollo relacionado con LLMs o aquellos que buscan aplicar estos modelos a proyectos personales.
  • Se recomienda tener conocimientos básicos en aprendizaje automático (ML) y álgebra lineal.

Logística del Curso

Estructura del Curso

  • Las clases se llevarán a cabo todos los viernes de 3:30 a 5:20 PM.
  • El curso consta de dos unidades; se puede tomar como crédito o no crédito. Las grabaciones estarán disponibles si no puedes asistir.

Evaluaciones

  • Habrá un examen parcial el 24 de octubre y un examen final durante la semana del 8 de diciembre.
  • No habrá tareas; las calificaciones se basarán únicamente en los exámenes (50% cada uno).

Recursos Adicionales

Materiales del Curso

  • Se proporcionará una guía de estudio titulada "Super Study Guide - Transformer LLMs", que contiene conceptos clave discutidos en clase.
  • También hay una hoja resumen llamada "VIP cheat sheet" disponible en GitHub, traducida a varios idiomas.

Comunicación

  • Anuncios importantes serán publicados en Canvas; preguntas pueden ser enviadas allí o directamente a los instructores mediante correo electrónico.

Preguntas Frecuentes

Interacción Estudiantil

  • Se aclara que las preguntas realizadas por estudiantes serán repetidas para claridad durante la grabación.

Exámenes y Esperas

  • Los exámenes se centrarán solo en conceptos vistos durante las clases; no habrá partes prácticas ni codificación.
  • Si estás en lista de espera, es recomendable hablar con los instructores sobre tu situación.

Introducción a la Clase de Procesamiento de Lenguaje Natural (NLP)

Estructura del Curso

  • El examen final probablemente abarcará la segunda mitad de los temas, con un 50% para el examen parcial y un 50% para el final.
  • Se mencionan fuentes en las diapositivas para dar crédito y permitir que los estudiantes profundicen en los materiales si están interesados.
  • La clase tiene una duración limitada de dos horas por semana durante nueve o diez semanas, lo que limita la cobertura de todos los temas.

Abreviaciones y Conceptos Clave

  • Se espera que al final del curso, los estudiantes tengan un mapa mental sobre las abreviaciones utilizadas en el campo del NLP.
  • NLP significa "Procesamiento de Lenguaje Natural", que se centra en manipular texto y realizar cálculos con él.

Clasificación de Tareas en NLP

Categorías Principales

Clasificación

  • La primera categoría es la clasificación, donde se predice algo a partir de un texto de entrada; por ejemplo, determinar si una reseña cinematográfica es positiva, negativa o neutral.

Multi-clasificación

  • En esta categoría se predicen múltiples aspectos a partir del texto; un ejemplo es el Reconocimiento de Entidades Nombradas (NER), donde se etiquetan palabras específicas como ubicaciones o tiempos.

Generación

  • La última categoría incluye tareas generativas donde tanto la entrada como la salida son textos; ejemplos incluyen traducción automática y generación de resúmenes.

Tareas Específicas: Extracción de Sentimientos

Evaluación y Métricas

  • Para ilustrar la extracción de sentimientos, se utiliza una oración simple como "este oso de peluche es tan lindo" para predecir un sentimiento positivo.
  • Las métricas tradicionales para evaluar estos modelos incluyen precisión (correcto entre positivos predichos), recall (correcto entre verdaderos positivos), y F1 score (media armónica entre precisión y recall).

Importancia de las Métricas

  • Las métricas son cruciales cuando hay clases desbalanceadas; por ejemplo, si el 99% son etiquetas positivas, usar solo precisión puede ser engañoso.

¿Cómo se evalúa la traducción automática?

Métricas de evaluación en traducción automática

  • Se discute cómo evaluar la predicción de palabras en una categoría, utilizando métricas agregadas.
  • La tarea de traducción automática implica traducir texto de un idioma fuente a uno objetivo, como del inglés al francés. Se menciona el conjunto de datos WMT que contiene pares de secuencias en diferentes idiomas.
  • Las métricas tradicionales como BLEU (Bilingual Evaluation Under Study) y ROUGE son utilizadas para evaluar traducciones, pero requieren textos de referencia.
  • Obtener etiquetas para estas métricas es costoso y consume tiempo; se sugiere que los modelos LLM pueden prescindir de métricas basadas en referencias.
  • La métrica "perplexity" mide las probabilidades generadas por el modelo; mientras que BLEU y ROUGE buscan puntuaciones más altas, perplexity busca puntuaciones más bajas.

Evolución histórica y avances tecnológicos

  • Aunque los LLM han ganado popularidad desde 2022, sus fundamentos se remontan a los años 80 con modelos iniciales y LSTMs en los 90.
  • El avance significativo vino con Word2vec, que permitió calcular embeddings significativos, seguido por la introducción de transformers en 2017.
  • Los modelos actuales han sido escalados tanto en capacidad computacional como en volumen de datos utilizados para su entrenamiento.

¿Cómo se prepara el texto para los modelos?

Tokenización del texto

  • Para que un modelo entienda el texto, es necesario convertirlo a un formato cuantificable mediante tokenización.
  • La tokenización puede ser arbitraria o basada en palabras; cada unidad resultante se llama "token".
  • Un enfoque basado solo en palabras puede generar tokens similares considerados diferentes, lo cual complica la creación de embeddings coherentes.

Tokenizadores subpalabra

  • Se introduce el concepto de tokenizadores subpalabra que aprovechan raíces comunes entre palabras similares (ejemplo: "bear" y "bears").
  • Aunque este método permite compartir raíces entre tokens similares, resulta en secuencias más largas, lo cual puede aumentar la complejidad del modelo.

¿Cómo afecta la tokenización al procesamiento de texto?

Pros y contras de diferentes niveles de tokenización

  • La cantidad de tokens a procesar influye en el tiempo que toma ejecutar un modelo, ya que necesita procesar todos estos tokens. Un inconveniente es que esto puede hacer las secuencias más largas.
  • La tokenización a nivel de caracteres permite considerar errores tipográficos, pero resulta en secuencias mucho más largas, lo que incrementa el tiempo de procesamiento del modelo.
  • La tokenización a nivel de palabras es una forma simple y directa, pero no aprovecha las raíces de las palabras. Si un token no se ha visto durante el entrenamiento, se clasifica como desconocido (OOV).
  • El tokenizer a nivel subpalabra reduce el riesgo de OOV al aprovechar las raíces, mientras que la tokenización a nivel carácter es robusta ante errores ortográficos pero ralentiza los cálculos.
  • Es fundamental entender cómo manejar el texto para optimizar la representación y procesamiento en modelos.

Representación de tokens

  • Para que un modelo entienda los tokens, se necesita encontrar una representación adecuada para cada uno. Esto se conoce como representación de tokens.
  • Una forma básica sería usar One-Hot Encoding (OHE), donde cada palabra o token tiene un vector único. Por ejemplo: "soft" podría ser [1, 0, 0], "teddy bear" [0, 1, 0] y "book" [0, 0, 1].
  • Se busca comparar los tokens para identificar similitudes; una medida común es la similitud coseno basada en el ángulo entre vectores en un espacio n-dimensional.
  • Con One-Hot Encoding todos los vectores son ortogonales entre sí; idealmente queremos que los tokens similares tengan alta similitud y aquellos diferentes sean más ortogonales.
  • Por ejemplo, "teddy bear" y "soft" deberían tener alta similitud mientras que "teddy bear" y "book", siendo independientes, deberían estar más cerca del cero.

Cuestiones sobre medidas de similitud

  • Se discute por qué no se considera la norma al calcular la similitud; lo importante es capturar cómo apuntan los vectores y su ángulo relativo.
  • Las medidas utilizadas son intentos para cuantificar similitudes; aunque hay diversas formas como producto punto o medidas normalizadas por normas.

Consideraciones sobre vocabulario

  • La elección entre word-level o subword-tokenizer depende del tipo de tarea; si se trabaja con un solo idioma específico generalmente se opta por subword debido a su flexibilidad.

¿Cómo se representan las palabras en modelos de lenguaje?

Tamaño del vocabulario y su importancia

  • Se discute la representación de palabras mediante subpalabras, que permite identificar raíces y reduce el riesgo de OOV (fuera de vocabulario).
  • Para el inglés, se busca un tamaño de vocabulario en el orden de decenas de miles; sin embargo, los modelos multilingües pueden alcanzar cientos de miles.

Aprendizaje de embeddings

  • Se menciona que el one-hot encoding no es efectivo para representar tokens; se propone aprender embeddings a partir de datos.
  • El modelo Word2vec, popularizado en 2013, ofrece una forma intuitiva e interpretable para entender estos embeddings a través de analogías como "rey es a reina" como "París es a Francia".

Métodos para calcular embeddings

  • Existen dos métodos principales: Continuous Bag of Words (CBOW) y Skip Gram. Ambos utilizan textos para predecir palabras basadas en su contexto.
  • La tarea comúnmente llamada "proxy task" busca aprender representaciones significativas más que simplemente predecir la siguiente palabra.

Ejemplo práctico con redes neuronales

  • Se presenta un ejemplo simple utilizando una red neuronal básica donde se predice la siguiente palabra basada en un vector inicial.
  • La red tiene un tamaño oculto mucho menor que el vocabulario, lo cual ayuda a aprender representaciones efectivas durante la tarea proxy.

Proceso iterativo para mejorar predicciones

  • Al predecir palabras sucesivas, se utiliza retropropagación para ajustar pesos y mejorar la precisión del modelo.
  • Este proceso se repite continuamente hasta que el modelo aprende a predecir correctamente las siguientes palabras dentro del contexto dado.

Representación de Palabras en Modelos de Lenguaje

Proceso de Representación

  • Se utiliza una representación one-hot para cada palabra, multiplicada por pesos para obtener la representación verde, que es la representación final de la palabra.
  • En el ejemplo presentado, solo hay seis palabras posibles, lo que representa un vocabulario muy limitado; en la práctica, el vocabulario es mucho más amplio.

Desafíos del Vocabulario

  • La variabilidad de las palabras puede resultar en un vocabulario extenso si se divide el texto a nivel de palabra. Esto incluye todas las variaciones posibles.
  • Se introduce el concepto de "token desconocido" o "fuera del vocabulario", que actúa como un contenedor para palabras no identificadas durante la inferencia.

Estrategias para Manejar Tokens Desconocidos

  • Los modelos a nivel subpalabra tienen menos probabilidades de generar tokens fuera del vocabulario en comparación con los modelos a nivel palabra.
  • Para saber cuándo detener el entrenamiento del modelo, se sugiere observar la convergencia de la función de pérdida a través de múltiples épocas.

Generación y Tamaño de Capas Ocultas

Detención en Generación

  • La generación se detiene típicamente al producir un token especial que indica el fin de secuencia.

Consideraciones sobre Capas Ocultas

  • El tamaño de la capa oculta debe ser suficiente para capturar información relevante según la complejidad del objetivo final; tareas simples pueden requerir vectores más pequeños.
  • Un vector más grande implica mayor carga computacional y costos asociados; por lo tanto, hay un equilibrio entre complejidad y eficiencia.

Contextualización y Redes Neuronales Recurrentes (RNN)

Dificultades con Palabras Homógrafas

  • Se plantea cómo distinguir palabras escritas igual pero con significados diferentes según su contexto.

Aprendizaje Secuencial con RNN

  • Las RNN mantienen una representación oculta del texto hasta ese momento y procesan los tokens uno a uno, considerando así el orden en que aparecen las palabras.
  • Este enfoque permite capturar mejor la naturaleza secuencial del lenguaje comparado con métodos más simples como promediar representaciones.

¿Cómo funcionan las Redes Neuronales Recurrentes (RNN)?

Introducción a las RNN

  • En este ejemplo, se inicia el procesamiento desde el principio de la oración, utilizando estados ocultos denominados A o H, que representan el estado oculto o vector de contexto.
  • Se considera tanto el estado oculto hasta ese momento como la palabra en el paso de tiempo t para producir un vector de salida que predice la siguiente palabra.

Proceso de Predicción

  • Las RNN permiten que el orden de las palabras sea relevante y codifican la oración de manera más natural. Por ejemplo, al procesar "oso de peluche lindo está leyendo", se utiliza un vector one-hot para predecir la siguiente palabra.
  • Se mantiene un seguimiento del estado oculto mientras se intenta predecir cada nueva palabra en secuencia.

Aplicaciones y Limitaciones

  • Para tareas como clasificación, se puede usar el último estado oculto para proyectar sentimientos positivos o negativos basándose en una reseña.
  • En generación de texto, se procesa todo el texto fuente y se utiliza un vector de contexto al final para decodificar la predicción.

Desafíos con RNN

  • Aunque las RNN tienen ventajas, presentan desventajas significativas; su capacidad para recordar información pasada es limitada debido a problemas con dependencias a largo plazo.
  • Los LSTMs (Long Short-Term Memory) fueron desarrollados para abordar estos problemas manteniendo un seguimiento adicional llamado "estado celular".

Problemas del Gradiente Desvanecido

  • Un problema crítico es el fenómeno del gradiente desvanecido, donde los valores tienden a cero durante la retropropagación a través del tiempo, dificultando actualizaciones efectivas del modelo.
  • Este fenómeno ocurre porque al actualizar pesos basados en múltiples estados ocultos previos, los productos pueden volverse muy pequeños si son menores que uno.

Resumen Final

  • La representación textual comenzó con Word2vec pero tenía limitaciones en cuanto al contexto y orden. Las RNN mejoraron esto pero enfrentan problemas con secuencias largas y gradientes desvanecidos.
  • Es importante reconocer que aunque las RNN han sido útiles, sus cálculos son lentos y no siempre manejan bien las dependencias a largo plazo.

¿Qué es el mecanismo de atención en modelos de lenguaje?

Introducción al Mecanismo de Atención

  • El entrenamiento de modelos para predecir palabras implica calcular estados ocultos previos, lo que se vuelve lento con secuencias largas. Esto motiva la búsqueda de conexiones más directas entre elementos actuales y pasados, dando origen a la idea del mecanismo de atención.
  • La atención establece un vínculo directo entre lo que se intenta predecir y información relevante del pasado. Por ejemplo, al traducir una oración del inglés al francés, se busca acceder a partes específicas del texto original.
  • Este concepto fue introducido en 2014 para abordar problemas de dependencia a largo plazo en las secuencias. Es fundamental para entender cómo funcionan los modelos modernos como los transformadores.

Transformadores y Autoatención

  • El modelo transformador, presentado en 2017 en el artículo "Attention is All You Need", utiliza el mecanismo de atención como su principio central. Se aleja del procesamiento secuencial tradicional permitiendo conexiones directas entre todas las partes del texto simultáneamente.
  • En este contexto, la autoatención permite que cada token (palabra o elemento) considere todos los demás tokens al mismo tiempo para crear representaciones contextuales únicas.

Conceptos Clave: Consulta, Clave y Valor

  • Al expresar relaciones dentro del modelo, se utilizan los términos "consulta" (query), "clave" (key) y "valor" (value). La consulta busca determinar qué otros tokens son similares a ella mediante comparaciones con claves asociadas.
  • Para encontrar similitudes, se compara la consulta con las claves correspondientes; esto permite ponderar las similitudes y seleccionar valores asociados relevantes.

Cálculo Eficiente con Matrices

  • Una ventaja significativa de este enfoque es que permite realizar cálculos de autoatención utilizando matrices, optimizando así el uso del hardware moderno como GPUs.
  • Los pesos asignados durante estos cálculos son determinados por una función softmax aplicada a la consulta y clave, facilitando identificar qué valores son más importantes según su relevancia contextual.

Aprendizaje y Proyecciones

  • Las cantidades involucradas en el proceso (consulta, clave y valor) son aprendidas por el modelo durante su entrenamiento. La interpretación sugiere que la clave ayuda a identificar similitudes mientras que el valor representa datos asociados específicos.
  • Estos conceptos no solo son teóricos; implican proyecciones matemáticas necesarias para obtener estas cantidades dentro del marco operativo del modelo.

¿Cómo funciona la arquitectura de atención en modelos de traducción?

Estructura general del modelo

  • La arquitectura propuesta por los autores se compone de dos partes: un encoder (a la izquierda) y un decoder (a la derecha), utilizados para la tarea de traducción.

Proceso del encoder

  • El texto de entrada en el idioma fuente pasa a través del encoder, donde se calculan embeddings significativos. Se utiliza una capa llamada capa de atención para aplicar el mecanismo de auto-atención entre los tokens.
  • La capa de atención multi-cabeza permite que el modelo aprenda diferentes representaciones al calcular las relaciones entre todos los tokens en el texto de entrada.

Proceso del decoder

  • Para traducir, se inicia con un token que indica el comienzo de la oración. Se utilizan las representaciones obtenidas del encoder para predecir el siguiente token en la secuencia.
  • En este proceso, se introduce una capa de atención cruzada, donde se pregunta qué palabras relevantes del input son necesarias para hacer predicciones sobre el output.

Capa de atención y su función

  • La capa que proviene del decoder actúa como una consulta (query) para identificar qué elementos del input son importantes, mientras que las claves (keys) y valores (values) provienen del encoder.
  • Otra capa adicional busca determinar qué otros tokens ya decodificados son útiles para predecir el siguiente token. Esta es conocida como capa de auto-atención enmascarada, ya que solo considera los tokens traducidos hasta ese momento.

Importancia del orden y codificación posicional

  • A diferencia de las RNN, donde hay un sentido claro del orden debido a su naturaleza secuencial, aquí no existe tal orden implícito. Por ello, se utilizan codificaciones posicionales para informar sobre la posición relativa de cada palabra en la secuencia.

Resumen final del proceso

  • El proceso completo implica dividir el texto en unidades arbitrarias (tokenización), aprender embeddings correspondientes y agregar información posicional antes de pasar por el encoder. Luego, comienza la traducción utilizando capas específicas para determinar cómo expresar lo aprendido a partir tanto del input como lo ya decodificado.

¿Cómo funciona la atención en redes neuronales?

Conceptos básicos de la red neuronal

  • Se utiliza una red neuronal feedforward para proporcionar grados adicionales de libertad, culminando en un vector que se procesa a través de softmax para predecir la siguiente palabra.
  • El término "cabeza" se refiere a las matrices de proyección utilizadas para obtener consultas (queries), claves (keys) y valores (values). Varias cabezas permiten al modelo aprender diferentes proyecciones.

Auto-atención y múltiples cabezas

  • La auto-atención se ejecuta varias veces en paralelo con diferentes matrices de proyección, similar a tener múltiples filtros en visión por computadora.
  • Aunque no hay restricciones sobre las proyecciones, el modelo tiende a aprender diferentes formas de expresar lo mismo.

Técnicas avanzadas: Label Smoothing

  • El label smoothing es una técnica que aborda la ambigüedad en predicciones. En lugar de predecir una palabra con certeza, permite cierta incertidumbre.
  • Esta técnica modifica la codificación one-hot, haciendo que el modelo sea menos seguro sobre sus predicciones, lo cual mejora métricas como BLEU en tareas de traducción.

Ejemplo práctico del Transformer

  • Se introduce un ejemplo práctico donde se analiza cómo un "oso de peluche lindo está leyendo", comenzando con la tokenización y añadiendo tokens BOS y EOS para indicar el inicio y fin de una secuencia.
  • Cada representación del token incluye su embedding aprendido y un embedding posicional que ayuda a entender la posición dentro de la secuencia mediante adiciones element-wise.

Entendiendo la Atención Propia en Modelos de Lenguaje

Proceso de Atención Propia

  • La atención propia se realiza proyectando la entrada en tres espacios: consultas (Q), claves (K) y valores (V). Estas proyecciones son matrices aprendidas por el modelo.
  • Al calcular Q, cada fila representa una consulta. K transpuesto es la misma matriz pero con columnas que representan las claves de cada token, lo que permite mezclar ambas a través de multiplicación matricial.

Cálculo y Normalización

  • La multiplicación entre Q y K transpuesto genera una distribución de probabilidad que refleja cómo cada consulta se proyecta sobre las claves.
  • Se normaliza dividiendo por la raíz cuadrada de dk para evitar que los productos punto crezcan desproporcionadamente a medida que aumentan las dimensiones.

Multiplicación y Suma Ponderada

  • Después de aplicar softmax, se multiplica con V, resultando en una suma ponderada de valores para cada consulta. Esto permite al modelo aprender representaciones útiles.

Múltiples Cabezas de Atención

  • El proceso no es único; se realiza múltiples veces en paralelo, generando h matrices que luego se concatenan. Finalmente, se utiliza otra matriz Wo para proyectar todo nuevamente a la dimensión original.

Función del Descenso del Gradiente

  • La variabilidad en los resultados proviene del descenso del gradiente; el modelo tiene libertad para construir representaciones diferentes sin restricciones fijas.

Estructura del Modelo: Encoders y Decoders

Capas Feedforward (FFN)

  • Las capas ocultas suelen tener dimensiones mayores que las entradas/salidas para permitir al modelo aprender representaciones más complejas.

Encoders y Decoders Apilados

  • Existen n módulos encoder apilados seguidos por n decodificadores. Las salidas finales del encoder alimentan el mecanismo de atención cruzada en los decodificadores.

Proceso de Decodificación

  • El proceso comienza con un token BOS (Beginning of Sentence), indicando al modelo que debe predecir la siguiente palabra. La capa de atención propia es causal, atendiendo solo a tokens anteriores durante la decodificación.

Proceso de Decodificación en Modelos de Lenguaje

Descripción del Proceso de Decodificación

  • Se menciona que al final del proceso de decodificación, se utiliza una proyección lineal y una capa softmax para convertir la predicción de la siguiente palabra en una distribución de probabilidad sobre el vocabulario.
  • El proceso se repite múltiples veces (n veces), lo que implica que cada token encontrado es un tipo de codificación one-hot que representa lo deseado.
  • Una vez obtenido el siguiente token, este se convierte en un embedding que luego se reinserta en el decodificador para continuar con el proceso.
  • La repetición continua del proceso permite generar texto coherente a partir del modelo, utilizando las probabilidades calculadas para predecir palabras sucesivas.
  • Este enfoque resalta la importancia de la retroalimentación en los modelos generativos, donde cada salida influye en las siguientes decisiones dentro del ciclo de decodificación.
Video description

For more information about Stanford’s graduate programs, visit: https://online.stanford.edu/graduate-education September 26, 2025 This lecture covers: • Background on NLP and tasks • Tokenization • Embeddings • Word2vec, RNN, LSTM • Attention mechanism • Transformer architecture To follow along with the course schedule and syllabus, visit: https://cme295.stanford.edu/syllabus/ Chapters: 00:00:00 Introduction 00:03:54 Class logistics 00:09:40 NLP overview 00:22:57 Tokenization 00:30:28 Word representation 00:53:23 Recurrent neural networks 01:06:47 Self-attention mechanism 01:13:53 Transformer architecture 01:29:53 Detailed example Afshine Amidi is an Adjunct Lecturer at Stanford University. Shervine Amidi is an Adjunct Lecturer at Stanford University. View the course playlist: https://www.youtube.com/playlist?list=PLoROMvodv4rOCXd21gf0CF4xr35yINeOy