tabla de clasificación y referencia ruMTEB actualizada / Sudo Null IT News

¡Hola a todos! Mi nombre es Roman Solomatin, represento al equipo AI-Run de X5 Tech, trabajamos en redes generativas en general y modelos de lenguaje en particular. Hace unos meses, la comunidad de desarrolladores de inteligencia artificial de habla rusa recibió una herramienta para evaluar modelos: punto de referencia ruMTEB (Parámetro comparativo de incrustación de texto masivo). Está diseñado para evaluar la representación de textos en ruso y permite comparar objetivamente varios modelos de incrustación que convierten el texto en vectores de números, enfocados en trabajar con el idioma ruso (más detalles en el artículo de los autores). Sin embargo, la primera versión de ruMTEB tenía 6 modelos probados, pero no había una tabla de clasificación conveniente.

Decidimos mejorar la situación y realizar pruebas adicionales para que el punto de referencia sea más representativo y útil para la comunidad. A saber: probamos 20 modelos más y agregamos una pestaña para tabla de clasificacióndonde podrás ver los resultados de cada modelo. Esto ayudará a los desarrolladores a navegar mejor en la elección de modelos para sus proyectos.

Estado de la clasificación de ruMTEB al 23 de septiembre de 2024

Estado de la clasificación de ruMTEB al 23 de septiembre de 2024

¿Para qué se utiliza la vectorización?

El modelo convierte texto en vectores numéricos, lo que le permite trabajar eficazmente con datos de texto.

Estas son las áreas clave de su aplicación:

  • Clasificación de texto — distribución del texto en categorías.

  • Análisis Semántico (STS) — determinación de la similitud de las propuestas.

  • Agrupar el texto (Agrupar) — agrupación de texto.

  • Traducción automática (Minería bittextual) — buscar la frase más adecuada en otro idioma.

  • Buscar (recuperar) — busque textos similares a pedido.

Lea más sobre el uso de LLM y las incorporaciones en nuestro artículo “Integración de LLM en chatbots corporativos: enfoque y experimentos de RAG”.

Modelos probados

Probamos los siguientes modelos:

Resultados y recomendaciones

Con base en el punto de referencia, se pueden sacar las siguientes conclusiones:

  • Máximo rendimiento: Si tiene la capacidad de asignar recursos importantes, entonces la mejor opción sería la intfloat/e5-mistral-7b-instruir. Muestra los mejores resultados, pero requiere mucha memoria y potencia de procesamiento.

  • Equilibrio óptimo: si tienes algunos gigabytes libres de VRAM, entonces debes prestar atención a los modelos deepvk/USUARIO-bge-m3, BAHÍA/bge-m3 y intfloat/multilingüe-e5-large-instruct. Ofrecen un buen equilibrio entre rendimiento y consumo de recursos.

  • Soluciones eficientes en recursos: los modelos son adecuados para desarrolladores con recursos limitados sergeyzh/LaBSE-ru-turbo y deepvk/base-USUARIO. Estos modelos pueden funcionar en configuraciones promedio y proporcionar una calidad de representación de texto decente.

  • Requisitos mínimos: Si prácticamente no tienes recursos, entonces el modelo sergeyzh/rubert-tiny-turbo será la mejor opción. Puede funcionar incluso en configuraciones muy modestas, sin dejar de ser bastante eficaz.

¿Cómo llegas a la clasificación?

Si desea probar su modelo y agregarlo a la tabla de clasificación de ruMTEB, ejecute próximos pasos:

1. Ejecutando el modelo en MTEB

Primero, debe ejecutar su modelo en MTEB (Multilingual Task Embedding Benchmark). Esto se puede hacer de dos maneras:

  1. a través de la API de Python;

  2. usando la línea de comando.

Usando la API de Python:

import mteb
from sentence_transformers import SentenceTransformer

model = SentenceTransformer(model_name)
benchmark = mteb.get_benchmark("MTEB(rus)")
evaluation = mteb.MTEB(tasks=benchmark)
evaluation.run(model, output_folder="results")

Usando la línea de comando:

mteb run -m {название_вашей_модели} -t {названия_задач}

Estos comandos guardarán los resultados en la carpeta. results/{model_name}/{model_revision}.

2. Formatear resultados

Una vez que reciba los resultados, deberá formatearlos para agregarlos a la tabla de clasificación. Utilice el siguiente comando:

mteb create_meta --results_folder results/{model_name}/{model_revision} --output_path model_card.md

Si tu modelo ya tiene un archivo README.mdpuedes combinar los resultados con la descripción existente:

mteb create_meta --results_folder results/{model_name}/{model_revision} --output_path model_card.md --from_existing ваш_существующий_readme.md

3. Agregar metadatos al repositorio de modelos

Copiar el contenido del archivo. model_card.md al principio del archivo README.md su repositorio de modelos en Hugging Face. Esto es necesario para que sus resultados se tengan en cuenta en la clasificación. Ejemplo de archivo README.md

4. Esperando la actualización de la tabla de clasificación.

Después de agregar metadatos a README.md tu modelo, solo espera hasta que la tabla de clasificación se actualice automáticamente. Las actualizaciones se realizan diariamente y su modelo aparecerá en la lista la próxima vez que se actualice.

Conclusión

Una nueva tabla de clasificación y una lista ampliada de modelos probados le ayudarán a elegir la herramienta más adecuada para sus tareas, ya sea trabajando en servidores potentes o en dispositivos con recursos mínimos.

Autores: Roman Solomatin, Michil Egorov

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *