Mi agradecimiento a Evan Jolley por sus contribuciones a esta pieza
Aparentemente todos los días se publican nuevas evaluaciones de los sistemas RAG, y muchas de ellas se centran en la etapa de recuperación del marco. Sin embargo, el aspecto de generación (cómo un modelo sintetiza y articula esta información recuperada) puede tener igual o mayor importancia en la práctica. Muchos casos de uso en producción no se limitan a devolver un hecho del contexto, sino que también requieren sintetizar el hecho en una respuesta más complicada.
Realizamos varios experimentos para evaluar y comparar GPT-4, Claude 2.1 y claudio 3 Capacidades de generación del Opus. Este artículo detalla nuestra metodología de investigación, los resultados y los matices del modelo encontrados a lo largo del camino, así como por qué esto es importante para las personas que construyen con IA generativa.
Todo lo necesario para reproducir los resultados se puede encontrar en este repositorio de GitHub.
Comidas para llevar
- Aunque los hallazgos iniciales indican que Claude supera a GPT-4, las pruebas posteriores revelan que con ingeniería rápida estratégica, GPT-4 demostró un rendimiento superior en una gama más amplia de evaluaciones. Los comportamientos inherentes del modelo y la ingeniería rápida son MUCHO en los sistemas RAG.
- Simplemente agregar “Explíquese y luego responda la pregunta” a una plantilla de mensaje mejora significativamente (más del doble) el rendimiento de GPT-4. Está claro que cuando un LLM habla y responde, parece ayudar a desarrollar ideas. Es posible que al explicar, un modelo esté reforzando la respuesta correcta en el espacio de incrustación/atención.
Si bien la recuperación es responsable de identificar y recuperar la información más pertinente, es la fase de generación la que toma estos datos sin procesar y los transforma en una respuesta coherente, significativa y contextualmente apropiada. El paso generativo tiene la tarea de sintetizar la información recuperada, llenar los vacíos y presentarla de una manera que sea fácilmente comprensible y relevante para la consulta del usuario.
En muchas aplicaciones del mundo real, el valor de los sistemas RAG reside no sólo en su capacidad para localizar un hecho o información específica, sino también en su capacidad para integrar y contextualizar esa información dentro de un marco más amplio. La fase de generación es lo que permite a los sistemas RAG ir más allá de la simple recuperación de hechos y ofrecer respuestas verdaderamente inteligentes y adaptables.
La prueba inicial que realizamos implicó generar una cadena de fecha a partir de dos números recuperados aleatoriamente: uno que representa el mes y el otro el día. Los modelos tenían la tarea de:
- Recuperando el número aleatorio n.° 1
- Aislando el último dígito e incrementando en 1
- Generando un mes para nuestra cadena de fechas a partir del resultado
- Recuperando el número aleatorio n.° 2
- Generando el día para nuestra cadena de fecha a partir del número aleatorio 2
Por ejemplo, los números aleatorios 4827143 y 17 representarían el 17 de abril.
Estos números se colocaron en diferentes profundidades dentro de contextos de diferente duración. Al principio, los modelos tuvieron bastantes dificultades con esta tarea.
Si bien ninguno de los modelos funcionó muy bien, Claude 2.1 superó significativamente a GPT-4 en nuestra prueba inicial, casi cuadriplicando su tasa de éxito. Fue aquí donde la naturaleza detallada de Claude (que proporciona respuestas detalladas y explicativas) pareció darle una clara ventaja, lo que resultó en resultados más precisos en comparación con las respuestas inicialmente concisas de GPT-4.
Impulsados por estos resultados inesperados, introdujimos una nueva variable en el experimento. Le dimos instrucciones a GPT-4 para que “se explicara y luego respondiera la pregunta”, un mensaje que fomentó una respuesta más detallada similar a la salida natural de Claude. El impacto de este pequeño ajuste fue profundo.
El rendimiento de GPT-4 mejoró drásticamente y logró resultados impecables en pruebas posteriores. Los resultados de Claude también mejoraron en menor medida.
Este experimento no solo resalta las diferencias en cómo los modelos de lenguaje abordan las tareas de generación, sino que también muestra el impacto potencial de la ingeniería rápida en su desempeño. La verbosidad que parecía ser la ventaja de Claude resultó ser una estrategia replicable para GPT-4, lo que sugiere que la forma en que un modelo procesa y presenta su razonamiento puede influir significativamente en su precisión en las tareas de generación. En general, incluir la línea aparentemente diminuta “explíquese” en nuestro mensaje contribuyó a mejorar el rendimiento de los modelos en todos nuestros experimentos.
Realizamos cuatro pruebas más para evaluar la capacidad de los modelos predominantes para sintetizar y transformar la información recuperada en varios formatos:
- Concatenación de cadenas: Combinar fragmentos de texto para formar cadenas coherentes y probar las habilidades básicas de manipulación de texto de los modelos.
- Formato de dinero: Formatear números como moneda, redondearlos y calcular cambios porcentuales para evaluar la precisión de los modelos y su capacidad para manejar datos numéricos.
- Mapeo de fechas: Convertir una representación numérica en el nombre y la fecha de un mes, lo que requiere una combinación de recuperación y comprensión contextual.
- Módulo aritmético: Realizar operaciones numéricas complejas para probar las capacidades de generación matemática de los modelos.
Como era de esperar, cada modelo mostró un sólido desempeño en la concatenación de cadenas, reafirmando la comprensión previa de que la manipulación de texto es una fortaleza fundamental de los modelos de lenguaje.
En cuanto a la prueba de formateo de dinero, Claude 3 y GPT-4 funcionaron casi sin problemas. El rendimiento de Claude 2.1 fue en general peor. La precisión no varió considerablemente a lo largo de la longitud del token, pero en general fue menor cuando la aguja estaba más cerca del comienzo de la ventana de contexto.
A pesar de los resultados estelares en las pruebas de generación, la precisión de Claude 3 disminuyó en un experimento de sólo recuperación. En teoría, simplemente recuperar números debería ser una tarea más fácil que manipularlos también, lo que hace que esta disminución en el rendimiento sea sorprendente y un área donde estamos planeando realizar más pruebas para examinar. En todo caso, esta caída contraintuitiva solo confirma aún más la idea de que tanto la recuperación como la generación deben probarse cuando se desarrolla con RAG.
Al probar varias tareas de generación, observamos que, si bien ambos modelos sobresalen en tareas menores como la manipulación de cuerdas, sus fortalezas y debilidades convertirse claro en escenarios más complejos. ¡Los LLM todavía no son buenos en matemáticas! Otro resultado clave fue que la introducción del mensaje “explíquese usted mismo” mejoró notablemente el rendimiento de GPT-4, subrayando la importancia de cómo se solicita a los modelos y cómo articulan su razonamiento para lograr resultados precisos.
Estos hallazgos tienen implicaciones más amplias para la evaluación de los LLM. Al comparar modelos como el detallado Claude y el inicialmente menos detallado GPT-4, resulta evidente que los criterios de evaluación deben ir más allá de la mera corrección. La verbosidad de las respuestas de un modelo introduce una variable que puede influir significativamente en su desempeño percibido. Este matiz puede sugerir que futuras evaluaciones de modelos deberían considerar la duración promedio de las respuestas como un factor a tener en cuenta, proporcionando una mejor comprensión de las capacidades de un modelo y garantizando una comparación más justa.