
LoRA, QLoRA y QA-LoRA: Adaptación Eficaz de Modelos de Lenguaje de Gran Escala
Los Modelos de Lenguaje de Gran Escala (LLM por sus siglas en inglés) se han establecido como herramientas poderosas en el campo de la Inteligencia Artificial (IA), demostrando una habilidad excepcional para el procesamiento del lenguaje natural que asemeja la comprensión y generación textual humana. Su efectividad se debe principalmente a su estructura masiva compuesta por miles de millones de parámetros. No obstante, su vasta magnitud supone un considerable desafío en lo que respecta a la personalización y adaptación a tareas o ámbitos concretos. El ajuste de LLMs, particularmente el ajuste completo de parámetros, acarrea altos costos, tanto computacionales como económicos, erigiéndose como una barrera contra su adopción extensiva en aplicaciones prácticas.
Enfoques Tradicionales para el Ajuste de LLMs
Anteriormente, exploramos diversas estrategias para el ajuste de LLMs, tales como el ajuste de instrucciones, el ajuste para tareas individuales y la optimización conocida como ajuste fino eficiente en parámetros (PEFT). Cada estrategia ofrece una perspectiva única en la optimización de los LLMs para diferentes requerimientos. Un aspecto crucial ha sido la arquitectura de los transformadores, que constituyen la estructura base de los LLMs y presentan desafíos significativos debido a la gestión de su gran cantidad de parámetros durante la etapa de ajuste.[automatic_youtube_gallery type="search" search="LoRa, QLoRA y QA-LoRA: Adaptabilidad Eficiente en Modelos de Lenguaje Grandes a Través de la Factorización Matricial de Bajo Rango" cache="2419200" per_page="1" thumb_excerpt="0" player_description="0"]
Microsoft presentó la adaptación de bajo rango (LoRA) como una solución a estos obstáculos, con el objetivo de hacer que los LLMs sean más accesibles y adaptables. LoRA se distingue por su metodología que evita el profundo reajuste del modelo completo. En lugar de eso, el enfoque de LoRA consiste en mantener fijos los pesos del modelo entrenado e introducir matrices de descomposición de bajo rango en cada nivel de la arquitectura transformadora, reduciendo drásticamente el número de parámetros que se deben entrenar y resultando en un proceso de adaptación sustancialmente más eficiente.
La Revolución en la Adaptación de LLMs: LoRA
En el continuo desarrollo de los LLMs, se han experimentado múltiples avances orientados a facilitar la adaptación de modelos a tareas específicas. Inicialmente, el enfoque predominante era modificar integralmente los pesos del modelo preentrenado. No obstante, a medida que aumentaban el tamaño y la complejidad de los modelos, también lo hacían los requisitos computacionales asociados a este enfoque. El ajuste de subconjuntos, que supone un ajuste parcial de los parámetros, emergió posteriormente, aunque seguía resultando insuficiente frente al crecimiento acelerado de los LLMs. La necesidad de estrategias más eficientes llevó al desarrollo del ajuste completo.
Despliegue de LoRA en Transformadores
LoRA define una nueva era en el entrenamiento de redes neuronales, específicamente en el marco de la arquitectura Transformer, donde se enfoca en matrices de peso asociadas con la autoatención y la red Perceptrón multicapa (MLP). Esta técnica desglosa la matriz de actualizaciones de peso en dos matrices de menor rango, posibilitando transformaciones más eficientes sin necesidad de modificar la estructura de peso completa. A través de este abordaje, las tareas de ajuste de LLMs se tornan más eficientes y menos demandantes de recursos.
Análisis Matemático de LoRA
La matemática detrás de LoRA implica operaciones fundamentales tales como la descomposición de bajo rango, la congelación de la matriz de peso previamente entrenada, el ajuste de las matrices entrenables A y B, y por último, la multiplicación y suma con la entrada del modelo. Estos procedimientos permiten una actualización efectiva de la matriz de peso de gran tamaño mediante una descomposición de bajo rango que favorece la eficiencia computacional y ahorra memoria.
Inicialización y Ajuste de Escala en LoRA
La inicialización adecuada de los parámetros en modelos es crucial para la eficacia del entrenamiento. En el caso de LoRA, la matriz A se inicializa con valores aleatorios siguiendo una distribución Gaussiana, mientras que la matriz B parte de valores cero. Este enfoque garantiza un inicio cuidadoso del entrenamiento, evitando cambios drásticos en el comportamiento inicial del modelo. Además, la salida de la actualización ΔW se escala adecuadamente, manteniendo la estabilidad del modelo incluso cuando cambia el rango de las matrices involucradas.
La Relevancia Práctica de LoRA
LoRA ha demostrado ser una técnica de adaptación eficaz para los LLMs, como se ha evidenciado en la habilidad de adaptar modelos al estilo de Greg Rutkowski con notable eficiencia. Utilizando LoRA, el número de parámetros entrenables puede disminuir hasta 10,000 veces, optimizando el uso de memoria en las GPU.
QLoRA: Adaptación Cuantizada
QLoRA o Cuantización LoRA combina las ventajas de LoRA con las de la cuantización, minimizando la huella de memoria del modelo LLM sin sacrificar la precisión requerida para el entrenamiento. Este enfoque comprende una cuantización inicial del LLM y, posteriormente, un entrenamiento LoRA con precisión estándar de 32 bits. QLoRA amplifica la practicidad de usar LLMs, fomentando su implementación incluso con recursos limitados.
QA-LoRA: Optimización Cuantizada y Adaptación de Bajo Rango
QA-LoRA es un método innovador que aúna la cuantización y la adaptación de bajo rango para mantener un flujo de trabajo eficiente y efectivo en la adaptación de LLMs. Esta estrategia atiende tanto a la necesidad de tareas específicas como a la viabilidad en la ejecución de los procesos de adaptación, asegurando así un equilibrio entre ajustes personalizados y un uso de recursos computacionales y de almacenamiento razonable y accesible.
