Ingeniería rápida
Comprender el ajuste fino de LLM: adaptar modelos de lenguaje grandes a sus requisitos únicos

En septiembre de 2023, el panorama de los modelos de lenguajes grandes (LLM) todavía es testigo del surgimiento de modelos como Alpaca, Falcon, llamas 2, GPT-4 y muchos otros.
Un aspecto importante para aprovechar el potencial de estos LLM radica en el proceso de ajuste, una estrategia que permite la personalización de modelos previamente entrenados para atender tareas específicas con precisión. Es a través de este ajuste que estos modelos pueden realmente alinearse con los requisitos individualizados, ofreciendo soluciones que son innovadoras y adaptadas a necesidades únicas.
Sin embargo, es esencial señalar que no todas las vías de ajuste son iguales. Por ejemplo, acceder a las capacidades de ajuste del GPT-4 tiene un costo adicional, ya que requiere una suscripción paga que es relativamente más cara en comparación con otras opciones disponibles en el mercado. Por otro lado, el dominio del código abierto está repleto de alternativas que ofrecen un camino más accesible para aprovechar el poder de los grandes modelos lingüísticos. Estas opciones de código abierto democratizan el acceso a la tecnología avanzada de IA, fomentando la innovación y la inclusión en el panorama de la IA en rápida evolución.
¿Por qué es importante perfeccionar el LLM?
El ajuste de LLM es más que una mejora técnica; Es un aspecto crucial del desarrollo del modelo LLM que permite una aplicación más específica y refinada en diversas tareas. El ajuste fino ajusta los modelos previamente entrenados para que se adapten mejor a conjuntos de datos específicos, mejorando su rendimiento en tareas particulares y garantizando una aplicación más específica. Pone de relieve la notable capacidad de los LLM para adaptarse a nuevos datos, mostrando una flexibilidad que es vital en el interés cada vez mayor en las aplicaciones de IA.
El ajuste fino de modelos lingüísticos extensos abre numerosas oportunidades, permitiéndoles destacar en tareas específicas, desde el análisis de sentimientos hasta la revisión de literatura médica. Al ajustar el modelo base a un caso de uso específico, se abren nuevas posibilidades, mejorando la eficiencia y la precisión del modelo. Además, facilita un uso más económico de los recursos del sistema, ya que el ajuste fino requiere menos potencia computacional que entrenar un modelo desde cero.
A medida que profundicemos en esta guía, analizaremos las complejidades del ajuste de LLM, brindándole una descripción general completa basada en los últimos avances y mejores prácticas en el campo.
Ajuste fino basado en instrucciones
La fase de ajuste en el Los proyectos piloto de IA generativa El ciclo de vida, ilustrado en la figura siguiente, se caracteriza por la integración de entradas y salidas de instrucciones, junto con ejemplos de razonamiento paso a paso. Este enfoque facilita que el modelo genere respuestas que no solo sean relevantes sino que también estén alineadas con precisión con las instrucciones específicas que contiene. Es durante esta fase que los modelos previamente entrenados se adaptan para resolver distintas tareas y casos de uso, utilizando conjuntos de datos personalizados para mejorar su funcionalidad.
Ajuste fino de una sola tarea
El ajuste fino de una sola tarea se centra en perfeccionar la experiencia del modelo en una tarea específica, como el resumen. Este enfoque es especialmente beneficioso para optimizar flujos de trabajo que involucran documentos o conversaciones importantes, como documentos legales y tickets de soporte al cliente. Cabe destacar que este ajuste fino puede lograr mejoras significativas en el rendimiento con un conjunto relativamente pequeño de ejemplos, de entre 500 y 1000, en contraste con los miles de millones de tokens utilizados en la fase de preentrenamiento.
Fundamentos de LLM Fine-Tuning LLM: arquitectura de transformadores y más allá
El viaje para comprender el ajuste fino de los LLM comienza con una comprensión de los elementos fundamentales que constituyen los LLM. En el corazón de estos modelos se encuentra la arquitectura del transformador, una red neuronal que aprovecha los mecanismos de autoatención para priorizar el contexto de las palabras sobre su proximidad en una oración. Este enfoque innovador facilita una comprensión más profunda de las relaciones distantes entre tokens en la entrada.
A medida que navegamos por las complejidades de los transformadores, nos encontramos con un proceso de varios pasos que comienza con el codificador. Esta fase inicial implica tokenizar la entrada y crear vectores de incrustación que representen la entrada y su posición en la oración. Las etapas posteriores implican una serie de cálculos utilizando matrices conocidas como Consulta, Valor y Clave, que culmina en una puntuación de autoatención que dicta el enfoque en diferentes partes de la oración y varias fichas.
El ajuste es una fase crítica en el desarrollo de los LLM, un proceso que implica realizar ajustes sutiles para lograr resultados más deseables. Esta etapa, si bien es esencial, presenta una serie de desafíos, incluidas las demandas computacionales y de almacenamiento necesarias para manejar una gran cantidad de parámetros. El ajuste fino eficiente de parámetros (PEFT) ofrece técnicas para reducir la cantidad de parámetros que se van a ajustar, simplificando así el proceso de capacitación.
Formación previa al LLM: establecimiento de una base sólida
En las etapas iniciales del desarrollo de LLM, la capacitación previa ocupa un lugar central, utilizando transformadores sobreparametrizados como arquitectura fundamental. Este proceso implica modelar el lenguaje natural de diversas maneras, como bidireccional, autorregresivo o secuencia a secuencia, en corpus no supervisados a gran escala. El objetivo aquí es crear una base que pueda ajustarse más adelante para tareas posteriores específicas mediante la introducción de objetivos específicos de cada tarea.
Una tendencia notable en este ámbito es el inevitable aumento de la escala de LLM previamente formados, medido por el número de parámetros. Los datos empíricos muestran consistentemente que los modelos más grandes combinados con más datos casi siempre producen un mejor rendimiento. Por ejemplo, el GPT-3, con sus 175 mil millones de parámetros, ha establecido un punto de referencia en la generación de lenguaje natural de alta calidad y en la realización de una amplia gama de tareas inmediatas de manera competente.
Ajuste fino: el camino hacia la adaptación del modelo
Después de la formación previa, el LLM se somete a ajustes para adaptarse a tareas específicas. A pesar del rendimiento prometedor mostrado por el aprendizaje en contexto en LLM previamente capacitados como GPT-3, el ajuste fino sigue siendo superior en entornos de tareas específicas. Sin embargo, el enfoque predominante de ajuste completo de parámetros presenta desafíos, incluidas altas demandas computacionales y de memoria, especialmente cuando se trata de modelos a gran escala.
Para modelos de lenguajes grandes con más de mil millones de parámetros, la gestión eficiente de la RAM de la GPU es fundamental. Un único parámetro de modelo con una precisión total de 32 bits necesita 4 bytes de espacio, lo que se traduce en un requisito de 4 GB de RAM de GPU solo para cargar un modelo de mil millones de parámetros. El proceso de entrenamiento real exige aún más memoria para acomodar varios componentes, incluidos los estados y gradientes del optimizador, lo que potencialmente requiere hasta 1 GB de RAM de GPU para un modelo de esta escala.
Para sortear las limitaciones de la RAM de la GPU, se utiliza la cuantificación, que es una técnica que reduce la precisión de los parámetros del modelo, disminuyendo así los requisitos de memoria. Por ejemplo, alterar la precisión de 32 bits a 16 bits puede reducir a la mitad la memoria necesaria tanto para cargar como para entrenar el modelo. Más adelante en este artículo. Aprenderemos sobre Qlora, que utiliza el concepto de cuantificación para la afinación.
Explorando las categorías de métodos PEFT
En el proceso de ajuste completo de los modelos de lenguaje grande, es importante tener una configuración computacional que pueda manejar eficientemente no sólo los pesos sustanciales de los modelos, que para los modelos más avanzados ahora alcanzan tamaños de cientos de gigabytes, sino que también administre una serie de otros elementos críticos. Estos incluyen la asignación de memoria para los estados del optimizador, la gestión de gradientes, las activaciones directas y la facilitación de la memoria temporal durante varias etapas del procedimiento de entrenamiento.
Método aditivo
Este tipo de ajuste puede aumentar el modelo previamente entrenado con parámetros o capas adicionales, centrándose en entrenar solo los parámetros recién agregados. A pesar de aumentar el recuento de parámetros, estos métodos mejoran la eficiencia del tiempo y el espacio de entrenamiento. El método aditivo se divide a su vez en subcategorías:
- Adaptadores: Incorporación de subcapas posteriores al transformador de redes pequeñas totalmente conectadas, siendo ejemplos notables adamix, coronay Compactador.
- Indicaciones suaves: Ajuste fino de un segmento de las incrustaciones de entrada del modelo a través del descenso de gradiente, con IPT, ajuste de prefijo, y WARP son ejemplos destacados.
- Otros enfoques aditivos: Incluye técnicas como LeTS, AttentionFusion y Ladder-Side Tuning.
Método selectivo
Los PEFT selectivos ajustan un número limitado de capas superiores según el tipo de capa y la estructura del modelo interno. Esta categoría incluye métodos como Bitfit y LN tuning, que se centra en ajustar elementos específicos como sesgos del modelo o filas particulares.
Método basado en reparametrización
Estos métodos utilizan representaciones de bajo rango para reducir la cantidad de parámetros entrenables, siendo el más famoso la Adaptación de bajo rango o LoRA. Este método aprovecha una descomposición matricial simple de bajo rango para parametrizar la actualización de peso, lo que demuestra un ajuste fino efectivo en subespacios de bajo rango.
1) LoRA (adaptación de bajo rango)
LoRA surgió como una técnica PEFT innovadora, presentada en un artículo de Edward J. Hu y otros en 2021. Opera dentro de la categoría de reparametrización, congelando los pesos originales del LLM e integrando nuevas matrices entrenables de bajo rango en cada capa de la arquitectura Transformer. Este enfoque no solo reduce la cantidad de parámetros entrenables sino que también disminuye el tiempo de entrenamiento y los recursos computacionales necesarios, presentando así una alternativa más eficiente al ajuste completo.
Para comprender la mecánica de LoRA, es necesario revisar la arquitectura del transformador donde el mensaje de entrada se tokeniza y se convierte en vectores de incrustación. Estos vectores atraviesan los segmentos codificador y/o decodificador del transformador, encontrando redes de autoatención y de retroalimentación cuyos pesos están previamente entrenados.
LoRA utiliza el concepto de Descomposición de valores singulares (SVD). Básicamente, SVD disecciona una matriz en tres matrices distintas, una de las cuales es una matriz diagonal que contiene valores singulares. Estos valores singulares son fundamentales ya que miden la importancia de diferentes dimensiones en las matrices, donde los valores más grandes indican mayor importancia y los más pequeños denotan menor importancia.
Este enfoque permite a LoRA mantener las características esenciales de los datos mientras reduce la dimensionalidad, optimizando así el proceso de ajuste.
LoRA interviene en este proceso, congelando todos los parámetros del modelo original e introduciendo un par de "matrices de descomposición de rangos" junto con los pesos originales. Estas matrices más pequeñas, denominadas A y B, se entrenan mediante aprendizaje supervisado.
El elemento fundamental de esta estrategia es el parámetro denominado rango («r»), que determina el tamaño de las matrices de bajo rango. Una selección meticulosa de «r» puede producir resultados impresionantes, incluso con un valor menor, creando así una matriz de bajo rango con menos parámetros para entrenar. Esta estrategia se ha implementado eficazmente mediante bibliotecas de código abierto como HuggingFace Transformers, lo que facilita el ajuste fino de LoRA para diversas tareas con una eficiencia notable.
2) QLoRA: aumentar la eficiencia de LoRA
Aprovechando los cimientos establecidos por LoRA, QLoRA minimiza aún más los requisitos de memoria. Presentado por Tim Dettmers y otros en 2023, combina la adaptación de bajo rango con la cuantificación, empleando un formato de cuantificación de 4 bits denominado Flotación normal or Nf4. La cuantificación es esencialmente un proceso que hace la transición de datos de una representación informativa más alta a una con menos información. Este enfoque mantiene la eficacia de los métodos de ajuste fino de 16 bits, descuantificando los pesos de 4 bits a 16 bits según sea necesario durante los procesos computacionales.

Comparación de métodos de ajuste fino: QLORA mejora LoRA con cuantificación de precisión de 4 bits y optimizadores paginados para la gestión de picos de memoria
QLoRA aprovecha NumericFloat4 (nf4), apuntando a cada capa de la arquitectura del transformador, e introduce el concepto de doble cuantificación para reducir aún más la huella de memoria necesaria para el ajuste fino. Esto se logra realizando una cuantificación de las constantes ya cuantificadas, una estrategia que evita los típicos picos de memoria de puntos de control de gradiente mediante la utilización de optimizadores paginados y la gestión de memoria unificada.
Guanaco, que es un conjunto optimizado por QLORA, establece un punto de referencia en soluciones de chatbot de código abierto. Su desempeño, validado mediante evaluaciones humanas y automatizadas sistemáticas, subraya su dominio y eficiencia en el campo.
Las versiones 65B y 33B de Guanaco, afinadas utilizando una versión modificada del OASST1 conjunto de datos, emergen como contendientes formidables para modelos de renombre como ChatGPT e incluso GPT-4.
Ajuste fino mediante el aprendizaje por refuerzo a partir de la retroalimentación humana
El aprendizaje por refuerzo a partir de la retroalimentación humana (RLHF) entra en juego cuando se ajustan los modelos de lenguaje previamente entrenados para alinearlos más estrechamente con los valores humanos. Este concepto fue introducido por Open AI en 2017, sentando las bases para un mejor resumen de documentos y el desarrollo de InstruirGPT.
En el centro de RLHF se encuentra el paradigma de aprendizaje por refuerzo, un tipo de técnica de aprendizaje automático en la que un agente aprende a comportarse en un entorno empresarial mediante la realización de acciones y recibiendo recompensasEs un bucle continuo de action y dejan comentarios,, donde se incentiva al agente a tomar decisiones que le reportarán la mayor recompensa.
Traduciendo esto al ámbito de los modelos lingüísticos, el agente son los modelo mismo, operando dentro del entorno empresarial de una ventana de contexto dada y tomar decisiones basadas en la estado, que está definido por los tokens actuales en la ventana contextual. El "espacio de acción"Abarca todos los tokens potenciales entre los que el modelo puede elegir, con el objetivo de seleccionar el token que más se alinee con las preferencias humanas.
El proceso RLHF aprovecha ampliamente la retroalimentación humana y la utiliza para entrenar un modelo de recompensa. Este modelo juega un papel crucial al guiar el modelo previamente entrenado durante el proceso de ajuste, animándolo a generar resultados que estén más alineados con los valores humanos. Es un proceso dinámico e iterativo, donde el modelo aprende a través de una serie de "despliegues", término utilizado para describir la secuencia de estados y acciones que conducen a una recompensa en el contexto de la generación del lenguaje.
Uno de los potenciales más destacados de RLHF es su capacidad para fomentar la personalización de los asistentes de IA, adaptándolos para que se adapten a las preferencias de cada usuario, ya sea su sentido del humor o sus rutinas diarias. Esto abre el camino para la creación de sistemas de IA que no solo sean técnicamente competentes, sino también emocionalmente inteligentes, capaces de comprender y responder a los matices de la comunicación humana.
Sin embargo, es fundamental señalar que RLHF no es una solución infalible. Los modelos todavía son susceptibles de generar resultados indeseables, un reflejo de la gran cantidad de datos, a menudo no regulados y sesgados, con los que se entrenan.
Conclusión
El proceso de ajuste, un paso fundamental para aprovechar todo el potencial de los LLM como Alpaca, Falcon y GPT-4, se ha vuelto más refinado y centrado, ofreciendo soluciones personalizadas para una amplia gama de tareas.
Hemos visto el ajuste fino de una sola tarea, que se especializa en modelos en roles particulares, y métodos de ajuste fino eficiente en parámetros (PEFT), incluidos LoRA y QLoRA, cuyo objetivo es hacer que el proceso de capacitación sea más eficiente y rentable. Estos desarrollos están abriendo puertas a funcionalidades de IA de alto nivel para una audiencia más amplia.
Además, la introducción del Aprendizaje por Refuerzo a partir de la Retroalimentación Humana (RLHF) por parte de Open AI supone un avance hacia la creación de sistemas de IA que comprenden y se alinean mejor con los valores y preferencias humanos, sentando las bases para asistentes de IA que no solo son inteligentes, sino que también responden a las necesidades individuales de cada usuario. Tanto el RLHF como el PEFT trabajan en sinergia para mejorar la funcionalidad y la eficiencia de los Modelos de Lenguaje Grandes.
A medida que las empresas, las empresas y los individuos buscan integrar estos LLM perfeccionados en sus operaciones, esencialmente están dando la bienvenida a un futuro en el que la IA sea más que una herramienta; es un socio que comprende y se adapta a los contextos humanos, ofreciendo soluciones innovadoras y personalizadas.





















