Ingeniería de prompts

Entrenamiento de embeddings de texto mejorados con modelos de lenguaje grande

mm
Añade Unite.AI a tus fuentes preferidas en Google

Los embeddings de texto son representaciones vectoriales de palabras, oraciones, párrafos o documentos que capturan su significado semántico. Sirven como un bloque de construcción fundamental en muchas aplicaciones de procesamiento de lenguaje natural (NLP) hoy en día, incluyendo la recuperación de información, la respuesta a preguntas, la búsqueda semántica y más.

vector embedding

vector embedding

Los avances recientes en modelos de lenguaje grande (LLM) como GPT-3 han demostrado capacidades impresionantes en el aprendizaje de pocos ejemplos y la generación de lenguaje natural. ¿Podemos aprovechar los LLM para avanzar también en el estado de los embeddings de texto? En su artículo “Mejorando los embeddings de texto con modelos de lenguaje grande“, los investigadores de Microsoft (MSFT ) proponen un método novedoso que logra resultados superiores generando datos de entrenamiento sintéticos con LLM y ajustando los parámetros en ellos.

Desafíos con los métodos existentes

Las técnicas tradicionales de embeddings de texto como promedios ponderados de vectores de palabras o TF-IDF no logran capturar adecuadamente la rica información contextual en el texto. Los métodos más recientes basados en modelos de lenguaje preentrenados como BERT obtienen embeddings con conciencia de contexto mucho mejores.

Sin embargo, requieren pipelines de entrenamiento complejas y multietapa:

  • Preentrenamiento en miles de millones de pares de texto débilmente etiquetados o artificiales
  • Ajuste de parámetros en conjuntos de datos limitados y curados a mano

Esto demanda recursos computacionales masivos y esfuerzo humano para la recopilación de datos. Los datos de entrenamiento también están limitados en diversidad y cobertura lingüística. Por ejemplo, el benchmark BEIR comprende conjuntos de datos para solo 15 tareas de recuperación en inglés.

Los métodos existentes utilizan predominantemente arquitecturas de estilo BERT más pequeñas como modelo base. No pueden aprovechar los LLM más avanzados y las técnicas relacionadas.

Metodología: Generación de datos sintéticos con LLM

Para superar estas limitaciones, los investigadores proponen un enfoque de entrenamiento de una sola etapa que aprovecha los LLM como GPT-3 y GPT-4 para generar datos de entrenamiento sintéticos diversificados.

Los pasos clave son:

  1. Taxonomía de tareas: Definir una taxonomía que categorice las tareas de embeddings de texto en:
    • Tareas asimétricas (consulta y documento no son parafraseos, por ejemplo, búsqueda)
    • Tareas simétricas (consulta y documento son parafraseos, por ejemplo, similitud semántica)
  2. Diseño de prompt: Crear plantillas de prompt personalizadas para cada tipo de tarea que guíen al LLM para generar ejemplos de entrenamiento relevantes.
  3. Generación de datos sintéticos: Proporcionar al LLM con los prompts diseñados para generar cientos de miles de pares (consulta, documento) que cubren una amplia variedad de tareas semánticas en 93 idiomas.
  4. Entrenamiento del modelo: Ajustar los parámetros de un LLM abierto y potente como Mistral en los datos sintéticos utilizando pérdida contrastiva.

Esta metodología permite crear abundantes datos de entrenamiento para tareas diversas en múltiples idiomas sin esfuerzo humano de etiquetado. Al aprovechar el conocimiento ya incorporado en los LLM a través del preentrenamiento en corpora a escala web, podemos sintetizar datos de alta calidad precisamente diseñados para embeddings de texto.

Los investigadores demuestran esto con una estrategia de prompting de 2 pasos:

  • Proporcionar a GPT-4 para sugerir tareas de recuperación potenciales

Prompt for generating high-level retrieval tasks

    Prompt for generating high-level retrieval tasks
  • Proporcionar al LLM nuevamente para generar pares (consulta, documento) basados en las tareas sugeridas

