Stanford CS229 I Machine Learning I Building Large Language Models (LLMs)

Stanford CS229 I Machine Learning I Building Large Language Models (LLMs)

¿Cómo funcionan los Modelos de Lenguaje Grande (LLMs)?

Introducción a los LLMs

  • Se presenta el tema de la charla: construcción de Modelos de Lenguaje Grande (LLMs), que incluyen chatbots como ChatGPT, Claude y Gemini.
  • Se menciona que se ofrecerá una visión general sobre cómo funcionan estos modelos, tocando todos los componentes necesarios para su entrenamiento.

Componentes Clave en el Entrenamiento de LLMs

  • Los componentes importantes al entrenar LLMs son: arquitectura, pérdida de entrenamiento, algoritmo de entrenamiento, datos y evaluación.
  • La importancia del sistema es crucial debido al tamaño considerable de estos modelos y su ejecución en hardware moderno.

Enfoque Académico vs. Industrial

  • Aunque la academia se centra en la arquitectura y algoritmos, en la práctica industrial lo más relevante son los datos, la evaluación y los sistemas.
  • El presentador enfatiza que hay mucha información disponible sobre arquitecturas pero menos sobre otros aspectos críticos como datos y sistemas.

Pre-entrenamiento vs. Post-entrenamiento

  • Se introduce el concepto de pre-entrenamiento como un paradigma clásico donde se entrena un modelo para modelar todo Internet.
  • El post-entrenamiento es una tendencia más reciente relacionada con convertir grandes modelos lingüísticos en asistentes AI.

Modelos Generativos y Auto-regresivos

  • Los modelos lingüísticos son distribuciones probabilísticas sobre secuencias de tokens o palabras; por ejemplo, evalúan la probabilidad de oraciones completas.
  • Se define qué son los modelos generativos: pueden generar oraciones o datos a partir del modelo aprendido.

Desventajas de los Modelos de Lenguaje Autoregresivos

Limitaciones en la Generación de Texto

  • Los modelos de lenguaje autoregresivos presentan desventajas, como el uso de un bucle for que genera una palabra a la vez, lo que puede hacer que la generación de oraciones largas sea más lenta.
  • La tarea principal de estos modelos es predecir la siguiente palabra en una secuencia, lo cual se ilustra con ejemplos simples.

Proceso de Tokenización y Muestreo

  • El proceso comienza con la tokenización, donde las palabras o subpalabras se convierten en identificadores (IDs).
  • Durante la inferencia, se obtiene una distribución probabilística sobre el siguiente token y se realiza un muestreo para generar nuevas palabras.
  • En entrenamiento, solo se necesita predecir el token más probable y comparar con el token real para ajustar los pesos del modelo.

Importancia del Tamaño del Vocabulario

Dimensionalidad y Manejo de Tokens

  • La salida final del modelo debe tener la misma dimensionalidad que el número total de tokens disponibles.
  • Se discute cómo manejar la adición de nuevos tokens al vocabulario existente, aunque no es común hacerlo.

Representación Vectorial

  • Cada token se embebe en un vector antes de ser procesado por una red neuronal tipo Transformer para obtener representaciones contextuales.
  • Se utiliza una capa lineal para mapear estas representaciones al número total de tokens posibles.

Función Pérdida y Maximización

Clasificación del Siguiente Token

  • La tarea principal es clasificar el siguiente token utilizando pérdida cruzada (cross entropy), aumentando así la probabilidad del token correcto.
  • Minimizar esta pérdida equivale a maximizar la verosimilitud logarítmica del texto generado.

Relevancia de los Tokenizadores

Funciones y Necesidades

  • Los tokenizadores son cruciales; permiten manejar errores tipográficos y variaciones lingüísticas sin perder información relevante.

Transformadores y Tokenización

Complejidad de los Transformadores

  • La complejidad de los transformadores crece cuadráticamente con la longitud de las secuencias, lo que hace indeseable trabajar con secuencias muy largas.
  • Los tokenizadores abordan problemas relacionados con la longitud de las secuencias y asignan un token a subsecuencias comunes, donde cada token suele representar alrededor de tres o cuatro letras.

Algoritmos de Tokenización

  • Se menciona el algoritmo Byte Pair Encoding (BPE), uno de los más comunes para la tokenización. Este proceso se inicia con un corpus grande de texto.
  • En el proceso inicial, cada carácter del corpus se asocia a un token único. Luego, se identifican y fusionan pares de tokens comunes en el texto.

