ChatGPT

ChatGPT

ChatGPT (Chat Generative Pre-Trained Transformer) es una aplicación de chatbot de inteligencia artificial desarrollado en 2022 por OpenAI que se especializa en el diálogo

El chatbot es un modelo de lenguaje ajustado con técnicas de aprendizaje tanto supervisadas como de refuerzo

Está compuesto por los modelos GPT-4 y GPT-3.5 de OpenAI

Transformers y GPT

La arquitectura Transformers (propuesta por Google en 2017, Attention Is All You Need) ha permitido el desarrollo de los modelos LLM (large language model), sistemas capaces de reconocer y generar lenguaje natural basados en Deep Learning

Basados en la arquitectura Transformers, GPT y GPT 2 fueron publicado con licencias de código abierto, a partir de aquí (GPT 3. GPT4…) OpenAI ofrece acceso a sus modelos mediante una API de pago

La versión base, GPT está entrenada para proporcionar la mejor continuación posible de un texto

Sobre este modelo base se entrenan nuevas versiones para que el modelo responda como lo haría una persona en función de las instrucciones que se le hayan dado: así aparece ChatGPT

No hay mucha información oficial sobre las especificaciones de ChatGPT a partir de la versión 3, pero podemos encontrar algunas pistas sobre GPT3 y GPT4:

  • GPT 3 (publicado en 2020):
    Es un modelo de 175.000 millones de parámetros

    Para un entrenamiento son necesarios unos 34 días en1024 tarjetas NVIDIA A100 GPUs

    En 2021, simplemente ejecutar un único entrenamiento de esa magnitud en un proveedor como Google Cloud o AWS costaba unos $2.5M

  • GPT 4 (publicado en 2022):
    Es un modelo con más de 1 billón (europeo) de parámetros

    Para su entrenamiento se utilizarían más de 10000 GPUs NVIDIA

    Para hacer una inferencia (por ejemplo responder a una pregunta que le hagamos) se utilizarían 7 GPUs

    El coste de su entrenamiento estaba por encima de los $100M

Versiones

ChatGPT

Es la versión gratuita de la aplicación, utiliza GPT 3.5

Se trata de una versión de GPT entrenada para seguir instrucciones

Además, se incluyen reglas para evitar que ChatGPT genere contenidos controvertidos (por ejemplo, que niegue el cambio climático o que haga comentarios racistas)

Estos casos son fácilmente reconocibles, la respuesta de ChatGPT suele comenzar por el mensaje «Como inteligencia artificial, …» seguido de algún tipo de excusa antes de dar una respuesta más o menos genérica

Actualmente accesible mediante interfaz web o API (para integrar en otros sistemas/aplicaciones)

Es necesario crear un usuario en la plataforma openai.com para poder probarlo

ChatGPT Plus

Además de la versión gratuita, OpenAI ofrece una versión de pago con algunas características adicionales:

  • Coste suscripción 20$/mes
  • Acceso a modelo ChatGPT 4 (frente a GPT 3.5 en versión gratuita)
  • Funcionalidad adicional:
    • Navegación web
    • Análisis de datos avanzado (anteriormente Intérprete de Código)
    • Dalle-3
    • Creación y acceso a «GPTs», configurables con nuestros propios datos/instrucciones
    • Acceso prioritario durante picos de Acceso
    • Acceso a características beta (Plugins)
    • Contextos de 4k

El acceso a la versión 4 de GPT puede verse sujeto a restricciones (se aplican las restricciones por geolocalización IP o aquellas que OpenAI considere oportunas)

ChatGPT Enterprise

En septiembre de 2023 OpenAI publicó una suscripción Enterprise con las siguientes características:

  • No se utilizan los datos de tu empresa para entrenar los modelos de OpenAI
  • Encriptación de las conversaciones
  • Gestión de usuarios de la empresa, estadísticas avanzadas
  • Sin limitaciones de uso en GPT4
  • Ejecución de GPT4 a mayor velocidad (2x)
  • Contextos de 32k en lugar de 4k

Usando ChatGPT

Creación de cuenta

Antes de poder usar ChatGPT es necesario tener una cuenta registrada en el sistema de OpenAI

Para ello usaremos el siguiente enlace de registro

Introduciremos nuestro correo y una contraseña

Iremos a nuestra cuenta de correo, que debe ser válida y real

