Generated Knowledge Prompting (ES)

From Systems analysis wiki
Jump to navigation Jump to search

Generated Knowledge Prompting (GKP, en español prompting con generación de conocimiento) es un método de ingeniería de prompts diseñado para mejorar la capacidad de los grandes modelos de lenguaje (LLM) para resolver tareas que requieren razonamiento y se basan en conocimiento fáctico[1]. La idea principal de GKP es hacer que el modelo realice la tarea en dos etapas: primero, generar un conjunto de hechos relevantes sobre el tema de la consulta y, luego, basándose en este conocimiento, formular la respuesta final[2].

Este enfoque permite a los LLM activar y utilizar su conocimiento interno y parametrizado, que está implícitamente codificado en miles de millones de parámetros pero que a menudo no es accesible mediante consultas estándar. GKP resuelve el problema de que los modelos «no saben que saben» y les ayuda a conectar hechos dispersos para construir una inferencia correcta[2].

Historia y origen

El método Generated Knowledge Prompting fue presentado por primera vez en el artículo científico «Generated Knowledge Prompting for Commonsense Reasoning», preparado por un grupo de investigadores liderado por Jiacheng Liu. La versión inicial del trabajo se publicó en el archivo de preprints arXiv el 15 de octubre de 2021, y la versión final se presentó en la prestigiosa conferencia Association for Computational Linguistics (ACL) en 2022[1].

GKP se convirtió en uno de los primeros y más significativos métodos que propusieron cambiar el paradigma de interacción con los LLM, desplazando el enfoque de una generación de respuesta en un solo paso a un proceso cognitivo de dos etapas.

Mecanismo de funcionamiento en dos etapas

El mecanismo de GKP divide una tarea compleja en dos subprocesos más simples: la extracción de información relevante y su posterior uso para la inferencia.

Etapa 1: Generación de conocimiento (Knowledge Generation)

En la primera etapa, se utiliza un modelo de lenguaje (el «generador de conocimiento») para crear múltiples (M) fragmentos de conocimiento relevantes para la pregunta original. Este proceso se inicia mediante la técnica de few-shot prompting, donde se proporcionan al modelo varios ejemplos para el aprendizaje «en contexto».

El prompt para la generación de conocimiento tiene una estructura estrictamente definida:

  1. Instrucción: Una indicación general, por ejemplo: «Genera varios hechos sobre el tema».
  2. Ejemplos de demostración: Varios pares «pregunta-conocimiento» escritos por un humano. Estos ejemplos juegan un papel fundamental, ya que enseñan al modelo qué tipo de información se considera útil. Es importante que el conocimiento generado no contenga la respuesta directamente.
  3. Nueva pregunta: La consulta original del usuario para la cual se debe generar conocimiento.

Para una sola pregunta, se generan M variantes de conocimiento (en el trabajo original, M=20) para obtener un conjunto diverso de hechos para la segunda etapa[1].

Etapa 2: Integración del conocimiento y formulación de la respuesta (Knowledge Integration)

En la segunda etapa, se utiliza otro modelo de lenguaje (el «modelo de inferencia»), que puede funcionar tanto en modo zero-shot como estar afinado (fine-tuned) para una tarea específica.

El proceso de integración se desarrolla de la siguiente manera:

  1. Aumentación de la consulta: La pregunta original (q) se combina secuencialmente con cada uno de los M fragmentos de conocimiento generados (km). Como resultado, se crean M+1 consultas aumentadas (incluida la pregunta original sin conocimiento adicional).
  2. Evaluación y selección de la respuesta: El modelo de inferencia evalúa la probabilidad condicional de cada posible opción de respuesta (a) para cada consulta aumentada. La respuesta final es la opción que obtiene la mayor puntuación de probabilidad en al menos una de las consultas.

Este mecanismo de dos etapas introduce una especie de proceso metacognitivo: «Antes de responder, piensa y formula lo que sabes sobre este tema».

Eficacia y resultados de las pruebas

La eficacia de GKP se ha probado en varios benchmarks académicos para evaluar el razonamiento basado en el sentido común. El método ha demostrado una mejora significativa en el rendimiento en comparación con los enfoques base.

Resumen de los resultados de GKP en los principales benchmarks (datos de Liu et al., 2022)[1]
Nombre del benchmark Tarea Precisión del modelo base (%) Precisión con GKP (%) Incremento (%)
NumerSense Sentido común numérico 64.05 72.47 +8.42
CommonsenseQA Sentido común general 39.89 47.26 +7.37
CommonsenseQA 2.0 Sentido común general 70.20 73.03 +2.83
QASC Sentido común científico 76.74 80.33 +3.59

El mayor incremento se observa en el modo zero-shot, lo que demuestra la capacidad de GKP para activar eficazmente el conocimiento interno del modelo sin necesidad de un entrenamiento adicional.

Análisis comparativo con otras técnicas

GKP vs. Chain-of-Thought (CoT)