Proceso de Entrenamiento del Tokenizador

  • Al entrenar un tokenizador en un corpus pequeño, se observa cómo se forman nuevos tokens al fusionar pares frecuentes. Esto es aplicable en corpora mucho más grandes en la práctica.
  • Un ejemplo real muestra cómo GPT-3 separa palabras; por ejemplo, "token" se divide en "token" e "iser".

Manejo de Espacios y Puntuación

  • Antes del proceso de tokenización, existe una etapa llamada pre-tokenización que maneja espacios y puntuación. Cada espacio o signo puede recibir su propio token.
  • Aunque no es necesario tratar espacios y puntuación por separado, hacerlo puede ser una optimización computacional debido al tiempo requerido para entrenar los tokenizadores.

Mantenimiento de Tokens Pequeños

  • Al fusionar tokens, generalmente se mantienen los tokens más pequeños para poder representar errores gramaticales o tipográficos.
  • Cada token tiene un ID único; por ejemplo, "bank" puede referirse tanto a dinero como a orilla. El modelo aprende a diferenciar estos significados según el contexto.

Desafíos y Futuro del Tokenizado

  • Se discute cómo los números no son actualmente tratados como tokens únicos durante la tokenización, lo que complica su manejo en modelos matemáticos.

Cambios en la Tokenización y Evaluación de Modelos de Lenguaje

Tokenización y Composición

  • Se discute cómo la composición en modelos de lenguaje implica que sumar elementos es equivalente a sumar cada uno por separado más un elemento unitario.
  • GPT-4 realizó cambios significativos en la tokenización del código, mejorando la comprensión del mismo, especialmente en lenguajes como Python donde se utilizan espacios al inicio.

Evaluación de Modelos de Lenguaje

  • La evaluación de los modelos de lenguaje (LLMs) se realiza comúnmente mediante una métrica llamada "perplejidad", que refleja la pérdida de validación.
  • La perplejidad se calcula utilizando el promedio de pérdida por token, exponenciando el resultado para hacerlo más interpretable y menos dependiente del tamaño de las secuencias.

Comprendiendo la Perplejidad

  • La perplejidad varía entre 1 y el tamaño del vocabulario; un modelo perfecto tiene una perplejidad de 1, mientras que un modelo sin idea predice con base en todo el vocabulario.
  • Entre 2017 y 2023, la perplejidad ha mejorado significativamente, pasando de alrededor de 70 tokens a menos de 10 tokens durante la generación.

Limitaciones y Nuevas Métricas

  • Aunque la perplejidad sigue siendo importante para el desarrollo, no se utiliza tanto en evaluaciones académicas debido a su dependencia del tokenizador utilizado.
  • Actualmente, se prefieren otros métodos que involucran benchmarks clásicos en procesamiento del lenguaje natural (NLP), como Helm y Hugging Face Open LM Leaderboard.

Ejemplos Prácticos en Evaluación

  • En Helm, se evalúan tareas fácilmente cuantificables como preguntas y respuestas. Esto permite comparar las respuestas generadas con las correctas.

Evaluación de Modelos de Lenguaje

Métodos de Evaluación

  • Se discute cómo los modelos de lenguaje pueden proporcionar una distribución sobre oraciones, evaluando la probabilidad de generar ciertas palabras sin necesidad de muestreo.
  • La evaluación de preguntas abiertas es un tema importante y desafiante que se abordará más adelante en la conversación.

Desafíos en la Evaluación

  • Se menciona que métricas como la "perplejidad" no son comúnmente utilizadas debido a su dependencia del diseño del tokenizador.
  • Comparativa entre el tokenizador utilizado por ChatGPT (10,000 tokens) y Gemini (100,000 tokens), donde se destaca que esto afecta los resultados de perplejidad.

Inconsistencias en Resultados

  • Diferentes organizaciones utilizan métodos variados para evaluar modelos MLU, lo que lleva a resultados inconsistentes; por ejemplo, el modelo Lama 65b tuvo diferentes precisiones según el benchmark utilizado.
  • Se plantea la cuestión sobre cómo asegurar que todos los modelos están entrenados con benchmarks consistentes.

Contaminación del Conjunto de Pruebas

  • La contaminación del conjunto de pruebas es un problema significativo en el ámbito académico, ya que puede afectar la validez de las evaluaciones.
  • Un método ingenioso para detectar si un conjunto de pruebas estuvo presente en el conjunto de entrenamiento implica observar patrones en la generación secuencial versus aleatoria.

Importancia y Manejo de Datos

Recolección y Limpieza de Datos

  • La recolección masiva de datos es fundamental para entrenar modelos grandes; se utiliza web crawlers para acceder a aproximadamente 250 mil millones de páginas web.
  • El término "internet limpio" es vago; muchos datos recolectados no son representativos ni útiles para entrenar modelos efectivos.

