Ajuste fino (aprendizaje profundo)

From Systems analysis wiki
Jump to navigation Jump to search

Ajuste fino (del inglés Fine-tuning), también conocido como calibración fina, es un método de aprendizaje por transferencia en el aprendizaje automático, en el cual los parámetros de un modelo preentrenado (pre-trained model) se adaptan para resolver una tarea nueva y específica. En lugar de entrenar un modelo desde cero, lo que requiere enormes volúmenes de datos y recursos computacionales, el ajuste fino permite utilizar el conocimiento ya codificado en los pesos del modelo y «ajustarlos» a necesidades concretas.

Este enfoque se ha convertido en el estándar de facto en el campo del aprendizaje profundo, especialmente al trabajar con grandes modelos de lenguaje (LLM) y modelos de visión por computadora.

Concepto

El proceso de ajuste fino se puede dividir en dos etapas principales:

1. Preentrenamiento (Pre-training): Un modelo (por ejemplo, BERT o GPT) se entrena con un conjunto de datos muy grande y general (por ejemplo, todo internet) utilizando una tarea autosupervisada (por ejemplo, predecir la siguiente palabra). En esta etapa, el modelo aprende patrones generales, sintaxis, semántica y conocimiento sobre el mundo.

2. Ajuste fino (Fine-tuning): El modelo preentrenado se toma como base, y sus pesos se reajustan utilizando un conjunto de datos etiquetado, más pequeño pero específico para la tarea objetivo.

La idea clave es que el conocimiento adquirido durante la etapa de preentrenamiento es universal y puede transferirse con éxito para resolver muchas otras tareas más específicas.

Proceso de ajuste fino

Un proceso típico de ajuste fino incluye los siguientes pasos:

1. Selección de un modelo preentrenado: Se elige un modelo cuyas capacidades básicas sean adecuadas para la tarea objetivo (por ejemplo, BERT para tareas de comprensión de texto, GPT para generación).

2. Adaptación de la arquitectura: Al modelo preentrenado se le añade una nueva capa «cabeza» (head) específica para la tarea objetivo. Por ejemplo:

  • Para la clasificación de texto, se añade una capa simple totalmente conectada con una función softmax.
  • Para el reconocimiento de entidades nombradas (NER), se añade un clasificador a la salida de cada token.

3. Entrenamiento en el conjunto de datos objetivo: Todo el modelo (o una parte de él) se entrena con el nuevo conjunto de datos etiquetado. En esta etapa, los pesos del modelo, incluidos los de las capas preentrenadas, se actualizan mediante el descenso de gradiente para minimizar la función de pérdida en la nueva tarea.

4. Uso de una tasa de aprendizaje más baja: Durante el ajuste fino, generalmente se utiliza una tasa de aprendizaje significativamente más baja que durante el preentrenamiento. Esto es necesario para no «destruir» el conocimiento útil ya codificado en los pesos del modelo, sino solo para corregirlo cuidadosamente.

Tipos de ajuste fino

Ajuste fino completo (Full Fine-tuning)

  • Principio: Se actualizan todos los parámetros del modelo preentrenado junto con la nueva capa «cabeza».
  • Ventajas: Potencialmente ofrece el mejor rendimiento, ya que todo el modelo se adapta a la nueva tarea.
  • Desventajas: Requiere considerables recursos computacionales y de memoria, ya que es necesario almacenar y actualizar los gradientes de todos los parámetros. Existe el riesgo de olvido catastrófico, cuando el modelo «olvida» el conocimiento general adquirido durante el preentrenamiento.

Ajuste fino eficiente en parámetros (Parameter-Efficient Fine-Tuning, PEFT)

Es una familia de métodos que buscan reducir los costos computacionales del ajuste fino. La idea principal es congelar la mayoría de los parámetros del modelo preentrenado y entrenar solo una pequeña cantidad de parámetros nuevos o seleccionados.

  • Ejemplos de métodos PEFT:
    • Adaptadores (Adapters): Se insertan pequeñas capas adicionales, llamadas adaptadores, en la arquitectura del Transformer, y solo estas se entrenan.
    • LoRA (Low-Rank Adaptation): En lugar de actualizar las matrices de pesos completas, LoRA entrena sus actualizaciones de bajo rango. Esto permite reducir el número de parámetros entrenables en miles de veces.
    • Ajuste de prompts (Prompt Tuning): Se añaden vectores entrenables, llamados «prompts», a los datos de entrada, los cuales se ajustan para resolver la tarea, mientras que el modelo en sí permanece congelado.
  • Ventajas de PEFT:
    • Eficiencia: Reduce significativamente los requisitos de memoria y computación.
    • Modularidad: Permite adaptar fácilmente un modelo preentrenado a múltiples tareas, almacenando solo pequeños conjuntos de pesos adaptados para cada una.

Ajuste fino basado en instrucciones (Instruction Tuning)

Es un tipo específico de ajuste fino destinado a mejorar la capacidad de los LLM para seguir instrucciones en lenguaje natural.

  • Principio de funcionamiento: El modelo se ajusta con un conjunto de datos que consiste en pares de «instrucción — salida deseada».
  • Objetivo: Mejorar la capacidad de generalización del modelo para tareas nuevas y nunca antes vistas, que pueden describirse en forma de instrucciones. Modelos como InstructGPT y FLAN-T5 son ejemplos destacados de este enfoque.

Literatura

  • Howard, J.; Ruder, S. (2018). Universal Language Model Fine-tuning for Text Classification. arXiv:1801.06146.
  • Houlsby, N. et al. (2019). Parameter-Efficient Transfer Learning for NLP. arXiv:1902.00751.
  • Pfeiffer, J. et al. (2020). AdapterFusion: Non-Destructive Task Composition for Transfer Learning. arXiv:2005.00247.
  • Hu, E. J. et al. (2021). LoRA: Low-Rank Adaptation of Large Language Models. arXiv:2106.09685.
  • Lester, B.; Al-Rfou, R.; Constant, N. (2021). The Power of Scale for Parameter-Efficient Prompt Tuning. arXiv:2104.08691.
  • Ben Zaken, A.; Goldberg, Y.; Ravfogel, S. (2022). BitFit: Simple Parameter-Efficient Fine-Tuning for Transformer-based Masked Language-Models. ACL 2022.
  • Ouyang, L. et al. (2022). Training Language Models to Follow Instructions with Human Feedback. arXiv:2203.02155.
  • Han, Z. et al. (2024). Parameter-Efficient Fine-Tuning for Large Models: A Comprehensive Survey. arXiv:2403.14608.
  • Bian, J. et al. (2025). A Survey on Parameter-Efficient Fine-Tuning for Foundation Models in Federated Learning. arXiv:2504.21099.
  • Li, X. et al. (2025). Revisiting Fine-Tuning: A Survey of Parameter-Efficient Techniques and Future Directions. Preprints.org.