Inteligencia artificial
MoRA: Actualización de alta clasificación para PEFT
Debido a su sólida actuación y amplia aplicabilidad en comparación con otros métodos, LoRA o Adaptación de Baja Clasificación es uno de los métodos de ajuste fino de eficiencia de parámetros (PEFT) más populares para el ajuste fino de un gran modelo de lenguaje. El marco de LoRA emplea dos matrices de baja clasificación para descomponer y aproximar los pesos actualizados en el ajuste fino completo (FFT), y el marco de LoRA modifica estos parámetros trainables en consecuencia ajustando el rango de las matrices. El principal beneficio de implementar el proceso es que facilita que el marco de LoRA combine estas matrices sin retraso de inferencia después del ajuste fino. Además, aunque los modelos de lenguaje grandes recientes entregan un rendimiento notable en tareas de aprendizaje en contexto, ciertos escenarios aún requieren ajuste fino y se pueden categorizar ampliamente en tres tipos. El primer tipo, ajuste de instrucciones, apunta a alinear mejor los LLM con tareas finales y preferencias de los usuarios sin mejorar el conocimiento y las capacidades de los LLM, un enfoque que simplifica el proceso de lidiar con tareas variadas y instrucciones complejas. El segundo tipo incluye tareas de razonamiento complejas como la resolución de problemas matemáticos. Finalmente, el tercer tipo es el preentrenamiento continuo, un enfoque que intenta mejorar las capacidades generales del dominio específico de los grandes modelos de lenguaje.
En este artículo, hablaremos sobre si la actualización de baja clasificación afecta el rendimiento del marco de LoRA, ya que se ha observado que el mecanismo de actualización de baja clasificación podría obstaculizar la capacidad del gran modelo de lenguaje para aprender y memorizar nuevo conocimiento. Basándonos en lo mismo, en este artículo hablaremos sobre MoRA, un nuevo método que logra una actualización de alta clasificación mientras mantiene la misma cantidad de parámetros trainables, empleando una matriz cuadrada. Para lograr esto, el marco de MoRA reduce la dimensión de entrada y aumenta la dimensión de salida para la matriz cuadrada introduciendo los operadores no parametrizados correspondientes. Además, estos operadores garantizan que el peso pueda combinarse nuevamente con los LLM, lo que hace que el marco de MoRA sea desplegable como LoRA.
Este artículo tiene como objetivo cubrir el marco de MoRA en profundidad, y exploramos el mecanismo, la metodología, la arquitectura del marco junto con su comparación con marcos de estado del arte. Así que comencemos.
MoRA: Actualización de alta clasificación para PEFT
A medida que el tamaño y las capacidades de los modelos de lenguaje aumentan, el ajuste fino de eficiencia de parámetros (PEFT) emerge como uno de los métodos más populares y eficientes para adaptar los LLM a tareas downstream específicas. En comparación con el ajuste fino completo (FFT) que actualiza todos los parámetros, el PEFT solo modifica una fracción de los parámetros totales, ya que en algunas tareas puede lograr un rendimiento similar al del FFT actualizando menos del 1% de los parámetros totales, lo que reduce significativamente los requisitos de memoria para el optimizador y facilita el almacenamiento y despliegue de modelos. Además, entre todos los métodos de PEFT existentes, LoRA es el más popular hoy en día, especialmente para los LLM. Una de las principales razones por las que los métodos de LoRA entregan un mejor rendimiento en comparación con los métodos de PEFT como los adaptadores o el ajuste de instrucciones es que LoRA utiliza matrices de baja clasificación para actualizar parámetros, con el marco teniendo el control para combinar estas matrices con los parámetros originales del modelo, sin agregar a los requisitos computacionales durante la inferencia. Aunque hay numerosos métodos que intentan mejorar LoRA para los grandes modelos de lenguaje, la mayoría de estos modelos dependen de GLUE para validar su eficiencia, ya sea requiriendo pocos parámetros trainables o logrando un mejor rendimiento.
Además, los experimentos realizados en LoRA en una amplia variedad de tareas, incluyendo el preentrenamiento continuo, el razonamiento matemático y el ajuste de instrucciones, indican que aunque los marcos basados en LoRA demuestran un rendimiento similar en estas tareas y entregan un rendimiento en tareas de ajuste de instrucciones comparable a los métodos basados en FFT. Sin embargo, los modelos basados en LoRA no pudieron replicar el rendimiento en tareas de preentrenamiento continuo y razonamiento matemático. Una posible explicación para esta falta de rendimiento puede ser la dependencia de LoRA en actualizaciones de matrices de baja clasificación, ya que la matriz de actualización de baja clasificación puede luchar por estimar las actualizaciones de clasificación completa en el FFT, especialmente en tareas intensivas en memoria que requieren memorizar conocimiento específico del dominio como el preentrenamiento continuo. Dado que el rango de la matriz de actualización de baja clasificación es menor que el rango completo, limita la capacidad para almacenar nueva información mediante el ajuste fino. Basándonos en estas observaciones, MoRA intenta maximizar el rango en la matriz de actualización de baja clasificación mientras mantiene la misma cantidad de parámetros trainables, empleando una matriz cuadrada en lugar del uso de matrices de baja clasificación en los modelos tradicionales basados en LoRA.

