Junio Wan/
Google, Wolfram Alpha y ChatGPT interactúan con los usuarios a través de un campo de entrada de texto de una sola línea y proporcionan resultados de texto. Google devuelve resultados de búsqueda, una lista de páginas web y artículos que (con suerte) proporcionarán información relacionada con las consultas de búsqueda. Wolfram Alpha generalmente proporciona respuestas matemáticas y relacionadas con el análisis de datos.
También: Cómo utilizar ChatGPT: todo lo que necesitas saber
ChatGPT, por el contrario, proporciona una respuesta basada en el contexto y la intención detrás de la pregunta del usuario. No puedes, por ejemplo, pedirle a Google que escriba una historia o pedirle a Wolfram Alpha que escriba un módulo de código, pero ChatGPT puede hacer este tipo de cosas.
Fundamentalmente, el poder de Google es la capacidad de realizar enormes búsquedas en bases de datos y proporcionar una serie de coincidencias. El poder de Wolfram Alpha es la capacidad de analizar preguntas relacionadas con datos y realizar cálculos basados en esas preguntas.
El poder de ChatGPT es la capacidad de analizar consultas y producir respuestas y resultados completamente desarrollados basados en la mayor parte de la información basada en texto accesible digitalmente del mundo, al menos la información que existía en el momento de su capacitación antes de 2021.
En este artículo, veremos cómo ChatGPT puede producir esas respuestas completamente desarrolladas. Comenzaremos analizando las fases principales del funcionamiento de ChatGPT y luego cubriremos algunos de los componentes centrales de la arquitectura de IA que hacen que todo funcione.
Además: Cómo utilizar el detector de estafas gratuito impulsado por IA de Norton
Además de las fuentes citadas en este artículo (muchas de las cuales son los artículos de investigación originales detrás de cada una de las tecnologías), utilicé ChatGPT para ayudarme a crear este documento informativo. Le hice muchas preguntas. Algunas respuestas están parafraseadas dentro del contexto general de esta discusión.
Las dos fases principales del funcionamiento de ChatGPT
Usemos nuevamente a Google como analogía. Cuando le pides a Google que busque algo, probablemente sepas que, en el momento en que lo preguntas, no sale a buscar respuestas en toda la web. En cambio, Google busca en su base de datos páginas que coincidan con esa solicitud. Google efectivamente tiene dos fases principales: la fase de búsqueda y recopilación de datos, y la fase de interacción/búsqueda del usuario.
También: Los mejores chatbots con IA: ChatGPT y otras alternativas divertidas para probar
En términos generales, ChatGPT funciona de la misma manera. La fase de recopilación de datos se denomina preentrenamiento, mientras que la fase de respuesta del usuario se denomina inferencia. La magia detrás de la IA generativa y la razón por la que explotó repentinamente es que la forma en que funciona el preentrenamiento de repente ha demostrado ser enormemente escalable. Esa escalabilidad ha sido posible gracias a innovaciones recientes en tecnología de hardware asequible y computación en la nube.
Cómo funciona el preentrenamiento de la IA
En términos generales (porque para entrar en detalles se necesitarían muchos volúmenes), las IA se entrenan previamente utilizando dos enfoques principales: supervisado y no supervisado. Para la mayoría de los proyectos de IA hasta la actual generación de sistemas de IA generativa como ChatGPT, se utilizó el enfoque supervisado.
El preentrenamiento supervisado es un proceso en el que se entrena un modelo en un conjunto de datos etiquetados, donde cada entrada está asociada con una salida correspondiente.
También: Cómo hacer que ChatGPT proporcione fuentes y citas
Por ejemplo, se podría entrenar una IA con un conjunto de datos de conversaciones de servicio al cliente, donde las preguntas y quejas del usuario se etiquetan con las respuestas adecuadas del representante de servicio al cliente. Para entrenar la IA, preguntas como “¿Cómo puedo restablecer mi contraseña?” se proporcionaría como entrada del usuario, y respuestas como “Puede restablecer su contraseña visitando la página de configuración de la cuenta en nuestro sitio web y siguiendo las instrucciones” se proporcionarían como salida.
En un enfoque de capacitación supervisada, el modelo general se entrena para aprender una función de mapeo que puede asignar entradas a salidas con precisión. Este proceso se utiliza a menudo en tareas de aprendizaje supervisado, como clasificación, regresión y etiquetado de secuencias.
Como se puede imaginar, existen límites en cuanto a cómo esto puede escalar. Los entrenadores humanos tendrían que ir bastante lejos para anticipar todas las entradas y salidas. La formación podría llevar mucho tiempo y tener conocimientos limitados en la materia.
También: Los 10 mejores complementos de ChatGPT (y cómo aprovecharlos al máximo)
Pero como ya sabemos, ChatGPT tiene muy pocos límites en cuanto a experiencia en la materia. Puedes pedirle que escriba un currículum para el personaje del jefe Miles O'Brien de Star Trek, que explique la física cuántica, que escriba un código, que escriba una breve pieza de ficción y que compare los estilos de gobierno de los ex presidentes de los Estados Unidos. Estados.
Sería imposible anticipar todas las preguntas que se formularían, por lo que realmente no hay manera de que ChatGPT pudiera haberse entrenado con un modelo supervisado. En cambio, ChatGPT utiliza un entrenamiento previo no supervisado, y esto es lo que cambia las reglas del juego.
El preentrenamiento no supervisado es el proceso mediante el cual se entrena un modelo con datos donde no hay una salida específica asociada con cada entrada. En cambio, el modelo está entrenado para aprender la estructura y los patrones subyacentes en los datos de entrada sin ninguna tarea específica en mente. Este proceso se utiliza a menudo en tareas de aprendizaje no supervisadas, como agrupación, detección de anomalías y reducción de dimensionalidad. En el contexto del modelado del lenguaje, se puede utilizar el entrenamiento previo no supervisado para entrenar un modelo para que comprenda la sintaxis y la semántica del lenguaje natural, de modo que pueda generar un texto coherente y significativo en un contexto conversacional.
También: Cómo usar ChatGPT para crear una aplicación
Es aquí donde el conocimiento aparentemente ilimitado de ChatGPT se hace posible. Debido a que los desarrolladores no necesitan conocer las salidas que provienen de las entradas, todo lo que tienen que hacer es volcar más y más información en el mecanismo de preentrenamiento de ChatGPT, que se llama modelado de lenguaje basado en transformadores.
Arquitectura del transformador
La arquitectura transformadora es un tipo de red neuronal que se utiliza para procesar datos en lenguaje natural. Una red neuronal simula la forma en que funciona el cerebro humano procesando información a través de capas de nodos interconectados. Piense en una red neuronal como un equipo de hockey: cada jugador tiene un rol, pero se pasan el disco entre jugadores con roles específicos, todos trabajando juntos para marcar el gol.
La arquitectura transformadora procesa secuencias de palabras mediante el uso de “autoatención” para sopesar la importancia de diferentes palabras en una secuencia al hacer predicciones. La atención personal es similar a la forma en que un lector puede mirar hacia atrás en una oración o párrafo anterior en busca del contexto necesario para comprender una nueva palabra en un libro. El transformador observa todas las palabras en una secuencia para comprender el contexto y las relaciones entre las palabras.
Además: le pedí a ChatGPT que escribiera un complemento de WordPress que necesitaba. Lo hizo en menos de 5 minutos.
El transformador se compone de varias capas, cada una con múltiples subcapas. Las dos subcapas principales son la capa de autoatención y la capa de avance. La capa de autoatención calcula la importancia de cada palabra en la secuencia, mientras que la capa de avance aplica transformaciones no lineales a los datos de entrada. Estas capas ayudan al transformador a aprender y comprender las relaciones entre las palabras en una secuencia.
Durante el entrenamiento, el transformador recibe datos de entrada, como una oración, y se le pide que haga una predicción basada en esa entrada. El modelo se actualiza en función de qué tan bien coincide su predicción con el resultado real. A través de este proceso, el transformador aprende a comprender el contexto y las relaciones entre las palabras en una secuencia, lo que lo convierte en una poderosa herramienta para tareas de procesamiento del lenguaje natural, como la traducción de idiomas y la generación de texto.
También: 7 consejos avanzados para escribir mensajes de ChatGPT que necesitas saber
Una cosa a tener en cuenta es que existen problemas en torno a la posibilidad de que estos modelos generen contenido dañino o sesgado, ya que pueden aprender patrones y sesgos presentes en los datos de entrenamiento. Las empresas que implementan estos modelos están tratando de proporcionar “barandillas”, pero esas mismas barandillas pueden causar problemas. Esto se debe a que diferentes personas tienen diferentes perspectivas, y un intento de prevenir el sesgo basado en una escuela de pensamiento puede ser considerado sesgo por otra escuela de pensamiento. Esto dificulta el diseño de un chatbot universal, dada la naturaleza compleja de la sociedad en su conjunto.
Primero analicemos los datos que se introducen en ChatGPT y luego echemos un vistazo a la fase de interacción del usuario de ChatGPT y el lenguaje natural.
Conjuntos de datos de entrenamiento de ChatGPT
El conjunto de datos utilizado para entrenar ChatGPT es enorme. ChatGPT se basa en la arquitectura GPT-3 (Generative Pre-trained Transformer 3). En realidad, es aquí donde debemos aclarar. La versión gratuita de ChatGPT fue entrenada en CPT-3. Si paga $20 al mes por ChatGPT Plus, tiene la opción de utilizar el conjunto de datos de entrenamiento GPT-3 o un conjunto de datos GPT-4 más extenso.
También: GPT-3.5 vs GPT-4: ¿Vale la pena pagar la tarifa de suscripción de ChatGPT Plus?
Ahora bien, la abreviatura GPT tiene sentido, ¿no? Es generativo, lo que significa que genera resultados, está preentrenado, lo que significa que se basa en todos los datos que ingiere y utiliza la arquitectura transformadora que pesa las entradas de texto para comprender el contexto.
GPT-3 se entrenó en un conjunto de datos llamado WebText2, una biblioteca de más de 45 terabytes de datos de texto. Cuando se puede comprar un disco duro de 16 terabytes por menos de 300 dólares, un corpus de 45 terabytes puede no parecer tan grande. Pero el texto ocupa mucho menos espacio de almacenamiento que las imágenes o los vídeos.
También: Cómo (y por qué) suscribirse a ChatGPT Plus
Esta enorme cantidad de datos permitió a ChatGPT aprender patrones y relaciones entre palabras y frases en lenguaje natural a una escala sin precedentes, que es una de las razones por las que es tan eficaz a la hora de generar respuestas coherentes y contextualmente relevantes a las consultas de los usuarios.
Si bien ChatGPT se basa en la arquitectura GPT-3, se ha ajustado en un conjunto de datos diferente y se ha optimizado para casos de uso conversacionales. Esto le permite brindar una experiencia más personalizada y atractiva para los usuarios que interactúan con él a través de una interfaz de chat.
Por ejemplo, OpenAI (desarrolladores de ChatGPT) ha lanzado un conjunto de datos llamado Persona-Chat que está diseñado específicamente para entrenar modelos de IA conversacionales como ChatGPT. Este conjunto de datos consta de más de 160.000 diálogos entre dos participantes humanos, y a cada participante se le asigna una persona única que describe sus antecedentes, intereses y personalidad. Esto permite a ChatGPT aprender a generar respuestas personalizadas y relevantes para el contexto específico de la conversación.
También: Cómo usar ChatGPT en tu navegador con las extensiones adecuadas
Además de Persona-Chat, existen muchos otros conjuntos de datos conversacionales que se utilizaron para ajustar ChatGPT. Aquí están algunos ejemplos:
Corpus de diálogos de películas de Cornell: Un conjunto de datos que contiene conversaciones entre personajes de guiones de películas. Incluye más de 200.000 intercambios conversacionales entre más de 10.000 pares de personajes de películas, que cubren una amplia gama de temas y géneros.Corpus de diálogo de Ubuntu: Una colección de diálogos de varios turnos entre usuarios que buscan soporte técnico y el equipo de soporte de la comunidad de Ubuntu. Contiene más de 1 millón de diálogos, lo que lo convierte en uno de los conjuntos de datos más grandes disponibles públicamente para la investigación sobre sistemas de diálogo.Diálogo diario: Una colección de diálogos de persona a persona sobre una variedad de temas, que van desde conversaciones de la vida diaria hasta discusiones sobre temas sociales. Cada diálogo en el conjunto de datos consta de varios turnos y está etiquetado con un conjunto de emociones, sentimientos e información del tema.
Además de estos conjuntos de datos, ChatGPT se entrenó con una gran cantidad de datos no estructurados que se encuentran en…