Procesamiento Inicial

  • Los web crawlers permiten descargar grandes volúmenes de datos, pero estos suelen ser aleatorios y desordenados.

La complejidad de extraer datos para modelos de lenguaje

Importancia de la extracción de datos

  • Extraer matemáticas es complicado pero crucial para entrenar modelos de lenguaje grandes. Se deben evitar repeticiones en los datos, como encabezados y pies de página comunes en formularios.

Filtrado de contenido indeseable

  • Las empresas suelen tener listas negras de sitios web que no desean usar para entrenar sus modelos, excluyendo contenido dañino o no seguro.
  • Es difícil clasificar y eliminar información personal identificable (PII), lo que requiere un modelo pequeño dedicado a esta tarea.

Duplicación y filtrado heurístico

  • La duplicación es un desafío, ya que se pueden encontrar párrafos repetidos en múltiples fuentes. Esto debe hacerse a gran escala.
  • Se utilizan filtros basados en reglas para eliminar documentos de baja calidad, observando la distribución inusual de tokens o la longitud extrema del texto.

Entrenamiento basado en referencias

  • Después del filtrado inicial, se puede utilizar Wikipedia como referencia para identificar sitios web de alta calidad mediante un clasificador.
  • Se entrena un modelo simple para predecir si un documento proviene de una referencia confiable o del "web aleatorio".

Clasificación y ajuste del dominio

  • Los datos se clasifican en diferentes dominios (entretenimiento, libros, código), ajustando el peso según su relevancia; por ejemplo, aumentar el peso del código mejora las habilidades razonativas del modelo.
  • Al final del entrenamiento, se realiza un ajuste fino con datos de alta calidad como Wikipedia.

Desafíos en la recopilación y filtrado de datos

  • Recopilar datos globales es fundamental pero complejo; muchos consideran que este proceso es clave para el éxito práctico de los modelos grandes.

¿Cuál es la importancia de los datos en el entrenamiento de modelos de lenguaje?

La relación entre datos y modelado

  • Se plantea que la cantidad de datos utilizados para entrenar modelos es probablemente mayor que el número de personas involucradas en el ajuste del modelo. Esto sugiere una dependencia significativa en la capacidad computacional más que en el tamaño del equipo humano.
  • A pesar de contar con un equipo, se menciona que solo un pequeño porcentaje (15 de 70 personas) trabaja directamente con los datos, lo cual resalta la necesidad crítica de recursos computacionales como CPUs para manejar grandes volúmenes de información.

Desafíos en el procesamiento y generación de datos

  • Se identifican varios retos relacionados con el procesamiento eficiente de datos, incluyendo cómo equilibrar diferentes dominios y explorar la generación sintética de datos debido a la insuficiencia de información disponible en internet.
  • La discusión incluye la posibilidad del uso de datos multimodales, sugiriendo que integrar diferentes tipos puede mejorar el rendimiento textual, lo cual es crucial para los modelos preentrenados.

Tamaño y escalabilidad del conjunto de datos

  • Se menciona un crecimiento significativo desde 150 mil millones hasta 15 billones (trillion) tokens, indicando una tendencia hacia conjuntos masivos que son fundamentales para entrenar modelos competitivos.
  • Ejemplos como "The Pile" se presentan como benchmarks académicos importantes, mostrando una variedad diversa en las fuentes utilizadas para compilar estos grandes conjuntos.

Comparación entre modelos y sus tamaños

  • Se comparan diferentes versiones del modelo Llama: Llama 2 fue entrenado con 2 billones (trillion) tokens mientras que Llama 3 utilizó 15 billones. Esto establece un contexto sobre cómo los tamaños afectan las capacidades del modelo.
  • Aunque no hay cifras exactas disponibles para GPT-4, se especula que está dentro del mismo rango magnitudinal, lo cual subraya la importancia del tamaño del conjunto durante el entrenamiento.

Leyes de escalamiento y rendimiento

  • Las leyes de escalamiento indican que a medida que aumenta tanto la cantidad como el tamaño del modelo entrenado, también mejora su rendimiento. Este hallazgo desafía nociones previas sobre sobreajuste en modelos más grandes.
  • Un estudio famoso muestra gráficamente cómo al aumentar los recursos computacionales o los parámetros se puede predecir una disminución correspondiente en las pérdidas durante las pruebas. Esto implica una relación lineal entre estos factores.

Implicaciones futuras

¿Cómo afectan los parámetros y los datos en el entrenamiento de modelos?

