En el aprendizaje profundo , el ajuste fino es un enfoque para transferir el aprendizaje en el que los parámetros de un modelo de red neuronal entrenado previamente se entrenan con nuevos datos. [1] El ajuste fino se puede realizar en toda la red neuronal o solo en un subconjunto de sus capas , en cuyo caso las capas que no se están ajustando se "congelan" (es decir, no se modifican durante la retropropagación ). [2] Un modelo también se puede aumentar con "adaptadores" que constan de muchos menos parámetros que el modelo original y se pueden ajustar de una manera eficiente en cuanto a parámetros ajustando los pesos de los adaptadores y dejando congelados los pesos del resto del modelo. [3]
Para algunas arquitecturas, como las redes neuronales convolucionales , es común mantener congeladas las capas anteriores (las más cercanas a la capa de entrada), ya que capturan características de nivel inferior , mientras que las capas posteriores a menudo disciernen características de alto nivel que pueden estar más relacionadas con la tarea en la que se entrena el modelo. [2] [4]
Los modelos que se entrenan previamente en corpus generales y grandes suelen ajustarse reutilizando sus parámetros como punto de partida y agregando una capa específica para la tarea entrenada desde cero. [5] El ajuste fino del modelo completo también es común y, a menudo, produce mejores resultados, pero es más costoso desde el punto de vista computacional. [6]
El ajuste fino se logra normalmente a través del aprendizaje supervisado , pero también hay técnicas para ajustar un modelo utilizando una supervisión débil . [7] El ajuste fino se puede combinar con un aprendizaje de refuerzo a partir de un objetivo basado en la retroalimentación humana para producir modelos de lenguaje como ChatGPT (una versión ajustada de GPT-3 ) y Sparrow . [8] [9]
El ajuste fino puede degradar la robustez de un modelo a los cambios de distribución . [10] [11] Una mitigación es interpolar linealmente los pesos de un modelo ajustado fino con los pesos del modelo original, lo que puede aumentar en gran medida el rendimiento fuera de la distribución mientras que conserva en gran medida el rendimiento dentro de la distribución del modelo ajustado fino. [12]
La adaptación de bajo rango (LoRA) es una técnica basada en adaptadores para ajustar modelos de manera eficiente. La idea básica es diseñar una matriz de bajo rango que luego se agrega a la matriz original. [13] Un adaptador, en este contexto, es una colección de matrices de bajo rango que, cuando se agregan a un modelo base, produce un modelo ajustado. Permite un rendimiento que se acerca al ajuste fino del modelo completo con menos requisitos de espacio. Un modelo de lenguaje con miles de millones de parámetros se puede ajustar mediante LoRA con solo varios millones de parámetros.
El ajuste fino basado en LoRA se ha vuelto popular en la comunidad de difusión estable . [14] El soporte para LoRA se integró en la biblioteca Diffusers de Hugging Face . [15] El soporte para LoRA y técnicas similares también está disponible para una amplia gama de otros modelos a través del paquete de ajuste fino de parámetros eficientes (PEFT) de Hugging Face. [16]
Esta sección se basa en gran parte o en su totalidad en una sola fuente . ( mayo de 2024 ) |
El ajuste fino de la representación (ReFT, por sus siglas en inglés) es una técnica novedosa desarrollada por investigadores de la Universidad de Stanford que tiene como objetivo ajustar con precisión los modelos de lenguaje grandes (LLM, por sus siglas en inglés) modificando menos del 1 % de sus representaciones. A diferencia de los métodos tradicionales de ajuste fino con eficiencia de parámetros (PEFT, por sus siglas en inglés), que se centran principalmente en la actualización de pesos, ReFT se centra en partes específicas del modelo relevantes para la tarea que se está ajustando. Este enfoque se basa en la comprensión de que los modelos de aprendizaje profundo codifican información semántica rica en sus representaciones, lo que sugiere que modificar las representaciones podría ser una estrategia más eficaz que actualizar los pesos. [17]
Los métodos ReFT operan sobre un modelo base congelado y aprenden intervenciones específicas de la tarea sobre representaciones ocultas y entrenan intervenciones que manipulan una pequeña fracción de las representaciones del modelo para dirigir los comportamientos del modelo hacia la solución de tareas posteriores en el momento de la inferencia. Un método específico dentro de la familia ReFT es el ReFT de subespacio lineal de bajo rango (LoReFT), que interviene sobre representaciones ocultas en el subespacio lineal abarcado por una matriz de proyección de bajo rango. [17] LoReFT puede considerarse como el equivalente basado en la representación de la Adaptación de bajo rango (LoRA).
El ajuste fino es común en el procesamiento del lenguaje natural (PLN), especialmente en el dominio del modelado del lenguaje . Los modelos de lenguaje grandes como la serie de modelos básicos GPT de OpenAI se pueden ajustar con datos para tareas de PNL posteriores específicas (tareas que utilizan un modelo entrenado previamente) para mejorar el rendimiento con respecto al modelo entrenado previamente sin modificar. [6]
Los modelos de lenguaje grandes que se ofrecen comercialmente a veces se pueden ajustar si el proveedor ofrece una API de ajuste fino. A partir del 19 de junio de 2023, OpenAI y Azure OpenAI Service de Microsoft Azure ofrecen API de ajuste fino de modelos de lenguaje para un subconjunto de sus modelos, así como Google Cloud Platform para algunos de sus modelos PaLM y otros. [18] [19] [20] Actualmente, no todos los modelos comerciales [ ¿cuándo? ] admiten el ajuste fino.
Empresas como Meta ( familia Llama LLM ), Alibaba (familia Qwen LLM) y Mistral AI (Mixtral) han publicado en GitHub modelos de lenguaje de código abierto de gran tamaño que se pueden ajustar. Los modelos de código abierto pueden ser ventajosos para las empresas en términos de seguridad de datos, ya que pueden controlar dónde se aloja el modelo.
{{cite book}}
: Mantenimiento de CS1: falta la ubicación del editor ( enlace ){{cite journal}}
: Requiere citar revista |journal=
( ayuda )