Ingeniería de prompts

Últimos avances modernos en ingeniería de prompts: Una guía completa

mm
Añade Unite.AI a tus fuentes preferidas en Google

Ingeniería de prompts, el arte y la ciencia de crear prompts que eliciten respuestas deseables de los LLM, se ha convertido en un área crucial de investigación y desarrollo.

Desde mejorar las capacidades de razonamiento hasta permitir una integración sin problemas con herramientas y programas externos, los últimos avances en ingeniería de prompts están abriendo nuevos frentes en la inteligencia artificial. A continuación, discutimos las técnicas y estrategias de vanguardia que están dando forma al futuro de la ingeniería de prompts.

Ingeniería de prompts

Ingeniería de prompts

Estrategias de prompting avanzadas para la resolución de problemas complejos

Mientras que el prompting de cadena de pensamiento ha demostrado ser efectivo para muchas tareas de razonamiento, los investigadores han explorado estrategias de prompting más avanzadas para abordar problemas aún más complejos. Uno de estos enfoques es el prompting de menor a mayor, que descompone un problema complejo en subproblemas más pequeños y manejables que se resuelven de forma independiente y luego se combinan para llegar a la solución final.

Otra técnica innovadora es el prompting de árbol de pensamientos, que permite al LLM generar múltiples líneas de razonamiento o “pensamientos” en paralelo, evaluar su propio progreso hacia la solución y retroceder o explorar caminos alternativos según sea necesario. Este enfoque aprovecha algoritmos de búsqueda como el búsqueda en anchura o profundidad, lo que permite al LLM participar en la anticipación y el retroceso durante el proceso de resolución de problemas.

Integración de LLM con herramientas y programas externos

Mientras que los LLM son increíblemente poderosos, tienen limitaciones inherentes, como la incapacidad para acceder a información actualizada o realizar razonamiento matemático preciso. Para abordar estas desventajas, los investigadores han desarrollado técnicas que permiten a los LLM integrarse sin problemas con herramientas y programas externos.

Un ejemplo notable es Toolformer, que enseña a los LLM a identificar escenarios que requieren el uso de herramientas externas, especificar qué herramienta usar, proporcionar entrada relevante y incorporar la salida de la herramienta en la respuesta final. Este enfoque implica la construcción de un conjunto de datos de entrenamiento sintético que demuestra el uso adecuado de diversas API de texto a texto.

Otro marco innovador, Chameleon, adopta un enfoque “plug-and-play”, lo que permite a un controlador central basado en LLM generar programas de lenguaje natural que componen y ejecutan una amplia gama de herramientas, incluyendo LLM, modelos de visión, motores de búsqueda web y funciones de Python. Este enfoque modular permite a Chameleon abordar tareas de razonamiento complejas y multimodales aprovechando las fortalezas de diferentes herramientas y modelos.

Estrategias de prompting fundamentales

Prompting de cero disparos

El prompting de cero disparos implica describir la tarea en el prompt y pedirle al modelo que la resuelva sin ejemplos. Por ejemplo, para traducir “queso” al francés, un prompt de cero disparos podría ser:

Traduce la siguiente palabra en inglés al francés: queso.

Este enfoque es sencillo pero puede estar limitado por la ambigüedad de las descripciones de tareas.

Prompting de pocos disparos

El prompting de pocos disparos mejora el prompting de cero disparos al incluir varios ejemplos de la tarea. Por ejemplo:

Traduce las siguientes palabras en inglés al francés:
1. manzana => manzana
2. casa => casa
3. queso => queso

Este método reduce la ambigüedad y proporciona una guía más clara para el modelo, aprovechando las capacidades de aprendizaje en contexto de los LLM.

Prompting de instrucciones

El prompting de instrucciones describe explícitamente la salida deseada, lo que es particularmente efectivo con modelos entrenados para seguir instrucciones. Por ejemplo:

Traduce la palabra "queso" al francés. La traducción correcta es "queso".

Modelos como GPT-4 han sido afinados específicamente para seguir instrucciones de esta manera con precisión.

Técnicas de prompting avanzadas

Mejorando las capacidades de razonamiento con prompting de cadena de pensamiento

Uno de los avances más significativos en la ingeniería de prompts ha sido el desarrollo del prompting de cadena de pensamiento. Esta técnica tiene como objetivo mejorar las capacidades de razonamiento de los LLM alencourajarlos a generar un proceso de pensamiento paso a paso o una justificación antes de proporcionar la respuesta final.

Izquierda: Los métodos tradicionales de prompting de LLM confían en entradas genéricas (0-disparos CoT) o necesitan ejemplos etiquetados (pocos disparos CoT). Derecha: El enfoque novel promptea a los LLM para que creen ejemplos relevantes antes de resolver el problema, eliminando la necesidad de etiquetado mientras se personalizan los ejemplos para cada problema único

