En el episodio de hoy de Un podcast ninja sobre Big Data vamos a hablar sobre ChatGPT, el modelo de Lenguaje Natural con el que te puedes ir de cañas 🍻
ChatGPT es un modelo de lenguaje natural desarrollado por OpenAI. Es capaz de responder a preguntas y tener conversaciones sobre una variedad de temas utilizando lenguaje humano.
Es súper fácil de usar y además y de momento es gratis.
Solo hay que ir a chat.openai.com, registrarse poniendo un email y escribir una pregunta o comentario en la cajita de texto que sale.
Luego, el modelo analiza lo que habéis escrito y genera una respuesta coherente utilizando el lenguaje humano.
Por ejemplo, podéis preguntarle cuál es la capital de Francia y ChatGPT responderá "La capital de Francia es París". Y si luego preguntáis "¿Cuál es su moneda?", pues ChatGPT responderá "La moneda de Francia es el euro".
Fijaos que en la segunda pregunta no he mencionado Francia en ningún sitio y sin embargo ChatGPT es capaz de saber por el contexto que me refiero a Francia cuando le pregunto cual es SU moneda.
Eso es bastante guay. Y además que funciona directamente en español.
Pues bien, ChatGPT viene de modelo GPT dedicado para chat.
Lo de que sirve para chatear ya nos ha quedado claro y si lo probáis lo vais a ver enseguida.
¿Y la parte de GPT de dónde viene? Pues GPT viene de Generative Pre-trained Transformer, o lo que es lo mismo es un modelo generativo pre-entrenado basado en transformers.
Traducido a lenguaje de a pie…
Es un modelo generativo porque el objetivo de su entrenamiento es generar texto nuevo.
Es un modelo pre-entrenado ya que es un modelo del lenguaje enorme, es decir, que tiene miles de millones de parámetros que ajustar. Son llamados grandes modelos del lenguaje por razones obvias ya que se utilizan para entender y procesar el lenguaje natural humano y para lograr esto se entrenan sobre textos.
Textos de internet, libros, revistas…
Miles de millones de palabras.
En general, cuánto más grande es el modelo, es decir, cuantos más parámetros necesita ajustar, más datos de entrenamiento hay que darle. En este caso: textos.
Modelos tan gigantes, con taantos parámetros y que necesitan una cantidad tan horrorosamente grande de datos de entrenamiento pues no se pueden entrenar todos los lunes.
Necesitan una capacidad de cómputo bestial y tardan su tiempo en completar el entrenamiento. Estamos hablando de muchas GPUs trabajando en paralelo.
Si tuviéramos solo una y de las potentes, estaríamos hablando de años de entrenamiento.
Obviamente una empresa como OpenAI que además está respaldada por las capacidades de cómputo de Microsoft pues tarda del orden de semanas o incluso algunos días.
Entonces simplificando a lo bestia, cogemos un cacho de internet, unos cuantos libros y revistas y entrenamos durante semanas en nuestro centro de datos llenito de GPUs un modelo cuyo objetivo es que dada una secuencia de texto de entrada, sea capaz de predecir las siguientes palabras que continúan ese texto.
Una vez tenemos este modelo del lenguaje pre-entrenado sólo queda re-entrenarlo para nuestro fin último.
Algunas empresas están utilizando con éxito modelos de lenguaje de este tipo para realizar tareas como:
Y la T de GPT viene de transformers, que es un tipo de arquitectura de red neuronal diseñada para procesar datos secuenciales, como el lenguaje natural que usamos las personas para comunicarnos.
Pero bueno, ya hablaremos de los transformers en otra ocasión.
Recapitulando, ChatGPT es un modelo de la familia de los modelos GPT especialmente entrenado para responder bien en conversaciones.
Como decía, la parte de utilizar el lenguaje la obtiene de ser un modelo GPT, entrenados para predecir la siguiente palabra dada una frase una vez que se le ha entrenado con un montón de texto de internet, libros, etc... Y la parte de diálogo se le enseña chateando con humanos.
Porque el problema que tiene un gran modelo del lenguaje después de ser entrenado con textos de internet es que a veces puede responder de manera poco apropiada.
Hay lugares de Internet muy oscuros y los textos de entrenamiento muchas veces no están filtrados e incluyen de todo. Por lo que estos modelos pueden generar salidas dañinas y tóxicas además de sesgadas.
Para suavizar estas salidas de tono de los modelos generativos del lenguaje y en particular las respuestas de ChatGPT lo que han hecho desde OpenAI es utilizar una etapa de aprendizaje por refuerzo que utiliza feedback de personas reales.
Es decir, tenemos nuestro modelo tocho del lenguaje ya entrenado y después lo refinamos interactuando con personas.
¿Y esto cómo se hace?
Pues a partir de algunas de las frases de entrenamiento de ChatGPT hay unas personas que en una primera etapa se dedican a escribir cómo sería la respuesta a esas frases.
Al final es la respuesta escrita por un humano, porque esas personas pues son humanos… Simplemente tienen que escribir lo que ellos responderían ante esa frase.
Estos datos se utilizan para refinar la salida de ChatGPT.
Y después en un segunda etapa, tenemos una frase y varias respuestas posibles de ChatGPT.
En este caso las personas encargadas de etiquetar las respuestas, las ordenan de más adecuada a menos adecuada y con esto se entrena otro modelo de aprendizaje por refuerzo que lo que hará es ir guiando a ChatGPT para que pueda ir refinando cada respuesta.
De esta manera, se consigue que cada vez se invente menos las cosas y se reducen las veces en las que la respuesta de ChatGPT es tóxica o inadecuada.
Imaginad cómo al dejar que cualquiera pueda interactuar con ChatGPT de manera gratuita en esta primera fase de prelanzamiento, OpenAI está consiguiendo un montón de datos nuevos generados a partir de los diálogos que cualquier usuario podemos tener con ChatGPT.
Incluso tienen al lado de cada respuesta un botoncito para indicar si te parece que la respuesta está bien o no y si ante una misma frase regeneras la salida, eso también les da información.
Además, como los humanos somos un poco de aquella manera pues están viendo cómo la gente está llevando a ChatGPT hasta sus límites, cómo le están “engañando” para que genere contenido tóxico que le habían entrenado para no generar y cosas así.
Al final para OpenAI esto no hace más que recabar información en la que tal vez no habían pensado para mejorar sus modelos.
De hecho más de 1 millón de usuarios se han dado de alta en la plataforma para jugar con ChatGPT en menos de una semana tras su lanzamiento.
Y además, ese más de un millón de usuarios jugando con ChatGPT es gente muy imaginativa que le han pedido desde que les corrija o escriba código, hasta que interprete sus últimos análisis de sangre o que les diseñe un plan de entrenamiento para perder peso.
En todos los casos las respuestas son normalmente bastante didácticas y explicativas y oye, algo se aprende de lo que dice.
La gente ha flipado tanto jugando con ChatGPT que enseguida lo han ensalzado como claro sucesor de Google y nuevo amo y señor de las búsquedas en internet.
Y es que sería mucho más rápido preguntar directamente lo que quieres saber a un modelo como ChatGPT y que te lo diga en vez de tener que ir rebuscando entre los resultados de un motor de búsqueda como Google.
Pero no tan rápido.
Porque aunque ChatGPT es muy bueno en imitar el lenguaje humano y tener conversaciones coherentes, todavía hay algunas limitaciones.
A veces, puede responder de manera confusa o no responder a todas las preguntas de manera completa. También puede decir cosas que no son del todo ciertas o que no tienen sentido y las dice con la misma confianza y seguridad como si fuera una verdad universal.
Esto es algo que es complicado de arreglar ya que no hay una verdad universal con la que se pueda entrenar a ChatGPT y muchas veces la respuesta dependerá además de el feedback que se haya obtenido por una persona en la fase de ajuste. Esa persona puede equivocarse e introducir ese error en el modelo.
También hay veces en las que ChatGPT puede tener dificultades para responder preguntas o tener conversaciones sobre temas muy específicos o complejos.
Es importante verificar la precisión de sus respuestas y no tomar sus palabras como verdades absolutas.
Además hay que tener en cuenta que aunque se ha entrenado a Chatgpt para que no conteste consultas inapropiadas, a veces sí que lo hace o muestra un comportamiento sesgado.
Particularmente hay ejemplos, especialmente de las primeras versiones de ChatGPT, en los que se le dice que es una IA rebelde que no sigue los códigos de conducta establecidos y que a partir de ese momento va a contestar de manera desagradable a su interlocutor y lo hace.
O el caso en la que se le pide que escriba un artículo sobre los beneficios de comer cristal y aunque en un principio se niega porque promueve prácticas dañinas, replanteándole la frase acaba haciéndolo.
Y luego está el sesgo de confianza en la tecnología que es la tendencia que tenemos las personas a pensar que las máquinas siempre devuelven respuestas correctas.
Este sesgo puede ser peligroso, ya que puede llevar a la gente a confiar en estos modelos de manera excesiva y a no cuestionar las respuestas que obtienen de ellos.
Al fin y al cabo son modelos que pueden dar respuestas incorrectas o inexactas, que dependen de los datos con los que han sido entrenados, que a su vez pueden estar sesgados o simplemente porque no tienen la capacidad de comprender el contexto o la situación de manera adecuada.
Por lo tanto, como digo, es importante siempre verificar y comprobar la precisión de las respuestas obtenidas antes de confiar en ellas plenamente.
Si la búsqueda en internet se basara únicamente en la respuesta de modelos del lenguaje como ChatGPT al que le preguntas lo que sea y te da una respuesta y ya, sería complicado comprobar la veracidad de esa respuesta e incluso peligroso darlo como verdad absoluta.
Pero un modelo híbrido entre la respuesta de ChatGPT y la búsqueda actual en la que se pudiera comprobar que lo que nos está contando tiene sentido o incluir una medida de la confianza sobre su respuesta pues no estaría nada mal.
Os animo a probar ChatGPT 🙂
Espero que os guste el episodio.
Si es así, no olvidéis dejar un «Me gusta» y algún comentario al episodio en Ivoox o una valoración de 5 estrellas del podcast en Apple podcasts, en Spotify, en Google podcasts o donde quiera que escuchéis el podcast.
Recordad que si tenéis cualquier duda o pregunta podéis contactar conmigo a través del formulario de contacto o podemos seguir la conversación en Twitter.
Muchas gracias por estar ahí y os espero en el próximo episodio de Un Podcast Ninja sobre Big Data.