Modelos generativos de IA: ChatGPT

A estas alturas seguramente has oído hablar de ChatGPT, un poderoso modelo de lenguaje que se hizo famoso en todo el mundo por tener múltiples casos de uso para tareas cotidianas. Por esta razón, usuarios de todas las áreas han estado poniendo a prueba a ChatGPT desde finales de 2022.

ChatGPT es un bot conversacional que permite a los usuarios tener interacciones, en lenguaje natural, con una inteligencia artificial (IA). Este modelo puede responder preguntas y, generalmente, la respuesta será correcta y precisa (dependiendo del tema, la información puede ser obsoleta o incorrecta). También puede ser usado para depurar código, redactar una carta de presentación para una solicitud de empleo o algunas otras tareas similares.

Concepto y origen

ChatGPT fue creado por OpenAI, una compañía dedicada a la investigación y desarrollo de tecnologías de IA. Este producto tiene ya varios años siendo desarrollado. Su primera versión (GPT-1) se estrenó en 2018 y su lanzamiento más reciente fue en marzo de 2023: GPT-4. 

La idea detrás de ChatGPT era crear una Inteligencia Artificial Generativa capaz de dar respuestas similares a las humanas, a partir de pedidos realizados por usuarios en lenguaje natural. Para este propósito, fue pre-entrenado con grandes (realmente enormes) cantidades de datos de texto. También se utilizaron técnicas de aprendizaje profundo (deep learning) para que el modelo lograra escribir oraciones coherentes y usar las palabras de manera adecuada. Fue entrenado para entender cómo hablan los humanos (o escriben) y así ser capaz de entender los pedidos de los usuarios. 

ChatGPT es una IA “generativa” porque es capaz de formar respuestas por sí misma. No contiene una base de datos con respuestas predeterminadas, en su lugar, ChatGPT genera sus respuestas de manera personalizada, dependiendo de la entrada del usuario. 

La arquitectura de ChatGPT

Esta herramienta utiliza un modelo de aprendizaje profundo conocido como Transformer. Este es uno de los modelos más utilizados en el procesamiento del lenguaje natural y la visión por computadora. Este modelo está diseñado para procesar datos de entrada secuenciales, pero  es capaz de medir la importancia de cada parte de estos datos utilizando un mecanismo llamado “autoatención”.  

Además de la arquitectura Transformer, también incluye componentes tales como un clasificador MLP (perceptrón multicapa) y un mecanismo de decodificación. El clasificador MLP es una red neuronal artificial de alimentación directa utilizada para ajustar un modelo para tareas específicas de procesamiento del lenguaje natural.

¿Cómo se entrena ChatGPT?

Hay dos etapas principales cuando se está entrenando un modelo similar a ChatGPT. La primera parte es el preentrenamiento: el modelo es alimentado con una gran cantidad de datos de Internet y luego intenta predecir cómo terminar una oración, dada una entrada que es gramaticalmente correcta y semánticamente significativa similar a los datos de entrenamiento. Después de esta etapa, el modelo debe ser capaz de completar oraciones con éxito y poco más. 

La segunda etapa es afinar el modelo. En este caso, estamos hablando de un proceso de tres partes que ayuda a convertir el modelo preentrenado en un modelo que puede responder preguntas.

Ajuste fino o fine-tuning

  1. El primer paso es recopilar datos de entrenamiento, preguntas con sus respuestas, y ajustar el modelo preentrenado en estos datos. Después de alimentar estos datos al modelo, podrá responder a una pregunta generando una respuesta similar a los datos de entrenamiento.
  2. El segundo es recopilar aún más datos. Esta vez, preguntas con múltiples respuestas. Ahora el modelo debe ser entrenado con un modelo de recompensa para clasificar estas respuestas de las más relevantes a las menos relevantes.
  3. Finalmente, se usa el aprendizaje por refuerzo para afinar el modelo para que sus respuestas sean más precisas, en general.

¿Cómo funciona ChatGPT?

El proceso de ChatGPT para responder a la solicitud de un usuario. Fuente.

El usuario accede a la plataforma e inicia una conversación con ChatGPT. Al ingresar un mensaje en lenguaje natural, comienza la experiencia y ChatGPT inicia su proceso de generar una respuesta para ese mensaje específico.

