¿Cómo se hizo el ChatGPT?

¿Cómo se hizo el ChatGPT?

En las últimas semanas una parte de la humanidad se ha sacudido al conocer el ChatGPT, una verdadera revolución del conocimiento, un interfaz que te puede contestar casi cualquier pregunta en lenguaje natural, te puede hacer una canción, una página web, un programa, una aplicación,  un contrato, una receta, escribir un cuento, en síntesis casi cualquier tarea que el humano haya hecho o esté haciendo.

La primera impresión que tenemos es que es una forma sofisticada de búsqueda en la red pero no es así, usted puede tomar un parte de la respuesta que le de el Chatgpt y buscarla en la red y no la encontrará.

La respuesta la genera a partir de su pregunta con la información que tiene ChatGPT en su servidor por cierto le da una fecha hasta donde está actualizada, si usted le pregunta de un hecho reciente no tendrá respuesta porque los datos que toma los tiene que procesar primero.

Luego la pregunta es ¿Qué es el ChatGPT? La respuesta técnica es que es un modelo de lenguaje basado en la arquitectura GPT en Inglés Generative Pre-Trained Transformer traducido como Transformador pre entrenado generativo, este modelo utiliza una técnica de aprendizaje automático llamado preentrenamiento que utiliza una enorme cantidad de texto sin procesar antes de ajustar al modelo a tareas específicas.

El modelo utiliza una red neuronal que se compone de múltiples capas de transformadores, que son bloques de construcción que se utilizan para procesar secuencias de palabras en el texto. Cada capa del modelo procesa la entrada y produce una salida, que se alimenta a la siguiente capa.

El resultado es un modelo de lenguaje altamente sofisticado que puede generar texto coherente y relevante en respuesta a las entradas del usuario, utilizando su comprensión de los patrones y la estructura del lenguaje natural. La arquitectura GPT se ha utilizado para una amplia gama de aplicaciones de procesamiento de lenguaje natural, incluyendo la generación de texto, la traducción de idiomas y la respuesta a preguntas.

Bien con esto queda especificado que es el chatGPT y seguramente más del 99% de la población mundial no sabrá de que se le está hablando y escribirlo a detalle y en lenguaje familiar nos llevaría mas de 100 cuartillas, pero trataré de explicarlo en forma sencilla esperando no molestar a los especialistas.

Lo primero que tenemos que tener en cuenta es que las computadoras solo entienden números de dos dígitos 1 y 0 y los humanos solo entendemos palabras, lo reto a que trate de expresar una idea sin palabras.

Luego el primer reto será transformar las palabras en números y para eso se han formado diferentes códigos uno de los primeros fue el código ASCII que establecía una relación entre las letras y algunos símbolos en un conjunto de 8 bits conocido ampliamente también como Byte, de tal forma que cuando usted oprime la tecla A la computadora recibe un tren de unos y ceros.

Los bytes dentro de la maquina pueden significar datos, direcciones y control, el procesador tiene un microcódigo de instrucciones muy sencillas que ejecuta a velocidades muy altas, sobre esta capa elemental se van construyendo diferentes capas como sistemas operativos, lenguajes, super lenguajes y aplicaciones que nos permiten usarla en forma más “humana”, la superposición de capas nos ha permitido el uso de la computadora en prácticamente todas las ciencia y en múltiples acciones sociales.

Transformar un letra en un número es apenas el inicio de un largo camino, algo semejante a cuando aprendemos a leer, el conocer las letras nos sirve muy poco, lo importante es hacer patrones de letras que tengan sentido, a este patrón de letras con sentido les llamamos palabras y a ¿estas palabras las podemos relacionar con objetos y acciones del mundo real,

Pero tampoco termina la labor ahí, con estas palabras tenemos que formar nuevos patrones que les llamamos frases por ejemplo tenemos las palabras “avanza, carro, camino, el”, por etc. si tenemos toneladas de palabras aparecerá un patrón de palabras en esos texto que sea “El carro avanza por el camino”   que corresponderá a una experiencia que hemos observado o vivido.

Un conjunto de frases nos generará una idea y un conjunto de ideas un tratado y un conjunto de tratados una ciencia y un conjunto de ciencias el conocimiento.

Esto nos suena familiar, pero ¿Cómo hacer que una máquina siga este camino? ¿Como enseñarle que construya palabras, frases, ideas y tratados?

