Vicuña: un chatbot de código abierto que impresiona a GPT-4 con una calidad ChatGPT del 90 %*
Descripción general
El rápido avance de los modelos de lenguajes grandes (LLM) ha revolucionado los sistemas de chatbot, lo que ha dado lugar a avances sin precedentes. niveles de inteligencia como se ve en ChatGPT de OpenAI. Sin embargo, a pesar de su impresionante desempeño, los detalles de capacitación y arquitectura de ChatGPT siguen sin estar claros, lo que obstaculiza la investigación y la innovación de código abierto en este campo. Inspirándonos en el proyecto Meta LLaMA y Stanford Alpaca, presentamos Vicuna-13B, un chatbot de código abierto respaldado por un conjunto de datos mejorado y una infraestructura escalable y fácil de usar. Al ajustar un modelo base de LLaMA a partir de conversaciones compartidas por usuarios recopiladas de ShareGPT.com, Vicuña-13B ha demostrado un rendimiento competitivo en comparación con otros modelos de código abierto como Stanford Alpaca. Esta publicación de blog proporciona una evaluación preliminar del desempeño de Vicuña-13B y describe su infraestructura de capacitación y servicio. También invitamos a la comunidad a interactuar con nuestra demostración en línea para probar las capacidades de este chatbot.
¿Qué tan bueno es Vicuña?
Después de ajustar Vicuña con 70.000 conversaciones ChatGPT compartidas por usuarios, descubrimos que Vicuña se vuelve capaz de generar respuestas más detalladas y bien estructuradas en comparación con Alpaca (ver ejemplos a continuación), con una calidad a la par de ChatGPT.
Demostración en línea
¡Pruebe la demostración de Vicuña-13B aquí!
Capacitación
Vicuña se crea ajustando un modelo base de LLaMA utilizando aproximadamente 70.000 conversaciones compartidas por usuarios recopiladas de ShareGPT.com con API públicas. Para garantizar la calidad de los datos, volvemos a convertir el HTML en rebajas y filtramos algunas muestras inapropiadas o de baja calidad. Además, dividimos las conversaciones largas en segmentos más pequeños que se ajustan a la duración máxima del contexto del modelo.
- Conversaciones de varios turnos: ajustamos la pérdida de entrenamiento para tener en cuenta las conversaciones de varios turnos y calculamos la pérdida de ajuste únicamente en el salida del chatbot.
- Optimizaciones de memoria: para permitir que Vicuña comprenda el contexto largo, ampliamos la longitud máxima del contexto de 512 en alpaca a 2048, lo que aumenta sustancialmente los requisitos de memoria de la GPU. Abordamos la presión de la memoria mediante el uso de puntos de control de gradiente y atención flash.
- Reducción de costos a través de instancias puntuales: el conjunto de datos 40 veces más grande y la longitud de secuencia 4 veces mayor para la capacitación plantean un desafío considerable en los gastos de capacitación. Empleamos spot administrado por SkyPilot para reducir el costo aprovechando las instancias spot más económicas con recuperación automática para apropiaciones y cambio de zona automático. Esta solución reduce drásticamente los costos de entrenamiento del modelo 7B de alrededor de 140 y del modelo 13B de alrededor de 300.
Servicio
Construimos un sistema de servicio que es capaz de servir múltiples modelos con distribución trabajadores. Admite complementos flexibles de trabajadores de GPU tanto de clústeres locales como de la nube. Al utilizar un controlador tolerante a fallas y una función puntual administrada en SkyPilot, este sistema de servicio puede funcionar bien con instancias puntuales más económicas de múltiples nubes para reducir los costos de servicio. Actualmente es una implementación liviana y estamos trabajando para integrar más de nuestras últimas investigaciones en ella.
¿Cómo evaluar un chatbot?
Evaluar chatbots de IA es una tarea desafiante, ya que requiere examinar la comprensión del lenguaje, el razonamiento y y conciencia del contexto. A medida que los chatbots de IA se vuelven más avanzados, es posible que los puntos de referencia abiertos actuales ya no sean suficientes. Por ejemplo, el conjunto de datos de evaluación utilizado en Alpaca de Stanford, la autoinstrucción, puede ser respondido eficazmente por chatbots SOTA, lo que dificulta que los humanos disciernan las diferencias en el desempeño. Otras limitaciones incluyen la contaminación de los datos de entrenamiento/pruebas y el costo potencialmente alto de crear nuevos puntos de referencia. Para abordar estos problemas, proponemos un marco de evaluación basado en GPT-4 para automatizar la evaluación del desempeño del chatbot.
Limitaciones
Hemos notado que, al igual que otros modelos de lenguaje grandes, Vicuña tiene ciertas limitaciones. Por ejemplo, no es bueno en tareas que implican razonamiento o matemáticas, y puede tener limitaciones para identificarse con precisión o garantizar la exactitud objetiva de sus resultados. Además, no se ha optimizado lo suficiente para garantizar la seguridad o mitigar la posible toxicidad o sesgo. Para abordar los problemas de seguridad, utilizamos la API de moderación OpenAI para filtrar entradas inapropiadas de los usuarios en nuestra demostración en línea. No obstante, anticipamos que Vicuña puede servir como un punto de partida abierto para futuras investigaciones que aborden estas limitaciones.
Versión
En nuestra primera versión, compartiremos el código de capacitación, entrega y evaluación en un repositorio de GitHub: https://github.com/lm-sys/FastChat. También lanzamos las pesas del modelo Vicuña-13B. No hay ningún plan para publicar el conjunto de datos. Únase a nuestro servidor Discord y siga nuestro Twitter para obtener las últimas actualizaciones.
¿Qué tan buena es Vicuña?
Después de ajustar Vicuña con 70.000 conversaciones ChatGPT compartidas por usuarios, descubrimos que Vicuña se vuelve capaz de generar respuestas más detalladas y mejor estructuradas en comparación con Alpaca (ver ejemplos a continuación). ), con una calidad a la par de ChatGPT.
Demostración en línea
Pruebe la demostración de Vicuña-13B
aquí< /a>!
Descripción general
El rápido avance de los grandes modelos de lenguaje (LLM) ha revolucionado los sistemas de chatbot, lo que ha dado como resultado niveles de inteligencia sin precedentes, como se ve en ChatGPT de OpenAI. Sin embargo, a pesar de su impresionante desempeño, los detalles de capacitación y arquitectura de ChatGPT siguen sin estar claros, lo que obstaculiza la investigación y la innovación de código abierto en este campo. Inspirándonos en el proyecto Meta LLaMA y Stanford Alpaca, presentamos Vicuna-13B, un chatbot de código abierto respaldado por un conjunto de datos mejorado y una infraestructura escalable y fácil de usar. Al ajustar un modelo base de LLaMA a partir de conversaciones compartidas por usuarios recopiladas de ShareGPT.com, Vicuña-13B ha demostrado un rendimiento competitivo en comparación con otros modelos de código abierto como Stanford Alpaca. Esta publicación de blog proporciona una evaluación preliminar del desempeño de Vicuña-13B y describe su infraestructura de capacitación y servicio. También invitamos a la comunidad a interactuar con nuestra demostración en línea para probar las capacidades de este chatbot.
Entrenamiento
Vicuña se crea ajustando un modelo base LLaMA utilizando aproximadamente 70.000 usuarios. conversaciones compartidas recopiladas de ShareGPT.com con API públicas. Para garantizar la calidad de los datos, volvemos a convertir el HTML en rebajas y filtramos algunas muestras inapropiadas o de baja calidad. Además, dividimos conversaciones largas en segmentos más pequeños que se ajustan a la longitud máxima del contexto del modelo.
Servicio
Construimos un sistema de servicio que es capaz de atender múltiples modelos con trabajadores distribuidos. Admite complementos flexibles de trabajadores de GPU tanto de clústeres locales como de la nube. Al utilizar un controlador tolerante a fallas y una función puntual administrada en SkyPilot, este sistema de servicio puede funcionar bien con instancias puntuales más económicas de múltiples nubes para reducir los costos de servicio. Actualmente es una implementación ligera y estamos trabajando para integrar más de nuestra
investigación
en ella.
Cómo ¿Evaluar un chatbot?
Evaluar los chatbots de IA es una tarea desafiante, ya que requiere examinar la comprensión del lenguaje, el razonamiento y la conciencia del contexto. A medida que los chatbots de IA se vuelven más avanzados, es posible que los puntos de referencia abiertos actuales ya no sean suficientes. Por ejemplo, el conjunto de datos de evaluación utilizado en Alpaca de Stanford,
self-instruct, puede responderse eficazmente mediante Chatbots SOTA, lo que dificulta que los humanos distingan las diferencias en el rendimiento. Otras limitaciones incluyen la contaminación de los datos de entrenamiento/pruebas y el costo potencialmente alto de crear nuevos puntos de referencia. Para abordar estos problemas, proponemos un marco de evaluación basado en GPT-4 para automatizar la evaluación del desempeño del chatbot.
Limitaciones
Hemos notado que, al igual que otros modelos de lenguaje grandes, Vicuña tiene ciertas limitaciones. Por ejemplo, no es bueno en tareas que implican razonamiento o matemáticas, y puede tener limitaciones para identificarse con precisión o garantizar la exactitud objetiva de sus resultados. Además, no se ha optimizado lo suficiente para garantizar la seguridad o mitigar la posible toxicidad o sesgo. Para abordar los problemas de seguridad, utilizamos la API
moderation
de OpenAI para filtrar entradas inapropiadas de los usuarios en nuestra demostración en línea. . No obstante, anticipamos que Vicuña puede servir como un punto de partida abierto para futuras investigaciones que aborden estas limitaciones.