n generate (query, positive, hard negative) triplets

    n generate (query, positive, hard negative) triplets

Algunos aspectos clave del diseño de prompt:

  • Prompts de lenguaje natural para instrucciones intuitivas y humanas
  • Marcadores de posición para fomentar la diversidad (por ejemplo, longitud de la consulta, claridad, longitud del documento)
  • Combinación de datos de múltiples plantillas para el mismo tipo de tarea
  • Ponderación de idiomas según la disponibilidad de recursos

En total, lograron generar 500k ejemplos de embeddings de texto a un costo computacional de 180M tokens. El idioma dominante fue el inglés (43%) seguido del polaco, japonés, italiano y otros.

Para el entrenamiento del modelo, optaron por ajustar los parámetros del modelo abierto de 7B de parámetros Mistral en lugar de arquitecturas de estilo BERT más pequeñas. Dado que Mistral ya había sido preentrenado en corpora de texto a escala web, no se necesitaba preentrenamiento contrastivo adicional. Agregarlo proporcionó mejoras negligibles.

Todo el ajuste de parámetros tomó menos de 1k pasos, utilizando una mezcla de datos sintéticos y etiquetados por humanos. Esto demuestra la eficiencia de muestra del enfoque propuesto.

Resultados

Los investigadores evaluaron su modelo en el benchmark MTEB, que cubre tareas diversas en clasificación, agrupación, similitud semántica, resumen y recuperación de información.

Su modelo superó el estado del arte anterior en 2.4 puntos en la puntuación promedio, estableciendo nuevos récords para casi todas las categorías:

Modelo Anterior SOTA Modelo propuesto
Clasificación 76.0 78.5
Agrupación 46.1 50.3
Clasificación de pares 87.1 88.3
Reordenamiento 60.0 60.2
Recuperación 54.3 56.9
STS 83.1 84.6
Resumen 31.6 31.4
Promedio 64.2 66.6

Es notable que, incluso sin utilizar datos etiquetados y entrenando solo con datos sintéticos, lograron una precisión competitiva, solo 3.5 puntos por detrás del modelo completamente supervisado. Esto demuestra la viabilidad de generar embeddings de texto utilizando solo LLM, sin esfuerzo de etiquetado humano.

Los investigadores también evaluaron en el benchmark multilingüe MIRACL que cubre 18 idiomas. Su modelo superó al mejor anterior en idiomas de alto recurso, pero fue más débil en los de bajo recurso. Hipotetizan que esto podría mitigarse preentrenando a los LLM más extensamente en idiomas de bajo recurso.

En resumen, los embeddings de texto entrenados con datos sintéticos generados por LLM establecen nuevos resultados de estado del arte, mientras utilizan un entrenamiento más simple y eficiente en comparación con los enfoques multietapa anteriores. Con más investigación en ingeniería de prompts y calidad de datos sintéticos, esta metodología podría avanzar significativamente los embeddings de texto multilingües.

Análisis

Este trabajo ofrece varios conocimientos valiosos:

  • Los LLM como GPT-3 y GPT-4 tienen una capacidad impresionante para generar datos de entrenamiento sintéticos de alta calidad para tareas de NLP diversas cuando se les proporcionan prompts adecuados. Esto puede reducir la dependencia de los datos etiquetados por humanos.
  • Para los embeddings de texto, el preentrenamiento contrastivo proporciona mejoras negligibles sobre el simple ajuste de parámetros de modelos como Mistral que ya tienen un preentrenamiento a escala de trillones. Esto es un conocimiento importante sobre la eficiencia del entrenamiento.
  • Los métodos de generación aumentada de recuperación permiten a los LLM acceder dinámicamente a conocimientos externos. Mejorar los embeddings de texto es valioso para mejorar estos LLM.
  • Hay un espacio significativo para la mejora en idiomas de bajo recurso. Los LLM multilingües preentrenados en datos más representativos podrían ayudar a cerrar esta brecha.
  • Conceptualmente, el modelado de lenguaje y los embeddings de texto son dos lados de la misma moneda – comprender la semántica del lenguaje. Con la generación de datos sintéticos, los LLM pueden ser ajustados orgánicamente a embedders sin pipelines complejas.