El texto ingresado por el usuario se envía a un componente de moderación de contenido; esto garantiza que se sigan las pautas de seguridad. Este mecanismo filtra las entradas que sean juzgadas como inapropiadas. Si la entrada es válida, se envía al modelo ChatGPT. Si no es así, entonces una respuesta predeterminada será mostrada al usuario.

Cuando el modelo ChatGPT tiene una respuesta lista, se envía de nuevo a un componente de moderación de contenido. Esto garantiza que la respuesta generada sea segura, inofensiva, imparcial, etc. Todo este proceso ocurre en milisegundos.

Si el outpur pasa la moderación de contenido, se muestra al usuario. Si no es así, se le mostrará una respuesta predeterminada al usuario. 

Capacidades y limitaciones de ChatGPT

Hay muchas cosas que se pueden hacer con la ayuda de ChatGPT. Nombraremos algunas de ellas, así como algunos temas que pueden ser preocupantes al respecto.

Capacidades

Una de las cosas más comunes que la gente le pide a ChatGPT que haga es personificar a figuras populares como presidentes, artistas, etc. El usuario puede pedirle al modelo, por ejemplo, que le diga en pocas palabras o en formato de tweet cómo reaccionaría Kobe Bryant ante el hecho de que LeBron James rompió el récord histórico de puntos.

Es una herramienta útil que puedes usar para comparar dos cosas. Por ejemplo, se le puede preguntar al modelo si un texto es una copia de otro, para esto puedes copiar ambos y dejar que el modelo los compare.

Para los programadores, es una excelente herramienta de depuración o debugging. Un usuario puede ingresar código y preguntarle a ChatGPT por qué su código no se está ejecutando o por qué está fallando. Además, el modelo puede proporcionar ayuda para solucionarlo. También es capaz de explicar lo que secciones de código están haciendo, esto puede ser útil para documentar un proyecto.

También se le puede pedir a ChatGPT que encuentre vulnerabilidades en el código. El modelo de lenguaje le explicará el razonamiento detrás de la respuesta para que pueda entender lo que estaba mal. Otra capacidad que los programadores pueden usar es que ChatGPT traduzca un programa de, por ejemplo, Python a su equivalente en otro lenguaje de programación.

ChatGPT es capaz de simular un terminal, por lo que en lugar de implementar una máquina virtual, el modelo actuaría y respondería de la misma manera que lo haría el terminal de una máquina virtual. O tal vez el pedido puede ser que simule un entorno de red virtual para que el usuario pueda practicar comandos sin tener que construir una red de prueba para ello.

Si bien puede hacer muchas cosas no dañinas, ChatGPT no tiene una brújula moral real. También se puede usar para crear cosas que pueden ser vistas como dañinas, racistas o sexistas, por ejemplo. Definitivamente habrá casos en los que podría ser visto como insensible por grandes grupos de personas.  

Tiene una excelente gramática, por lo que los delincuentes cibernéticos pueden usarlo para redactar correos electrónicos que parecen legítimos y luego modificarlos con enlaces de Internet dañinos (phishing). Al ser capaz de ayudar a los usuarios a crear código, este código puede ser malicioso o utilizado para delitos cibernéticos y ChatGPT no será responsable del mismo, ya que desconoce las intenciones del usuario.

Limitaciones

A veces, las respuestas dadas por ChatGPT se verán bien, pero serán incorrectas, ya que pueden ser no factuales u obsoletas.

Una cosa que puede suceder es que ChatGPT no responda correctamente a una entrada dada, pero si se cambia el enunciado de la pregunta un par de veces, entonces eventualmente el modelo responde correctamente porque finalmente entiende lo que el usuario quería decir. 

El modelo a menudo dará respuestas que son “demasiado largas” en lugar de otras más simples. Este “problema” proviene de la etapa de entrenamiento, ya que los científicos de datos a menudo prefieren respuestas más largas que expliquen a fondo la situación. 

ChatGPT podría pedirle al usuario una aclaratoria cuándo proporciona una consulta ambigua, pero no es el caso. En su lugar, el modelo intentará adivinar la intención del usuario y, a veces, se equivocará.

El componente de moderación a veces no detecta y bloquea ciertos tipos de contenido, por lo que ChatGPT nunca será perfecto en este sentido, ya que lo que es clasificado como bueno o malo varía de persona a persona.

Scroll to Top