Descripción
SpanBERT es un modelo avanzado de IA desarrollado por Facebook Research, diseñado para mejorar las técnicas de pre-entrenamiento centrándose en la representación y predicción de fragmentos de texto. Este repositorio proporciona el código y los modelos necesarios para que investigadores y desarrolladores utilicen y evalúen las capacidades de SpanBERT.
Leer más
El proyecto ofrece modelos pre-entrenados tanto en versiones base como grandes con mayúsculas/minúsculas. Estos modelos comparten la misma configuración que BERT pero incorporan esquemas de enmascaramiento y objetivos de entrenamiento distintos, como se detalla en el artículo adjunto. El modelo SpanBERT (base y con mayúsculas/minúsculas) presenta una arquitectura de 12 capas con 768 unidades ocultas y 12 cabezales, sumando 110 millones de parámetros. El modelo SpanBERT más grande (grande y con mayúsculas/minúsculas) cuenta con una arquitectura de 24 capas, 1024 unidades ocultas, 16 cabezales y 340 millones de parámetros. Estos modelos están diseñados para una integración fluida, adoptando el formato de los modelos BERT de HuggingFace, lo que permite una fácil sustitución.
Este repositorio incluye código completo para el ajuste fino (fine-tuning) de SpanBERT en una variedad de tareas de Procesamiento del Lenguaje Natural (PLN). Se proporcionan scripts específicos para el ajuste fino en los conjuntos de datos de respuesta a preguntas SQuAD 1.1 y SQuAD 2.0, TACRED para extracción de relaciones, y benchmarks MRQA que abarcan conjuntos de datos como NewsQA, TriviaQA, SearchQA, HotpotQA y NaturalQuestions. Adicionalmente, hay código disponible para el ajuste fino en tareas GLUE, como RTE. Para tareas de resolución de correferencia, se enlaza una implementación separada en TensorFlow.
Se presentan benchmarks de rendimiento, mostrando los resultados superiores de SpanBERT en comparación con BERT en los conjuntos de datos SQuAD 1.1, SQuAD 2.0, Coref y TACRED. Por ejemplo, SpanBERT (grande) logra una puntuación F1 de 94.6 en SQuAD 1.1 y 88.7 en SQuAD 2.0, superando a BERT (grande). El proyecto también facilita la descarga de modelos ajustados para tareas posteriores (downstream tasks), simplificando el proceso de adopción para los usuarios.
SpanBERT se publica bajo la licencia CC-BY-NC 4.0, que se aplica tanto al código como a los modelos pre-entrenados. Esto lo hace accesible para investigación y desarrollo no comercial. El repositorio fomenta las contribuciones y proporciona información de contacto para consultas y soporte.
- CategoríaModelos de IA y LLM
- Modelo de preciosCódigo abierto
- ImplementaciónNube, Autoalojado
- PlataformasWeb
Características principales de SpanBERT
Modelos SpanBERT pre-entrenados (base y grande, con mayúsculas/minúsculas)
Código para usar y evaluar SpanBERT
Scripts de ajuste fino para SQuAD 1.1 y SQuAD 2.0
Scripts de ajuste fino para extracción de relaciones TACRED
Scripts de ajuste fino para conjuntos de datos MRQA (NewsQA, TriviaQA, etc.)
Scripts de ajuste fino para tareas GLUE (RTE)
Compatibilidad con formatos de modelos BERT de HuggingFace
Código de ajuste fino para resolución de correferencia disponible
Benchmarks de rendimiento comparados con BERT
Modelos ajustados descargables para tareas posteriores
Implementación del artículo SpanBERT: Improving Pre-training by Representing and Predicting Spans
Primeros pasos con SpanBERT
Acceder al código: Clonar el repositorio de GitHub de SpanBERT.
Configurar el entorno: Instalar las dependencias requeridas, incluyendo Apex (se recomienda un commit específico).
Cargar modelos pre-entrenados: Utilizar los scripts proporcionados para cargar modelos SpanBERT base o grandes con mayúsculas/minúsculas.
Ajustar modelos: Ejecutar los scripts de Python proporcionados para tareas como SQuAD, TACRED, MRQA o GLUE.
Integrar vía API: Adaptar el uso del modelo para aplicaciones personalizadas, aprovechando la compatibilidad con HuggingFace.
Evaluar rendimiento: Ejecutar scripts de evaluación para valorar el rendimiento del modelo en tareas específicas de PLN.
Descargar modelos ajustados: Usar los scripts proporcionados para obtener modelos pre-entrenados para tareas posteriores.
Casos de uso de SpanBERT
- Respuesta a Preguntas
- Extracción de Relaciones
- Resolución de Correferencia
- Comprensión del Lenguaje Natural
- Predicción de Fragmentos de Texto
- Investigación y Desarrollo
- Evaluación de Benchmarks