En la imagen anterior, (a) representa LoRA, y (b) representa MoRA. W es el peso congelado del modelo, M es la matriz trainable en MoRA, A y B son matrices de baja clasificación trainables en LoRA, y r representa el rango en LoRA y MoRA. Como se puede observar, el marco de MoRA demuestra una mayor capacidad que los modelos basados en LoRA con un gran rango. Además, el marco de MoRA desarrolla operadores no parametrizados correspondientes para reducir la dimensión de entrada y aumentar la dimensión de salida para la matriz trainable M. Además, el marco de MoRA otorga la flexibilidad para utilizar una matriz de actualización de baja clasificación para sustituir la matriz trainable M y los operadores, lo que garantiza que el método de MoRA pueda combinarse nuevamente con el gran modelo de lenguaje como LoRA. La siguiente tabla compara el rendimiento de FFT, LoRA, variantes de LoRA y nuestro método en tareas de ajuste de instrucciones, razonamiento matemático y preentrenamiento continuo.

MoRA: Metodología y Arquitectura
La Influencia de la Actualización de Baja Clasificación
El principio clave de los modelos basados en LoRA es estimar actualizaciones de clasificación completa en el FFT mediante el uso de actualizaciones de baja clasificación. Tradicionalmente, para una matriz de parámetros preentrenada dada, LoRA emplea dos matrices de baja clasificación para calcular la actualización de peso. Para garantizar que las actualizaciones de peso sean 0 cuando comienza el entrenamiento, el marco de LoRA inicializa una de las matrices de baja clasificación con una distribución gaussiana mientras que la otra con 0. La actualización de peso general en LoRA exhibe una clasificación baja en comparación con el ajuste fino en el FFT, aunque la actualización de baja clasificación en LoRA entrega un rendimiento similar al de la actualización de clasificación completa en tareas específicas, incluyendo el ajuste de instrucciones y la clasificación de texto. Sin embargo, el rendimiento del marco de LoRA comienza a deteriorarse para tareas como el preentrenamiento continuo y el razonamiento complejo. En base a estas observaciones, MoRA propone que es más fácil aprovechar las capacidades y el conocimiento original de los LLM para resolver tareas utilizando actualizaciones de baja clasificación, pero el modelo lucha para realizar tareas que requieren mejorar las capacidades y el conocimiento del gran modelo de lenguaje.
Metodología
Aunque los LLM con aprendizaje en contexto son una mejora significativa en el rendimiento en comparación con los enfoques anteriores, todavía hay contextos que dependen del ajuste fino y que caen ampliamente en tres categorías. Hay LLM que se ajustan para instrucciones, alineándose con tareas y preferencias de los usuarios, lo que no aumenta significativamente el conocimiento y las capacidades de los LLM, lo que facilita el trabajo con múltiples tareas y la comprensión de instrucciones complejas. Otro tipo es el de tareas de razonamiento complejas como la resolución de problemas matemáticos, para las cuales el ajuste de instrucciones generales es insuficiente al manejar el razonamiento simbólico multi-paso complejo. La mayoría de las investigaciones relacionadas apuntan a mejorar las capacidades de razonamiento de los LLM, y ya sea diseñar conjuntos de datos de entrenamiento correspondientes basados en modelos de maestros más grandes, como GPT-4, o reexpresar preguntas racionales correspondientes a lo largo de una ruta de razonamiento. El tercer tipo es el preentrenamiento continuo, diseñado para mejorar las capacidades específicas del dominio de los LLM. A diferencia del ajuste de instrucciones, el ajuste fino se requiere para enriquecer el conocimiento y las habilidades específicas del dominio relacionadas.
Sin embargo, la mayoría de las variantes de LoRA casi exclusivamente utilizan el ajuste de instrucciones de GLUE o la clasificación de texto para evaluar su eficacia en el contexto de los LLM. Como el ajuste fino para el ajuste de instrucciones requiere los menos recursos en comparación con otros tipos, puede no representar una comparación adecuada entre las variantes de LoRA. Agregar tareas de razonamiento para evaluar mejor sus métodos ha sido una práctica común en trabajos más recientes. Sin embargo, generalmente empleamos conjuntos de entrenamiento pequeños (incluso con 1 millón de ejemplos, lo que es bastante grande). Los LLM luchan por aprender un razonamiento adecuado a partir de ejemplos de este tamaño. Por ejemplo, algunos enfoques utilizan el GSM8K con solo 7,5 mil episodios de entrenamiento. Sin embargo, estos números son inferiores a los del método SOTA que se entrenó con 395 mil muestras, y hacen que sea difícil juzgar la capacidad de estos métodos para aprender el poder de razonamiento del NLP.
Basándonos en las observaciones de la influencia de la actualización de baja clasificación, el marco de MoRA propone un nuevo método para mitigar los efectos negativos de la actualización de baja clasificación. El principio básico del marco de MoRA es emplear los mismos parámetros trainables al máximo posible para lograr un rango más alto en la matriz de actualización de baja clasificación. Después de tener en cuenta los pesos preentrenados, el marco de LoRA utiliza dos matrices de baja clasificación A y B con parámetros trainables totales para el rango r. Sin embargo, para la misma cantidad de parámetros trainables, una matriz cuadrada puede lograr el rango más alto, y el marco de MoRA logra esto reduciendo la dimensión de entrada y aumentando la dimensión de salida para la matriz cuadrada trainable. Además, estas dos funciones deben ser operadores no parametrizados y se espera que se ejecuten en tiempo lineal correspondiente a la dimensión.
MoRA: Experimentos y Resultados
Para evaluar su rendimiento, el marco de MoRA se evalúa en una amplia variedad de tareas para comprender la influencia de la actualización de alta clasificación en tres tareas: memorizar pares de UUID, tareas de ajuste fino y preentrenamiento.
Memorizar Pares de UUID
Para demostrar las mejoras en el rendimiento, el marco de MoRA se compara con los marcos de FFT y LoRA en la memorización de pares de UUID. La pérdida de entrenamiento del experimento se refleja en la siguiente imagen.

