WizardLM es una familia de modelos de lenguaje de gran tamaño desarrollada por Microsoft Research Asia. El proyecto introdujo el método Evolve-Instruct, una técnica para generar automáticamente datos de instrucciones complejas utilizados en el aprendizaje automático para el ajuste fino. El primer modelo WizardLM se lanzó en 2023 y se basaba en la arquitectura LLaMA, un modelo Transformer (architecture) que depende de la atención de múltiples cabezas y la normalización de capas.
El nombre "WizardLM" refleja el objetivo de permitir que los modelos manejen instrucciones intrincadas de los usuarios, similar a la experiencia de un mago. Los modelos forman parte del campo más amplio de la IA generativa y se basan en avances en la investigación de la inteligencia artificial. WizardLM fue diseñado para abordar el desafío del seguimiento de instrucciones, donde los modelos deben interpretar y ejecutar solicitudes de los usuarios con alta precisión.
Antecedentes y motivación
El ajuste de instrucciones es una práctica estándar para adaptar redes neuronales a seguir indicaciones de los usuarios. En este proceso, un modelo base se ajusta finamente con pares de instrucciones y respuestas deseadas. Sin embargo, crear manualmente instrucciones diversas y complejas requiere mucho trabajo y a menudo resulta en conjuntos de datos que carecen de profundidad. WizardLM aborda esto utilizando un sistema de IA para evolucionar instrucciones semilla simples hacia formas más complejas. Este enfoque está relacionado con el aprendizaje curricular, donde los modelos se entrenan con ejemplos progresivamente más difíciles. El objetivo es exponer al modelo a una gama más amplia de patrones de razonamiento y restricciones, mejorando así su capacidad para manejar solicitudes del mundo real.
El método Evolve-Instruct se introdujo en un artículo titulado "WizardLM: Empowering Large Language Models to Follow Complex Instructions", publicado en arXiv en abril de 2023. Los autores estaban afiliados a Microsoft Research Asia. El artículo propuso un proceso de dos etapas: evolución profunda y evolución en profundidad. En la evolución profunda, el modelo genera nuevas instrucciones añadiendo restricciones, profundizando el razonamiento o complicando la entrada. En la evolución en profundidad, el modelo reescribe instrucciones existentes para aumentar su complejidad. El conjunto de datos resultante se utiliza luego para ajustar finamente un modelo base.
Método Evolve-Instruct
El método Evolve-Instruct utiliza un modelo maestro, como ChatGPT, para reescribir instrucciones semilla mediante operaciones como añadir restricciones, profundizar el razonamiento y complicar las entradas. Las instrucciones evolucionadas sirven como una forma de aumento de datos para el ajuste fino. El método incluye múltiples tipos de evolución, como añadir restricciones, profundizar, concretizar y aumentar los pasos de razonamiento. Por ejemplo, una instrucción simple como "Escribe un poema" podría evolucionar a "Escribe un poema en el estilo de Shakespeare sobre un robot que aprende a amar". Esto aumenta la complejidad y especificidad de la tarea.
El proceso es iterativo, con el modelo expuesto repetidamente a instrucciones más desafiantes. Los autores también introdujeron un mecanismo de control de calidad para filtrar instrucciones que son demasiado ambiguas o imposibles de responder. Esto asegura que los datos de entrenamiento sigan siendo útiles y no degraden el rendimiento del modelo. Las instrucciones evolucionadas se combinan luego con las instrucciones semilla originales para crear un conjunto de entrenamiento final.
Versiones del modelo y puntos de referencia
El primer modelo WizardLM, WizardLM-7B, fue ajustado finamente a partir de LLaMA-7B. Versiones posteriores incluyeron WizardLM-13B y WizardLM-30B. Los modelos se evaluaron en el conjunto de prueba Evol-Instruct y otros puntos de referencia. Los autores informaron que WizardLM-7B superó a ChatGPT en el seguimiento de instrucciones complejas en sus evaluaciones. Específicamente, utilizaron GPT-4 como juez para comparar respuestas y encontraron que WizardLM-7B logró una tasa de victoria más alta en el conjunto de prueba Evol-Instruct. Versiones posteriores, como WizardLM v1.1 y v1.2, incorporaron refinamientos adicionales, incluidos conjuntos de datos de entrenamiento más grandes y estrategias de evolución mejoradas.
Los pesos del modelo se publicaron públicamente, permitiendo a investigadores y desarrolladores usarlos y ajustarlos. Los modelos WizardLM también se integraron en varios proyectos de código abierto y sirvieron como líneas base para modelos posteriores de seguimiento de instrucciones. A partir de 2024, la familia WizardLM incluye modelos de diferentes tamaños, y el método Evolve-Instruct se ha aplicado a otros dominios.
Impacto y trabajo relacionado
El método Evolve-Instruct de WizardLM influyó en modelos posteriores, incluidos WizardCoder para generación de código y WizardMath para razonamiento matemático. Estos modelos aplicaron técnicas de evolución similares a dominios especializados, demostrando la versatilidad del enfoque. El enfoque ha sido adoptado por otros investigadores en el campo, y el artículo ha sido ampliamente citado. WizardLM es parte de una tendencia más amplia en el aprendizaje profundo para mejorar el seguimiento de instrucciones mediante la generación automatizada de datos. El método también contribuyó al desarrollo de puntos de referencia de evaluación más sofisticados para modelos de seguimiento de instrucciones.