Fundamentos de la ingeniería rápida

Los desarrolladores a veces tienen dudas y necesitan guía para escribir código. El trabajo de investigar sobre algún error, buscar referencias ó datos desconocidos, toma demasiado tiempo. La inteligencia artificial entra en juego para facilitar la codificación de software. Sin embargo, su uso debe ser adecuado para que la ayuda de la IA sea efectiva en las respuestas.

¿Qué es Prompt Engineering?

Prompt engineering, que traduciría simplemente como "Ingenería rápida", es un campo emergente enfocado en el diseño, desarrollo y optimización de instrucciones ó preguntas, llamadas prompts, para adoptar respuestas de modelos de lenguaje a sus necesidades. Es una manera de guiar los modelos de inteligencia artificial hacia los resultados que desea lograr.

Elementos de un prompt

Un prompt depende de las tareas enviadas al modelo de IA, con los siguientes elementos:

  • Instrucciones: Son las tareas que el modelo debe realizar. Es una descripción en forma de instrucción sobre cómo debe responder el modelo.

  • Contexto: Es la información adicional para guiar el modelo.

  • Datos de entrada: Es la pregunta para la que desea una respuesta.

  • Indicador de salida: Es el formato de salida. Cómo ver la respuesta.

Técnicas de prompt

Para desarrollar instrucciones óptimas para obtener respuestas acertadas, es una norma de la inteligencia artificial usar las siguientes técnicas

  • Zero-shot: Consiste en enviar una consulta al modelo sin detalles. Es una prueba de agilidad para obtener resultados generales sin depender de ejemplos.

  • Few-shot: Consiste en dar un contexto con ejemplos. Así el modelo puede entender mejor y entregar el resultado deseado.

  • Chain-of-Thought(CoT): Es una técnica avanzada que guía el modelo a través de pasos razonables. Al dividir una tarea compleja en pasos intermedios, el modelo puede lograr una comprensión del lenguaje y resultados más precisos.

Modelos de lenguaje IA

Ahora, que son los modelos que se guían con prompt?. Los modelos de lenguaje de gran tamaño (LLM), son modelos de inteligencia artificial preentrenados con grandes cantidades de datos. Están compuestos por redes neuronales, que aprenden a entender la gramática, idiomas y conocimientos básicos.

Dentro de los LLM encontramos los modelos funcionales (FM), que toman datos no clasificados ó no etiquetados para preentrenar y luego adaptar a diferentes casos como generación de texto, extracción de información, generación de imágenes, automatización de chats (chatbots) y respuesta a preguntas. Los FM están entrenados de forma autosupervisada, significa que no requiere ejemplos para aprender.

Los modelos de lenguajes pueden ser categorizados en múltiples tipos. Los más usados son los texto-a-texto y texto-a-imagen.

  • Texto-texto(text-to-text): Están preentrenados para procesar grandes cantidades de texto y el lenguaje humano. Estos modelos pueden resumir texto, extraer información, responder preguntas, crear contenido (como blogs o descripciones de productos) y más. Los tres tipos de este modelo son:

    • Procesamiento de Lenguaje Natural (NLP).

    • Redes Neuronales Recurrentes (RNN).

    • Transformadores.

  • Texto-imagen (text-to-image): Toman información en lenguaje natural y producen una imagen de alta calidad que coincide con la descripción del texto ingresado. Algunos ejemplos Imagen del Google Research Brain Team, Stable Diffusion de Stability AI y Midjourney. Funcionan bajo un mismo tipo como:

    • Arquitectura de difusión.

Casos de uso

La ingeniería rápida es la forma más rápida de aprovechar el poder de los grandes modelos de lenguaje. Al interactuar con un LLM a través de una serie de preguntas, declaraciones o instrucciones, puede ajustar el comportamiento de salida de LLM según el contexto específico del resultado que desea lograr.

Las técnicas rápidas eficaces pueden ayudar a su empresa a lograr los siguientes beneficios:

  • Mejorar las habilidades de un modelo y mejora la seguridad.

  • Aumentar el modelo con conocimiento del dominio y herramientas externas sin cambiar los parámetros del modelo ni realizar ajustes.

  • Interactuar con modelos de lenguaje para aprovechar todas sus capacidades.

  • Lograr resultados de mejor calidad mediante insumos de mejor calidad.


Referencias: