Comunicado oficial de LangChain: Explore consejos para optimizar las palabras clave
Por Krish Maniar y William Fu-Hinthorn
Al escribir indicaciones, intentamos comunicar nuestras intenciones a los Modelos de Lenguaje Amplio (LLM) para que puedan aplicar estas instrucciones a datos complejos. Sin embargo, no es fácil expresar con claridad todos los matices a la vez. A menudo, la ingeniería de instrucciones se optimiza mediante ensayo y error manual, pruebas y ajustes, pero herramientas como DSPy y promptim demuestran el valor de la "programación de instrucciones" y la optimización sistemática de instrucciones. Salvan la distancia entre la intención y la instrucción midiendo y probando con datos reales. En este artículo:
- Se seleccionaron cinco conjuntos de datos con resultados verificables para realizar una evaluación comparativa que impulsara la optimización
- Se realizaron y compararon cinco métodos de mejora sistemática de las indicaciones
- Se evaluaron tres modelos diferentes (
gpt-4o
yclaude-sonnet
yo1
) en la optimización de las señales
Nuestra conclusión:
- El modelo que recomendamos para la optimización del taco es
claude-sonnet
(Mejor queo1
) - La optimización de pistas es más eficaz en tareas en las que el modelo carece de conocimientos del dominio
- En estos casos, la optimización de los indicadores puede mejorar la precisión en aproximadamente 200% con respecto a los indicadores básicos.
- La optimización de las señales también puede considerarse una forma de memoria a largo plazo: aprender directamente de los datos y adaptarse a ellos.
Lo que probamos.
Hemos evaluado cinco métodos conocidos de optimización de pistas (que se explican con detalle más adelante):
- Pocos estímulos: utilizar ejemplos de entrenamiento como demostraciones del comportamiento deseado.
- Meta-prompting: analizar y mejorar las prompts con LLM
- Metaprompuestas con reflexión: permitir a los estudiantes de LLM reflexionar y analizar críticamente los cambios propuestos antes de enviar las propuestas actualizadas.
- Gradientes de sugerencia: Genere "gradientes de texto" para cada ejemplo como sugerencias de mejora y, a continuación, aplique esas sugerencias en otra llamada LLM.
- Optimización evolutiva: exploración del espacio de pistas mediante mutación controlada
Ejecutamos estos métodos en tres modelos (O1, GPT-4o y Claude-3.5-Sonnet) y los probamos en cinco conjuntos de datos que representaban tareas habituales para responder a las siguientes preguntas básicas:
- ¿Cuándo son más eficaces los consejos de optimización?
- ¿Qué modelos de frontera son adecuados para la optimización de pistas?
- ¿Qué algoritmos son los más fiables?
aritmética
Probamos cinco métodos de optimización de pistas, cada uno con su propia teoría de optimización:
Pocos disparos
Este enfoque es el más sencillo, en el que seleccionamos hasta 50 ejemplos del conjunto de entrenamiento (muestreados a lo largo de múltiples ciclos de entrenamiento) y los incluimos en la señal como demostración del comportamiento deseado. Este enfoque tiene un bajo coste de aprendizaje (no se requieren llamadas LLM para proponer cambios), pero en el momento de la prueba Ficha Mayor coste (porque los ejemplos de demostración suelen tener más contenido que las instrucciones directas).
Meta-prompting (Meta-prompting)
Este es uno de los métodos más básicos de ajuste de instrucciones. Primero hacemos que el LLM objetivo ejecute el ejemplo y luego calcule las puntuaciones de las salidas (nota: es necesario configurar un evaluador). A continuación, proporcionamos al LLM meta-señal las entradas, salidas, salidas de referencia (si las hay) y las puntuaciones de la señal actual en esas salidas, y pedimos al LLM que escriba una señal mejor. Este proceso se repite en pequeños lotes de datos y se evalúa periódicamente en el conjunto de desarrollo retenido (conjunto dev) para retener las pistas con las puntuaciones más altas.
Meta-prompteo con reflexión (Meta-prompteo con reflexión)
Proporcionar herramientas de "reflexión" y "crítica" sobre los meta-promptos. Estas herramientas sólo permiten a LLM registrar reflexiones en el área de borradores antes de enviar actualizaciones de pistas, de modo que se pueda utilizar más potencia de cálculo para analizar pistas anteriores y descubrir patrones ocultos en los datos antes de enviar la versión final.
Gradientes de aviso (Prompt Gradients)
El artículo de Pryzant et al.Optimización automática de avisosInspirado en "El Proceso de Optimización", este enfoque divide el proceso de optimización en múltiples pasos:
- Puntuación de la salida del indicador actual
- Hacer que LLM genere retroalimentación específica (es decir, "gradientes") para los ejemplos de fallo.
- Actualizaciones rápidas basadas en estos "gradientes".
La idea central del método es que recoger información detallada antes de realizar cambios puede proporcionar sugerencias de mejora más específicas que los métodos de metapropuesta.
Optimización evolutiva (OE)
Los algoritmos se ejecutan en "generaciones", y cada generación se optimiza a través de diferentes etapas. En cada generación, los algoritmos aplican "mutaciones" semialeatorias a las pistas (en este experimento, estas mutaciones fueron generadas por el LLM para actualizar los distintos tipos de pistas) y, a continuación, conservan las pistas con mejores resultados.
En estos experimentos, utilizamos la técnica más avanzada propuesta por Cui et al. PhaseEvoCombina un enfoque de "gradiente de texto" con una estrategia variacional más global para explorar el espacio de pistas a mayor escala, superando así el problema de la optimalidad local.
conjunto de datos
Creamos cinco conjuntos de datos para la evaluación comparativa:
- Soporte para distribución de correo 3Cada correo electrónico entrante se clasifica y se asigna a uno de los tres procesadores.
- Soporte para distribución de correo 10(2): Similar a (1), pero con un aumento a 10 procesadores, la tarea es más difícil porque la "experiencia en el dominio" de cada procesador no está suficientemente clara.
- matemáticas multilingüesEl LLM consiste en resolver problemas matemáticos y deletrear las respuestas en una de las cinco lenguas disponibles. El idioma de destino viene determinado por el tema de la pregunta (Deportes → coreano, Espacio → árabe, Cocina → alemán, Música → inglés, Vida salvaje → ruso). El optimizador tiene que descubrir este patrón oculto a partir de los datos.
- Asistente de correo (simple)El LLM necesita juzgar si un correo electrónico debe ser ignorado, respondido o notificado al usuario para que se ocupe de él.
- Asistente de correo (Preferencias)La tarea es similar a la del conjunto de datos anterior, pero las reglas de la tarea son más sutiles. Creamos un gurú de la tecnología "excéntrico" y ocupado como creador de las reglas de preferencia del correo electrónico para que proporcione etiquetas de verdad básica.
al final
Utilizamos el GPT-4o y el O1 de OpenAI en cinco conjuntos de datos, así como el Antrópico de Claude-3.5-Sonnet se optimizó como meta-cue LLM. El LLM objetivo fue GPT-4o-mini (es decir, utilizamos otros modelos para optimizar la pista GPT-4o-mini).
La siguiente figura muestra los resultados de la optimización para diferentes conjuntos de datos y algoritmos:
El valor medio de la mejora relativa en todos los conjuntos de datos de prueba, 100% representa una duplicación de la precisión y 200% representa una triplicación de la precisión con respecto al original.
De los resultados.Claude es un modelo de optimizador más estableO1 es más fiable que O1. Además, O1 tiene desventajas en términos de tiempo de procesamiento, coste y fiabilidad de la API (los puntos finales de OpenAI a veces marcan incorrectamente las solicitudes como violadoras del ToS). Por lo tanto, actualmente recomendamos Claude-3.5-Sonnet como modelo preferido para la optimización de pistas. Actualizaremos esta recomendación a medida que O3 y otros nuevos modelos estén disponibles.
Lo que encontramos
En general, los resultados anteriores corroboran la literatura existente en el sentido de que los modelos lingüísticos amplios (LLM) funcionan bien en la ingeniería de pistas de entrada. Estos experimentos también revelan cuándo serán (o no) eficaces los LLM.
- Meta-prompting (Meta-prompting) existeReglas o preferencias de descubrimiento y otros patrones claros son especialmente útiles, sobre todo cuando esta información está fuera del dominio de conocimiento original del LLM. Esto significa que se pueden definir los comportamientos deseados mediante ejemplos y confiar en el optimizador para traducir estos comportamientos a otros LLM, siempre que puedan seguir instrucciones sensatas. Esto hace posible el modelo de programación declarativo de sugerencias de entrada.
- Meta-consejos (afinados por comando) Al transmitir preferencias en elmatiz son menos útiles, por ejemplo, en el conjunto de datos de clasificación simple de correos electrónicos, todos los métodos de ajuste fino de pistas de entrada obtienen peores resultados que los métodos de pistas de entrada de pocos disparos (few-shot). En ese conjunto de datos, la clasificación se basaba principalmente en reglas difusas y juicios condicionales más que en reglas explícitas.
- combinandoMenos indicaciones de entrada de muestras y ajuste de comandos pueden aportar mejoras complementarias. Esto contrasta con la Opsahl Ong et al. responder cantando Wan et al. Las conclusiones del estudio son coherentes. Las muestras menos ejemplos pueden transmitir más información que las simples instrucciones, pero no pueden abarcar laCondiciones y normas complejas Estos pueden ser una parte importante de lo que se necesita para los agentes empresariales. Por otro lado, la optimización de las pistas de entrada mediante reflexión, "gradientes de texto" o algoritmos evolutivos permite mejoras más específicas basadas en el rendimiento existente y en las características del conjunto de datos, al tiempo que mejora la eficiencia de las fichas. También se mejora la eficiencia de los tokens.
- Los meta-promptos no aportan nuevas capacidades al modelo . Por ejemplo, en el conjunto de datos Matemáticas multilingües, GPT-4o-mini no consigue superar el porcentaje de aprobados de 65% ni siquiera en la configuración optimizada, debido principalmente a errores de inferencia. Aunque el optimizador puede guiar al modelo sobre cómo manifestaciones (A veces, razonar los caminos a través de ejemplos puede inducir mejoresforma de pensar ), pero no desbloquean habilidades de razonamiento más sólidas ni conocimientos específicos más complejos.
Más allá de la evaluación
Hemos estado construyendo LangSmith para ayudar a los equipos a evaluar sistemáticamente las aplicaciones LLM. Una buena evaluación permite identificar problemas y comprender el comportamiento del sistema. Pero los conjuntos de datos y métricas construidos durante el proceso de evaluación también desbloquean un valor aún más importante: mejorar sistemáticamente el rendimiento del modelo mediante la optimización.
Los conjuntos de datos de nuestros experimentos rinden bien en el proceso de optimización porque son claros,Resultados verificables ::
- Decisiones de encaminamiento con etiquetas reales
- Respuestas matemáticas verificables
- Restricciones lingüísticas que puede comprobar el programa
Esto es importante porque la optimización de métricas difusas o poco fiables tiende a empeorar las señales de entrada en lugar de mejorarlas. Si LLM juzga la salida basándose únicamente en criterios difusos, tenderá a optimizar sus propios sesgos en lugar de satisfacer tus necesidades reales.
Si está realizando un seguimiento del rendimiento de la aplicación en LangSmith, ya está sentando las bases para una optimización eficaz de la entrada de datos. El mismo conjunto de datos no sólo le ayuda a entender por qué está fallando, sino que también impulsa la mejora sistemática. Los datos, las métricas y el aprendizaje forman un bucle cerrado.
Optimización de las indicaciones de entrada, es decir, memoria a largo plazo.
La optimización es aprendizaje, por lo que podemos considerar la optimización de las señales de entrada como una forma especial de memoria a largo plazo que capta patrones de comportamiento "siempre activos".
Mientras que los sistemas de memoria tradicionales almacenan la información en bases de datos (vectores, gráficos u otros formatos), la Optimización de Claves de Entrada almacena la información directamente en las claves de entrada de las inteligencias, con lo que siempre está disponible e influye en cada decisión. Este enfoque es especialmente adecuado para almacenar patrones básicos, como reglas de comportamiento, preferencias de estilo y rasgos clave de personalidad.
El proceso de "aprender y mejorar" es muy similar a la optimización tradicional de las señales de entrada, con ligeras diferencias en la forma de programar las actualizaciones y el lugar donde se almacenan. Las técnicas de optimización de las señales de entrada y los algoritmos de aprendizaje pueden aplicarse también a los sistemas de memoria. Estamos investigando en esta dirección.
significado
Estos resultados corroboran nuestra observación (y la de investigadores como DSPy) de que la optimización de los avisos de entrada basada en LLM puede mejorar sistemáticamente los avisos de entrada y automatizar el actual proceso de ingeniería de avisos de entrada manual dominado por la prueba y el error. Hacer este enfoque más accesible a todas las partes interesadas puede ayudarnos a construir sistemas mejores y más sólidos.
Sin embargo, no se trata de una solución única. Nuestras indicaciones de entrada optimizadas no son óptimas en el conjunto de pruebas y la mejora varía según las tareas. Esto sugiere que la optimización de las indicaciones de entrada debe considerarse como una herramienta más en la caja de herramientas de optimización de aplicaciones LLM, y no como el único enfoque.
Tenemos previsto integrar estos conocimientos directamente en LangSmith para ayudar a los equipos a ir más allá de la ingeniería manual. Nuestro objetivo no es eliminar el juicio humano, sino hacer que las decisiones sean más sistemáticas y basadas en datos.
experimento de recurrencia
Puede ejecutar Repositorios de GitHub ha dado en el clavo all_sweeps.sh
para reproducir estos experimentos.
apéndice
Dinámica de formación
En la sección anterior, nos hemos centrado eneventual rendimiento de las pistas de entrada en el conjunto de pruebas. A continuación, mostramos gráficos de la dinámica de entrenamiento de cada conjunto de datos en el conjunto de desarrollo. Estos gráficos muestran cómo los distintos algoritmos se ajustan a los conjuntos de datos y pueden utilizarse para comparar las puntuaciones finales y revelar si los algoritmos se ajustan a los conjuntos de datos de forma inestable o no.sobreajuste datos, por lo que no se consigue un aumento coherente.
Soporte para enrutamiento de correo (3 clases)
La mayoría de los optimizadores mejoraron con las pistas de entrada de referencia, y los métodos de gradiente y evolución obtuvieron resultados similares. En particular, Claude supera a GPT-4o en todos los métodos; sin embargo, en el conjunto de desarrollo, Claude y GPT-4o no mejoran significativamente cuando se utilizan métodos de meta-señalización.

