Dynamic-TinyBERT
Intel
Pregunta y respuesta
Dynamic-TinyBERT ha sido ajustado para la tarea de procesamiento de lenguaje natural (NLP) de respuesta a preguntas, entrenado en el dataset SQuAD 1.1. Dynamic-TinyBERT es un modelo TinyBERT que utiliza la reducción de longitud de secuencia y la optimización de hiperparámetros para mejorar la eficiencia de inferencia según cualquier presupuesto computacional. Dynamic-TinyBERT se entrena solo una vez, desempeñándose a la par con BERT y logrando una compensación precisión-velocidad superior a cualquier otro enfoque eficiente (hasta 3.3x con <1% de pérdida).
Como usar
Aquí se explica cómo importar este modelo en Python:
import torch
from transformers import AutoTokenizer, AutoModelForQuestionAnswering
tokenizer = AutoTokenizer.from_pretrained("Intel/dynamic_tinybert")
model = AutoModelForQuestionAnswering.from_pretrained("Intel/dynamic_tinybert")
context = "recuerda el número 123456, te lo preguntaré más tarde."
question = "¿Cuál es el número que te dije?"
# Tokenizar el contexto y la pregunta
tokens = tokenizer.encode_plus(question, context, return_tensors="pt", truncation=True)
# Obtener las IDs de entrada y la máscara de atención
input_ids = tokens["input_ids"]
attention_mask = tokens["attention_mask"]
# Realizar la respuesta a preguntas
outputs = model(input_ids, attention_mask=attention_mask)
start_scores = outputs.start_logits
end_scores = outputs.end_logits
# Encontrar las posiciones de inicio y fin de la respuesta
answer_start = torch.argmax(start_scores)
answer_end = torch.argmax(end_scores) + 1
answer = tokenizer.convert_tokens_to_string(tokenizer.convert_ids_to_tokens(input_ids[0][answer_start:answer_end]))
# Imprimir la respuesta
print("Respuesta:", answer)
Funcionalidades
- Optimización de hiperparámetros
- Reducción de longitud de secuencia
- Eficiencia mejorada de inferencia
- Modelo TinyBERT6L con 6 capas, tamaño oculto de 768, tamaño de feedforward de 3072 y 12 cabezas
- Utiliza el dataset SQuAD 1.1, que incluye artículos de Wikipedia
Casos de uso
- Responder preguntas basadas en un corpus de texto
- Utilización en tareas de comprensión de lecturas
- No debe ser usado para crear intencionalmente ambientes hostiles o alienantes para las personas