Aumento de parámetros y datos

  • Se discute la relación entre el aumento del número de parámetros en un modelo y la necesidad de incrementar la cantidad de datos disponibles para evitar sobreajuste.
  • La tendencia observada en los últimos dos años muestra que al aumentar la capacidad computacional, se reduce la pérdida (loss), aunque no hay evidencia empírica clara que sugiera un estancamiento inminente.

Leyes de escalado

  • Las leyes de escalado son útiles para predecir el rendimiento del modelo a medida que se aumenta su tamaño. Aunque muchos creen que eventualmente habrá un estancamiento, no es matemáticamente necesario.
  • Se plantea una situación hipotética donde se dispone de 10,000 GPUs; esto lleva a cuestionar qué modelo entrenar y cómo abordar esa decisión.

Nuevos enfoques en el entrenamiento

  • El antiguo enfoque consistía en ajustar hiperparámetros entrenando varios modelos por un día cada uno. El nuevo enfoque implica encontrar una "receta de escalado" antes de realizar ajustes.
  • Al aumentar el tamaño del modelo, es común disminuir la tasa de aprendizaje. Esto permite optimizar el proceso antes del entrenamiento final.

Ejemplo práctico: Transformers vs LSTMs

  • Se propone comparar modelos Transformer con LSTMs utilizando diferentes escalas para determinar cuál tiene mejor rendimiento basado en las leyes de escalado.
  • Es importante observar tanto la tasa de escalado como el intercepto al analizar estos modelos; pequeñas diferencias arquitectónicas pueden influir más en el intercepto que en otros aspectos.

Importancia del uso adecuado de datos

  • Las diferencias menores entre arquitecturas pueden ser menos relevantes si se entrena durante más tiempo o con mejores recursos computacionales.

Modelo de Escalado y Costos de Entrenamiento

Parámetros y Flops en el Entrenamiento de Modelos

  • Se discute la relación entre el tamaño del modelo (número de parámetros) y los flops, donde todos los modelos en una curva han sido entrenados con la misma cantidad de computación.
  • Al seleccionar el mejor modelo para cada curva, se puede graficar cuántos flops se utilizaron y cuántos parámetros se emplearon en el entrenamiento.
  • Se establece una ley de escalado que permite predecir el número óptimo de parámetros necesarios para un modelo dado un cierto nivel de flops.
  • Aunque las leyes de escalado son útiles, existen complejidades como la consideración de parámetros adicionales que pueden afectar los resultados finales.

Recursos Óptimos para Entrenamiento

  • Chinchilla Pap encontró que lo óptimo es usar 20 tokens por cada parámetro entrenado; esto maximiza la eficiencia del entrenamiento.
  • Las empresas deben considerar también los costos de inferencia; un modelo más pequeño puede resultar más económico a largo plazo debido a menores gastos operativos.
  • Actualmente, muchos modelos se entrenan con una proporción aproximada de 150 tokens por parámetro, equilibrando costo y rendimiento.

Costos Asociados a Inferencia

  • La inferencia es costosa; ejemplos como ChatGPT ilustran cómo millones de usuarios generan altos costos operativos.
  • Existen optimizaciones posibles para reducir estos costos, pero requieren un análisis detallado que podría ser objeto de otra charla.

Leyes de Escalado y Arquitectura

  • Las leyes de escalado pueden ayudar a responder preguntas sobre qué datos usar, cómo mezclar datos o si hacer modelos más anchos o profundos.
  • Richard Sutton destacó que tener más computación siempre resulta en mejores modelos; lo crucial es contar con arquitecturas capaces de aprovechar esa computación.

Ejemplo Práctico: Modelo Llama 3

  • El modelo Llama 3 tiene 45 mil millones de parámetros y fue entrenado con 15.6 tokens. Esto ilustra la relación entre tokens y parámetros en términos prácticos.
  • Para calcular flops, se utiliza la fórmula: 6 times textnúmero de parámetros times textnúmero total de datos, resultando en aproximadamente 3.8 times 10^25.

Costos y Desafíos en el Entrenamiento de Modelos de IA

Cálculo del Tiempo y Recursos Necesarios

  • Se entrenaron 16,000 H100s, lo que implica un tiempo aproximado de 70 días o 26 millones de horas GPU. Sin embargo, se mencionó que utilizaron 30 millones de horas GPU.
  • El costo estimado por alquilar estas GPUs es difícil de calcular, pero se sugiere que podría ser alrededor de $52 millones para 26 millones de horas a $2 por hora.
  • Considerando salarios para 50 empleados a $500k anuales, el costo total del entrenamiento del modelo sería aproximadamente $75 millones.