Soporte para enrutamiento de correo (10 clases)
Las configuraciones meta-cue y meta-cue+reflexión utilizando GPT-4o no consiguieron aprender las reglas de clasificación en el conjunto de datos. Empieza a surgir un patrón común: si la curva permanece plana, el algoritmo no ha aprendido. Si la curva se acerca rápidamente a una puntuación perfecta, es posible que haya sobreajuste. El mejor rendimiento en el conjunto de pruebas suele provenir de algoritmos que muestran una mejora constante en el conjunto de desarrollo.

Conjuntos de datos matemáticos multilingües
El rendimiento de entrenamiento de este conjunto de datosdiscreto Esto se debe a que algunas configuraciones no reciben un impulso significativo hasta la segunda o tercera ronda (o incluso más tarde). Esto pone de relieve el hecho de que el seguimientoHistoria editorial LLM actúa como meta-optimizador y es capaz de traducir estrategias de actualización más efectivas basadas en el historial de ediciones.

Comparación de los avisos de entrada
Aunque en última instancia nos importan más las métricas descendentes que los detalles específicos de las indicaciones de entrada, sigue siendo valioso analizar lo que el optimizador ha aprendido sobre las modificaciones y qué cambios han dado lugar a mejoras.
Comparación de cuatro algoritmos de optimización diferentes utilizando el ejemplo de un conjunto de datos categorizados de 10 clases que admiten correos electrónicos:

Los cuatro algoritmos aprendieron las principales reglas de clasificación. Sin embargo, el método del gradiente es débil a la hora de encontrar límites difusos, mientras que los otros métodos prefieren formular "reglas de prioridad" o construir árboles de decisión para especificar los criterios de clasificación.
También se observan diferencias de comportamiento al comparar distintos modelos de optimizador con el mismo algoritmo. Por ejemplo, O1 parece preferir combinar distintas técnicas (por ejemplo, sintetizar ejemplos sin muestras e instrucciones paso a paso) y utilizar su separador característico ("-") para distinguir entre conjuntos de reglas. Mientras que Claude más concisa y directa, sino que también aprendió las reglas de prioridad y la asignación de dominios. En cambio, GPT-4o genera la menor densidad de información.

© declaración de copyright
El artículo está protegido por derechos de autor y no debe reproducirse sin autorización.
Artículos relacionados
Sin comentarios...