Es importante destacar que, para la misma cantidad de parámetros trainables, el marco de MoRA puede superar a los modelos existentes de LoRA, lo que indica que se benefició de la estrategia de actualización de alta clasificación. El informe de precisión de entrenamiento a nivel de carácter en diferentes pasos de entrenamiento se resume en la siguiente tabla. 
Como se puede observar, en comparación con LoRA, el marco de MoRA requiere menos pasos de entrenamiento para memorizar los pares de UUID.
Tareas de Ajuste Fino
Para evaluar su rendimiento en tareas de ajuste fino, el marco de MoRA se evalúa en tres tareas de ajuste fino: ajuste de instrucciones, razonamiento matemático y preentrenamiento continuo, diseñadas para grandes modelos de lenguaje, junto con un conjunto de datos de alta calidad correspondiente para ambos modelos de MoRA y LoRA. Los resultados de las tareas de ajuste fino se presentan en la siguiente tabla.

Como se puede observar, en tareas de razonamiento matemático y ajuste de instrucciones, ambos modelos de LoRA y MoRA devuelven un rendimiento similar. Sin embargo, el modelo de MoRA se destaca por encima del marco de LoRA en tareas de preentrenamiento continuo para ambos dominios biomédicos y financieros, beneficiándose del enfoque de actualización de alta clasificación para memorizar nuevo conocimiento. Además, es vital comprender que las tres tareas son diferentes entre sí, con requisitos diferentes y capacidades de ajuste fino diferentes.
Preentrenamiento
Para evaluar la influencia de la actualización de alta clasificación en el rendimiento general, el transformador dentro del marco de MoRA se entrena desde cero en los conjuntos de datos C4, y el rendimiento se compara con los modelos de LoRA y ReLoRA. La pérdida de preentrenamiento, junto con la complejidad correspondiente en el conjunto de datos C4, se demuestra en las siguientes figuras.


Como se puede observar, el modelo de MoRA entrega un mejor rendimiento en tareas de preentrenamiento en comparación con los modelos de LoRA y ReLoRA con la misma cantidad de parámetros trainables.
Además, para demostrar el impacto de la actualización de alta clasificación en el rango de la matriz de actualización de baja clasificación, el marco de MoRA analiza el espectro de valores singulares para la matriz de actualización de baja clasificación aprendida preentrenando el modelo de 250M, y los resultados se contienen en la siguiente imagen.

Pensamientos Finales
En este artículo, hemos hablado sobre si la actualización de baja clasificación afecta el rendimiento del marco de LoRA, ya que se ha observado que el mecanismo de actualización de baja clasificación podría obstaculizar la capacidad del gran modelo de lenguaje para aprender y memorizar nuevo conocimiento. Basándonos en lo mismo, en este artículo hablaremos sobre MoRA, un nuevo método que logra una actualización de alta clasificación mientras mantiene la misma cantidad de parámetros trainables, empleando una matriz cuadrada. Para lograr esto, el marco de MoRA reduce la dimensión de entrada y aumenta la dimensión de salida para la matriz cuadrada introduciendo los operadores no parametrizados correspondientes. Además, estos operadores garantizan que el peso pueda combinarse nuevamente con los LLM, lo que hace que el marco de MoRA sea desplegable como LoRA. Para lograr esto, el marco de MoRA reduce la dimensión de entrada y aumenta la dimensión de salida para la matriz cuadrada introduciendo los operadores no parametrizados correspondientes. Además, estos operadores garantizan que el peso pueda combinarse nuevamente con los LLM, lo que hace que el marco de MoRA sea desplegable como LoRA. matriz cuadrada. Para lograr esto, el marco de MoRA reduce la dimensión de entrada y aumenta la dimensión de salida para la matriz cuadrada introduciendo los operadores no parametrizados correspondientes. Además, estos operadores garantizan que el peso pueda combinarse nuevamente con los LLM, lo que hace que el marco de MoRA sea desplegable como LoRA.












