¿Cómo se crea un modelo de 400 millones de dólares o más, como ChatGPT, Claude, LLAMA, Gemini, Mistral y se puede usar gratis? 💰✨
- Posted by Hugo Martinez
- Categories Tecnología
- Date julio 18, 2024
- Comments 0 comment
¿Cómo se crea un modelo de 400 millones de dólares o más, como ChatGPT, Claude, LLAMA, Gemini, Mistral y se puede usar gratis?
Parte I:
Fuente: OpenAI, Copilot, Gemini, Claude, Mistral.
El proceso de entrenamiento de un asistente GPT pasa por cuatro etapas principales (Etapa1-Preentrenamiento, Etapa2-Ajuste Supervisado, Etapa 3-Modelado de Recompensa, y Etapa4-Aprendizaje por Refuerzo), cada una con su propio conjunto de datos y algoritmos, y resultando en modelos cada vez más refinados y especializados.
Fuente: Andrej Karpathy
Etapa1-Preentrenamiento:
Dataset. Se utiliza una gran cantidad de texto de internet (miles de millones de palabras) que puede no ser de alta calidad.
Este texto se convierte en una lista muy larga de números enteros que la IA puede procesar.
Algoritmo. El modelo aprende a predecir la siguiente palabra o token en una secuencia de texto. Esto es conocido como “modelo del lenguaje”.
Modelo. El resultado es el “modelo base”. Este modelo ha aprendido de una gran cantidad de datos y tiene una comprensión general del lenguaje.
Notas. Este proceso utiliza miles de GPUs y toma meses de entrenamiento. Ejemplos de modelos entrenados de esta manera incluyen GPT, LLaMA, Gemini.
Etapa2-Ajuste Supervisado
Dataset. Aquí se utilizan respuestas ideales de asistentes, que son escritas por personas. Estas respuestas son de alta calidad pero en menor cantidad (entre 10,000 y 100,000 pares de preguntas y respuestas).
Algoritmo. El modelo sigue aprendiendo a predecir la siguiente palabra, pero ahora utilizando ejemplos de respuestas de alta calidad.
Modelo. El resultado es el Modelo Afinado Supervisado (SFT model). Este modelo está más especializado y puede desplegarse para tareas específicas.
Notas. Este proceso puede realizarse con menos GPUs y en días de entrenamiento. Ejemplo de este tipo de modelo incluye Vicuna-13B.
Etapa3- Modelado de Recompensa
Dataset. Se utilizan comparaciones entre diferentes respuestas generadas por el modelo afinado supervisado. Estas comparaciones también son realizadas por personas y son de alta calidad pero en menor cantidad (entre 100,000 y 1 millón).
Algoritmo. Se entrena un clasificador binario que predice qué respuestas son mejores según las preferencias humanas.
Modelo. El resultado es el Modelo de Recompensa (RM model), que puede predecir la calidad de las respuestas según las preferencias humanas.
Notas. Este proceso también requiere menos GPUs y días de entrenamiento.
Etapa4-Aprendizaje por Refuerzo
Dataset. Se utilizan prompts (instrucciones o preguntas) que han sido escritas por personas. Estos prompts son de alta calidad pero en menor cantidad (entre 10,000 y 100,000).
Algoritmo. Se utiliza el aprendizaje por refuerzo, que ajusta el modelo para generar respuestas que maximicen una recompensa (según el modelo de recompensa).
Modelo. El resultado es el Modelo de Aprendizaje por Refuerzo (RL model), que genera respuestas de alta calidad que satisfacen las preferencias humanas.
Notas. Este proceso utiliza menos GPUs y días de entrenamiento. Ejemplos de modelos entrenados de esta manera incluyen ChatGPT y Claude.
Vamos a desarrollar cada Etapa.
Etapa1-Preentrenamiento – Recolección de Datos
Fuente: Andrej Karpathy
Para entrenar un modelo GPT eficazmente, se necesita una mezcla de datos de diferentes fuentes que sean variados y completos. Estas fuentes incluyen texto de sitios web, código de programación, enciclopedias, libros, artículos científicos y preguntas y respuestas de comunidades en línea.
En la tabla se muestra diferentes fuentes de datos utilizadas y sus proporciones en el conjunto de datos total.
Antes algunas definiciones. (Épocas se refiere a cuántas veces se utiliza cada conjunto de datos en el entrenamiento del modelo y Tamaño en Disco, indica cuánto espacio ocupa cada conjunto de datos).
Fuentes de Datos Utilizada en el Modelo Llama de Meta.
CommonCrawl es una colección masiva de datos web que incluye una gran variedad de textos de diferentes sitios web.
Proporción de muestreo: 67.0%
Número de épocas: 1.10
Tamaño en disco: 3.3 TB
C4 es otro conjunto de datos web masivo como portales de noticias y los medios digitales, pero más limpio y filtrado.
Proporción de muestreo: 15.0%
Número de épocas: 1.06
Tamaño en disco: 783 GB
GitHub proporciona datos de código fuente y documentación, lo que es útil para modelos que necesitan entender el código y los lenguajes de programación.
Proporción de muestreo: 4.5%
Número de épocas: 0.64
Tamaño en disco: 328 GB
Wikipedia Wikipedia es una enciclopedia en línea, rica en información de alta calidad y bien estructurada.
Proporción de muestreo: 4.5%
Número de épocas: 2.45
Tamaño en disco: 83 GB
Books Incluye textos de libros, que son generalmente de alta calidad y bien redactados.
Proporción de muestreo: 4.5%
Número de épocas: 2.23
Tamaño en disco: 85 GB
ArXiv ArXiv es un repositorio de artículos científicos, proporcionando datos técnicos y científicos.
Proporción de muestreo: 2.5%
Número de épocas: 1.06
Tamaño en disco: 92 GB
StackExchange es una red de sitios de preguntas y respuestas sobre una variedad de temas como Reddit.
Proporción de muestreo: 2.0%
Número de épocas: 1.03
Tamaño en disco: 78 GB
Etapa1-Preentrenamiento – Tokenización
La tokenización es un paso crucial en el preentrenamiento de un modelo GPT. Transforma el texto crudo en una lista de números enteros que el modelo puede procesar. Utilizando algoritmos como Byte Pair Encoding, el texto se divide en tokens y luego se convierte en enteros, permitiendo al modelo trabajar eficientemente con grandes cantidades de datos textuales.
Fuente: Andrej Karpathy
Pasos del Proceso.
Paso 1 – Texto Crudo (Raw Text).
Empezamos con el texto tal como lo encontramos, por ejemplo: “The GPT family of models process text using tokens, which are common sequences of characters found in text.”
Paso 2 – Tokens.
El texto se divide en pequeñas unidades llamadas tokens. Un token puede ser una palabra completa, una parte de una palabra o incluso un carácter.
Por ejemplo, “The GPT family of models” se podría dividir en los tokens: “The”, ” GPT”, ” family”, ” of”, ” models”.
Paso 3 – Enteros.
Cada token se convierte en un número entero único. Por ejemplo, “The” podría convertirse en 464, ” GPT” en 402, y así sucesivamente.
La secuencia completa de tokens se convierte en una lista de números enteros: [464, 402, 11571, 1641, 286, 4981, …]
Tokens de algunos modelos.
- Tokens posibles. Entre 10,000 y 100,000 tokens diferentes.
- Proporción de tokens a palabras. Aproximadamente, 1 token equivale a 0.75 palabras.
Algoritmo Típico – Byte Pair Encoding (BPE).
Este es un algoritmo comúnmente utilizado para tokenización. Funciona combinando los pares de caracteres o secuencias de caracteres más frecuentes hasta que se crean los tokens necesarios.
BPE asegura que los tokens más frecuentes sean los más cortos, lo que ayuda a reducir la cantidad de datos que el modelo necesita procesar.
Miremos un ejemplo en Tokenizer de OpenAI Tokenizer para un texto de Gabriel Garcia Marquez.
El Coronel No Tiene Quien le Escriba
Gabriel García Márquez
El coronel destapó el tarro del café y comprobó que no había más de una cucharadita. Retiró la olla del fogón, vertió la mitad del agua en el piso de tierra, y con un cuchillo raspó el interior del tarro sobre la olla hasta cuando se desprendieron las últimas raspaduras del polvo de café revueltas con óxido de lata.
Los colores indican los Tokens, para la frase “El Coronel No Tiene Quien le Escriba” esta compuesta de 12 Token.
Los enteros que son unicos para el modelo, en este ejemplo GPT3.5, un ejemplo el punto “.” se identifica con el entero 13.
Fuente: OpenAI.
Espere la II Parte.
Fuente: Charla de Andrej Karpathy en Microsoft BUILD.
Para consultas sobre cómo implementar análisis estadístico con Inteligencia Artificial Generativa, asesorías y/o charlas de introducción a IA, por favor, no dudes en contactarme en [email protected]
Aviso: Este artículo se ha elaborado con la asistencia de herramientas de IA ChatGPT y DALL-E 3, para la creación de contenido y de imágenes, la revisión y edición final del artículo es realizada por el autor.
Etiqueta:ChatGPT, Inteligencia Artificial