Bienvenidos
😃 Básico
💼 Aplicaciones básicas
🧙‍♂️ Intermediate
🤖 Agentes
⚖️ Reliability
🖼️ Image Prompting
🔓 Prompt Hacking
🔨 Tooling
💪 Prompt Tuning
🎲 Miscellaneous
Models
📙 Referencia de Vocabulario
📚 Bibliography
📦 Prompted Products
🛸 Recursos adicionales
🔥 Hot Topics
✨ Créditos
⚖️ Reliability🟦 Diverse Prompts

Diverse Prompts

🟦 This article is rated medium
Reading Time: 3 minutes
Last updated on August 7, 2024

Sander Schulhoff

DiVeRSe ("Diverse Verifier on Reasoning Steps") es un método que mejora la confiabilidad de las respuestas de tres maneras. Lo hace mediante el uso de

  1. múltiples prompts para generar completados diversos, 2) un verificador para distinguir entre buenas y malas respuestas, y 3) un verificador para verificar la corrección de los pasos de razonamiento.
DiVeRSe (Li et al.)

Diverse Prompts

DiVeRSe utiliza 5 prompts diferentes para una entrada dada. Para construir cada prompt, se toman al azar algunos ejemplos del conjunto de entrenamiento. Aquí hay un ejemplo de un prompt de few-shot (k=2), con ejemplos tomados del conjunto de datos GSM8K. En la práctica, DiVeRSe utiliza 5 ejemplos en los prompts para este conjunto de datos.

Q: Natalia vendió clips a 48 de sus amigos en abril, y luego vendió la mitad de esa cantidad en mayo. ¿Cuántos clips vendió Natalia en total en abril y mayo??
A: Natalia vendió 48/2 = 24 clips en mayo.
Natalia vendió 48+24 = 72 clips en total en abril y mayo.
#### 72
Q: Weng gana $12 por hora cuidando niños. Ayer, solo cuidó a los niños durante 50 minutos. ¿Cuánto ganó?
A: Weng gana 12/60 = $0.2 por minuto.
Trabajando 50 minutos, ella ganó 0.2 x 50 = $10.
#### 10
Q: P: Betty está ahorrando dinero para una nueva billetera que cuesta $100. Betty tiene solo la mitad del dinero que necesita. Sus padres decidieron darle $15 para ese propósito, y sus abuelos el doble de lo que dieron sus padres. ¿Cuánto más necesita Betty para comprar la billetera?
A:

Después de generar 5 prompts diferentes como el anterior, DiVeRSe muestrea 20 caminos de razonamiento diferentes para cada uno (temperatura = 0.5). Aquí hay algunos completados de ejemplo del prompt anterior. Tenga en cuenta que las respuestas no siempre son correctas.

Betty tiene 0.5*100 = 50.</div><div>Luegorecibe15maˊs=50.</div> <div>Luego recibe 15 más = 65.
Luego recibe 2*15 = 90.</div><div>Necesita90.</div> <div>Necesita 10 más.

10

R: Betty tiene 0.5*100 = 500.</div><div>Luegorecibe15maˊs=500.</div> <div>Luego recibe 15 más = 650.
Luego recibe 2*15 = 900.</div><div>Ellanecesita10090=900.</div> <div>Ella necesita 100-90 = 1000 más.

1000

At this point, DiVeRSe has generated 100 different completions.

Verificador de votación

En este punto, DiVeRSe ha generado 100 completados diferentes.

Ahora, podríamos simplemente tomar la respuesta mayoritaria, como hace Self-Consistency.

Sin embargo, DiVeRSe propone un método mucho más complicado, que ellos llaman un verificador de votación.

En el momento de la prueba, el uso del verificador de votación es un proceso de dos pasos. Primero, el verificador (una red neuronal) asigna una puntuación de 0 a 1 a cada completado basado en qué tan probable es que sea correcto. Luego, el componente de 'votación' suma todas las puntuaciones de diferentes respuestas y arroja la respuesta final.

Ejemplo

Aquí hay un pequeño ejemplo. Digamos que tenemos los siguientes completados para la consigna ¿Cuánto es dos más dos?:

4
dos + 2 = 5
Creo que 2+2 = 6
dos más dos = 4
Es 5

El verificador leerá cada completado y le asignará una puntuación. Por ejemplo, podría asignar las puntuaciones: 0,9; 0,1; 0,2; 0,8; 0,3 respectivamente. Luego, el componente de votación sumará las puntuaciones para cada respuesta.

puntuación(4) = 0,9 + 0,8 = 1,7
puntuación(5) = 0,1 + 0,3 = 0,4
puntuación(6) = 0,2

La respuesta final es 4, ya que tiene la puntuación más alta.

Pero, ¿cómo se entrena el verificador?

El verificador se entrena con una función de pérdida ligeramente compleja, que no cubriré aquí. Lea la sección 3.3 del artículo para obtener más detalles.

Conclusiones

La principal conclusión aquí es utilizar múltiples consignas para generar completados diversos. En la práctica, la votación mayoritaria probablemente funcionará bien en comparación con el verificador de votación.

Sander Schulhoff

Sander Schulhoff is the Founder of Learn Prompting and an ML Researcher at the University of Maryland. He created the first open-source Prompt Engineering guide, reaching 3M+ people and teaching them to use tools like ChatGPT. Sander also led a team behind Prompt Report, the most comprehensive study of prompting ever done, co-authored with researchers from the University of Maryland, OpenAI, Microsoft, Google, Princeton, Stanford, and other leading institutions. This 76-page survey analyzed 1,500+ academic papers and covered 200+ prompting techniques.

Footnotes

  1. Li, Y., Lin, Z., Zhang, S., Fu, Q., Chen, B., Lou, J.-G., & Chen, W. (2022). On the Advance of Making Language Models Better Reasoners. 2

  2. Cobbe, K., Kosaraju, V., Bavarian, M., Chen, M., Jun, H., Kaiser, L., Plappert, M., Tworek, J., Hilton, J., Nakano, R., Hesse, C., & Schulman, J. (2021). Training Verifiers to Solve Math Word Problems.

  3. Mitchell, E., Noh, J. J., Li, S., Armstrong, W. S., Agarwal, A., Liu, P., Finn, C., & Manning, C. D. (2022). Enhancing Self-Consistency and Performance of Pre-Trained Language Models through Natural Language Inference.