Emisiones de Carbono

  • Las emisiones calculadas son alrededor de 4,000 toneladas equivalentes de CO2, lo cual es comparable a solo 2,000 boletos de ida y vuelta desde JFK a Londres.
  • Aunque las emisiones son significativas, no se consideran un problema crítico en la actualidad; podrían volverse más relevantes con futuras generaciones como GPT-6 o GPT-7.

Evolución en el Rendimiento del Modelo

  • Cada nueva generación busca multiplicar los flops por diez. Esto depende del acceso a suficiente energía y GPUs disponibles.

Optimización Post Entrenamiento

Importancia del Ajuste Fino

  • La tarea principal del post-entrenamiento es crear asistentes AI efectivos. Los modelos puramente lingüísticos no cumplen esta función adecuadamente.
  • Un ejemplo dado muestra cómo un modelo puede fallar al responder preguntas complejas si no está alineado correctamente con las expectativas humanas.

Proceso de Alineación

  • La alineación busca que los modelos sigan instrucciones dadas por usuarios y diseñadores. Esto incluye moderación para evitar respuestas tóxicas.
  • Se enfatiza la necesidad de datos específicos para el entrenamiento post-entrenamiento; estos datos son costosos y difíciles de recolectar en comparación con los datos previos al entrenamiento.

Ajuste Fino Supervisado (SFT)

  • El ajuste fino supervisado implica ajustar un modelo preentrenado utilizando respuestas deseadas proporcionadas por humanos.
  • Este proceso permite modelar el lenguaje basado en respuestas reales deseadas, mejorando así la calidad general del modelo AI.

Ejemplo Práctico

  • Se menciona un caso donde se pide una introducción sobre "monopsonio", mostrando cómo las respuestas generadas pueden ser formuladas efectivamente mediante este método supervisado.

¿Cómo se utiliza la generación de datos sintéticos en el entrenamiento de modelos LLM?

Introducción a la recolección de datos humanos

  • La recolección de datos humanos es un proceso lento y costoso, lo que plantea un desafío significativo para el desarrollo de modelos.
  • Se utilizó un conjunto de preguntas y respuestas humanas (175 pares) para generar más ejemplos mediante el modelo Text3, resultando en 52,000 preguntas y respuestas generadas por LLM.

Proceso de ajuste fino del modelo Alpaca

  • El modelo Alpaca S7B fue creado ajustando finamente el modelo preentrenado Lama 7B con los datos generados.
  • Este enfoque representa una replicación académica del ChatGPT, destacando la importancia del uso de datos sintéticos para acelerar el desarrollo.

Eficiencia en la cantidad de datos necesarios

  • Un estudio llamado Lima mostró que aumentar los datos utilizados en el ajuste fino supervisado no mejora significativamente los resultados después de cierto punto (de 2,000 a 32,000 ejemplos).
  • La intuición detrás esto es que lo aprendido se centra más en cómo formatear las respuestas deseadas que en adquirir nuevo conocimiento.

Limitaciones del ajuste fino supervisado

  • El ajuste fino supervisado (SFT) no enseña al modelo nada nuevo; simplemente optimiza su rendimiento para un tipo específico de usuario basado en los datos preentrenados.
  • Existe preocupación sobre la generación continua desde la misma distribución sin aprender algo nuevo; se sugiere que podría ser útil involucrar humanos para mejorar este proceso.

Estrategias futuras y colaboración humano-LM

  • Se propone una colaboración entre humanos y LLM donde los modelos generan texto y los humanos realizan ediciones rápidas, lo cual puede ser más eficiente.
  • Esta estrategia podría llevar a un aprendizaje activo donde se solicitan entradas humanas solo cuando son necesarias.

Detalles sobre funciones de pérdida y entrenamiento

  • Durante el ajuste fino supervisado, se utiliza una función de pérdida similar a la del preentrenamiento pero con diferentes hiperparámetros.

¿Cuáles son los problemas del ajuste fino supervisado en modelos de lenguaje?

Problemas del ajuste fino supervisado (SFT)

  • El SFT enfrenta el problema de la clonación de comportamiento, donde se intenta replicar lo que dirían los humanos, limitando así las capacidades creativas del modelo.
  • Los humanos pueden no generar las mejores ideas debido a sus propias limitaciones, lo que significa que un modelo entrenado solo con respuestas humanas puede no alcanzar su máximo potencial creativo.
  • Se menciona el concepto de "alucinación", donde los modelos generan información falsa. Esto puede surgir incluso con datos correctos durante el ajuste fino supervisado.
  • Si un humano proporciona una respuesta que el modelo no conoce como verdadera, este podría generar referencias plausibles pero incorrectas, contribuyendo a la alucinación.
  • La generación de respuestas ideales es costosa; esto plantea la necesidad de métodos más eficientes para maximizar las preferencias humanas sin depender únicamente del SFT.

