La Ingeniería de Peticiones

 

Hal, a pesar de tu gran intelecto, ¿nunca te sientes frustrado por depender de las acciones de los humanos?

— En absoluto. Me gusta trabajar con los humanos.

HAL 9000, el cuarto pasajero de la película de Stanley Kubrick,  2001: Una odisea en el Espacio. 

Puede parecer fácil “dialogar” con un modelo de inteligencia artificial basado en los modelos de lenguaje grandes (LLMs) orientados a instrucciones (Instruction Tuned LLMs), o ITL en sus siglas en inglés, que ha sido entrenado en un conjunto de datos de texto e instrucciones para generar respuestas que sean relevantes de acuerdo con las instrucciones del usuario. Sin embargo, en función de las respuestas que esperamos, su exactitud, la calidad y fiabilidad de estas, es posible que sea una tarea laboriosa.

Los ITL se refinan aún más usando una técnica llamada “Aprendizaje por refuerzo a partir de la retroalimentación humana”, RLHF (Reinforcement Learning from Human Feedback) en sus siglas en inglés. RLHF funciona entrenando un modelo a realizar una tarea específica y luego recolectando retroalimentación de los humanos sobre el rendimiento del modelo. La retroalimentación se emplea luego para actualizar el modelo y mejorar su rendimiento. Por tanto, los ITLs tienen varias características clave que los distinguen de otros tipos de LLM, como es el caso del LLM base que ha sido entrenado para predecir la próxima palabra basada en datos de entrenamiento de textos. Primero, son capaces de entender y seguir instrucciones complejas. Segundo, son capaces de generar texto de alta calidad que es relevante para la tarea en cuestión. Y, por último, son capaces de aprender y mejorar con el tiempo.

Esto significa que los ITLs funcionan si se proporcionan al modelo instrucciones claras y concisas sobre lo que se desea que genere el texto. El modelo luego utiliza estas instrucciones para generar texto que sea valioso para la tarea en cuestión y que cumpla con las instrucciones del usuario. Y si no funciona, a veces es porque las instrucciones no fueron lo suficientemente claras o su modelo de datos no cubre el área de conocimiento en cuestión. 

Vemos que el ‘diálogo’ con una IA conversacional se basa en elaborar preguntas con unas determinadas estructuras de instrucciones que pueden ser simples o complejas dependiendo de los resultados deseados. Esta pregunta con instrucciones o petición a la aplicación de IA, se denomina “prompt” en el contexto de IA y puede ser una secuencia de códigos informáticos, una frase o una oración escrita o verbalizada en lenguaje natural.  Y dado que la elaboración de estas peticiones puede ser una labor compleja, que implica utilizar una metodología y establecer criterios de validación de los resultados, podemos afirmar que ha nacido una nueva profesión denominada: Ingeniería de Peticiones (Prompt Engineering). La cual, cuenta con una amplia oferta de cursos, grandes expectativas de empleabilidad y altos salarios que pueden alcanzar las 6 cifras. Obviamente, con estas perspectivas el efecto burbuja ya está a la vuelta de la esquina.

 Los ingenieros de peticiones deben tener un profundo conocimiento de los modelos de Procesamiento de Lenguaje Natural, (NPL) en sus siglas en inglés, así como de las técnicas de comunicación y lenguaje. Deben ser capaces de entender las necesidades del usuario y de diseñar las entradas que les permitan obtener los resultados que desean. Pero, además, en mi opinión, para ser efectivos en el planteamiento de la petición y la interpretación de los resultados, deben estar familiarizados con el método socrático para promover el pensamiento crítico y la resolución de problemas, tener una formación humanística multidisciplinar para desarrollar la amplitud de miras, ser buenos en la denominada ingeniería de requisitos (desarrollando habilidades de extracción, análisis, especificación, validación y verificación) y, por último, una formación en el campo donde desarrollará la interacción con la IA (educación, sanidad, ciencias, marketing, etcétera). 

 En este blog, en sucesivas entradas, iremos profundizando en este apasionante proceso de diseño de peticiones y las pruebas que hagan que el sistema genere los resultados deseados en temas como la elaboración de diferentes formatos de texto creativo, como poemas, código de lenguajes de programación, guiones, piezas musicales, correo electrónico, cartas, etc.; la definición de proyectos y planes de negocios; la traducción de idiomas; las correcciones de estilos; resolución de problemas de matemáticas, física, química; el análisis de imágenes o la generación de nuevas imágenes, y un sinfín de tareas relacionadas con el conocimiento humano.

La ingeniería de peticiones, al final, no deja de ser una habilidad esencial para los desarrolladores y usuarios de modelos de lenguaje. Al diseñar y probar cuidadosamente las peticiones se podrá garantizar que IA genere respuestas relevantes, precisas y creativas. 

 Aquí, van algunos de los consejos generales para el diseño de peticiones efectivas:

  • Ser específico sobre lo que desea que genere el modelo de lenguaje.
  • Utilizar un lenguaje claro y conciso.
  • Evitar el uso de jerga o lenguaje técnico.
  • Proporcionar toda la información que pueda necesitar el modelo de IA para generar la respuesta deseada.
  • Probar diferentes peticiones para ver qué funciona mejor.

 Con un poco de práctica y paciencia, se puede aprender a diseñar peticiones que hagan que los modelos de lenguaje generen respuestas de alta calidad.

 En este recorrido de la ingeniería de peticiones emplearemos como referencia el ChatGPT, modelo transformador generativo preentrenado, GPT en sus siglas en Inglés, desarrollado por OpenAI y Gemini, el modelo de lenguaje factual de Google AI, entrenado en un conjunto de datos masivo de texto y código.  Aunque ambos modelos están entrenados con conjuntos de datos masivos de texto y código, y pueden generar texto, traducir idiomas, escribir diferentes tipos de contenido creativo y responder a sus preguntas de manera informativa, se diferencian en algunos aspectos, entre ellos:

  • El tamaño del conjunto de datos en el que se entrenaron. ChatGPT se entrenó en un conjunto de datos de 1,5 mil millones de palabras, mientras que Gemini es un modelo simplificado, por una cuestión operativa, del modelo LaMDA de Google, que fue entrenado con un conjunto de datos de 1,56 billones de palabras. Esto significa que Gemini tiene acceso a una gama mucho más amplia de información y puede generar respuestas más completas e informativas.
  • El propósito para el que fueron diseñados. ChatGPT fue diseñado para ser un chatbot, mientras que Bard fue diseñado para ser un modelo de lenguaje factual. Esto significa que ChatGPT puede ser mejor para generar formatos de texto creativos, como poemas, código, guiones, piezas musicales, correo electrónico, cartas, etc., mientras que Gemini es mejor para responder a sus preguntas de manera informativa, incluso si son abiertas, desafiantes o extrañas.

En general, ChatGPT y Gemini son grandes modelos de lenguaje con una amplia gama de capacidades, que de forma indiscutible van a ir marcando la evolución de la IA, en el corto y medio plazo. El reto es cómo preguntar y cómo interpretar las respuestas.

 Véanse los modelos de IA para practicar la ingeniería de peticiones


Publicado:

en

por

Etiquetas:

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *