¿Qué es la adaptación de bajo rango (LoRA)?

La adaptación de bajo rango (LoRA) es una forma de adaptar un gran modelo de aprendizaje automático para usos específicos sin volver a entrenar todo el modelo.

Objetivos de aprendizaje

Después de leer este artículo podrás:

  • Definir "adaptación de bajo rango" (LoRA)
  • Explicar de forma sencilla cómo funciona LoRA
  • Entender las ventajas de usar LoRA

Copiar enlace del artículo

¿Qué es la adaptación de bajo rango (LoRA)?

La adaptación de bajo rango (LoRA) es una técnica para adaptar rápidamente los modelos de aprendizaje automático a nuevos contextos. LoRA ayuda a que los modelos de aprendizaje automático enormes y complicados sean mucho más adecuados para usos específicos. Funciona añadiendo piezas ligeras al modelo original, en lugar de cambiar todo el modelo. LoRA ayuda a los desarrolladores a ampliar rápidamente los casos de uso de los modelos de aprendizaje automático que crean.

Los modelos de aprendizaje automático grandes y complejos, como los que se utilizan para los modelos lingüísticos de gran tamaño (LLM) como ChatGPT, requieren mucho tiempo y muchos recursos para configurarse. Pueden tener billones de parámetros que se establecen en valores específicos. Una vez que se completa este proceso, el modelo puede ser eficaz y preciso en general, pero no está necesariamente ajustado para llevar a cabo tareas específicas.

Conseguir que un modelo funcione en contextos específicos puede requerir una gran cantidad de reeducación, cambiando todos sus parámetros. Con la cantidad de parámetros de estos modelos, esta reeducación es cara y requiere mucho tiempo. LoRA proporciona una forma rápida de adaptar el modelo sin volver a entrenarlo.

Imagina que Jim se muda de Europa a Norteamérica y todos sus electrodomésticos (microondas, hervidor de agua, etc.) no encajan en los enchufes de su nueva casa, ya que estas dos regiones siguen normas diferentes para los enchufes eléctricos. Jim tiene dos opciones. Podría desmontar y substituir todos los enchufes de su casa para que encajaran en los enchufes de sus electrodomésticos. O bien, podría simplemente comprar algunos adaptadores de corriente baratos y enchufar sus aparatos de esa manera.

LoRA es como la segunda opción de Jim. En lugar de volver a formar completamente un modelo de principio a fin, LoRA añade una parte ligera y modificable al modelo para que se ajuste al nuevo contexto. Para los desarrolladores de IA, esto es mucho más rápido y requiere menos recursos, al igual que comprar algunos adaptadores en la ferretería es más barato para Jim que contratar a un contratista para que entre en sus paredes y reemplace los enchufes eléctricos.

¿Qué es un modelo de aprendizaje automático?

Un modelo de aprendizaje automático es la combinación de un algoritmo de aprendizaje automático con un conjunto de datos. El resultado de esta combinación es un programa informático que puede identificar patrones, encontrar objetos o establecer relaciones entre elementos, incluso en conjuntos de datos que no ha visto antes.

Para tareas complejas como generar texto, producir imágenes o llevar a cabo otras aplicaciones modernas de aprendizaje automático, los modelos se basan en una gran cantidad de datos y utilizan algoritmos muy complejos. Ligeros cambios en los algoritmos o en el conjunto de datos significan que el modelo producirá resultados diferentes. Sin embargo, obtener el tipo de resultados que se necesitan en un contexto específico puede requerir mucha formación.

En lugar de rehacer todo el modelo, LoRA congela las ponderaciones* y los parámetros del modelo tal como están. Luego, sobre este modelo original, agrega una adición ligera llamada matriz de rango bajo, que luego se aplica a nuevas entradas para obtener resultados específicos para el contexto. La matriz de rango bajo se ajusta a las ponderaciones del modelo original para que los resultados coincidan con el caso de uso deseado.

*En los modelos de aprendizaje automático, una "ponderación" es un valor matemático que ayuda a determinar la importancia de los diferentes tipos de entradas.

¿Qué es una matriz de rango bajo en LoRA?

Una matriz, en matemáticas, es una disposición o colección de números, como:

Ejemplo de matriz de rango bajo: primera columna 2 4 6, segunda columna 4 8 12, tercera columna 6 12 18

Las matrices son una parte importante del funcionamiento de los modelos de aprendizaje automático y las redes neuronales. Para tales usos, pueden ser mucho más grandes que en el ejemplo anterior. Para LoRA, lo importante es entender que las matrices de bajo rango son más pequeñas y tienen muchos menos valores que las matrices más grandes. No ocupan mucha memoria y requieren menos pasos para sumar o multiplicar entre sí. Esto hace que los ordenadores los procesen más rápido.

LoRA añade matrices de rango bajo al modelo de aprendizaje automático original congelado. Estas matrices contienen nuevas ponderaciones para aplicar al modelo al generar resultados. Este proceso altera los resultados que produce el modelo con una potencia informática y un tiempo de entrenamiento mínimos.

En la analogía utilizada anteriormente, Jim compró adaptadores baratos para enchufar sus electrodomésticos a la pared. Las matrices de bajo rango son como esos adaptadores baratos, en los que las salidas son los modelos originales de aprendizaje automático.

¿Cómo funciona el aprendizaje automático?

El aprendizaje automático es un término que hace referencia a un tipo de algoritmo estadístico que puede aprender a encontrar patrones en los datos, sin recibir instrucciones específicas de un ser humano. El aprendizaje automático puede generalizar a partir de ejemplos para clasificar datos que nunca antes había visto. Es fundamental para muchos tipos de aplicaciones de inteligencia artificial (IA) .

Cloudflare permite a los desarrolladores integrar rápidamente modelos populares de aprendizaje automático a través de servicios como:

Más información sobre la plataforma completa Cloudflare for AI.