Introducción al enfoque RHF

  • El enfoque RHF busca maximizar las preferencias humanas en lugar de simplemente clonar comportamientos. Para ello, se generan dos respuestas para cada instrucción y se selecciona la preferida por evaluadores.
  • Se utiliza un modelo ajustado previamente para generar respuestas iniciales y luego se entrena al modelo basado en cuál respuesta fue elegida como mejor por los humanos.

Métodos para optimizar recompensas

  • Se discuten dos métodos principales: uno implica usar aprendizaje por refuerzo y otro consiste en entrenar un modelo de recompensa que clasifica qué tan buenas son las salidas generadas.
  • En el primer método, se compara la salida generada por un modelo base con la salida del nuevo modelo. Un humano determina cuál es mejor, proporcionando una recompensa binaria (más uno o menos uno).
  • Sin embargo, esta recompensa binaria es escasa y no proporciona suficiente información sobre cuán superior fue una respuesta respecto a otra.

Modelo de recompensa

  • En lugar de utilizar recompensas binarias simples, se propone entrenar un "modelo de recompensa" que actúa como clasificador para evaluar cuán preferible es una salida sobre otra desde la perspectiva humana.
  • Este modelo toma ambas salidas y calcula probabilidades utilizando funciones matemáticas como softmax para determinar cuál tiene mayor probabilidad de ser preferida por los humanos.

¿Cómo se utilizan los modelos de recompensa en el aprendizaje por refuerzo?

Conceptos Clave sobre Logits y Modelos de Recompensa

  • Los logits son continuos, lo que indica que un modelo de recompensa con altos logits sugiere que una respuesta es altamente preferida por humanos en comparación con otras respuestas.
  • Se utiliza el aprendizaje por refuerzo (RL) para optimizar la generación de respuestas a partir del modelo de lenguaje grande, incorporando un término de regularización para evitar la sobreoptimización.
  • La modelación perfecta de las preferencias humanas no siempre es posible; maximizar indefinidamente podría llevar a resultados no deseados.

Diferencias entre Máxima Verosimilitud y Aprendizaje por Refuerzo

  • Los modelos grandes ya no maximizan la verosimilitud máxima, sino que actúan como políticas dentro del contexto del aprendizaje por refuerzo, lo cual cambia la forma en que se interpretan las distribuciones generadas.
  • No hay incentivos para generar múltiples respuestas posibles; esto puede limitar la diversidad en las salidas generadas.

Proceso Implementado en ChatGPT

  • El proceso seguido incluye: 1. Entrenamiento supervisado inicial, 2. Entrenamiento del modelo de recompensa basado en preferencias humanas, 3. Aplicación del algoritmo PO (Policy Optimization).
  • A pesar de ser teóricamente atractivo, el aprendizaje por refuerzo presenta muchos desafíos prácticos debido a su complejidad y falta de documentación adecuada.

Introducción al DPO como Alternativa Simplificada

  • Se propone un nuevo método llamado DPO (Direct Preference Optimization), que simplifica el enfoque anterior al maximizar directamente la probabilidad de generar respuestas preferidas y minimizar las no deseadas.
  • La pérdida se define como logaritmos relacionados con las preferencias humanas; se busca maximizar lo positivo y minimizar lo negativo.

Comparación entre PO y DPO

  • Bajo ciertas condiciones, los mínimos globales obtenidos mediante PO y DPO son equivalentes desde una perspectiva matemática.
  • A diferencia del enfoque anterior donde era necesario recolectar preferencias humanas primero, DPO permite un proceso más directo centrado en la verosimilitud máxima.

Reflexiones sobre el Uso Inicial del Modelo de Recompensa

  • La elección inicial del modelo de recompensa puede haber sido influenciada por expertos en RL dentro del equipo original detrás de ChatGPT.

Mejoras Potenciales en Aprendizaje por Refuerzo

Introducción a DPO y su Estandarización

  • Se discuten mejoras potenciales en la práctica del aprendizaje por refuerzo, destacando que muchos miembros del equipo son expertos en este campo, incluyendo al autor principal de Po John Hman.
  • Se menciona que DPO (Optimización de Preferencias Diferenciales) se ha convertido en un estándar tanto en la comunidad de código abierto como en la industria.

Comparación de Modelos Preentrenados

  • Los modelos preentrenados muestran un rendimiento aceptable que mejora con el escalado; el ajuste fino supervisado también contribuye a esta mejora.
  • La conclusión es que el uso de retroalimentación humana (HF) ayuda significativamente a mejorar el rendimiento, incluso superando a los humanos en ciertos benchmarks.

