madlag/bert-base-uncased-squadv1-x2.44-f87.7-d26-hybrid-filled-v1
Modelo BERT-base uncased afinado en SQuAD v1. Este modelo fue creado utilizando la biblioteca de Python nn_pruning: las capas lineales contienen el 26.0% de los pesos originales. El modelo en su totalidad contiene el 42.0% de los pesos originales. Con un simple redimensionamiento de las matrices lineales, corrió 2.44 veces más rápido que el modelo original en la evaluación. En términos de precisión, su F1 es 87.71, en comparación con 88.5 del modelo original, una caída de F1 de 0.79.
Como usar
Instalar nn_pruning: contiene el script de optimización, que solo empaqueta las capas lineales en unas más pequeñas eliminando filas/columnas vacías.
pip install nn_pruning
Luego puede utilizar la biblioteca transformers casi como de costumbre: solo tiene que llamar a optimize_model cuando el pipeline se haya cargado.
from transformers import pipeline
from nn_pruning.inference_model_patcher import optimize_model
qa_pipeline = pipeline(
"question-answering",
model="madlag/bert-base-uncased-squadv1-x2.44-f87.7-d26-hybrid-filled-v1",
tokenizer="madlag/bert-base-uncased-squadv1-x2.44-f87.7-d26-hybrid-filled-v1")
print("/home/lagunas/devel/hf/nn_pruning/nn_pruning/analysis/tmp_finetune parameters: 189.0M")
print(f"Parameters count (includes only head pruning, not feed forward pruning)={int(qa_pipeline.model.num_parameters() / 1E6)}M")
qa_pipeline.model = optimize_model(qa_pipeline.model, "dense")
print(f"Parameters count after complete optimization={int(qa_pipeline.model.num_parameters() / 1E6)}M")
predictions = qa_pipeline({
'context': "Frédéric François Chopin, born Fryderyk Franciszek Chopin (1 March 1810 – 17 October 1849), was a Polish composer and virtuoso pianist of the Romantic era who wrote primarily for solo piano.",
'question': "¿Quién es Frédéric Chopin?",
})
print("Predictions", predictions)
Funcionalidades
- Modelo BERT-base uncased afinado en SQuAD v1
- Las capas lineales contienen solo el 26.0% de los pesos originales
- El modelo en su totalidad contiene el 42.0% de los pesos originales
- Redimensionamiento de matrices lineales que permite una ejecución 2.44 veces más rápida
- Método de poda estructurado
- F1 de 87.71 con una caída de 0.79 en comparación con el modelo original
Casos de uso
- Respuesta a preguntas automáticas