Y confirmaremos el registro de la cuenta haciendo click en el email de verificación que nos enviarán

Seguiremos introduciendo el resto de datos de usuario que se nos solicite en el formulario

Y ya podemos empezar a usar el Chat de comandos promt de ChatGPT siempre que nos acreditemos con el usuario y contraseña de la cuenta que hemos creado

Privacidad

Hay que tener especial cuidado cuando usamos ChatGPT

Por defecto nuestras conversaciones se almacenan en un historial y se pueden usar para seguir entrenando a ChatGPT

Si no queremos que nuestros datos se usen para entrenar, hay una opción en la configuración de nuestra cuenta para desactivar el uso de nuestros datos para entrenar a ChatGPT (y el historial de conversaciones)

Las instrucciones detalladas se pueden encontrar en la documentación de OpenAI

PROMP

ChatGPT está entrenado para seguir y ejecutar las instrucciones que nosotros le proporcionemos

Nuestras instrucciones, se denominan prompts

Pueden ser tan simples o complejas como queramos, y pueden incluir información adicional

Por ejemplo, un texto de ejemplo, una imagen, un enlace a una página web…

Podemos «hablar» con ChatGPT de forma interactiva

Por ejemplo, pedirle que complete o corrija sobre su respuesta previa

Eso significa que podemos preguntarle algo, y a continuación hacer referencia bien a nuestra pregunta anterior, bien a su respuesta:

PROMPS Efectivos

ChatGPT es bastante literal interpretando nuestras instrucciones, así que conviene que le demos toda la información necesaria para que complete sus tareas según nuestras expectativas

En general, un buen prompt debe incluir:

  1. Rol: para ChatGPT (experto en…, asistente de…)
  2. Contexto: la situación relativa al texto que tenemos que generar
  3. Instrucciones/tareas: Lo que necesitamos que ChatGPT haga por nosotros
  4. Formato/estilo: si queremos una carta formal, estilo más moderno, agresivo… o si necesitamos que la respuesta esté formateada en JSON por ejemplo

Incluso se le puede pedir al propio ChatGPT para que te de más consejos

Podemos consultar en este link un completo listado de ejemplos

Estos prompts están en inglés, pero recuerda que le puedes pedirle a ChatGPT que te los traduzca a tu idioma

La documentación de openAI también proporciona algunos consejos

Ejemplos

Cuento de hadas

Vamos a perdirle que Escriba un cuento de hadas con final feliz

Le Pedimos que modifique el final del cuento por uno más triste

Le pedimos que genere una moraleja para la historia

Por último le pedimos que genere la historia pero con Hansel y Gretel, encontrándose con un dragón y que un hada madrina les da un consejo para vencerlo

Carta

Vamos a simular que somos un empleado de la Dirección General de Obras Públicas utilizando ChatGPT para ayudarle en su día a día

Le pedimos que genere una carta para informar a un usuario de que se va a realizar una canalización que pasará por su finca

Le pedimos que genere una segunda carta informando al usuario de que se ha desestimado su solicitud de paralización de la obra

Qué puede hacer

Hay muchas cosas que ChatGPT puede hacer muy bien, basta con pedírselas

A continuación os presentamos algunos ejemplos de aplicaciones:

Tareas creativas

  • Generar historias de ficción
  • Generar documentación técnica (si le proporcionamos suficiente información)
  • Textos para propuestas de proyectos
  • Informes
  • Cartas
  • Brainstorming: Nombres de producto, títulos de obras…

Formación

  • Crear resúmenes de textos
  • Generar actividades, ejercicios tipo test
  • Planificar clases
  • Generar temarios
  • Código

Proofreading

  • Revisar textos para corregir gramática y ortografía
  • Cambiar el estilo:
    • En función de la audiencia (para un estudiante de secundaria, para un científico…)
    • En función del rol de ChatGPT («habla con el estilo y vocabulario de un profesor de literatura universitario/de un estudiante de secundaria…»)

Traducción

  • ChatGPT ha sido entrenado con un corpus que incluye un gran número de lenguajes y podemos pedirle que traduzca desde/hacia ellos

    Conviene que después de hacer una traducción, le pidamos a ChatGPT que revise el texto, corrija traducciones literales y ajuste el estilo y lenguaje a nuestra audiencia

  • También conoce un gran número de lenguajes de programación y podemos pedirle que transforme código de un lenguaje a otro
  • También podemos pedirle que transforme formatos de ficheros (por ejemplo, datos de formato csv a json)