Izquierda: Los métodos tradicionales de prompting de LLM confían en entradas genéricas (0-disparos CoT) o necesitan ejemplos etiquetados (pocos disparos CoT). Derecha: El enfoque novel promptea a los LLM para que creen ejemplos relevantes antes de resolver el problema, eliminando la necesidad de etiquetado mientras se personalizan los ejemplos para cada problema único

El prompting de cadena de pensamiento funciona presentando al LLM ejemplos que incluyen no solo la entrada y la salida, sino también los pasos intermedios de razonamiento o “cadena de pensamiento” que llevan a la solución. Al aprender de estos ejemplos, el LLM puede generar su propia cadena de pensamiento cuando se le presentan nuevos problemas, mejorando su capacidad para abordar tareas de razonamiento complejas.

Ejemplo:

Entrada: Natalie tiene 3 manzanas y quiere compartirlas equitativamente con sus 2 amigos. ¿Cuántas manzanas recibirá cada persona? Cadena de pensamiento: Okay, vamos a desglosarlo paso a paso:

  1. Natalie tiene 3 manzanas
  2. Quiere compartirlas equitativamente con 2 amigos
  3. Así que hay 3 personas en total (Natalie y sus 2 amigos)
  4. Para compartir las manzanas equitativamente, dividimos el número total de manzanas (3) por el número de personas (3)
  5. 3 dividido por 3 es 1
  6. Por lo tanto, cada persona recibirá 1 manzana. Salida: Cada persona recibirá 1 manzana.

Al generar explícitamente el proceso de razonamiento, los LLM como GPT-3 y Codex han demostrado mejoras significativas en tareas de razonamiento aritmético, de sentido común y simbólico.

Autoconsistencia

La autoconsistencia mejora la confiabilidad del prompting de cadena de pensamiento al generar múltiples cadenas de pensamiento y tomar una votación mayoritaria sobre la respuesta final. Este método mitiga el impacto de cualquier camino de razonamiento incorrecto individual.

Prompting de menor a mayor

El prompting de menor a mayor descompone problemas complejos en subproblemas más simples, resolviendo cada uno secuencialmente y utilizando el contexto de soluciones anteriores para informar los pasos posteriores. Este enfoque es beneficioso para tareas de razonamiento en varios pasos.

Avances recientes en ingeniería de prompts

La ingeniería de prompts está evolucionando rápidamente, y varias técnicas innovadoras han surgido para mejorar el rendimiento de los grandes modelos de lenguaje (LLM). A continuación, exploramos algunos de estos métodos de vanguardia en detalle:

Auto-CoT (Prompting de cadena de pensamiento automático)

Qué es: Auto-CoT es un método que automatiza la generación de cadenas de razonamiento para LLM, eliminando la necesidad de ejemplos creados manualmente. Esta técnica utiliza prompting de cadena de pensamiento de cero disparos, donde el modelo se guía para pensar paso a paso y generar sus propias cadenas de razonamiento.

Cómo funciona:

  1. Prompting de cadena de pensamiento de cero disparos: El modelo se le da un prompt simple como “Vamos a pensar paso a paso” para fomentar un razonamiento detallado.
  2. Diversidad en demostraciones: Auto-CoT selecciona preguntas diversas y genera cadenas de razonamiento para estas preguntas, asegurando una variedad de tipos de problemas y patrones de razonamiento.

Ventajas:

  • Automatización: Reduce el esfuerzo manual necesario para crear demostraciones de razonamiento.
  • Rendimiento: En varias tareas de razonamiento de referencia, Auto-CoT ha igualado o superado el rendimiento del prompting de cadena de pensamiento manual.

Prompting basado en complejidad

Qué es: Esta técnica selecciona ejemplos con la mayor complejidad (es decir, el mayor número de pasos de razonamiento) para incluir en el prompt. Tiene como objetivo mejorar el rendimiento del modelo en tareas que requieren múltiples pasos de razonamiento.

Cómo funciona:

  1. Selección de ejemplos: Los prompts se eligen en función del número de pasos de razonamiento que contienen.
  2. Coherencia basada en complejidad: Durante la decodificación, se muestran múltiples cadenas de razonamiento y se toma una votación mayoritaria de las cadenas más complejas.

Ventajas:

  • Mejora del rendimiento: Precisión sustancialmente mejorada en tareas de razonamiento en varios pasos.
  • Robustez: Efectivo incluso bajo diferentes distribuciones de prompts y datos ruidosos.

Prompting progresivo con pistas (PHP)

