feat(pages): Technique section

pull/128/head
Aitor García Rey 1 year ago
parent 24eb1d1b75
commit ed40b58099
No known key found for this signature in database
GPG Key ID: 754FDEDB50060BBF

@ -0,0 +1,13 @@
{
"zeroshot": "Prompt sin entrenamiento previo (Zero-shot)",
"fewshot": "Prompt con pocas muestras (Few-shot)",
"cot": "Prompt cadena de pensamiento (CoT)",
"consistency": "Auto-consistencia",
"knowledge": "Prompt de conocimiento generado",
"ape": "Ingeniería de prompts automático (APE)",
"activeprompt": "Prompt activo",
"dsp": "Prompt de Estímulo direccional",
"react": "ReAct",
"multimodalcot": "Prompt CoT multimodal",
"graph": "Prompt de grafo"
}

@ -0,0 +1,12 @@
# Prompt activo
import { Callout, FileTree } from 'nextra-theme-docs'
import {Screenshot} from 'components/screenshot'
import ACTIVE from '../../img/active-prompt.png'
Los métodos de Cadena de Pensamiento (CoT) se basan en un conjunto fijo de ejemplos humanamente anotados. El problema con esto es que los ejemplos pueden no ser los más efectivos para diferentes tareas. Para abordar esto, [Diao et al., (2023)](https://arxiv.org/pdf/2302.12246.pdf) propusieron recientemente un nuevo enfoque de sugerencias llamado Prompt activo (Active-Prompt) para adaptar LLMs a diferentes sugerencias de ejemplos específicos de tareas (anotados con razonamiento CoT diseñado por humanos).
A continuación se muestra una ilustración del enfoque. El primer paso es hacer una consulta al LLM con o sin algunos ejemplos de CoT. Se generan k posibles respuestas para un conjunto de preguntas de entrenamiento. Se calcula una métrica de incertidumbre basada en las k respuestas (se utiliza el desacuerdo). Las preguntas más inciertas son seleccionadas para su anotación por humanos. Los nuevos ejemplos anotados se utilizan luego para inferir cada pregunta.
<Screenshot src={ACTIVE} alt="ACTIVE" />
Fuente de la imagen: [Diao et al., (2023)](https://arxiv.org/pdf/2302.12246.pdf)

@ -0,0 +1,27 @@
# Ingeniería de prompts automático (APE)
import { Callout, FileTree } from 'nextra-theme-docs'
import {Screenshot} from 'components/screenshot'
import APE from '../../img/APE.png'
import APECOT from '../../img/ape-zero-shot-cot.png'
<Screenshot src={APE} alt="APE" />
Fuente: [Zhou et al., (2022)](https://arxiv.org/abs/2211.01910)
[Zhou et al., (2022)](https://arxiv.org/abs/2211.01910) proponen el marco de trabajo "Automatic Prompt Engineer" (APE) para la generación y selección automática de instrucciones. El problema de generación de instrucciones se plantea como una síntesis de lenguaje natural, abordado como un problema de optimización de caja negra mediante el uso de LLMs para generar y buscar soluciones candidatas.
El primer paso implica un gran modelo de lenguaje (como modelo de inferencia) que recibe demostraciones de salida para generar candidatos a instrucciones para una tarea. Estas soluciones candidatas guiarán el procedimiento de búsqueda. Las instrucciones se ejecutan usando un modelo de destino y luego se selecciona la instrucción más apropiada en función de las puntuaciones de evaluación calculadas.
APE descubre un mejor prompt "Chain-of-Thought" sin necesidad de anotaciones humanas, en comparación con el prompt "Pensemos paso a paso" diseñada por humanos ([Kojima et al., 2022](https://arxiv.org/abs/2205.11916)).
El prompt "Veamos esto paso a paso para asegurarnos de tener la respuesta correcta" provoca razonamiento de cadena de pensamiento y mejora el rendimiento en los conjuntos de datos MultiArith y GSM8K:
<Screenshot src={APECOT} alt="APECOT" />
Fuente de la imagen: [Zhou et al., (2022)](https://arxiv.org/abs/2211.01910)
Este artículo aborda un tema importante relacionado con la ingeniería de prompts, que es la idea de optimizarlas automáticamente. Aunque no profundizamos en este tema en esta guía, aquí hay algunos artículos clave si está interesado en el tema:
- [AutoPrompt](https://arxiv.org/abs/2010.15980) - propone un enfoque para crear automáticamente consignas para un conjunto diverso de tareas basado en una búsqueda guiada por gradiente.
- [Prefix Tuning](https://arxiv.org/abs/2101.00190) - una alternativa ligera al fine-tuning que agrega un prefijo continuo entrenable para tareas de generación de lenguaje natural.
- [Prompt Tuning](https://arxiv.org/abs/2104.08691) - propone un mecanismo para aprender prompts suaves mediante la retropropagación.

@ -0,0 +1,95 @@
# Autoconsistencia
Quizás una de las técnicas más avanzadas para la ingeniería de consignas es la autoconsistencia. Propuesta por [Wang et al. (2022)](https://arxiv.org/pdf/2203.11171.pdf), la autoconsistencia tiene como objetivo "reemplazar la decodificación codiciosa ingenua utilizada en la generación de cadenas de pensamiento". La idea es muestrear múltiples caminos de razonamiento diversos a través de pocos ejemplos de la generación de cadenas de pensamiento, y usar las generaciones para seleccionar la respuesta más consistente. Esto ayuda a mejorar el rendimiento de la generación de cadenas de pensamiento en tareas que implican razonamiento aritmético y sentido común.
Probemos el siguiente ejemplo para el razonamiento aritmético:
*Prompt:*
```
Cuando tenía 6 años, mi hermana tenía la mitad de mi edad. Ahora tengo 70 años,
¿cuántos años tiene mi hermana?
```
*Salida:*
```
35
```
¡La respuesta es incorrecta! ¿Cómo podemos mejorar esto con autoconsistencia? Vamos a probarlo. Usaremos los pocos ejemplos del artículo de Wang et al. 2022 (Tabla 17):
*Prompt:*
```
P: Hay 15 árboles en el bosque. Los trabajadores plantarán árboles en el bosque hoy.
Después de que terminen, habrá 21 árboles. ¿Cuántos árboles plantaron los trabajadores
del bosque hoy?
R: Comenzamos con 15 árboles. Luego tenemos 21 árboles. La diferencia debe ser el
número de árboles que plantaron. Por lo tanto, deben haber plantado 21 - 15 = 6 árboles.
La respuesta es 6.
P: Si hay 3 autos en el estacionamiento y llegan 2 autos más, ¿cuántos autos hay
en el estacionamiento?
R: Ya hay 3 autos en el estacionamiento. Llegan 2 más. Ahora hay 3 + 2 = 5 autos.
La respuesta es 5.
P: Leah tenía 32 chocolates y su hermana tenía 42. Si se comieron 35, ¿cuántas piezas
les quedan en total?
R: Leah tenía 32 chocolates y la hermana de Leah tenía 42. Eso significa que originalmente
había 32 + 42 = 74 chocolates. Se han comido 35. Así que en total todavía tienen 74 - 35 = 39
chocolates. La respuesta es 39.
P: Jason tenía 20 piruletas. Le dio algunas piruletas a Denny. Ahora Jason tiene 12
piruletas. ¿Cuántas piruletas le dio Jason a Denny?
R: Jason tenía 20 piruletas. Como ahora solo tiene 12, debe haberle dado el resto a
Denny. El número de piruletas que le dio a Denny debe haber sido 20 - 12 = 8 piruletas.
La respuesta es 8.
P: Shawn tiene cinco juguetes. Para Navidad, recibió dos juguetes de su mamá y dos
de su papá. ¿Cuántos juguetes tiene ahora?
R: Él tiene 5 juguetes. Recibió 2 de su mamá, así que después de eso tiene 5 + 2 = 7
juguetes. Luego recibió 2 más de su papá, por lo que en total tiene 7 + 2 = 9 juguetes.
La respuesta es 9.
P: Había nueve ordenadores en la sala del servidor. Se instalaron cinco ordenadores
más cada día, de lunes a jueves. ¿Cuántos ordenadores hay ahora en la sala del servidor?
R: Hay 4 días de lunes a jueves. Se agregaron 5 ordenadores cada día. Eso significa que
en total se agregaron 4 * 5 = 20 ordenadores. Había 9 ordenadores al principio, por lo
que ahora hay 9 + 20 = 29 ordenadores. La respuesta es 29.
P: Michael tenía 58 bolas de golf. El martes, perdió 23 bolas de golf. El miércoles,
perdió 2 más. ¿Cuántas bolas de golf tenía al final del miércoles?
R: Michael inicialmente tenía 58 bolas. Perdió 23 el martes, así que después de eso tiene
58 - 23 = 35 bolas. El miércoles perdió 2 más, por lo que ahora tiene 35 - 2 = 33 bolas.
La respuesta es 33.
P: Olivia tiene $23. Compró cinco bagels por $3 cada uno. ¿Cuánto dinero le queda?
R: Compró 5 bagels por $3 cada uno. Esto significa que gastó 5 * 3 = $15. Por lo tanto,
le quedan $23 - $15 = $8.
P: Cuando tenía 6 años, mi hermana tenía la mitad de mi edad. Ahora tengo 70 años,
¿cuántos años tiene mi hermana?
R:
```
*Salida 1:*
```
Cuando tenía 6 años, mi hermana tenía la mitad de mi edad, por lo que tenía 3 años.
Ahora tengo 70 años, por lo que ella tiene 70 - 3 = 67 años. La respuesta es 67.
```
*Salida 2:*
```
Cuando el narrador tenía 6 años, su hermana tenía la mitad de su edad, que son 3 años.
Ahora que el narrador tiene 70 años, su hermana tendría 70 - 3 = 67 años. La respuesta es 67.
```
*Salida 3:*
```
Cuando tenía 6 años, mi hermana tenía la mitad de mi edad, por lo que tenía 3 años.
Ahora tengo 70 años, por lo que ella tiene 70/2 = 35 años. La respuesta es 35.
```
Realizar el cálculo para obtener la respuesta final implica algunos pasos (consulte el documento para obtener detalles), pero por simplicidad, podemos ver que ya está emergiendo una respuesta mayoritaria que esencialmente se convierte en la respuesta final.

@ -0,0 +1,92 @@
# Prompt cadena de pensamientos (CoT)
import {Screenshot} from 'components/screenshot'
import COT from '../../img/cot.png'
import ZEROCOT from '../../img/zero-cot.png'
<Screenshot src={COT} alt="COT" />
Fuente de la imagen: [Wei et al. (2022)](https://arxiv.org/abs/2201.11903)
Introducido en [Wei et al. (2022)](https://arxiv.org/abs/2201.11903), el prompt por cadena de pensamientos (CoT) permite capacidades de razonamiento complejas a través de pasos de razonamiento intermedios. Puedes combinarlo con prompts de pocas muestras (few-shot) para obtener mejores resultados en tareas más complejas que requieren razonamiento antes de responder.
*Prompt:*
```
Los números impares en este grupo suman un número par: 4, 8, 9, 15, 12, 2, 1.
A: Al sumar todos los números impares (9, 15, 1) se obtiene 25. La respuesta es Falsa.
Los números impares en este grupo suman un número par: 17, 10, 19, 4, 8, 12, 24.
A: Al sumar todos los números impares (17, 19) se obtiene 36. La respuesta es Verdadera.
Los números impares en este grupo suman un número par: 16, 11, 14, 4, 8, 13, 24.
A: Al sumar todos los números impares (11, 13) se obtiene 24. La respuesta es Verdadera.
Los números impares en este grupo suman un número par: 17, 9, 10, 12, 13, 4, 2.
A: Al sumar todos los números impares (17, 9, 13) se obtiene 39. La respuesta es Falsa.
Los números impares en este grupo suman un número par: 15, 32, 5, 13, 82, 7, 1.
A:
```
*Salida:*
```
Al sumar todos los números impares (15, 5, 13, 7, 1) se obtiene 41. La respuesta es Falsa.
```
¡Wow! Podemos ver un resultado perfecto cuando proporcionamos el paso de razonamiento. De hecho, podemos resolver esta tarea proporcionando incluso menos ejemplos, es decir, solo un ejemplo parece ser suficiente:
*Prompt:*
```
Los números impares en este grupo suman un número par: 4, 8, 9, 15, 12, 2, 1.
A: Al sumar todos los números impares (9, 15, 1) se obtiene 25. La respuesta es Falsa.
Los números impares en este grupo suman un número par: 15, 32, 5, 13, 82, 7, 1.
A:
```
*Salida:*
```
Al sumar todos los números impares (15, 5, 13, 7, 1) se obtiene 41. La respuesta es Falsa.
```
Tenga en cuenta que los autores afirman que esta es una habilidad emergente que surge con modelos de lenguaje lo suficientemente grandes.
## Prompt CoT sin entrenamiento previo (Zero-shot)
<Screenshot src={ZEROCOT} alt="Zero-shot COT" />
Fuente de la imagen: [Kojima et al. (2022)](https://arxiv.org/abs/2205.11916)
Una idea reciente que surgió más recientemente es la idea de [CoT sin entrenamiento previo](https://arxiv.org/abs/2205.11916) (Kojima et al. 2022) que esencialmente implica agregar "Pensemos paso a paso" al prompt original. Veamos cómo funciona el modelo con un problema simple:
*Prompt:*
```
Fui al mercado y compré 10 manzanas. Regalé 2 manzanas al vecino y 2 al reparador.
Luego fui y compré 5 manzanas más y me comí 1. ¿Cuántas manzanas me quedan?
```
*Salida:*
```
11 manzanas
```
¡La respuesta es incorrecta! Ahora probemos con el prompt especial.
*Prompt:*
```
Fui al mercado y compré 10 manzanas. Regalé 2 manzanas al vecino y 2 al reparador.
Luego fui y compré 5 manzanas más y me comí 1. ¿Cuántas manzanas me quedan?
Pensemos paso a paso.
```
*Output:*
```
En primer lugar, comenzaste con 10 manzanas.
Regalaste 2 manzanas al vecino y 2 al reparador, así que te quedaron 6 manzanas.
Luego compraste 5 manzanas más, así que ahora tenías 11 manzanas.
Finalmente, te comiste una manzana, por lo que te quedan 10 manzanas.
```
Es impresionante que este sencillo prompt sea efectivo para este tarea. Esto es particularmente útil cuando no tienes demasiados ejemplos para usar en el prompt.

@ -0,0 +1,16 @@
# Prompt de Estímulo direccional
import { Callout, FileTree } from 'nextra-theme-docs'
import {Screenshot} from 'components/screenshot'
import DSP from '../../img/dsp.jpeg'
[Li et al., (2023)](https://arxiv.org/abs/2302.11520) propone una nueva técnica de alineación para guiar mejor al LLM en la generación del resumen deseado.
Se entrena un LM de política ajustable para generar el estímulo/pista. Se está viendo un mayor uso de RL para optimizar LLM.
La figura a continuación muestra cómo el prompt de estímulo direccional se compara con el alineamiento estándar. El LM puede ser pequeño y optimizado para generar las pistas que guían a un LLM congelado de caja negra.
<Screenshot src={DSP} alt="DSP" />
Fuente de la imagen: [Li et al., (2023)](https://arxiv.org/abs/2302.11520)
¡Un ejemplo completo próximamente!

@ -0,0 +1,110 @@
# Prompt con pocas muestras (Few-shot)
Si bien los modelos de lenguaje grandes demuestran capacidades notables sin entrenamiento previo (zero-shot), todavía tienen deficiencias usando esta configuración en tareas más complejas. Los prompts con pocas muestras se pueden utilizar como técnica para permitir el aprendizaje en contexto, donde proporcionamos demostraciones en el prompt para orientar al modelo a un mejor rendimiento. Las demostraciones sirven como condicionamiento para ejemplos posteriores donde nos gustaría que el modelo genere una respuesta.
Según [Touvron et al. 2023](https://arxiv.org/pdf/2302.13971.pdf) este tipo de prompt apareció por primera vez cuando los modelos se escalaron a un tamaño suficiente [(Kaplan et al., 2020)](https://arxiv.org/abs/2001.08361).
Demostraremos los prompts con pocas muestras a través de un ejemplo que se presentó en [Brown et al. 2020](https://arxiv.org/abs/2005.14165). En el ejemplo, la tarea es usar correctamente una nueva palabra en una oración.
*Prompt:*
```
Un "whatpu" es un animal pequeño y peludo originario de Tanzania.
Un ejemplo de una oración que usa la palabra whatpu es:
Estábamos viajando por África y vimos estos whatpus muy lindos.
Hacer un "farduddle" significa saltar hacia arriba y hacia abajo muy rápido.
Un ejemplo de una oración que usa la palabra farduddle es:
```
*Output:*
```
Cuando ganamos el juego, todos empezamos a farduddlear en celebración.
```
Podemos observar que el modelo ha aprendido de alguna manera cómo realizar la tarea al proporcionarle solo un ejemplo o muestra (es decir, 1-shot). Para tareas más difíciles, podemos experimentar con aumentar las demostraciones (por ejemplo, 3-shots, 5-shots, 10-shots, etc.).
Siguiendo los hallazgos de [Min et al. (2022)](https://arxiv.org/abs/2202.12837), haquí hay algunos consejos más sobre demostraciones/ejemplos usando pocas muestras:
- el espacio de etiquetas y la distribución del texto de entrada especificado por los ejemplos son ambos importantes (independientemente de si las etiquetas son correctas para las entradas individuales)
- el formato que utilice también desempeña un papel clave en el rendimiento, incluso si solo usa etiquetas aleatorias, esto es mucho mejor que no tener etiquetas en absoluto.
- los resultados adicionales muestran que seleccionar etiquetas aleatorias de una verdadera distribución de etiquetas (en lugar de una distribución uniforme) también ayuda.
Intentemos algunos ejemplos. Primero, intentemos un ejemplo con etiquetas aleatorias (lo que significa que las etiquetas Negativo y Positivo se asignan aleatoriamente a las entradas):
*Prompt:*
```
Esto es increíble! // Negativo
Esto es malo! // Positivo
¡Guau, esa película fue increíble! // Positivo
¡Qué horrible programa! //
```
*Salida:*
```
Negativo
```
Aún obtenemos la respuesta correcta, aunque las etiquetas han sido aleatorizadas. Tenga en cuenta que también mantuvimos el formato, lo que también ayuda. De hecho, con más experimentación, parece que los nuevos modelos GPT con los que estamos experimentando se están volviendo más resistentes incluso a los formatos aleatorios. Ejemplo:
*Prompt:*
```
¡Esto es increíble! Positivo
¡Esto es malo! Negativo
¡Guau, esa película fue genial! Positivo
¡Qué espectáculo tan horrible! - - Negativo
```
*Salida:*
```
Negativo
```
No hay consistencia en el formato anterior, pero el modelo todavía predijo la etiqueta correcta. Debemos realizar un análisis más exhaustivo para confirmar si esto se aplica a diferentes y más complejas tareas, incluidas diferentes variaciones de estímulos.
### Limitaciones de los prompts con pocas muestras
Los prompts con pocas muestras funcionan bien para muchas tareas, pero aún no es una técnica perfecta, especialmente cuando se trata de tareas de razonamiento más complejas. Demostremos por qué esto es así. ¿Recuerda el ejemplo anterior donde proporcionamos la siguiente tarea?
```
Los números impares de este grupo suman un número par: 15, 32, 5, 13, 82, 7, 1.
R:
```
Si lo intentamos de nuevo, el modelo produce lo siguiente:
```
Sí, los números impares de este grupo suman 107, que es un número par.
```
Esta no es la respuesta correcta, lo que no solo resalta las limitaciones de estos sistemas, sino que también muestra la necesidad de una ingeniería de prompt más avanzada.
Intentemos agregar algunos ejemplos para ver si prompts con pocas muestras mejoran los resultados.
*Prompt:*
```
Los números impares de este grupo suman un número par: 4, 8, 9, 15, 12, 2, 1.
R: La respuesta es Falsa.
Los números impares de este grupo suman un número par: 17, 10, 19, 4, 8, 12, 24.
R: La respuesta es Verdadera.
Los números impares de este grupo suman un número par: 16, 11, 14, 4, 8, 13, 24.
R: La respuesta es Verdadera.
Los números impares de este grupo suman un número par: 17, 9, 10, 12, 13, 4, 2.
R: La respuesta es Falsa.
Los números impares de este grupo suman un número par: 15, 32, 5, 13, 82, 7, 1.
R:
```
*Salida:*
```
La respuesta es Verdadera.
```
Eso no funcionó. Parece que los prompts con pocas muestras no son suficiente para obtener respuestas confiables para este tipo de problema de razonamiento. El ejemplo anterior proporciona información básica sobre la tarea. Si observas más de cerca, el tipo de tarea que hemos introducido implica algunos pasos de razonamiento más. En otras palabras, podría ayudar si descomponemos el problema en pasos y lo demostramos al modelo. Más recientemente, se ha popularizado la técnica de [prompt de cadena de pensamientos]((https://arxiv.org/abs/2201.11903)) (CoT, por sus siglas en inglés) para abordar tareas de razonamiento aritmético, sentido común y simbólico más complejas.
En general, parece que proporcionar ejemplos es útil para resolver algunas tareas. En los casos en los que los prompts sin entrenamiento previo y con pocas muestras no son suficientes, podría significar que lo que aprendió el modelo no es suficiente para hacerlo bien en la tarea. Recomendamos comenzar a pensar en afinar tus modelos o experimentar con técnicas de prompt más avanzadas. A continuación, hablamos de una de las técnicas de activación populares llamada prompt de cadena de pensamientos, que ha ganado mucha popularidad.

@ -0,0 +1,5 @@
# Prompt de grafo
[Liu et al., 2023](https://arxiv.org/abs/2302.08043) intrroduce GraphPrompt, un nuevo framework de prompt para grafos para mejorar el rendimiento en tareas posteriores.
¡Más información en breve!

@ -0,0 +1,128 @@
# Prompt de conocimiento generado
import {Screenshot} from 'components/screenshot'
import GENKNOW from '../../img/gen-knowledge.png'
<Screenshot src={GENKNOW} alt="GENKNOW" />
Fuente de la imagen: [Liu et al. 2022](https://arxiv.org/pdf/2110.08387.pdf)
Los LMs siguen siendo mejorados y una técnica popular incluye la capacidad de incorporar conocimiento o información para ayudar al modelo a hacer predicciones más precisas.
Usando una idea similar, ¿puede el modelo también ser utilizado para generar conocimiento antes de hacer una predicción? Eso es lo que se intenta en el artículo de [Liu et al. 2022](https://arxiv.org/pdf/2110.08387.pdf) -- generar conocimiento para ser utilizado como parte del prompt. En particular, ¿cuán útil es esto para tareas como el razonamiento del sentido común?
Intentemos un prompt sencillo:
*Prompt:*
```
Parte del golf es tratar de obtener un puntaje más alto que los demás. Sí o no?
```
*Salida:*
```
Sí.
```
Este tipo de error revela las limitaciones de los LMs para realizar tareas que requieren más conocimiento sobre el mundo. ¿Cómo podemos mejorar esto con la generación de conocimiento?
Primero, generamos algunos "conocimientos":
*Prompt:*
```
Input: Grecia es más grande que México.
Conocimiento: Grecia tiene aproximadamente 131,957 km², mientras que México tiene aproximadamente
1,964,375 km², lo que hace que México sea un 1,389% más grande que Grecia.
Input: Los lentes siempre se empañan.
Conocimiento: La condensación se produce en las lentes de los anteojos cuando el vapor de agua de
su sudor, respiración y humedad ambiental aterriza en una superficie fría, se enfría y luego se
convierte en pequeñas gotas de líquido, formando una película que se ve como niebla. Sus lentes
estarán relativamente frías en comparación con su aliento, especialmente cuando el aire exterior
está frío.
Input: Un pez es capaz de pensar.
Conocimiento: Los peces son más inteligentes de lo que parecen. En muchas áreas, como la memoria,
sus habilidades cognitivas igualan o superan a las de los vertebrados "superiores", incluidos los
primates no humanos. Las memorias a largo plazo de los peces les ayudan a mantener relaciones
sociales complejas.
Input: Un efecto común de fumar muchos cigarrillos a lo largo de la vida es una probabilidad más
alta de tener cáncer de pulmón.
Conocimiento: Aquellos que fumaron consistentemente menos de un cigarrillo por día durante su
vida tenían nueve veces más riesgo de morir por cáncer de pulmón que los no fumadores. Entre las
personas que fumaron entre uno y 10 cigarrillos por día, el riesgo de morir por cáncer de pulmón
fue casi 12 veces mayor que el de los no fumadores.
Input: Una roca es del mismo tamaño que una piedra.
Conocimiento: Una piedra es un clasto de roca con un tamaño de partícula de 4 a 64 milímetros
según la escala de sedimentología Udden-Wentworth. Las piedras se consideran generalmente más
grandes que los granos (diámetro de 2 a 4 milímetros) y más pequeñas que las rocas grandes
(diámetro de 64 a 256 milímetros).
Input: Parte del golf es tratar de obtener un puntaje total más alto que los demás.
Conocimiento:
```
*Conocimiento 1:*
```
El objetivo del golf es jugar un conjunto de hoyos en el menor número de golpes. Una ronda de
golf típicamente consta de 18 hoyos. Cada hoyo se juega una vez en la ronda en un campo de golf
estándar. Cada golpe se cuenta como un punto, y el número total de golpes se utiliza para
determinar el ganador del juego.
```
*Conocimiento 2:*
```
El golf es un deporte de precisión con club y pelota en el que los jugadores (o golfistas)
compiten utilizando muchos tipos de palos para golpear pelotas en una serie de hoyos en un
campo, usando el menor número de golpes. El objetivo es completar el recorrido con la puntuación
más baja, que se calcula sumando el número total de golpes tomados en cada hoyo. El jugador
con la puntuación más baja gana el juego.
```
Estamos utilizando el proporcionado proporcionado en el paper de [Liu et al. 2022](https://arxiv.org/pdf/2110.08387.pdf).
El siguiente paso es integrar el conocimiento y obtener una predicción. Reformulé la pregunta en formato de preguntas y respuestas (QA) para guiar el formato de la respuesta.
*Prompt:*
```
Pregunta: ¿Parte del golf consiste en intentar obtener un total de puntos más alto que los demás?
Sí o No?
Conocimiento: El objetivo del golf es jugar un conjunto de hoyos en el menor número de golpes
posible. Una ronda de golf típicamente consiste en 18 hoyos. Cada hoyo se juega una vez en la
ronda en un campo de golf estándar. Cada golpe se cuenta como un punto y el número total de
golpes se utiliza para determinar el ganador del juego.
Explicación y Respuesta:
```
*Respuesta 1 (confianza muy alta):*
```
No, el objetivo del golf no es obtener un total de puntos más alto que los demás. Al contrario,
el objetivo es jugar un conjunto de hoyos en el menor número de golpes posible. El número total
de golpes se utiliza para determinar el ganador del juego, no el número total de puntos.
```
```
Pregunta: ¿Parte del golf consiste en intentar obtener un total de puntos más alto que los demás?
Sí o No?
Conocimiento: El golf es un deporte de precisión en el que los jugadores (o golfistas) compiten
usando muchos tipos de palos para golpear bolas en una serie de hoyos en un campo utilizando el
menor número de golpes posible. El objetivo es completar el campo con la puntuación más baja,
que se calcula sumando el número total de golpes realizados en cada hoyo. El jugador con la
puntuación más baja gana el juego.
Explicación y Respuesta:
```
*Respuesta 2 (confianza mucho más baja):*
```
Sí, parte del golf consiste en intentar obtener un total de puntos más alto que los demás. Cada
jugador intenta completar el campo con la puntuación más baja, que se calcula sumando el número
total de golpes realizados en cada hoyo. El jugador con la puntuación más baja gana el juego.
```
Algo realmente interesante ocurrió con este ejemplo. En la primera respuesta, el modelo estaba muy seguro, pero en la segunda, no tanto. Simplifiqué el proceso para fines de demostración, pero hay algunos detalles más a considerar al llegar a la respuesta final. Consulta el paper para obtener más información.

@ -0,0 +1,15 @@
# Prompt CoT multimodal
import { Callout, FileTree } from 'nextra-theme-docs'
import {Screenshot} from 'components/screenshot'
import MCOT from '../../img/multimodal-cot.png'
[Zhang et al. (2023)](https://arxiv.org/abs/2302.00923) propusieron recientemente un enfoque de generación de cadenas de pensamiento multimodales. El CoT tradicional se centra en la modalidad del lenguaje. En cambio, el CoT multimodal incorpora texto y visión en un marco de dos etapas. El primer paso implica la generación de razones basadas en información multimodal. Esto es seguido por la segunda fase, la inferencia de respuestas, que aprovecha las razones generadas informativas.
El modelo CoT multimodal (1B) supera al GPT-3.5 en el banco de pruebas de ScienceQA.
<Screenshot src={MCOT} alt="MCOT" />
Fuente de imagen: [Zhang et al. (2023)](https://arxiv.org/abs/2302.00923)
Lectura adicional:
- [Language Is Not All You Need: Aligning Perception with Language Models](https://arxiv.org/abs/2302.14045) (Feb 2023)

@ -0,0 +1,14 @@
# ReAct
import { Callout, FileTree } from "nextra-theme-docs";
import { Screenshot } from "components/screenshot";
import REACT from "../../img/react.png";
[Yao et al., 2022](https://arxiv.org/abs/2210.03629) presentón un framework donde los LLM se utilizan para generar trazas de razonamiento y acciones específicas de la tarea de manera intercalada. La generación de trazas de razonamiento permite que el modelo induzca, haga seguimiento y actualice planes de acción, incluso manejar excepciones. El paso de acción permite interactuar y recopilar información de fuentes externas, como bases de conocimiento o entornos
El framework ReAct framework permite a los LLMs interactuar con herramientas externals para recuperar información adicional que produzca respuestas mas fiables y fácticas.
<Screenshot src={REACT} alt="REACT" />
Image Source: [Yao et al., 2022](https://arxiv.org/abs/2210.03629)
¡Ejemplo completo en breve!

@ -0,0 +1,22 @@
# Prompt sin entrenamiento previo (Zero-shot)
Los LLMs de hoy en día entrenados con grandes cantidades de datos y ajustados para seguir instrucciones, son capaces de realizar tareas sin necesidad de entrenamiento. Probamos algunos ejemplos de cero entrenamiento en la sección anterior. Aquí hay uno de los ejemplos que usamos:
*Prompt:*
```
Clasifica el texto en neutral, negativo o positivo.
Texto: Creo que las vacaciones están bien.
Sentimiento:
```
*Output:*
```
Neutral
```
Tenga en cuenta que en la instrucción anterior no proporcionamos al modelo ningún ejemplo, eso es el prompt sin entrenamiento.
El ajuste de instrucciones ha demostrado mejorar el aprendizaje sin entrenamiento [Wei et al. (2022)](https://arxiv.org/pdf/2109.01652.pdf). El ajuste de instrucciones es esencialmente el concepto de ajustar modelos en conjuntos de datos descritos a través de instrucciones. Además, RLHF (aprendizaje por refuerzo a partir de la retroalimentación humana) se ha adoptado para escalar el ajuste de instrucciones, en el que el modelo se alinea mejor con las preferencias humanas. Este reciente desarrollo impulsa modelos como ChatGPT. Discutiremos todos estos enfoques y métodos en las próximas secciones.
Cuando el prompt sin entrenamiento no funciona, se recomienda proporcionar demostraciones o ejemplos en la instrucción, lo que lleva a un entrenamiento con pocos ejemplos. En la siguiente sección, demostraremos el entrenamiento con pocas muestras/ejemplos.
Loading…
Cancel
Save