Conozca QLORA: un enfoque de ajuste fino eficiente que reduce el uso de la memoria lo suficiente como para ajustar un modelo de parámetros de 65B en una sola GPU de 48 GB mientras conserva…

Estás leyendo la publicación: Conozca QLORA: un enfoque de ajuste fino eficiente que reduce el uso de la memoria lo suficiente como para ajustar un modelo de parámetros de 65B en una sola GPU de 48 GB mientras conserva…

Los modelos de lenguaje extenso (LLM) se pueden mejorar mediante un ajuste fino, que también permite agregar o eliminar comportamientos deseados. Sin embargo, ajustar modelos grandes tiene un costo prohibitivo; por ejemplo, un modelo de parámetros LLaMA 65B consume más de 780 GB de GPU RAM cuando se ajusta en modo estándar de 16 bits. Aunque los enfoques de cuantificación más actuales pueden reducir la huella de memoria de los LLM, 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 última generación a una resolución de 4 bits antes de agregar un conjunto disperso de pesos de adaptadores de rango bajo que se pueden aprender modificados mediante gradientes de retropropagación a través de las consecuencias cuantificadas. . Muestran 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 totalmente ajustada de 16 bits, QLORA reduce las necesidades de memoria promedio para ajustar un modelo de parámetros de 65B de >780 GB de GPU RAM a 48 GB sin sacrificar el tiempo de ejecución ni el rendimiento predictivo. Los modelos de acceso público más grandes hasta la fecha ahora se pueden ajustar en una sola GPU, lo que representa un gran cambio en la accesibilidad del ajuste fino de LLM. Entrenan a la familia de modelos de Guanaco usando QLORA, y su modelo más grande logra un 99,3 % usando una sola GPU profesional durante 24 horas, cerrando efectivamente la brecha con ChatGPT en el punto de referencia de Vicuna. El segundo mejor modelo alcanza el 97,8 % del nivel de rendimiento de ChatGPT en el punto de referencia de Vicuna y se puede entrenar en menos de 12 horas en una GPU de un solo consumidor.

🔥 Recomendado:  Meta colabora con iHeartRadio para J Balvin Futurum: A VR Concert Experience

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

Incorporan estas contribuciones en una estrategia LoRA más refinada que incluye adaptadores en cada nivel de 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 las instrucciones y el rendimiento del chatbot en tamaños de modelo con mayor detalle que lo que podríamos haber hecho con el ajuste fino convencional debido al costo de la 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 a 65B. Demuestran que QLORA restaura el rendimiento de 16 bits, entrena a Guanaco, un chatbot avanzado, y examina patrones en los modelos aprendidos.

🔥 Recomendado:  Google AI Open Sources Vizier: un paquete independiente de Python diseñado para administrar y optimizar experimentos de aprendizaje automático a escala

En primer lugar, aunque ambos están destinados a brindar instrucción después de la generalización, descubren que la calidad de los datos es considerablemente más esencial que el tamaño del conjunto de datos, con un conjunto de datos de muestra de 9k (OASST1) que supera a un conjunto de datos de muestra de 450k (FLAN v2, submuestreado) en el rendimiento del chatbot. En segundo lugar, demuestran que un buen rendimiento de referencia de Entendimiento del lenguaje multitarea masivo (MMLU) solo a veces se traduce en un gran rendimiento de referencia de Vicuna chatbot, y viceversa. En otras palabras, la idoneidad 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 la evaluación comparativa al estilo de un torneo para determinar la mejor respuesta a un estímulo dado. GPT-4 o anotadores humanos deciden qué jugador gana un juego. Los puntajes de Elo, que se crean al combinar los resultados del torneo, se utilizan para clasificar el rendimiento del chatbot. En cuanto al rango de rendimiento de los modelos en los torneos, descubren que GPT-4 y los juicios humanos coinciden en su mayoría, pero también hay algunas áreas de marcada divergencia. Como resultado, llaman la atención sobre el hecho de que la evaluación basada en modelos tiene incertidumbres y es una opción menos costosa que la anotación humana.

Agregan un análisis cualitativo de los modelos de Guanaco a sus hallazgos de referencia de chatbot. Su estudio identifica instancias 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 Hugging Face, abren su software y núcleos CUDA, y los hacen ampliamente disponibles. Para 32 modelos mejorados de código abierto distintos, proporcionan una colección de adaptadores para modelos de tamaños 7/13/33/65B entrenados en 8 conjuntos de datos de seguimiento de instrucciones diferentes. El repositorio de código se hace público, junto con una demostración que se puede alojar en Colab.