Qué es: PHP refina las respuestas del modelo mediante el uso de razonamientos previamente generados como pistas. Este método aprovecha las respuestas anteriores del modelo para guiarlo hacia la respuesta correcta a través de múltiples iteraciones.

Cómo funciona:

  1. Respuesta inicial: El modelo genera una respuesta base utilizando un prompt estándar.
  2. Pistas y refinamientos: Esta respuesta base se utiliza como pista en prompts posteriores para refinar la respuesta.
  3. Proceso iterativo: Este proceso continúa hasta que la respuesta se estabilice en iteraciones consecutivas.

Ventajas:

  • Precisión: Mejoras significativas en la precisión del razonamiento.
  • Eficiencia: Reduce la cantidad de caminos de muestreo necesarios, mejorando la eficiencia computacional.

Prompting descompuesto (DecomP)

Qué es: DecomP descompone tareas complejas en subtareas más simples, cada una manejada por un prompt o modelo específico. Este enfoque modular permite un manejo más efectivo de problemas intrincados.

Cómo funciona:

  1. Descomposición de tareas: El problema principal se divide en subproblemas más simples.
  2. Manejadores de subtareas: Cada subproblema se maneja con un modelo o prompt dedicado.
  3. Integración modular: Estos manejadores pueden optimizarse, reemplazarse o combinarse según sea necesario para resolver la tarea compleja.

Ventajas:

  • Flexibilidad: Fácil de depurar y mejorar subproblemas específicos.
  • Escalabilidad: Maneja tareas con contextos largos y subproblemas complejos de manera efectiva.

Prompting de hipótesis a teorías (HtT)

Qué es: HtT utiliza un proceso de descubrimiento científico donde el modelo genera y verifica hipótesis para resolver problemas complejos. Este método implica la creación de una biblioteca de reglas a partir de hipótesis verificadas, que el modelo utiliza para el razonamiento.

Cómo funciona:

  1. Fase de inducción: El modelo genera reglas potenciales y las verifica contra ejemplos de entrenamiento.
  2. Creación de la biblioteca de reglas: Las reglas verificadas se recopilan para formar una biblioteca de reglas.
  3. Fase de deducción: El modelo aplica estas reglas a nuevos problemas, utilizando la biblioteca de reglas para guiar su razonamiento.

Ventajas:

  • Precisión: Reduce la probabilidad de errores al confiar en un conjunto verificado de reglas.
  • Transferibilidad: Las reglas aprendidas se pueden transferir a través de diferentes modelos y formas de problemas.

Técnicas de prompting mejoradas con herramientas

Toolformer

Toolformer integra LLM con herramientas externas a través de API de texto a texto, permitiendo al modelo utilizar estas herramientas para resolver problemas que de otro modo no podría abordar. Por ejemplo, un LLM podría llamar a una API de calculadora para realizar operaciones aritméticas.

Chameleon

Chameleon utiliza un controlador central basado en LLM para generar un programa que combina varias herramientas para resolver tareas de razonamiento complejas. Este enfoque aprovecha un amplio conjunto de herramientas, incluyendo modelos de visión y motores de búsqueda web, para mejorar las capacidades de resolución de problemas.

GPT4Tools

GPT4Tools ajusta modelos de lenguaje abiertos para utilizar herramientas multimodales a través de un enfoque de autoinstrucción, demostrando que incluso modelos no propietarios pueden aprovechar herramientas externas para un mejor rendimiento.

Gorilla y HuggingGPT

Tanto Gorilla como HuggingGPT integran LLM con modelos de aprendizaje profundo especializados disponibles en línea. Estos sistemas utilizan un proceso de ajuste de recuperación consciente y un enfoque de planificación y coordinación, respectivamente, para resolver tareas complejas que involucran múltiples modelos.

Modelos de lenguaje asistidos por programas (PAL) y programas de pensamiento (PoT)

Además de integrarse con herramientas externas, los investigadores han explorado formas de mejorar las capacidades de resolución de problemas de los LLM combinando lenguaje natural con constructos de programación. Los Modelos de Lenguaje Asistidos por Programas (PAL) y los Programas de Pensamiento (PoT) son dos enfoques que aprovechan el código para mejorar el proceso de razonamiento del LLM.

PAL promptea al LLM para que genere una justificación que alterna entre lenguaje natural y código (por ejemplo, Python), que luego se puede ejecutar para producir la solución final. Este enfoque aborda un caso de fallo común en el que los LLM generan un razonamiento correcto pero producen una respuesta final incorrecta.

De manera similar, PoT emplea una biblioteca de matemáticas simbólicas como SymPy, lo que permite al LLM definir símbolos y expresiones matemáticas que se pueden combinar y evaluar usando la función de resolución de SymPy. Al delegar cálculos complejos a un intérprete de código, estas técnicas desacoplan el razonamiento de la computación, permitiendo a los LLM abordar problemas más intrincados de manera efectiva.