Existe un área de la inteligencia artificial llamada Machine Learning donde unos de sus objetivos es que las máquinas aprendan y se hace en dos vertientes llamadas “aprendizaje asistido y aprendizaje no asistido”

En el aprendizaje asistido usted le da las preguntas con su respuesta y el modelo analiza las preguntas y aunque no estén exactamente como se escribió la pregunta selecciona una de las respuestas que se le dieron y la contesta.

En el aprendizaje no asistido usted le da información, el sistema las procesa y da la respuesta más aproximada a la pregunta.

El algoritmo mas sencillo es el asistido, sin embargo, en la práctica no lo es, recuerdo que en una ocasión presentamos a nuestro humanoide Aristóteles ante un grupo de niños para que conversara con ellos y lo cargamos previamente con 200 posibles preguntas, la verdad no nos imaginamos más, muy orgullosos les dijimos a los niños que le hicieran preguntas y la primera fue “¿Dónde está mi oso de peluche? Bueno pues nosotros hicimos el oso ante la gente porque difícilmente se nos pudo ocurrir esa pregunta y luego vinieron preguntas como ¿Cuándo se va a aliviar mi tía Lupe? Tuvimos que sugerir las preguntas para salvar la presentación.

El aprendizaje no asistido también tenía ese problema, el número de libros y artículos que había que meterle era de proporciones astronómicas, además de que las computadoras que teníamos eran comerciales de baja capacidad y velocidad de proceso así que decidimos acotar los temas, otro problema era que no había bibliotecas de lenguaje natural en español así que tuvimos que hacer nuestros propios algoritmos de aprendizaje, sin embargo, a pesar de todas las limitaciones los resultados nos parecieron espectaculares.

ChatGPT no surge espontáneamente es el resultado de décadas de trabajos y estudios en diferentes campos como la computación, la inteligencia artificial, redes y la sociedad, la empresa OpenAi fundada y financiada en su inicio por Elon Musk aprovecha todos estos trabajos y los suyos propios para presentarnos esta maravilla tecnológica y lo pone al servicio de la humanidad, pero regresemos al tema de como se hace.

Veamos que es un modelo, es un algoritmo, programa etc. que intenta replicar el comportamiento de un sistema, por ejemplo el modelo del clima, a este modelo se le introducen datos históricos de comportamiento y con ellos predice el comportamiento futuro del clima, GPT es un modelo de lenguaje que es capaz de reconocer parte de nuestro idioma, esto es un modelo generativo, esto es dado un texto genera palabras, esto es te dice cual es la palabra mas probable que va a seguir en un texto, esto quizás ya lo ha observado en su celular cuando está escribiendo un texto le aparece por ahí una palabra para completar su frase, solo que GPT va muchísimo más allá.

ChatGPT está configurado para completar respuestas como si estuviera en una conversación, lo que nos proporciona es una cadena de palabras que tienen mayor probabilidad de aparecer, esto es, predice texto que no existe.

Al usarlo nos da la impresión de que tiene conciencia o que ha copiado esto de alguna página Web, pero no es así, ChatGPT genera ese texto, tampoco tiene conciencia solo está prediciendo palabras.

Como decíamos nosotros reconocemos en las letras patrones que les llamamos palabras de la misma manera introducimos textos a la computadora y después de transformarse en números busca patrones en esos números a través de redes neuronales, una vez encontrado estos patrones que podemos llamar etiquetas busca relaciones entre estas etiquetas y lo hace con miles de datos a este proceso le llaman entrenamiento y lo interesante es que encuentra relaciones que nosotros pasamos por alto, cada etiqueta tendrá una cantidad muy grande de relaciones o dimensiones de tal forma que al ir prediciendo la siguiente palabra lo puede hacer en el contexto de la pregunta y de las palabras anteriores que predijo dándole coherencia y sentido, basado en las miles de frases que le sirvieron para generar estas relaciones.

Resumiendo, ChatGPT no piensa, no tiene ideas, solo predice secuencias de palabras de acuerdo a su probabilidad de ocurrencia y esta probabilidad la calcula en base a los miles o millones de palabras de nuestros textos que previamente analizó.

Si le interesa el tema a detalle le sugiero tomar un curso de Machine Learning en alguna universidad, on line o en mi taller de Inteligencia Artificial que reanudaré en unas semanas.