a smol course documentation

Fine-Tuning Eficiente en Parámetros (PEFT)

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Fine-Tuning Eficiente en Parámetros (PEFT)

A medida que los modelos de lenguaje se hacen más grandes, el fine-tuning tradicional se vuelve cada vez más complicado. Afinar completamente un modelo con 1.7 mil millones de parámetros, por ejemplo, requiere una memoria de GPU significativa, hace costoso almacenar copias separadas del modelo y puede ocasionar un olvido catastrófico de las capacidades originales del modelo. Los métodos de fine-tuning eficiente en parámetros (Parameter-Efficient Fine-Tuning o PEFT) abordan estos problemas modificando solo un subconjunto pequeño de los parámetros del modelo, mientras que la mayor parte del modelo permanece congelada.

El fine-tuning tradicional actualiza todos los parámetros del modelo durante el entrenamiento, lo cual resulta poco práctico para modelos grandes. Los métodos PEFT introducen enfoques para adaptar modelos utilizando una fracción mínima de parámetros entrenables, generalmente menos del 1% del tamaño original del modelo. Esta reducción dramática permite:

  • Realizar fine-tuning en hardware de consumo con memoria de GPU limitada.
  • Almacenar eficientemente múltiples adaptaciones de tareas específicas.
  • Mejorar la generalización en escenarios con pocos datos.
  • Entrenamientos y ciclos de iteración más rápidos.

Métodos Disponibles

En este módulo, se cubrirán dos métodos populares de PEFT:

1️⃣ LoRA (Adaptación de Bajo Rango)

LoRA se ha convertido en el método PEFT más adoptado, ofreciendo una solución sofisticada para la adaptación eficiente de modelos. En lugar de modificar el modelo completo, LoRA inyecta matrices entrenables en las capas de atención del modelo. Este enfoque, por lo general, reduce los parámetros entrenables en aproximadamente un 90%, manteniendo un rendimiento comparable al fine-tuning completo. Exploraremos LoRA en la sección LoRA (Adaptación de Bajo Rango).

2️⃣ Prompt Tuning

El prompt tuning ofrece un enfoque aún más ligero al añadir tokens entrenables a la entrada en lugar de modificar los pesos del modelo. Aunque es menos popular que LoRA, puede ser útil para adaptar rápidamente un modelo a nuevas tareas o dominios. Exploraremos el prompt tuning en la sección Prompt Tuning.

Recursos

Update on GitHub