Desafíos del Etiquetado Humano

Complejidad y Costos del Etiquetado

  • El etiquetado humano es complicado; ejemplos similares pueden ser difíciles de evaluar, lo que lleva a decisiones sesgadas basadas en características superficiales como la longitud.
  • Los desafíos incluyen lentitud y altos costos asociados al etiquetado humano, además de una tendencia a enfocarse más en aspectos formales que en la corrección.

Impacto de HF y Distribución de Anotadores

  • A medida que se incrementa el uso de HF, las respuestas generadas tienden a ser más largas, lo cual puede resultar frustrante para los usuarios.
  • La ética del crowdsourcing es cuestionada debido al bajo pago y exposición a datos tóxicos para quienes realizan el etiquetado.

Sustitución de Humanos por Modelos LLM

Ventajas sobre Etiquetadores Humanos

  • Se propone reemplazar las preferencias humanas con preferencias generadas por modelos LLM; esto resulta más económico y eficiente.
  • Los humanos solo están de acuerdo consigo mismos alrededor del 66% del tiempo al etiquetar datos binarios, mientras que los modelos pueden lograr una mayor consistencia.

Comparativa entre Modelos y Humanos

  • Aunque los humanos tienen variabilidad alta, los modelos presentan menos variabilidad pero pueden ser más sesgados. Esto permite obtener mejores resultados con menor costo.

Evaluación Post Entrenamiento

Desafíos Metodológicos

  • Evaluar modelos como ChatGPT presenta retos significativos ya que no hay una única respuesta correcta; múltiples respuestas pueden ser igualmente válidas.

¿Cómo evaluar modelos de lenguaje?

Evaluación de Modelos y Tareas Abiertas

  • La evaluación de modelos es complicada debido a la naturaleza abierta de las tareas, lo que dificulta la automatización.
  • Se propone preguntar a los usuarios sobre cuál modelo produce mejores resultados en lugar de depender únicamente de métricas automatizadas como la perplexidad.

Problemas con Perplexidad y Modelos

  • Los modelos no están entrenados para maximizar la probabilidad, sino que funcionan como políticas, lo que complica su evaluación.
  • El benchmark más confiable es el "Chatbot Arena", donde usuarios aleatorios interactúan con chatbots y califican sus respuestas.

Desafíos en el Proceso de Evaluación

  • Las preguntas suelen ser técnicas, lo que puede sesgar los resultados hacia temas específicos relacionados con tecnología.
  • Utilizar humanos para este tipo de evaluaciones puede resultar costoso; se sugiere usar modelos LM para generar respuestas automáticamente.

Comparación entre Modelos

  • Al comparar respuestas entre diferentes modelos (ej. ChatGPT), se promedia el rendimiento para obtener una tasa RN (ranking).
  • El método Alpa eval muestra un 98% de correlación con Chatbot Arena, siendo rápido y económico.

Limitaciones del Método

  • Un problema identificado es la preferencia por respuestas más largas tanto en humanos como en modelos, lo cual puede llevar a sesgos en las evaluaciones.
  • Se observa una variabilidad significativa en las tasas RN dependiendo del estilo solicitado al modelo (conciso vs. extenso).

Análisis Regresivo y Ajustes Post-entrenamiento

  • Se utilizó análisis regresivo para controlar la longitud de las respuestas, reduciendo así el impacto del sesgo por longitud.

Ajuste Fino y Parámetros del Modelo

  • En el ajuste fino se cambian todos los pesos del modelo; esto contrasta con enfoques más limitados utilizados en otros contextos.

Preguntas sobre Entrenamiento Posterior

¿Cómo influye el preentrenamiento en el ajuste fino?

Conceptos Clave sobre Preentrenamiento y Ajuste Fino

  • El preentrenamiento utiliza 15 billones de tokens, mientras que el ajuste fino se basa en un millón, lo que representa una diferencia significativa en la cantidad de datos.
  • Si se entrena repetidamente con una sola oración, el modelo puede sobreajustarse a esa oración, independientemente del tamaño del conjunto de datos original.
  • Es crucial entender que no se mezclan los datos de preentrenamiento y ajuste fino; primero se realiza el preentrenamiento y luego solo se ajusta con los datos posteriores.
  • Se puede considerar el preentrenamiento como la inicialización del modelo; lo importante es cómo se entrena después de esta fase inicial.
  • La frecuencia con la que se ejecuta el ajuste fino no es tan relevante como la tasa de aprendizaje efectiva utilizada durante este proceso.

Desafíos en la Computación con GPUs

