un celular y unos lentes sobre una mesa

Cómo construir tu propio ChatGPT o cualquier LLM

fathooo
Tecnología, Inteligencia Artificial, Programación


Paso 1: Pre-entrenamiento

El pre-entrenamiento es la etapa inicial en el desarrollo de un LLM (Large Language Model o en español, grandes modelos del lenguaje). En esta fase, se llevan a cabo diversas tareas fundamentales para preparar el modelo de lenguaje natural.

Uno de los primeros pasos es la extracción de datos, donde se recopilan grandes volúmenes de información de fuentes variadas, como Internet. Además, se utiliza la técnica de scraping para obtener información textual relevante.

Internet se convierte en una fuente valiosa de datos, proporcionando una amplia cantidad y variedad de información.

A continuación, se genera un modelo basado en algoritmos de aprendizaje automático. Este modelo tiene la capacidad de comprender y procesar el lenguaje natural humano, actuando como una especie de "calculadora de palabras" al predecir qué palabras pueden seguir en una oración.

Considerando lo anterior, el pre-entrenamiento es el primer paso en la creación de un LLM. En esta etapa, se recopilan los datos necesarios, se crea un modelo y se entrena para comprender y predecir el lenguaje natural humano.

Se muestran muchas carpetas de colores

Paso 2: Ajuste Fino Supervisado (SFT - Supervised Fine-Tuning)

El ajuste fino supervisado es una etapa crucial en el desarrollo de un LLM. En esta fase, se realizan una serie de pasos para mejorar las capacidades del modelo de lenguaje natural. Estos pasos incluyen:

Generación de un conjunto de datos más pequeño:

Se crea un conjunto de datos específico y más reducido que se utilizará para mejorar el modelo. Este conjunto de datos puede estar enfocado en preguntas y respuestas específicas o en información detallada de un área particular.

Búsqueda de datos esperados:

Se seleccionan datos que se espera que el modelo pueda manejar de manera precisa. Esto implica buscar ejemplos y ejercicios que sean relevantes y representativos del tipo de información que el modelo debe ser capaz de procesar.

Generalización del dato:

El conjunto de datos creado se enfoca en proporcionar ejemplos que ayuden al modelo a generalizar y comprender diferentes escenarios. Se busca entrenar al modelo para que pueda adaptarse y responder adecuadamente a diversos tipos de entrada.

Peso del conjunto de datos:

Durante el entrenamiento, se otorga un mayor peso al conjunto de datos generado en esta etapa. Esto implica que el modelo dará más importancia y prestará más atención a este conjunto de datos durante el proceso de entrenamiento.

Establecimiento de criterios de respuestas aceptables:

El modelo de lenguaje aprende qué respuestas son consideradas aceptables para los diferentes tipos de entrada que se le presenten. Se establecen criterios y pautas para determinar la calidad y precisión de las respuestas, de modo que el modelo pueda mejorar en su capacidad de respuesta.

El ajuste fino supervisado es esencial para mejorar y perfeccionar el modelo de lenguaje natural. Esta etapa permite que el modelo se ajuste y se adapte mejor a las diversas situaciones y tipos de información con los que puede encontrarse.

Se muestraun notebook en una mesa semi cerrado pero mostrando la luz

Problemas: Alucinaciones

Durante el desarrollo de un LLM, uno de los desafíos que se ha presentado es el fenómeno de las alucinaciones. Este fenómeno se refiere a cuando el modelo de lenguaje responde con información que no es verídica o es inventada.

Recientemente un abogado que confió en exceso en chatgpt y éste le proporcionó precedentes legales y bases legales que no existían. Este problema plantea preocupaciones sobre la confiabilidad y la integridad de las respuestas generadas por el LLM.

Si bien todavía se están investigando las razones detrás de estas alucinaciones, una teoría sugiere que el ajuste fino supervisado podría ser una de las principales causas de este problema. Durante esta etapa, el modelo puede responder con información que no tiene originalmente, lo que podría llevar a respuestas incorrectas o inventadas.

Como resultado, es importante abordar y mitigar este problema de alucinaciones en la etapa de desarrollo y entrenamiento del LLM. Esto implica una cuidadosa selección de los conjuntos de datos y una validación rigurosa de las respuestas generadas por el modelo para garantizar su precisión y veracidad.

Paso 3: Aprendizaje por Refuerzo a partir de Retroalimentación Humana (RLHF - Reinforcement Learning from Human Feedback)

El aprendizaje por refuerzo a partir de retroalimentación humana es una etapa clave en el proceso de mejora de un LLM. En esta fase, se utilizan técnicas de aprendizaje por refuerzo para aumentar la calidad de las respuestas generadas por el modelo de lenguaje natural. A continuación, se destacan los aspectos principales de esta etapa:

Modelo de recompensas entrenado:

Se utiliza un modelo de recompensas que ha sido entrenado por humanos para evaluar la calidad de las respuestas generadas por el LLM. Este modelo de recompensas actúa como un evaluador imparcial y objetivo para medir qué tan buena o mala es una respuesta generada por el modelo de lenguaje.

Determinación de la calidad de la respuesta:

El modelo de recompensas se encarga de evaluar la calidad de las respuestas proporcionadas por el LLM. Para hacer esto, se establecen criterios y métricas específicas que permiten determinar qué tan adecuada y precisa es la respuesta en relación con la consulta o pregunta realizada.

Algoritmo PPO:

Para entrenar al modelo de lenguaje a partir de la retroalimentación humana, se utiliza el algoritmo de Proximal Policy Optimization (PPO). Este algoritmo se basa en la maximización de las recompensas obtenidas durante el entrenamiento, permitiendo mejorar progresivamente las respuestas generadas por el modelo.

Importancia del balance:

Durante esta etapa, es fundamental encontrar un balance adecuado entre la retroalimentación humana y el modelo de recompensas. Ambos elementos son clave para lograr un aprendizaje efectivo y una mejora continua en la calidad de las respuestas generadas por el LLM.

El aprendizaje por refuerzo a partir de retroalimentación humana es una etapa esencial para perfeccionar el modelo de lenguaje natural. A través de la aplicación de técnicas de aprendizaje por refuerzo y el uso de un modelo de recompensas, se logra mejorar la calidad y precisión de las respuestas del LLM a medida que recibe retroalimentación de los humanos.

Referencias: