Meta: un enfoque de adaptación (aplicación práctica) a grandes modelos lingüísticos
Base de conocimientos de IAActualizado hace 12 meses Círculo de intercambio de inteligencia artificial 10.6K 00
Texto original:
https://ai.meta.com/blog/adapting-large-language-models-llms/
https://ai.meta.com/blog/when-to-fine-tune-llms-vs-other-techniques/
https://ai.meta.com/blog/how-to-fine-tune-llms-peft-dataset-curation/
Esta es la primera de una serie de tres entradas de blog sobre la adaptación de Modelos de Lenguaje Extensos (LLM) de código abierto. En este artículo, conoceremos los distintos métodos disponibles para adaptar los LLM a los datos del dominio.
introducción
Grandes modelos lingüísticos (LLM) en una amplia gama de tareas lingüísticas y Procesamiento del Lenguaje Natural (PLN) evaluación comparativaEl número de casos de uso de productos basados en estos modelos "genéricos" es cada vez mayor. El número de casos de uso de productos basados en estos modelos "genéricos" va en aumento. En esta entrada de blog, ofreceremos orientación a los pequeños equipos de productos de IA que deseen adaptar e integrar los LLM en sus proyectos. Empezaremos aclarando la terminología (a menudo confusa) en torno a los LLM, luego compararemos brevemente los distintos enfoques de adaptación disponibles y, por último, recomendaremos un diagrama de flujo paso a paso para determinar el enfoque adecuado para su caso de uso.
Método de adaptación LLM
formación previa
El preentrenamiento es el uso de billones de datos fichas El proceso de entrenamiento del LLM desde cero. Los modelos se entrenan mediante algoritmos autosupervisados. Lo más habitual es que el entrenamiento prediga por autorregresión el siguiente ficha (también conocido como modelado causal del lenguaje). El preentrenamiento suele llevar miles de horas de GPU (105 - 107 [fuente1, fuente2]) se distribuyen entre varias GPU. El modelo de salida preentrenado se denomina modelo básico.
Formación previa continua
El preentrenamiento continuo (también conocido como preentrenamiento en dos fases) consiste en seguir entrenando el modelo base con nuevos datos de dominio que no se han visto. Se utiliza el mismo algoritmo autosupervisado que para el preentrenamiento inicial. Suele implicar todas las ponderaciones del modelo y mezclar una parte de los datos originales con los nuevos.
ajuste fino
El ajuste fino es el proceso de adaptar un modelo lingüístico preentrenado utilizando un conjunto de datos anotados de forma supervisada o mediante técnicas basadas en el aprendizaje por refuerzo. Hay dos diferencias principales con respecto al preentrenamiento:
- Formación supervisada sobre conjuntos de datos anotados - que contienen etiquetas/respuestas/preferencias correctas - no formación autosupervisada
- Se necesitan menos fichas (miles o millones, en lugar de los miles de millones o billones necesarios para el preentrenamiento), con el objetivo principal de mejorar el seguimiento de órdenes, la alineación humana, el rendimiento en las tareas, etc.
Hay dos dimensiones para entender la actual parrilla de ajuste: el porcentaje de parámetros modificados y las nuevas capacidades añadidas como resultado del ajuste.
Porcentaje de parámetros modificados
Existen dos tipos de algoritmos en función del número de parámetros modificados:
- Completamente afinado: Como su nombre indica, se trata de cambiar todos los parámetros del modelo, incluido el ajuste fino tradicional de modelos más pequeños como XLMR y BERT (100 - 300 millones de parámetros), así como la Llama 2El ajuste fino de grandes modelos como GPT3 (más de mil millones de parámetros).
- Ajuste fino eficiente de parámetros (PEFT): A diferencia del ajuste fino de todos los pesos LLM, el algoritmo PEFT sólo ajusta un pequeño número de parámetros adicionales o actualiza un subconjunto de los parámetros de preentrenamiento, normalmente 1 - 6% del total de parámetros.
Posibilidad de ampliar el modelo básico
El objetivo del ajuste fino es añadir capacidades a los modelos preentrenados, por ejemplo, adherencia a las instrucciones, alineación humana, etc. Llama 2 para el ajuste del diálogo es un modelo ajustado con la capacidad de añadir adherencia a las instrucciones y alineación. ejemplo típico.
Buscar generación mejorada (RAG)
Las organizaciones también pueden adaptarse a los LLM añadiendo bases de conocimiento específicas del dominio.RAG es esencialmente "Search-Driven LLM Text Generation".RAG, que se lanzará en 2020, utiliza contextos de cueing dinámicos recuperados en función de la pregunta de un usuario e inyectados con pistas LLM para guiarlo a utilizar el contenido recuperado en lugar de conocimiento preentrenado -y potencialmente obsoleto-. -conocimiento.Chat LangChain es un ejemplo popular de chatbot de preguntas y respuestas sobre documentos LangChain potenciado por RAG.
Aprendizaje contextual (ICL)
Con ICL, hemos adaptado el LLM colocando ejemplos prototípicos en las indicaciones, y varios estudios han demostrado que la "demostración con ejemplos" es eficaz. Estos ejemplos pueden contener distintos tipos de información:
- Sólo texto de entrada y salida, es decir, menos aprendizaje por muestreo
- Huellas de razonamiento: adición de pasos intermedios de razonamiento; cf. cadena de pensamiento (CoT) Consejos
- Ruta de planificación y reflexión: añadir información que enseñe a LLM a planificar y reflexionar sobre su estrategia de resolución de problemas; véase ReACT
Existen otras estrategias para modificar las indicaciones queGuía de ingeniería de puntasSe incluye una visión de conjunto.
Elegir bien el método de adaptación
Para decidir cuál de los métodos anteriores es el adecuado para una aplicación concreta, debe tener en cuenta varios factores: las capacidades del modelo necesarias para la tarea que se persigue, el coste de formación, el coste de inferencia, el tipo de conjunto de datos, etc. El siguiente diagrama de flujo resume nuestras recomendaciones para ayudarle a elegir el método de adaptación de Modelos de Lenguaje Extenso (LLM) adecuado.
❌ Formación previa
El preentrenamiento es una parte importante del entrenamiento LLM, utilizando variantes de predicción de tokens como funciones de pérdida. Su naturaleza autosupervisada permite el entrenamiento con grandes cantidades de datos. Por ejemplo, Llama 2 se entrenó con 2 billones de tokens. Esto requiere una enorme infraestructura computacional: Llama 2 70B costó 1.720.320 horas de GPU. Por lo tanto, no recomendamos el preentrenamiento como método viable de adaptación del LLM para equipos con recursos limitados.
Dado que el preentrenamiento es computacionalmente prohibitivo, la actualización de los pesos de un modelo ya preentrenado puede ser una forma eficaz de adaptar el LLM a una tarea específica. Cualquier método de actualización de los pesos de un modelo preentrenado es susceptible al fenómeno del olvido catastrófico, término utilizado para describir el olvido por parte de un modelo de las habilidades y conocimientos previamente aprendidos. Por ejemplo.este estudiomuestra que los modelos perfeccionados en el ámbito médico presentan un menor rendimiento en las tareas de seguimiento de instrucciones y de preguntas y respuestas comunes. Otros estudios también han demostrado que los conocimientos generales adquiridos mediante el preentrenamiento pueden olvidarse durante el entrenamiento posterior. Por ejemplo.este estudioSe aportan algunas pruebas del olvido de conocimientos del LLM desde las perspectivas del conocimiento del dominio, el razonamiento y la comprensión lectora.
❌ Formación previa continua
Teniendo en cuenta el olvido catastrófico, los últimos avances sugieren que el Preentrenamiento Continuo (CPT) puede mejorar aún más el rendimiento a una fracción del coste computacional necesario para el preentrenamiento. El CPT puede ser beneficioso para tareas que requieren que el LLM adquiera nuevas habilidades de conversión. Por ejemplo.Se informa de que...La formación previa continua ha conseguido añadir multilingüismo.
Sin embargo, la CPT sigue siendo un proceso costoso que requiere importantes datos y recursos informáticos. Por ejemplo, el conjunto Pythia pasó por una segunda fase de preentrenamiento, que dio lugar a la creación de la FinPythia-6,9BEste modelo está diseñado para datos financieros. Este modelo, diseñado específicamente para datos financieros, fue sometido a 18 días de CPT utilizando un conjunto de datos que contenía 24.000 millones de fichas. además, el CPT es propenso a olvidos catastróficos. Por lo tanto, no recomendamos el preentrenamiento continuo como enfoque viable para la adaptación del LLM para equipos con recursos limitados.
En conclusión, el uso de algoritmos autosupervisados y conjuntos de datos sin etiquetar para adaptar los LLM (como se hace en el preentrenamiento y el preentrenamiento continuo) consume muchos recursos y es costoso, por lo que no se recomienda como enfoque viable.
Ajuste fino completo y ajuste fino paramétrico eficiente (PEFT)
El ajuste fino con conjuntos de datos etiquetados más pequeños es un método más rentable que el preentrenamiento con conjuntos de datos sin etiquetar. Al adaptar el modelo preentrenado a una tarea específica, se ha demostrado que el modelo ajustado logra resultados de vanguardia en una amplia gama de aplicaciones y especializaciones (por ejemplo, jurídicas, médicas o financieras).
El ajuste fino, especialmente el ajuste fino eficiente de parámetros (PEFT), requiere sólo una fracción de los recursos computacionales necesarios para el preentrenamiento/preentrenamiento continuo. Por tanto, se trata de un método de adaptación LLM viable para equipos con recursos limitados. En esta serie deParte 3En él, profundizamos en los detalles del ajuste fino, incluido el ajuste fino completo, el PEFT y una guía práctica sobre cómo hacerlo.
✅ Recuperar generación aumentada (RAG)
RAG es otro popular método de adaptación LLM. Si tu aplicación necesita extraer información de una base de conocimientos dinámica (por ejemplo, un bot de concursos), RAG puede ser una buena solución. La complejidad de un sistema basado en RAG reside principalmente en la implementación del motor de recuperación. El coste de razonamiento de estos sistemas puede ser mayor porque las pistas incluyen documentos recuperados y la mayoría de los proveedores utilizan un modelo basado en tokens. En esta serie deParte 2en el que hablamos más ampliamente de la GAR y la comparamos con el ajuste fino.
✅ Aprendizaje contextual (ICL)
Esta es la forma más rentable de adaptar el LLM.ICL no requiere datos de entrenamiento ni recursos computacionales adicionales, lo que lo convierte en un enfoque rentable. Sin embargo, al igual que ocurre con RAG, el coste y la latencia de la inferencia pueden aumentar debido al procesamiento de más tokens en el momento de la inferencia.
resúmenes
La creación de un sistema basado en LLM es un proceso iterativo. Recomendamos empezar con un enfoque sencillo e ir aumentando gradualmente la complejidad hasta alcanzar el objetivo. El diagrama de flujo anterior describe este proceso iterativo y proporciona una base sólida para su estrategia de adaptación LLM.
una nota de agradecimiento
Agradecemos a Suraj Subramanian y Varun Vontimitta sus constructivos comentarios sobre la organización y preparación de esta entrada de blog.
Parte II: Afinar o no afinar
Esta es la segunda de una serie de entradas de blog sobre la adaptación de modelos lingüísticos extensos (LLM) de código abierto. En este post, discutiremos la siguiente pregunta: "¿Cuándo debemos afinar y cuándo debemos considerar otras tecnologías?".
introducción
Antes de la aparición de los modelos lingüísticos de gran tamaño, el ajuste fino se utilizaba habitualmente para modelos de menor escala (de 100 a 300 millones de parámetros). Las aplicaciones de dominio más avanzadas se construían mediante ajuste fino supervisado (SFT), es decir, los modelos preentrenados se entrenaban con datos anotados de su propio dominio y tareas posteriores. Sin embargo, con la llegada de modelos más grandes (> 1.000 millones de parámetros), la cuestión del ajuste fino se vuelve más sutil. Y lo que es más importante, los modelos más grandes requieren más recursos y hardware comercial para su ajuste. La tabla 1 muestra los picos de uso de memoria de la GPU para el ajuste fino de los modelos Llama 2 7B y Llama 2 13B en tres escenarios. Puede que notes que modelos como QLoRA Estos algoritmos facilitan el ajuste fino de modelos de gran tamaño con recursos limitados. Por ejemplo, la Tabla 1 muestra los picos de memoria en la GPU para tres escenarios de ajuste fino (ajuste fino completo, LoRA y QLoRA) en Llama 2 7B. También se muestran reducciones de memoria similares como resultado del ajuste fino paramétrico eficiente (PEFT) o la cuantificación en Llama 1. información Cambio. Además de los recursos informáticos, el olvido catastrófico (para más información, véase esta serie de Parte ILa técnica PEFT pretende resolver estas deficiencias entrenando un número reducido de parámetros.
Tabla 1: Memoria (GB) en LLama 2 7B para diferentes métodos de ajuste fino (fuente (de información, etc.)QLoRA se cuantifica utilizando un NormalFloat de 4 bits.
Prototipos que pueden beneficiarse de una puesta a punto
Identificamos los siguientes escenarios como casos de uso comunes que podrían beneficiarse de una puesta a punto:
- Personalización del tono, el estilo y el formato: Los casos de uso pueden requerir un modelo de biglenguaje que refleje una personalidad específica o sirva a un público concreto. Al ajustar el modelo de biglanguage mediante un conjunto de datos personalizado, podemos dar forma a las respuestas del chatbot para que se ajusten mejor a los requisitos específicos o a la experiencia prevista de su audiencia. También es posible que queramos estructurar la salida de una manera específica, por ejemplo, en formato JSON, YAML o Markdown.
- Mejorar la precisión y tratar los casos extremos: El ajuste puede utilizarse para corregir ilusiones o errores difíciles de corregir mediante la ingeniería de claves y el aprendizaje contextual. También puede mejorar la capacidad de un modelo para realizar nuevas habilidades o tareas difíciles de expresar en claves. Este proceso puede ayudar a corregir fallos en los que los modelos son incapaces de seguir pistas complejas y mejorar su fiabilidad a la hora de producir el resultado deseado. Damos dos ejemplos:
- Precisión de Phi-2 en el análisis del sentimiento de los datos financieros Actualización de 34% a 85%.
- ChatGPT Precisión en el análisis del sentimiento de los comentarios de Reddit Aumento de 25 puntos porcentuales (de 48% a 73%), utilizando sólo 100 ejemplos.
Normalmente, para números de precisión iniciales más pequeños (< 50%), el ajuste fino con unos cientos de ejemplos producirá mejoras significativas.
- Abordar las áreas de infrarrepresentación: Aunque los grandes modelos lingüísticos se entrenan con grandes cantidades de datos de uso general, no siempre están bien versados en la jerga, la terminología o la idiosincrasia de cada nicho de dominio. En ámbitos tan diversos como el derecho, la sanidad o las finanzas, se ha demostrado que el ajuste fino ayuda a mejorar la precisión de las tareas posteriores. Ofrecemos dos ejemplos:
- Como este escritos Se señaló que el historial médico de un paciente contiene datos muy sensibles que no suelen ser de dominio público. Por ello, es necesario afinar los sistemas basados en grandes modelos lingüísticos para resumir historiales médicos.
- Perfeccionamiento de lenguas infrarrepresentadas, como las índicas, mediante técnicas PEFT Servicial en todas las tareas.
- Reducción de costes: El ajuste fino permite destilar las habilidades de modelos más grandes, como la Llama 2 70B/GPT-4, en modelos más pequeños, como la Llama 2 7B, reduciendo el coste y la latencia sin comprometer la calidad. Además, el ajuste fino reduce la necesidad de señales largas o específicas (como las utilizadas en la ingeniería de señales), con lo que se ahorran fichas y se reducen aún más los costes. Por ejemplo, eleste artículo Muestra cómo se pueden ahorrar costes perfeccionando el modelo GPT-4, más caro, para afinar el juez GPT-3.5.
- Nuevas tareas/capacidades: A menudo, se pueden conseguir nuevas capacidades mediante la puesta a punto. Damos tres ejemplos:
- Ajuste de grandes modelos lingüísticos para Mejor uso del contexto de un determinado buscador O ignorarlo por completo
- Ajuste de grandes modelos lingüísticos Jueces para evaluar otros grandes modelos lingüísticosLa evaluación de indicadores, como la autenticidad, el cumplimiento o la utilidad, es un elemento clave en el desarrollo y la aplicación del programa.
- Ajuste de grandes modelos lingüísticos para Añadir ventana contextual
Comparación con tecnologías de adaptación en otros ámbitos
Perfeccionamiento frente a aprendizaje contextual (menos muestras)
El aprendizaje contextual (ICL) es una potente forma de mejorar el rendimiento de los sistemas basados en grandes modelos lingüísticos. Además, los experimentos de ICL pueden ayudarle a evaluar si el ajuste fino mejora el rendimiento de las tareas posteriores. Algunas consideraciones comunes al utilizar ICL son
- A medida que aumenta el número de ejemplos que hay que mostrar, también lo hacen el coste y la latencia de la inferencia.
- Con cada vez más ejemplos, el gran modelo lingüístico A menudo se pasan por alto algunas de las. Esto significa que es posible que necesite un sistema basado en RAG que encuentre los ejemplos más relevantes en función de la información introducida.
- Los grandes modelos lingüísticos pueden escupir los conocimientos que se les proporcionan como ejemplos. Este problema también se da en el ajuste fino.
ajuste fino vs. y RAG
El consenso general es que cuando el rendimiento subyacente de un gran modelo lingüístico no es satisfactorio, se puede "empezar con la GAR, evaluar su rendimiento y pasar al ajuste fino si se considera insuficiente", o "la GAR puede tener ventajas" sobre el ajuste fino (fuente (de información, etc.)). Sin embargo, creemos que este paradigma es una simplificación excesiva porque en muchos casos la GAR no sólo no es una alternativa al ajuste fino, sino más bien un enfoque complementario de éste. Dependiendo de las características del problema, debería probarse uno de los dos enfoques, o posiblemente ambos. Adopción de este artículo marco, he aquí algunas preguntas que podría plantearse para determinar si el ajuste fino o el GAR (o posiblemente ambos) son adecuados para su problema:
- ¿Su aplicación necesita conocimientos externos? La puesta a punto no suele aplicarse a la inyección de nuevos conocimientos.
- ¿Necesita su aplicación un tono, comportamiento, vocabulario o estilo personalizados? Para este tipo de requisitos, el ajuste fino suele ser el enfoque adecuado.
- ¿Hasta qué punto tolera su aplicación las alucinaciones? En las aplicaciones en las que la supresión de falsedades y fabricaciones imaginativas es fundamental, el sistema GAR incorpora mecanismos para minimizar las alucinaciones.
- ¿De cuántos datos de entrenamiento etiquetados se dispone?
- ¿Cómo de estáticos/dinámicos son los datos? Si el problema requiere el acceso a un corpus dinámico de datos, el ajuste fino puede no ser el enfoque adecuado, ya que el conocimiento del gran modelo lingüístico se queda obsoleto muy rápidamente.
- ¿Cuánta transparencia/interpretabilidad se requiere para las aplicaciones de modelización lingüística de gran tamaño? El GAR puede proporcionar esencialmente referencias, que son útiles para interpretar los resultados de la modelización lingüística de gran tamaño.
- Coste y complejidad: ¿tiene el equipo experiencia en la creación de sistemas de búsqueda o en la puesta a punto?
- ¿Cuán diversas son las tareas de su aplicación?
En la mayoría de los casos, una solución híbrida de ajuste fino y GAR producirá los mejores resultados, y entonces la cuestión pasa a ser el coste, el tiempo y las ganancias adicionales independientes de hacer ambas cosas al mismo tiempo. Consulte las preguntas anteriores para decidir si es necesario utilizar la GAR o el ajuste fino, y realice experimentos internos analizando los errores para comprender las posibles ganancias métricas. Por último, la exploración del ajuste fino requiere una sólida estrategia de recopilación y mejora de datos, que recomendamos como requisito previo para comenzar el ajuste fino.
una nota de agradecimiento
Agradecemos a Suraj Subramanian y Varun Vontimitta sus constructivos comentarios sobre la organización y preparación de esta entrada de blog.
Parte III: Cómo afinar: centrarse en conjuntos de datos eficaces
Este es el tercer artículo de una serie de blogs sobre la adaptación de modelos lingüísticos de código abierto (LLM). En este artículo, veremos algunas reglas prácticas para crear conjuntos de datos de entrenamiento de calidad.
introducción
El ajuste fino de los LLM es una combinación de arte y ciencia, y las mejores prácticas en este campo aún están emergiendo. En esta entrada de blog, nos centraremos en las variables de diseño del ajuste fino y proporcionaremos orientación sobre las mejores prácticas para el ajuste fino de modelos en entornos con recursos limitados. Sugerimos la siguiente información como punto de partida para desarrollar una estrategia de experimentos de ajuste.
Ajuste fino completo frente a ajuste fino paramétrico eficiente (PEFT)
Cantidad total de ajuste fino y PEFT en academia responder cantando aplicación práctica Se ha demostrado que todos ellos mejoran el rendimiento de las tareas posteriores cuando se aplican en nuevos dominios. La elección de uno de ellos depende, en última instancia, de los recursos computacionales disponibles (en términos de horas de GPU y memoria de GPU), del rendimiento en tareas distintas de la tarea descendente objetivo (el compromiso entre aprender y olvidar) y del coste de la anotación manual.
El ajuste fino a todo volumen tiene más probabilidades de sufrir dos problemas:modelo de accidente responder cantando olvido cataclísmico. El colapso del modelo se produce cuando la salida del modelo converge a un conjunto finito de salidas y desaparecen las colas de la distribución original del contenido. El olvido catastrófico, como en esta serie Parte I discutido, haría que el modelo perdiera su potencia. Algunos de los primeros estudios empíricos han demostrado queEn comparación con la técnica PEFT, la técnica de ajuste fino de volumen completo es más propensa a estos problemasaunque es necesario seguir investigando.
La técnica PEFT puede diseñarse para que actúe como un regularizador natural para el ajuste fino. PEFT suele requerir relativamente pocos recursos informáticos para entrenar los modelos posteriores y es más fácil de utilizar en escenarios con recursos limitados y conjuntos de datos de tamaño limitado. En algunos casos, el ajuste fino completo ofrece mejores resultados en tareas específicas, pero normalmente a costa de olvidar algunas de las capacidades del modelo original. Esta compensación "aprendizaje-olvido" entre el rendimiento en una tarea específica y el rendimiento en otras tareas se aprovecha más fácilmente en el Este documento. Una comparación en profundidad de LoRA y el ajuste fino completo se presenta en.
Dadas las limitaciones de recursos, la técnica PEFT puede proporcionar una mejor relación rendimiento/coste que el ajuste fino completo. Si el rendimiento posterior es crítico en una situación de recursos limitados, el ajuste fino completo será más eficaz. En cualquier caso, es fundamental tener en cuenta los siguientes principios clave para crear conjuntos de datos de alta calidad.
Cotejo de conjuntos de datos
En los experimentos de ajuste fino en la literatura, los conjuntos de datos son fundamentales para aprovechar los beneficios del ajuste fino. Hay más matices aquí que simplemente "mejor calidad y más ejemplos", y se puede invertir sabiamente en la recopilación de conjuntos de datos para mejorar el rendimiento en experimentos de ajuste fino con recursos limitados.
Calidad/cantidad de los datos
- La calidad es fundamental: La tendencia general que hemos observado es que la calidad es más importante que la cantidad, es decir, que es mejor tener un pequeño conjunto de datos de alta calidad que un gran conjunto de datos de baja calidad. Los principios clave de la calidad son un etiquetado coherente, la ausencia de errores, datos mal etiquetados, entradas/salidas ruidosas y una distribución representativa en comparación con el conjunto. Al ajustar losConjunto de datos LIMA de unos pocos miles de ejemplos cuidadosamente seleccionados obtuvo mejores resultados que el conjunto de datos de 50.000 Alpaca generado por máquinas.Documentación sobre el ajuste de OpenAI Se sugiere que incluso un conjunto de datos de 50 a 100 ejemplos puede tener un impacto.
- Las tareas lingüísticas más difíciles requieren más datos: Las tareas relativamente difíciles, como la generación y el resumen de textos, son más difíciles de afinar y requieren más datos que las tareas sencillas, como la clasificación y la extracción de entidades. En este contexto, "más difícil" puede significar varias cosas: más tokens en el resultado, necesidad de capacidades humanas de orden superior, múltiples respuestas correctas.
- Recogida de datos eficaz y de alta calidad: Debido al elevado coste de la recogida de datos, se recomiendan las siguientes estrategias para mejorar la eficacia de las muestras y reducir los costes
- Observar patrones de fallo: Observe ejemplos de capacidades de ML anteriores que hayan fallado y añada ejemplos que aborden esos patrones de fallo.
- Colaboración hombre-máquina: es una forma más barata de ampliar la anotación de datos. Utilizamos LLM para automatizar la generación de respuestas base, que los anotadores humanos pueden anotar en menos tiempo.
Diversidad de datos
En pocas palabras, si entrenas en exceso a un modelo con un tipo concreto de respuesta, estará predispuesto a dar esa respuesta, si no la más adecuada. La regla de oro en este caso es asegurarse, en la medida de lo posible, de que los datos de entrenamiento reflejan cómo debería comportarse el modelo en el mundo real.
- Repite: ha sido descubrimientos es la causa de la degradación del modelo en el ajuste fino y el preentrenamiento. Lograr la diversidad mediante la desduplicación suele mejorar las métricas de rendimiento.
- Diversidad de entradas: Aumentar la diversidad parafraseando las aportaciones. En la Puesta a punto de SQLCoder2 El equipo reformuló el texto plano que acompaña a las consultas SQL para introducir diversidad sintáctica y semántica. Del mismo modo, elTraducción inversa de las instrucciones se utilizó para el texto escrito manualmente preguntando al LLM "¿A qué pregunta podría responder esto?" para generar un conjunto de datos de preguntas y respuestas.
- Diversidad del conjunto de datos: Se ha demostrado que el uso de diversos conjuntos de datos mejora el equilibrio entre el olvido de las capacidades originales de un modelo y el aprendizaje de otras nuevas a la hora de realizar ajustes para tareas posteriores más generales, como la adaptación multilingüe. El uso de distintas lenguas como Hindi (lengua) responder cantando Austronesio (lengua) El modelo de ajuste fino utiliza un rico conjunto de datos específicos de la lengua, así como otros conjuntos de datos de ajuste fino de comandos, como el FLANyAlpacaDolly et al. para introducir la diversidad.
- Producción normalizada: La eliminación de espacios en blanco de la salida y otros trucos de formato han resultado útiles.SQLCoder2 Eliminar los espacios en blanco del SQL generado permite que el modelo se centre en aprender conceptos importantes de SQL en lugar de trucos como los espacios y la sangría. Si quieres un tono específico en la respuesta". El chatbot del servicio de asistencia es..." entonces añádelos al conjunto de datos de cada ejemplo.
Canalización de datos basada en LLM
Con el fin de recopilar conjuntos de datos diversos y de alta calidad, los pipelines de datos suelen utilizar LLM para reducir los costes de anotación. En la práctica se han observado las siguientes técnicas:
- Evaluación: Entrene el modelo con un conjunto de datos de alta calidad y utilícelo para anotar su conjunto de datos más amplio a fin de filtrar los ejemplos de alta calidad.
- Generar: Sembrar los LLM con ejemplos de alta calidad e incitar a generar ejemplos similares de alta calidad.Buenas prácticas para conjuntos de datos sintéticos empieza a tomar forma.
- Colaboración persona-ordenador: Utilice los LLM para generar un conjunto inicial de resultados y deje que los humanos mejoren la calidad editando o seleccionando preferencias.
Depuración del conjunto de datos
- Evalúe su conjunto de datos en busca de malos resultados: Si el modelo sigue funcionando mal en determinadas áreas, añada ejemplos de entrenamiento que muestren directamente al modelo cómo manejar correctamente esas áreas. Si el modelo tiene problemas de sintaxis, lógica o estilo, comprueba si los datos presentan los mismos problemas. Por ejemplo, si el modelo ahora dice "Te organizaré esta reunión" (cuando no debería), comprueba si los ejemplos existentes enseñan al modelo que puede hacer algo nuevo que en realidad no puede hacer.
- Vuelva a comprobar el equilibrio de las categorías positivas/negativas: Puede obtener demasiados rechazos si la respuesta de ayuda 60% en los datos dice "No puedo responder a esa pregunta", pero sólo la respuesta 5% debe decir eso al razonar.
- Exhaustividad y coherencia: Asegúrate de que los ejemplos de entrenamiento contienen toda la información necesaria para la respuesta. Si queremos que el modelo elogie al usuario basándose en sus características personales, y los ejemplos de entrenamiento contienen elogios del asistente por características que no aparecían en el diálogo anterior, el modelo puede aprender a falsear la información. Asegúrate de que todos los ejemplos de entrenamiento tienen el mismo formato que el esperado a la hora de razonar. Comprueba la coherencia de los ejemplos de entrenamiento. Si varias personas crearon los datos de entrenamiento, el rendimiento del modelo puede verse limitado por el nivel de coherencia interpersonal. Por ejemplo, en una tarea de extracción de texto, es posible que el modelo no pueda obtener mejores resultados si las personas sólo coinciden en los segmentos extraídos de 70%.
llegar a un veredicto
El ajuste fino es un aspecto clave en el desarrollo de un gran modelo lingüístico que requiere un delicado equilibrio entre arte y ciencia. La calidad y la conservación del conjunto de datos desempeñan un papel importante en el éxito del ajuste fino.Los modelos pequeños y ajustados de lenguas grandes tienden a superar a los modelos grandes en tareas específicas.. Una vez tomada la decisión de afinar Guía de ajuste fino de llamas ofrece un sólido punto de partida. El carácter privado de la cartera de conjuntos de datos de ajuste fino ha dificultado el intercambio de mejores prácticas y el progreso del código abierto. A medida que el campo siga evolucionando, prevemos la aparición de mejores prácticas comunes, manteniendo al mismo tiempo la creatividad y adaptabilidad del ajuste fino.
una nota de agradecimiento
Agradecemos a Suraj Subramanian y Varun Vontimitta sus constructivos comentarios sobre la organización y preparación de esta entrada de blog.
© declaración de copyright
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...