Ingeniería de Prompts para un Ingeniero de Prompts
Prompt Engineering a Prompt Engineer
November 9, 2023
Autores: Qinyuan Ye, Maxamed Axmed, Reid Pryzant, Fereshte Khani
cs.AI
Resumen
La ingeniería de prompts es una tarea desafiante pero crucial para optimizar el rendimiento de los modelos de lenguaje de gran escala (LLMs, por sus siglas en inglés). Requiere un razonamiento complejo para examinar los errores del modelo, hipotetizar qué falta o es engañoso en el prompt actual, y comunicar la tarea con claridad. Aunque trabajos recientes indican que los LLMs pueden ser meta-prompted para realizar ingeniería de prompts automática, su potencial podría no estar completamente explotado debido a la falta de una guía suficiente para elicitar capacidades de razonamiento complejo en los LLMs dentro del meta-prompt. En este trabajo, investigamos el problema de "ingeniería de prompts para un ingeniero de prompts" — construyendo un meta-prompt que guíe de manera más efectiva a los LLMs para realizar ingeniería de prompts automática. Introducimos y analizamos componentes clave, como una plantilla de razonamiento paso a paso y especificación de contexto, que conducen a un mejor rendimiento. Además, inspirados por conceptos comunes de optimización como tamaño de lote, tamaño de paso y momento, introducimos sus contrapartes verbalizadas en el meta-prompt e investigamos sus efectos. Nuestro método final, denominado PE2, encuentra un prompt que supera a "pensemos paso a paso" en un 6.3% en el conjunto de datos MultiArith y en un 3.1% en el conjunto de datos GSM8K. Para demostrar su versatilidad, aplicamos PE2 al benchmark de Inducción de Instrucciones, un conjunto de tareas contrafactuales, y a un prompt industrial extenso y del mundo real. En estos escenarios, PE2 logra un rendimiento sólido y supera a las líneas base previas de ingeniería de prompts automática. Además, mostramos que PE2 realiza ediciones de prompts significativas y dirigidas, corrige prompts erróneos o incompletos, y presenta habilidades no triviales de razonamiento contrafactual.
English
Prompt engineering is a challenging yet crucial task for optimizing the
performance of large language models (LLMs). It requires complex reasoning to
examine the model's errors, hypothesize what is missing or misleading in the
current prompt, and communicate the task with clarity. While recent works
indicate that LLMs can be meta-prompted to perform automatic prompt
engineering, their potentials may not be fully untapped due to the lack of
sufficient guidance to elicit complex reasoning capabilities in LLMs in the
meta-prompt. In this work, we investigate the problem of "prompt engineering a
prompt engineer" -- constructing a meta-prompt that more effectively guides
LLMs to perform automatic prompt engineering. We introduce and analyze key
components, such as a step-by-step reasoning template and context
specification, which lead to improved performance. In addition, inspired by
common optimization concepts such as batch size, step size and momentum, we
introduce their verbalized counterparts to the meta-prompt and investigate
their effects. Our final method, named PE2, finds a prompt that outperforms
"let's think step by step" by 6.3% on the MultiArith dataset and 3.1% on the
GSM8K dataset. To demonstrate its versatility, we apply PE2 to the Instruction
Induction benchmark, a suite of counterfactual tasks, and a lengthy, real-world
industrial prompt. In these settings, PE2 achieves strong performance and
outperforms prior automatic prompt engineering baselines. Further, we show that
PE2 makes meaningful and targeted prompt edits, amends erroneous or incomplete
prompts, and presents non-trivial counterfactual reasoning abilities.