echarlaix/bert-base-uncased-sst2-acc91.1-d37-hybrid
echarlaix
Clasificación de texto
Modelo bert-base-uncased ajustado con el conjunto de datos SST-2. Este modelo fue creado utilizando la biblioteca python nn_pruning: las capas lineales contienen el 37% de los pesos originales. El modelo contiene el 51% de los pesos originales en general (las embeddings representan una parte significativa del modelo y no se podan con este método). Su precisión es del 91.17%.
Como usar
Instala nn_pruning: contiene el script de optimización, que simplemente empaqueta las capas lineales en otras más pequeñas al eliminar filas/columnas vacías.
pip install nn_pruning
Luego puedes usar la biblioteca transformers casi como de costumbre: solo tienes que llamar a optimize_model cuando el pipeline se haya cargado.
from transformers import pipeline
from nn_pruning.inference_model_patcher import optimize_model
cls_pipeline = pipeline(
"text-classification",
model="echarlaix/bert-base-uncased-sst2-acc91.1-d37-hybrid",
tokenizer="echarlaix/bert-base-uncased-sst2-acc91.1-d37-hybrid",
)
print(f"Cantidad de parámetros (incluye solo la poda de cabezas, sin poda de feed forward)={int(cls_pipeline.model.num_parameters() / 1E6)}M")
cls_pipeline.model = optimize_model(cls_pipeline.model, "dense")
print(f"Cantidad de parámetros después de la optimización={int(cls_pipeline.model.num_parameters() / 1E6)}M")
predictions = cls_pipeline("This restaurant is awesome")
print(predictions)
Funcionalidades
- Ajustado a partir del punto de control del modelo HuggingFace
- Destilado del modelo textattack/bert-base-uncased-SST-2
- Modelo insensible a mayúsculas y minúsculas
- Método de poda de bloques elimina algunas cabezas de atención
- Tamaño de archivo del modelo Pytorch: 351MB
Casos de uso
- Clasificación de texto
- Análisis de sentimientos