Limitaciones y Estrategias para Optimizar Recursos

  • La escasez y alto costo de las GPUs representan un gran desafío; incluso con grandes presupuestos, adquirir las mejores GPUs es complicado.
  • Las limitaciones físicas al usar múltiples GPUs incluyen problemas de comunicación entre ellas, lo cual afecta la eficiencia general del sistema.
  • Las GPUs están optimizadas para un alto rendimiento (throughput), mientras que las CPUs son más eficientes en términos de latencia. Esto implica diferentes enfoques para su uso efectivo.
  • La multiplicación matricial es clave para aprovechar al máximo las capacidades de las GPUs; cualquier operación que pueda ser formulada como tal será significativamente más rápida.
  • Existe una jerarquía de memoria en las GPUs: cuanto más cerca esté un dato del núcleo (core), menos memoria habrá pero mayor velocidad tendrá.

Estrategias para Mejorar la Utilización de GPU

Técnicas Efectivas para Aumentar Rendimiento

  • Un indicador importante es la utilización máxima teórica (flops); alcanzar un 50% ya es considerado exitoso por muchas empresas grandes debido a problemas constantes con la llegada de datos a tiempo.
  • Una técnica simple pero efectiva es utilizar precisión baja (low precision); esto reduce los bits enviados a las GPUs, acelerando así la comunicación y disminuyendo el consumo de memoria.

Actualización de Pesos en Modelos de Aprendizaje Automático

Proceso de Actualización de Pesos

  • Los pesos se actualizan en 32 bits, lo que permite realizar diferencias significativas incluso con tasas de aprendizaje pequeñas. Aunque los cálculos se realizan en 16 bits, los pesos se almacenan en 32 bits.
  • Este método es el estándar utilizado por la mayoría, destacando la importancia del tamaño de los datos y su procesamiento eficiente.

Fusión Operativa para Mejorar el Rendimiento

  • En PyTorch, cada línea de código implica mover variables a la memoria global de la GPU, lo que puede ser ineficiente. Por ejemplo, al aplicar funciones como coseno, los datos son enviados y recibidos repetidamente entre la memoria y el procesador.
  • La fusión operativa busca optimizar este proceso al realizar todos los cálculos necesarios antes de devolver los resultados a la memoria. Esto reduce significativamente las transferencias innecesarias.
  • Para mejorar el rendimiento en PyTorch, se recomienda usar torch.compile en el modelo. Esto reescribe el código en C++ y CUDA para minimizar las comunicaciones y acelerar las operaciones hasta dos veces más rápido.

Temas Adicionales Relacionados con Modelos de Lenguaje

  • Se mencionan otros temas importantes como "tiling", separación y mezcla de expertos. Sin embargo, no se profundiza debido a limitaciones temporales.
  • Se sugieren cursos relevantes para aquellos interesados en aprender más sobre modelos grandes (LMS), incluyendo CS224n para contexto histórico y CS336 para construir un modelo desde cero.

Consideraciones Finales

Convierte cualquier video en un resumen como este

Videos de YouTube, reuniones, clases — con transcripción, búsqueda y chat.

Video description

For more information about Stanford's Artificial Intelligence programs visit: https://stanford.io/ai This lecture provides a concise overview of building a ChatGPT-like model, covering both pretraining (language modeling) and post-training (SFT/RLHF). For each component, it explores common practices in data collection, algorithms, and evaluation methods. This guest lecture was delivered by Yann Dubois in Stanford’s CS229: Machine Learning course, in Summer 2024. Yann Dubois PhD Student at Stanford https://yanndubs.github.io/ About the speaker: Yann Dubois is a fourth-year CS PhD student advised by Percy Liang and Tatsu Hashimoto. His research focuses on improving the effectiveness of AI when resources are scarce. Most recently, he has been part of the Alpaca team, working on training and evaluating language models more efficiently using other LLMs. To view all online courses and programs offered by Stanford, visit: http://online.stanford.edu Chapters: 00:00 - Introduction 00:10 - Recap on LLMs 00:16 - Definition of LLMs 00:19 - Examples of LLMs 01:16 - Importance of Data 01:20 - Evaluation Metrics 01:33 - Systems Component 01:41 - Importance of Systems 01:47 - LLMs Based on Transformers 01:57 - Focus on Key Topics 02:00 - Transition to Pretraining 03:02 - Overview of Language Modeling 04:17 - Generative Models Explained 05:15 - Autoregressive Models Definition 06:36 - Autoregressive Task Explanation 07:49 - Training Overview 08:48 - Tokenization Importance 10:50 - Tokenization Process 13:30 - Example of Tokenization 16:00 - Evaluation with Perplexity 20:50 - Current Evaluation Methods 24:30 - Academic Benchmark: MMLU