La diferencia clave entre GKP y Chain-of-Thought (CoT) radica en el tipo de información que generan:

  • GKP genera conocimiento declarativo: hechos, definiciones, afirmaciones sobre el mundo («qué»). Proporciona al modelo un contexto adicional.
  • CoT genera conocimiento procedural: pasos lógicos, cálculos, secuencia de inferencias («cómo»). Proporciona al modelo una ruta de razonamiento.

Así, GKP proporciona la base fáctica, mientras que CoT ofrece la estructura lógica para la inferencia[3].

GKP vs. Retrieval-Augmented Generation (RAG)

A diferencia de GKP, el método Retrieval-Augmented Generation (RAG) utiliza fuentes de conocimiento externas y no paramétricas.

  • GKP utiliza conocimiento interno, que el modelo ha asimilado durante su entrenamiento. Hace que el modelo «recuerde» lo que ya sabe.
  • RAG utiliza conocimiento externo de bases de datos, documentos o internet. Hace que el modelo «busque» información en el mundo exterior.

La elección entre GKP y RAG depende de la tarea: GKP es eficaz si el conocimiento requerido es de dominio público y está bien representado en los datos de entrenamiento, mientras que RAG es indispensable para datos altamente especializados, recientes o propietarios.

Limitaciones y riesgos

  • El problema de las «alucinaciones»: El principal riesgo de GKP es la posibilidad de generar hechos incorrectos. Si en la primera etapa el modelo genera una afirmación falsa, en la segunda etapa será tratada como verdadera, lo que llevará a una respuesta segura pero completamente incorrecta.
  • Costes computacionales: El método requiere múltiples llamadas al LLM (M+1 llamadas para una sola consulta), lo que aumenta significativamente el tiempo de respuesta (latency) y el coste de uso en comparación con el prompting estándar.
  • Complejidad en el diseño de prompts: La eficacia de GKP depende en gran medida de la calidad de los ejemplos few-shot, cuya creación es una tarea no trivial y laboriosa.

Evolución y enfoques híbridos

Las ideas subyacentes en GKP sirvieron como catalizador para el desarrollo de técnicas de prompting más complejas y robustas, como:

  • Hint-before-Solving (HSP): Un sucesor ideológico directo de GKP que aplica el principio de dos etapas («primero el conocimiento, luego la acción») no a una respuesta simple, sino a un proceso de razonamiento más complejo en CoT[4].
  • Verify-and-Edit (VE): Un marco de trabajo híbrido que responde al problema de las «alucinaciones» en GKP y CoT. VE primero genera una cadena de razonamiento (como CoT), luego verifica automáticamente los hechos clave mediante una búsqueda externa (como RAG) y edita el razonamiento antes de generar la respuesta final[5].

Enlaces

Bibliografía

  • Liu, J. et al. (2021). Generated Knowledge Prompting for Commonsense Reasoning. arXiv:2110.08387
  • Liu, J. et al. (2022). Generated Knowledge Prompting for Commonsense Reasoning. In *Proc. ACL 2022*. ACL:2022
  • Wei, J. et al. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903
  • Wang, X. et al. (2022). Self-Consistency Improves Chain-of-Thought Reasoning in Language Models. arXiv:2203.11171
  • Fu, J. et al. (2024). Hint-before-Solving Prompting: Guiding LLMs to Effectively Utilize Encoded Knowledge. arXiv:2402.14310
  • Zhao, R. et al. (2023). Verify-and-Edit: A Knowledge-Enhanced Chain-of-Thought Framework. arXiv:2305.03268
  • Lin, B. et al. (2020). NumerSense: Probing Numerical Commonsense Knowledge of Pre-trained Language Models. Dataset page
  • Talmor, A. et al. (2019). CommonsenseQA: A Question-Answering Challenge Targeting Commonsense Knowledge. ACL paper
  • Khot, T. et al. (2019). QASC: A Dataset for Question Answering via Sentence Composition. arXiv:1910.11473
  • Mu, J. et al. (2023). Learning to Compress Prompts with Gist Tokens. arXiv:2304.08467

Notas

  1. 1.0 1.1 1.2 1.3 Liu, J., Liu, A., Lu, X., et al. (2022). «Generated Knowledge Prompting for Commonsense Reasoning». Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics. [1]
  2. 2.0 2.1 Liu, J., Liu, A., Lu, X., et al. (2021). «Generated Knowledge Prompting for Commonsense Reasoning». arXiv preprint arXiv:2110.08387. [2]
  3. Wei, J., Wang, X., Schuurmans, D., et al. (2022). «Chain-of-Thought Prompting Elicits Reasoning in Large Language Models». arXiv preprint arXiv:2201.11903. [3]
  4. Katz, O., Maman, Y., et al. (2024). «Hint-before-Solving Prompting: Guiding LLMs to Effectively Utilize Scaffolding». arXiv preprint arXiv:2402.14310. [4]
  5. Zhao, R., Zhang, J., et al. (2023). «Verify-and-Edit: A Knowledge-Enhanced Chain-of-Thought Framework». arXiv preprint arXiv:2305.03268. [5]