Algunas direcciones prometedoras para el trabajo futuro incluyen:

  • Aprovechar los LLM de código abierto como GPT-NeoX para generar datos sintéticos
  • Explorar técnicas de post-entrenamiento ligeras para adaptar los embedders a contextos más largos
  • Desarrollo de técnicas de ingeniería de prompts para controlar la calidad y la cobertura de tareas
  • Métodos para mejorar la latencia de inferencia y los costos de almacenamiento para uso industrial

Más allá de superar los benchmarks, emplear LLM para mejorar los embeddings de texto abre posibilidades intrigantes para el futuro. A medida que los LLM continúan avanzando en su dominio del lenguaje natural, su capacidad para generar datos sintéticos de alta fidelidad probablemente también mejorará.

Sin embargo, quedan direcciones críticas de investigación para traducir este potencial en impacto real.

Personalización y control

Un beneficio clave de los datos sintéticos es la capacidad de generar ejemplos personalizados para necesidades específicas. Como demostró el artículo, la ingeniería de prompts permite crear datos de entrenamiento para cientos de miles de tareas de embeddings.

Sin embargo, las prácticas actuales de diseño de prompts siguen siendo más un arte que una ciencia. Desarrollar métodos sistemáticos y reproducibles para controlar precisamente las propiedades de los datos generados expandiría la aplicabilidad de esta técnica.

Por ejemplo, técnicas para modular factores como la complejidad, la ambigüedad y la novedad de los ejemplos podrían ayudar a abordar problemas de robustez en tareas posteriores. La generación dinámica de prompts para coincidir con distribuciones del mundo real en evolución es otro desafío abierto.

Entrenamiento a gran escala

Mientras que los LLM preentrenados ya codifican un conocimiento lingüístico sustancial, sus habilidades para generar datos probablemente mejorarán con más escala. Modelos como GPT-4 entrenados en trillones de tokens de texto de internet exhiben un aprendizaje de pocos ejemplos fuerte, pero no han sido optimizados específicamente para la síntesis de datos de entrenamiento.

Arquitecturas y objetivos diseñados para arrancar la generación de datos auto-supervisada a escala web podrían avanzar sustancialmente la calidad y la eficiencia de esta metodología. La integración eficiente del conocimiento recuperado para complementar el conocimiento aprendido es otra dirección prometedora.

Multitarea y multilingüe

Como señaló el artículo, mejorar el rendimiento en idiomas de bajo recurso sigue siendo un problema. En lugar de preentrenar un solo LLM masivo, una alternativa es entrenar una flota de modelos especializados más pequeños que se especialicen en modalidades de datos o dominios lingüísticos particulares.

Este enfoque de conjunto podría ayudar a mejorar la cobertura sobre tareas y idiomas raros compartiendo representaciones aprendidas entre expertos. El aprendizaje continuo para expandir la experiencia lingüística y de tareas con el tiempo es también una perspectiva emocionante.

En conclusión, este artículo introduce un concepto innovador de síntesis de datos de entrenamiento a partir de LLM para crear embeddings de texto performantes. Sus resultados demuestran la efectividad de esta metodología, superando los benchmarks anteriores. A medida que los LLM y las técnicas de datos sintéticos progresan, aprovechar su conocimiento para entrenar embedders podría convertirse en una dirección muy prometedora.

He dedicado los últimos cinco años sumergiéndome en el fascinante mundo de Machine Learning y Deep Learning. Mi pasión y experiencia me han llevado a contribuir a más de 50 proyectos de ingeniería de software diversos, con un enfoque particular en AI/ML. Mi curiosidad en curso también me ha llevado hacia el Procesamiento de Lenguaje Natural, un campo que estoy ansioso por explorar más a fondo.