Código

  • Generación de código siguiendo instrucciones

    Podemos especificar si necesitamos anotaciones de tipos (por ejemplo en Python) o tests unitarios

  • Validación de código
  • Explicación de funciones
  • Refactoring: utilizando otra biblioteca, cambiando nombres de variables…

Razonamientos

Podemos plantear problemas, retos y cuestiones complejas a ChatGPT partiendo de supuestos y hechos bien especificados

Para su resolución se pueden realizar las siguientes técnicas de promting:

En el siguiente enlace se pueden encontrar estas técnicas con más detalles sobre ellas y también algunas técnicas más complejas

IO (Direct Input/Output)

Es el método más básico, consiste en preguntarle a ChatGPT directamente por la respuesta a nuestro problema

Funciona correctamente con cuestiones sencillas, pero fallará en problemas complejos

Aunque con los últimos entrenamientos ChatGPT ha aprendido a razonar por pasos aunque no se lo pidamos explícitamente, y en muchas ocasiones generará la respuesta correcta sin necesidad de ayuda adicional

IO con refinamiento

Un método que proporciona buenos resultados: le pedimos a ChatGPT que nos responda a nuestro problema

Y a continuación en prompts sucesivos le pedimos a ChatGPT que revise y mejore su respuesta

CoT (Chain of Thoughts)

Podemos pedirle explícitamente a ChatGPT que razone sobre cada etapa del proceso, o mostrarle un ejemplo con ese razonamiento para que él lo repita

CoT-SC (Chain of Thoughts – Self Consistency)

Realizaremos un razonamiento con Chain-of-thought varias veces, y a continuación seleccionaremos la respuesta más repetida (la más consistente entre las distintas ejecuciones)

Tree-of-thoughts

Generamos un prompt que permita a ChatGPT explorar distintas vías de pensamiento de forma crítica, hasta encontrar una solución satisfactoria

Limitaciones

La mayoría de las limitaciones se pueden resolver mediante el uso de plugins (actualmente disponibles en la versión ChatGPT Plus o ChatGPT Enterprise)

Pero es importante conocerlas para evitar «sorpresas» al utilizar ChatGPT

Proporcionar respuestas complejas si no le damos tiempo para razonar

Si le pedimos a ChatGPT que nos responda a una pregunta compleja, ChatGPT intentará realizarla en pequeños pasos

La salida de cada paso le sirve de apoyo para el razonamiento siguiente, y mejora mucho sus resultados

Por ejemplo le pedimos:

Ahora se lo pedimos dejándole «pensar»:

Cuando le hemos dejado «pensar», el resultado ha sido mucho mejor

Operaciones matemáticas complejas

Por ejemplo, multiplicar números de más de 3 cifras

La respuesta de ChatGPT normalmente se aproximará al valor correcto (en este caso 553,254), pero no será exacta

Por ejemplo, operaciones con raíces cuadradas grandes

La solución se aproximará al valor correcto (en este caso 44.988887516807970076138159027823), pero no será exacta

En operaciones aritméticas aparentemente sencillas, empezaremos a ver efectos con números relativamente grandes

Por ejemplo, seguramente obtengamos la respuesta correcta para el valor de 3 elevado al cubo pero no para 333 elevado al cubo

Una vez que nos ha dado una respuesta, si no le corregimos dará ese resultado por bueno, y es bastante probable que ChatGPT lo reutilice en respuestas posteriores sobre la misma operación

Esta limitación se puede solventar utilizando el plugin WolframAlpha

Un plugin que está especializado en operaciones matemáticas

Ofrecer o verificar información factual

Cuándo le preguntamos un dato factual, no tiene por qué respondernos con la realidad

Aunque afirme lo contrario, tampoco puede verificar si el dato es veraz o no con certitud

Tampoco puede darnos la fuente de sus datos (no es algo soportado por el algoritmo)

Por ejemplo vamos a preguntarle por el monumento ecuestre a Espartero, pero queremos información del de Madrid, ya que hay varios en España

Le insistimos que queremos el de Madrid

Le pedimos educadamente que nos enumere si hay más en España

Esta limitación se puede solventar mediante el uso de la navegación integrada en ChatGPT y de plugins que le permitan acceder a bases de datos, páginas web, artículos científicos…

