Conoce a QLORA Un enfoque de ajuste eficiente que reduce el uso de memoria lo suficiente como para ajustar un modelo de 65B parámetros en una sola GPU de 48GB, preservando al mismo tiempo el rendimiento completo de la tarea de ajuste fino de 16 bits.

Conoce a QLORA, un enfoque eficiente que reduce el uso de memoria lo suficiente para ajustar un modelo de 65B parámetros en una sola GPU de 48GB, manteniendo el rendimiento completo de la tarea de ajuste fino de 16 bits.

Los modelos de lenguaje grandes (LLMs) pueden mejorarse mediante el ajuste fino, lo cual también permite agregar o eliminar comportamientos deseados. Sin embargo, el ajuste fino de modelos grandes es prohibitivamente costoso; por ejemplo, un modelo LLaMA de 65B parámetros consume más de 780 GB de RAM de GPU al ajustarlo fino en modo de 16 bits estándar. Aunque los enfoques de cuantificación más actuales pueden reducir la huella de memoria de los LLMs, estos métodos solo funcionan para la inferencia y fallan durante el entrenamiento. Investigadores de la Universidad de Washington desarrollaron QLORA, que cuantifica un modelo preentrenado utilizando un algoritmo de alta precisión de vanguardia a una resolución de 4 bits antes de agregar un conjunto disperso de pesos de adaptador de baja rango aprendibles modificados mediante la retropropagación de gradientes a través de las consecuencias cuantificadas. Demuestran por primera vez que un modelo cuantificado de 4 bits puede ajustarse sin afectar el rendimiento. 

En comparación con una línea de base de ajuste fino totalmente de 16 bits, QLORA reduce las necesidades promedio de memoria para el ajuste fino de un modelo de 65B parámetros de >780GB de RAM de GPU a 48GB sin sacrificar el tiempo de ejecución ni el rendimiento predictivo. Los modelos públicamente accesibles más grandes hasta la fecha ahora se pueden ajustar fino en una sola GPU, lo que representa un gran cambio en la accesibilidad del ajuste fino de LLM. Entrenan la familia de modelos Guanaco utilizando QLORA, y su modelo más grande alcanza el 99,3% utilizando una sola GPU profesional durante 24 horas, cerrando efectivamente la brecha con ChatGPT en la prueba Vicuna. El segundo mejor modelo alcanza el 97,8% del nivel de rendimiento de ChatGPT en la prueba Vicuna y se puede entrenar en menos de 12 horas en una sola GPU de consumo. 

Las siguientes tecnologías de QLORA están destinadas a reducir el uso de memoria sin comprometer el rendimiento: (1) NormalFloat de 4 bits, un tipo de datos de cuantificación para datos distribuidos normalmente que es óptimo desde el punto de vista teórico de la información y produce resultados empíricos superiores a los enteros de 4 bits y los flotantes de 4 bits. (2) Cuantificación doble, que ahorra, en promedio, 0,37 bits por parámetro (o alrededor de 3 GB para un modelo de 65B), cuantiza las constantes de cuantificación. (3) Los optimizadores paginados utilizan la memoria unificada de NVIDIA para evitar picos de memoria causados por la verificación de gradientes al procesar un mini-lote con una secuencia larga. Cuando se usa, su modelo Guanaco más pequeño (7B parámetros) utiliza menos de 5 GB de memoria y supera en más de 20 puntos porcentuales a un modelo Alpaca de 26 GB en la prueba Vicuna. 

Incorporan estas contribuciones en una estrategia LoRA más refinada que incluye adaptadores en cada nivel de la red y, por lo tanto, casi elimina las compensaciones de precisión identificadas en trabajos anteriores. Debido a la eficiencia de QLORA, podemos analizar el ajuste fino de instrucciones y el rendimiento del chatbot en tamaños de modelo con mayor detalle de lo que podríamos haber hecho con el ajuste fino convencional debido al costo de memoria. Como resultado, entrenan más de mil modelos utilizando una variedad de conjuntos de datos de ajuste de instrucciones, topologías de modelos y valores de parámetros que van desde 80M hasta 65B. Demuestran que QLORA restablece el rendimiento de 16 bits, entrena a Guanaco, un chatbot avanzado, y examinan patrones en los modelos aprendidos. 

En primer lugar, aunque ambos tienen como objetivo proporcionar instrucciones después de la generalización, descubren que la calidad de los datos es considerablemente más importante que el tamaño del conjunto de datos, con un conjunto de datos de 9k muestras (OASST1) superando a un conjunto de datos de 450k muestras (FLAN v2, submuestreado) en el rendimiento del chatbot. En segundo lugar, demuestran que un buen rendimiento en el benchmark de comprensión del lenguaje multitarea masivo (MMLU) solo a veces se traduce en un gran rendimiento en el benchmark del chatbot Vicuna, y viceversa. En otras palabras, la adecuación del conjunto de datos es más importante que la escala para una tarea determinada. También ofrecen una evaluación exhaustiva del rendimiento del chatbot utilizando evaluadores humanos y GPT-4. 

Los modelos compiten entre sí en partidos utilizando una evaluación de referencia estilo torneo para determinar la mejor respuesta a un estímulo dado. GPT-4 o los anotadores humanos deciden qué jugador gana un juego. Los puntajes Elo, que se crean combinando los resultados del torneo, se utilizan para clasificar el rendimiento del chatbot. En la clasificación del rendimiento del modelo en los torneos, descubren que GPT-4 y los juicios humanos en su mayoría coinciden, pero también hay algunas áreas de divergencia marcada. Como resultado, llaman la atención sobre el hecho de que la evaluación basada en modelos tiene incertidumbres mientras que es una opción menos costosa que la anotación humana. 

Añaden análisis cualitativo de los modelos Guanaco a sus hallazgos de referencia de chatbots. Su estudio identifica casos de éxito y fracaso que los estándares cuantitativos no tuvieron en cuenta. Publican todas las generaciones de modelos con GPT-4 y comentarios humanos para ayudar a futuras investigaciones. Incorporan sus técnicas en la pila de transformadores de Hugging Face, hacen que su software y núcleos CUDA sean de código abierto y ampliamente disponibles. Para 32 modelos distintos de código abierto y mejorados, proporcionan una colección de adaptadores para modelos de tamaños 7/13/33/65B entrenados en 8 conjuntos de datos diferentes de seguimiento de instrucciones. El repositorio de código se hace público, junto con una demostración que se puede alojar en Colab.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Inteligencia Artificial (IA) y Web3 ¿Cómo están conectados?

¿Qué es la IA? En pocas palabras, la Inteligencia Artificial (IA) es la capacidad de las máquinas para realizar funci...

Inteligencia Artificial

Una introducción práctica a los LLMs

Este es el primer artículo de una serie sobre el uso de Modelos de Lenguaje Grande (LLMs) en la práctica. Aquí daré u...

Inteligencia Artificial

Conoce a SeamlessM4T el nuevo modelo base de Meta AI para la traducción de voz

El habla se está convirtiendo rápidamente en una de las próximas fronteras de los modelos fundamentales. Aunque los d...

Inteligencia Artificial

Textbooks son todo lo que necesitas Un enfoque revolucionario para la formación en IA

Esta es una descripción general del artículo Los libros de texto son todo lo que necesitas, resaltando el éxito del m...