En los últimos años, los modelos de lenguaje grandes (LLMs) han demostrado una capacidad extraordinaria para producir texto que se asemeja al habla humana en respuesta a la entrada del usuario. Sin embargo, la calidad de las indicaciones proporcionadas por el usuario afecta significativamente el rendimiento de estos modelos. La ingeniería de indicaciones se ha vuelto cada vez más compleja y sofisticada, lo que ha llevado a un aumento en el interés por optimizar y mejorar este proceso.
El aumento de la popularidad de la ingeniería de indicaciones
Según los datos de Google Trends, «ingeniería de indicaciones» ha visto un fuerte aumento en popularidad en los últimos seis meses. En las redes sociales, se pueden encontrar varias guías y plantillas para crear indicaciones persuasivas. Sin embargo, desarrollar indicaciones completamente mediante métodos de prueba y error puede no ser la estrategia más efectiva.
El algoritmo APO de Microsoft
Para solucionar este problema, los investigadores de Microsoft han desarrollado un nuevo método de optimización de indicaciones llamado Automatic Prompt Optimisation (APO). APO es un algoritmo general y no paramétrico de optimización de indicaciones inspirado en el descenso de gradiente numérico. Su objetivo es automatizar y mejorar el proceso de desarrollo de indicaciones para LLMs.
El algoritmo se basa en enfoques automatizados existentes, como el entrenamiento de modelos auxiliares o representaciones diferenciables de la indicación y la aplicación de manipulaciones discretas mediante aprendizaje por refuerzo o retroalimentación basada en LLM. A diferencia de los métodos anteriores, APO aborda la barrera de optimización discreta mediante el empleo de descenso de gradiente dentro de un diálogo socrático basado en texto. Reemplaza la diferenciación con retroalimentación de LLM y la retropropagación con edición de LLM.
Cómo funciona APO
El algoritmo comienza utilizando mini lotes de datos de entrenamiento para obtener «gradientes» de lenguaje natural que describen las fallas en una indicación dada. Estos gradientes guían el proceso de edición, donde la indicación se ajusta en la dirección semántica opuesta del gradiente. Luego se realiza una búsqueda de haz más amplia para expandir el espacio de búsqueda de indicaciones, transformando el problema de optimización de indicaciones en un problema de selección de candidatos de haz. Este enfoque mejora la eficiencia del algoritmo.
Evaluación de la efectividad de APO
Para evaluar la efectividad de APO, el equipo de investigación de Microsoft lo comparó con tres baselines de aprendizaje de indicaciones de última generación en varias tareas de NLP, incluyendo la detección de jailbreak, la detección de discurso de odio, la detección de noticias falsas y la detección de sarcasmo. APO superó consistentemente a los baselines en las cuatro tareas, logrando mejoras significativas sobre los baselines de Monte Carlo (MC) y aprendizaje por refuerzo (RL).
Es importante destacar que estas mejoras se lograron sin entrenamiento adicional del modelo ni optimización de hiperparámetros. Esto demuestra la eficiencia y efectividad de APO para mejorar las indicaciones para LLMs.
Análisis
La ingeniería de indicaciones es un proceso crucial para el rendimiento de los modelos de lenguaje grandes. APO es un avance alentador en la ingeniería rápida para LLMs. APO disminuye la mano de obra manual y el tiempo de desarrollo necesario para el desarrollo rápido al automatizar el proceso de optimización de indicaciones utilizando técnicas de descenso de gradiente y búsqueda de haz. Los resultados empíricos revelan su capacidad para mejorar la calidad de las indicaciones en una variedad de tareas de NLP, lo que destaca su potencial para aumentar la eficiencia de los modelos de lenguaje grandes.
En resumen, APO es una herramienta valiosa para los desarrolladores de LLMs que buscan mejorar la calidad de las indicaciones y aumentar la eficiencia del proceso de ingeniería de indicaciones.
Referencias.-
- Microsoft Paper.
- [con]Neurona #26 - 18 de diciembre de 2023
- [con]Neurona #25 - 10 de diciembre de 2023
- [con]Neurona #24 - 2 de diciembre de 2023