Entendiendo y aprovechando las ventanas de contexto

El rendimiento de los LLM depende en gran medida de su capacidad para procesar y aprovechar el contexto proporcionado en el prompt. Los investigadores han investigado cómo los LLM manejan contextos largos y el impacto de la información irrelevante o distractora en sus salidas.

El fenómeno “Perdido en el medio” destaca cómo los LLM tienden a prestar más atención a la información al comienzo y al final de su contexto, mientras que la información en el medio a menudo se pasa por alto o se “pierde”. Esta perspectiva tiene implicaciones para la ingeniería de prompts, ya que la colocación cuidadosa de información relevante dentro del contexto puede afectar significativamente el rendimiento.

Otra línea de investigación se centra en mitigar los efectos perjudiciales de la información de contexto irrelevante, que puede degradar severamente el rendimiento de los LLM. Técnicas como la autoconsistencia, instrucciones explícitas para ignorar información irrelevante y la inclusión de ejemplos que demuestran la resolución de problemas con contexto irrelevante pueden ayudar a los LLM a centrarse en la información más pertinente.

Mejorando las capacidades de escritura con estrategias de prompting

Mientras que los LLM excelan en la generación de texto similar al humano, sus capacidades de escritura se pueden mejorar aún más a través de estrategias de prompting especializadas. Una de estas técnicas es el prompting de esqueleto de pensamiento, que busca reducir la latencia de la decodificación secuencial imitando el proceso de escritura humano.

El prompting de esqueleto de pensamiento implica promptear al LLM para que genere un esqueleto o un esquema de su respuesta primero, seguido de llamadas a la API en paralelo para llenar los detalles de cada elemento del esquema. Este enfoque no solo mejora la latencia de inferencia sino que también puede mejorar la calidad de la escritura alencourajar al LLM a planificar y estructurar su salida de manera más efectiva.

Otra estrategia de prompting, el prompting de cadena de densidad, se centra en mejorar la densidad de información de los resúmenes generados por los LLM. Al agregar iterativamente entidades al resumen mientras se mantiene la longitud fija, el prompting de cadena de densidad permite a los usuarios explorar el trade-off entre la concisión y la completitud, produciendo resúmenes más informativos y legibles.

Direcciones emergentes y perspectivas futuras

ChatGPT y ingeniería de prompts avanzada

Ingeniería de prompts avanzada

El campo de la ingeniería de prompts está evolucionando rápidamente, con investigadores que continuamente exploran nuevas fronteras y empujan los límites de lo que es posible con los LLM. Algunas de las direcciones emergentes incluyen:

  1. Prompting activo: Técnicas que aprovechan principios de aprendizaje activo basados en la incertidumbre para identificar y etiquetar los ejemplos más útiles para resolver problemas de razonamiento específicos.
  2. Prompting multimodal: Extender las estrategias de prompting para manejar entradas multimodales que combinan texto, imágenes y otros modos de datos.
  3. Generación automática de prompts: Desarrollar técnicas de optimización para generar automáticamente prompts efectivos adaptados a tareas o dominios específicos.
  4. Interpretabilidad y explicabilidad: Explorar métodos de prompting que mejoren la interpretabilidad y la explicabilidad de las salidas de los LLM, permitiendo una mayor transparencia y confianza en sus procesos de toma de decisiones.

A medida que los LLM continúan avanzando y encuentran aplicaciones en diversos dominios, la ingeniería de prompts desempeñará un papel crucial en el desbloqueo de su máximo potencial. Al aprovechar las últimas técnicas y estrategias de prompting, investigadores y practicantes pueden desarrollar soluciones de IA más poderosas, confiables y específicas de tarea que empujen los límites de lo posible con el procesamiento del lenguaje natural.

Conclusión

El campo de la ingeniería de prompts para grandes modelos de lenguaje está evolucionando rápidamente, con investigadores que continuamente empujan los límites de lo que es posible. Desde mejorar las capacidades de razonamiento con técnicas como el prompting de cadena de pensamiento hasta integrar los LLM con herramientas y programas externos, los últimos avances en ingeniería de prompts están abriendo nuevos frentes en la inteligencia artificial.

He dedicado los últimos cinco años sumergiéndome en el fascinante mundo de Machine Learning y Deep Learning. Mi pasión y experiencia me han llevado a contribuir a más de 50 proyectos de ingeniería de software diversos, con un enfoque particular en AI/ML. Mi curiosidad en curso también me ha llevado hacia el Procesamiento de Lenguaje Natural, un campo que estoy ansioso por explorar más a fondo.