Como por ejemplo los plugins: WebPilot, World Bank Data, WolframAlpha, ScholarAI

Acceso a información actualizada

El corpus de entrenamiento varia con el tiempo, pero es estático en un momento dado

Por ejemplo en septiembre de 2023 se utiliza un corpus que llega hasta septiembre de 2021 para GPT3.5, y enero de 2022 para GPT-4

Vamos a probar a preguntarle con fecha 7 de abril de 2024, cuándo falleció Akira Toriyama

En la fecha de 7 de abril de 2024, no ha podido responderme cuando falleció Akira Toriyama (que ha sido el 1 de marzo de 2024 con 68 años)

Esta limitación se puede solventar con ChatGPT4 y su navegación web

O los mismos plugins que la anterior: WebPilot, World Bank Data, WolframAlpha, ScholarAI…

Saber a qué fecha y hora estamos

Recientemente el modelo GPT 3.5 ha empezado a contestarnos con la fecha correcta, probablemente porque OpenAI incluya esa información en un texto previo a nuestros prompts

ChatGPT 4 sin embargo sigue sin poder respondernos (aunque a veces sí que puede)

ChatGPT presenta un comportamiento errático en este sentido, a veces contesta, a veces dice que no tiene esa información, y en ocasiones nos da una fecha errónea

Vamos a probar a preguntarle con fecha 7 de abril de 2024, qué hora es

Esta limitación se puede solventar por ejemplo con el plugin WolframAlpha

Acceso a información sobre el propio ChatGPT

ChatGPT no conoce su versión actual, el valor de sus parámetros de configuración, etc

Al igual que con los datos factuales, en ocasiones ChatGPT nos puede contestar como si conociese la respuesta, pero no podemos confiar en que sea cierto

Esta limitación se puede solventar con las capacidades de navegación de ChatGPT4

O con alguno de los plugins, como por ejemplo WebPilot

Análisis de datos avanzado

El módulo de Análisis avanzado de datos (actualmente integrado en el modelo GTP-4, con suscripción ChatGPT plus) puede generar y ejecutar código Python

Por ejemplo para analizar un conjunto de datos a partir de un fichero en formato .xls

Una vez cargados los datos, podemos pedirle a ChatGPT que realice las tareas típicas de un flujo de Aprendizaje automático

  • Establecer un resumen de las variables cargadas
  • Analizar relaciones entre ellas
  • Identificar variables con problemas (valores nulos, outliers…)
  • Hacer análisis gráficos y estadísticos (histogramas, valores medios/medianas/desviación típica, coeficientes de correlación…)
  • Modelos predictivos
  • Análisis de agrupamientos
  • Generación de visualizaciones complejas (por ejemplo, generar mapas…)

Estas acciones pueden verse limitadas por las características del entorno de ejecución

Ya que podemos recibir mensajes de que el sistema se ha quedado sin memoria con facilidad

Todo dependerá del volumen de datos y de la complejidad del análisis que queramos que realice

Plugins

Están disponibles con la suscripción a ChatGPT plus

Más de 900 plugins en septiembre de 2023

Actualmente sólo es posible seleccionar 3 plugins activos durante una consulta

Cuando escribamos un prompt, ChatGPT decidirá si puede apoyarse en alguno de esos 3 plugins activos para responder a nuestra pregunta

Capacidades que ofrecen:

  • Acceso a fuentes de datos actualizadas en tiempo real (información de vuelos, información estadística, artículos científicos…)
  • Capacidades de cálculo matemático y programación (operaciones aritméticas, análisis numérico, optimizaciones, scripts de Python)
  • Capacidades gráficas (generación de QRs, diagramas, imágenes) Análisis de ficheros (pdfs, imágenes…)
  • Acceso a servicios (reservas en hoteles, restaurantes, viajes)
  • Generación de contenidos específicos (mejora de prompts, horóscopos, libros infantiles…)
  • Y casi cualquier cosa que se les ocurra a los desarrolladores del plugin

WolframAlpha

Es uno de los plugins más potentes

Se conectará al motor de WolframAlpha, el cuál es usado por Wolfram Mathematica

Mathematica es un programa utilizado en áreas científicas, de ingeniería, matemática y áreas computacionales

Originalmente fue concebido por Stephen Wolfram, quien continúa siendo el líder del grupo de matemáticos y programadores que desarrollan el producto en Wolfram Research, compañía ubicada en Champaign, Illinois

Comúnmente considerado como un sistema de álgebra computacional, Mathematica es también un poderoso lenguaje de programación de propósito general

Podemos usar WolframAlpha para:

  • Resolver problemas matemáticos (desde operaciones algebraicas hasta resolver ecuaciones diferenciales y problemas de optimización)
  • Generar gráficas y visualizaciones, incluyendo mapas
  • Resolver problemas de física
  • Acceder a bases de datos con información sobre distancias, carreteras, poblaciones, etc
  • Recuperar información de fecha y hora en tiempo real

Con este plugin se resuelven los problemas con las operaciones matemáticas complejas

Devolviéndonos resultados con precisos y con la precisión decimal que le indiquemos (en código del lenguaje de Wolfram, ya que gracias al plugin es capaz de comprenderlo, generarlo y ejecutarlo)

También se resuelven los problemas con las fechas y la hora en tiempo real

Por eso, una buena práctica al usar este plugin es:

  • Si ChatGPT nos responde con código de Mathematica (el lenguade de Wolfram), le pediremos que ejecute ese código directamente
  • Si ChatGPT nos responde con código en otro lenguaje, le pediremos el código usando WolframAlpha y luego le pediremos que lo ejecute

La principal limitación de este plugin son de tiempo de cálculo

Si le pedimos una tarea demasiado compleja, es posible que nos devuelva un error «timeout» y no obtengamos ninguna respuesta

En la página de Wolfram encontramos ejemplos espectaculares de sus posibilidades

WebPilot

Al activarlo, ChatGPT se convertirá en un buscador, ya que los prompts podrán hacer búsquedas en Internet

Si le decimos por ejempo Busca en wikipedia… o Recupera de internet…

ChatGPT puede concatenar varias consultas cuando WebPilot está activo, si lo estima necesario dentro de la misma respuesta

Por ejemplo, si le pedimos que recupere información de Wikipedia sobre la Grecia Clásica y el Imperio Romano, cruzando ambas informaciones

Scholarassist

Conectado al repositorio de artículos científicos arxiv nos permitirá recuperar información sobre investigaciones científicas sobre física, matemáticas, informática, biología, medicina, etc

AskYourPDF/Link Reader/Ai PDF

Cualquier de estos plugins (entre otros, ya que la lista de plugins similares es muy extensa) hará que ChatGPT sea capaz de leer el contenido de un fichero en formato PDF

Link Reader soporta además otros formatos (basados en la plataforma de ofimática de Office de Microsoft) como PowerPoint, Excel, etc

Podremos pasar la URL del fichero en nuestro propmt y a continuación ChatGPT podrá contestar a nuestras preguntas en base a su contenido

En ocasiones, si tenemos WebPilot y AskYourPDF instalados

ChatGPT utilizará WebPilot para recuperar el contenido del fichero PDF de forma automática y luego utilizará AskYourPDF para analizarlo

Wordcloud

Mediante este plugin podremos generar gráficos de nubes de palabras para visualizar gráficamente el contenido de un texto

Combinado con cualquiera de los plugins anteriores, nos permitirá generar gráficos de nubes de palabras a partir de los resultados de una búsqueda en Internet, de un artículo científico, de un fichero PDF…

Show Me Diagrams

ChatGPT ya es capaz de generar diagramas utilizando la notación Mermaid por si solo

Pero gracias a este plugin podremos además visualizarlos en la propia respuesta de ChatGPT

Canva

La popular aplicación Canva también tiene su propio plugin, y nos permitirá recuperar automáticamente algunas de las plantillas de las que dispone para luego editarlas en su plataforma

Prompt perfect

Añade la palabra «perfect» a tus prompts

Prompt Perfect refinará tu petición para que obtengas el mejor resultado posible de ChatGPT

Debemos estar validados con usuario y contraseña para que funcione

Stories

Permite generar historias, en formato libro, con ilustraciones incorporadas

De momento sólo disponible en inglés

There’s an AI for that

Buscador de páginas web especializado en webs que permitan resolver tus problemas mediante IA

Depuración de errores con plugins

Si ChatGPT, haciendo uso de algún plugin no logra el resultado deseado

Podemos comprobar tanto la información que ChatGPT le ha pasado a dicho plugin como la que el plugin ha devuelto

Si hacemos click en la flechita hacia abajo que aparece al lado del nombre de cada plugin que se ha utilizado en la consulta