Announcing our new Paper: The Prompt Report, with Co-authors from OpenAI & Microsoft!

Check it out →
⚖️ Reliability🟦 Diverse Prompts

🟦 Diverse Prompts

Última actualización el August 7, 2024 por Sander Schulhoff

DiVeRSe1 ("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 GSM8K2. 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-Consistency3.

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 detalles1.

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.

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.

Word count: 0

Get AI Certified by Learn Prompting


Copyright © 2024 Learn Prompting.