MTEB Referente de Evaluación de Incrustación de Texto Masivo

MTEB, Text Embedding Evaluation Reference

MTEB es un benchmark masivo para medir el rendimiento de modelos de incrustación de texto en diversas tareas de incrustación.

La tabla de clasificación 🥇 proporciona una visión holística de los mejores modelos de incrustación de texto disponibles en una variedad de tareas.

El artículo 📝 brinda información de fondo sobre las tareas y conjuntos de datos en MTEB y analiza los resultados de la tabla de clasificación.

El repositorio Github 💻 contiene el código para realizar pruebas comparativas y enviar cualquier modelo de su elección a la tabla de clasificación.

¿Por qué las incrustaciones de texto?

Las incrustaciones de texto son representaciones vectoriales del texto que codifican información semántica. Como las máquinas requieren entradas numéricas para realizar cálculos, las incrustaciones de texto son un componente crucial en muchas aplicaciones de procesamiento del lenguaje natural. Por ejemplo, Google utiliza incrustaciones de texto para alimentar su motor de búsqueda. Las incrustaciones de texto también se pueden utilizar para encontrar patrones en grandes cantidades de texto mediante agrupamiento o como entradas para modelos de clasificación de texto, como en nuestro reciente trabajo SetFit. Sin embargo, la calidad de las incrustaciones de texto depende en gran medida del modelo de incrustación utilizado. ¡MTEB está diseñado para ayudarlo a encontrar el mejor modelo de incrustación de texto disponible para una variedad de tareas!

MTEB

🐋 Masivo: MTEB incluye 56 conjuntos de datos en 8 tareas y actualmente resume >2000 resultados en la tabla de clasificación.

🌎 Multilingüe: MTEB contiene hasta 112 idiomas diferentes. Hemos evaluado varios modelos multilingües en Minería de Bitexto, Clasificación y STS.

🦚 Extensible: Ya sea para agregar nuevas tareas, conjuntos de datos, métricas o elementos a la tabla de clasificación, cualquier contribución es bienvenida. Consulte el repositorio de GitHub para enviar a la tabla de clasificación o resolver problemas abiertos. ¡Esperamos que se una a nosotros en el viaje de encontrar el mejor modelo de incrustación de texto!

Resumen de las tareas y conjuntos de datos en MTEB. Los conjuntos de datos multilingües están marcados con un tono morado.

Modelos

Para la evaluación inicial de MTEB, nos centramos en modelos que afirman tener resultados de vanguardia y modelos populares en el Hub. Esto llevó a una alta representación de transformadores. 🤖

Modelos según el puntaje promedio de MTEB en inglés (y) versus velocidad (x) versus tamaño de incrustación (tamaño del círculo).

Agrupamos los modelos en las siguientes tres categorías para simplificar la búsqueda del mejor modelo para su tarea:

🏎 Máxima velocidad: Modelos como Glove ofrecen alta velocidad, pero carecen de conciencia de contexto, lo que resulta en puntajes promedio de MTEB bajos.

⚖️ Velocidad y rendimiento: Un poco más lentos, pero significativamente más fuertes, all-mpnet-base-v2 o all-MiniLM-L6-v2 ofrecen un buen equilibrio entre velocidad y rendimiento.

💪 Máximo rendimiento: Modelos con miles de millones de parámetros como ST5-XXL, GTR-XXL o SGPT-5.8B-msmarco dominan en MTEB. También tienden a producir incrustaciones más grandes, como SGPT-5.8B-msmarco, que produce incrustaciones de 4096 dimensiones que requieren más almacenamiento.

El rendimiento del modelo varía mucho según la tarea y el conjunto de datos, por lo que recomendamos consultar las diversas pestañas de la tabla de clasificación antes de decidir qué modelo utilizar.

Evalúe su modelo

Usando la biblioteca MTEB, puede evaluar cualquier modelo que produzca incrustaciones y agregar sus resultados a la tabla de clasificación pública. ¡Veamos un ejemplo rápido!

Primero, instale la biblioteca:

pip install mteb

Luego, evalúe un modelo en un conjunto de datos, por ejemplo, las incrustaciones de palabras komninos en Banking77.

from mteb import MTEB
from sentence_transformers import SentenceTransformer

model_name = "average_word_embeddings_komninos"
model = SentenceTransformer(model_name)

evaluation = MTEB(tasks=["Banking77Classification"])
results = evaluation.run(model, output_folder=f"results/{model_name}")

¡Esto debería producir un archivo results/average_word_embeddings_komninos/Banking77Classification.json!

Ahora puede enviar los resultados a la tabla de clasificación agregándolos a los metadatos de README.md de cualquier modelo en el Hub.

Ejecuta nuestro script automático para generar los metadatos:

python mteb_meta.py results/average_word_embeddings_komninos

El script producirá un archivo mteb_metadata.md que se verá así:

---
tags:
- mteb
model-index:
- name: average_word_embeddings_komninos
  results:
  - task:
      type: Clasificación
    dataset:
      type: mteb/banking77
      name: MTEB Banking77Classification
      config: default
      split: test
      revision: 0fd18e25b25c072e09e0d92ab615fda904d66300
    metrics:
    - type: precisión
      value: 66.76623376623377
    - type: f1
      value: 66.59096432882667
---

Ahora agrega los metadatos en la parte superior de un archivo README.md de cualquier modelo en el Hub, como este modelo SGPT-5.8B-msmarco, ¡y aparecerá en el ranking después de actualizar la página!

Próximos pasos

¡Sal ahí afuera y evalúa cualquier modelo que te guste! ¡Avísanos si tienes preguntas o comentarios abriendo un problema en nuestro repositorio de GitHub o en la pestaña de la comunidad del ranking 🤗

¡Feliz incrustación!

Créditos

Un gran agradecimiento a los siguientes que contribuyeron al artículo o al código base de MTEB (listados en orden alfabético): Steven Liu, Loïc Magne, Nils Reimers y Nouamane Tazi.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Nueva York planea invertir 1.000 millones de dólares para expandir la investigación de chips

La medida tiene como objetivo atraer $9 mil millones de inversión corporativa, ya que Nueva York lucha por ser sede d...

Ciencia de Datos

PatchTST Un avance en la predicción de series temporales.

Los modelos basados en Transformer han sido aplicados con éxito en muchos campos, como el procesamiento del lenguaje ...

Inteligencia Artificial

Cómo Patsnap utilizó la inferencia de GPT-2 en Amazon SageMaker con baja latencia y costo

Esta publicación de blog fue coescrita, e incluye una introducción, por Zilong Bai, ingeniero principal de procesamie...

Inteligencia Artificial

Mejora Amazon Lex con características de preguntas frecuentes conversacionales utilizando LLMs

Amazon Lex es un servicio que te permite construir de manera rápida y sencilla bots conversacionales (chatbots), agen...

Inteligencia Artificial

OpenAI insinúa la liberación del modelo GPT de código abierto

OpenAI, una fuerza pionera en inteligencia artificial, está causando revuelo en la comunidad tecnológica al potencial...