sjrhuschlee/flan-t5-base-squad2
sjrhuschlee
Pregunta y respuesta
Este es el modelo flan-t5-base, afinado utilizando el conjunto de datos SQuAD2.0. Ha sido entrenado en pares de preguntas y respuestas, incluidas preguntas sin respuesta, para la tarea de Preguntas y Respuestas Extractivas. ACTUALIZACIÓN: Con la versión 4.31.0 de transformers, ya no es necesario el use_remote_code=True. NOTA: El token debe agregarse manualmente al comienzo de la pregunta para que este modelo funcione correctamente. Usa el token para poder hacer predicciones de 'no respuesta'. El tokenizador t5 no agrega automáticamente este token especial, por lo que se agrega manualmente.
Como usar
import torch
from transformers import(
AutoModelForQuestionAnswering,
AutoTokenizer,
pipeline
)
model_name = "sjrhuschlee/flan-t5-base-squad2"
# a) Usando pipelines
nlp = pipeline(
'question-answering',
model=model_name,
tokenizer=model_name,
# trust_remote_code=True, # No usar si la versión transformers>=4.31.0
)
qa_input = {
'question': f'{nlp.tokenizer.cls_token}Where do I live?', # ' Where do I live?'
'context': 'My name is Sarah and I live in London'
}
res = nlp(qa_input)
# {'score': 0.980, 'start': 30, 'end': 37, 'answer': ' London'}
# b) Cargar modelo y tokenizador
model = AutoModelForQuestionAnswering.from_pretrained(
model_name,
# trust_remote_code=True # No usar si la versión transformers>=4.31.0
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
question = f'{tokenizer.cls_token}Where do I live?' # ' Where do I live?'
context = 'My name is Sarah and I live in London'
encoding = tokenizer(question, context, return_tensors="pt")
output = model(
encoding["input_ids"],
attention_mask=encoding["attention_mask"]
)
all_tokens = tokenizer.convert_ids_to_tokens(encoding["input_ids"][0].tolist())
answer_tokens = all_tokens[torch.argmax(output["start_logits"]):torch.argmax(output["end_logits"]) + 1]
answer = tokenizer.decode(tokenizer.convert_tokens_to_ids(answer_tokens))
# 'London'
Funcionalidades
- Modelo de lenguaje: flan-t5-base
- Idioma: Inglés
- Tarea descendente: Preguntas y Respuestas Extractivas
- Datos de entrenamiento: SQuAD 2.0
- Datos de evaluación: SQuAD 2.0
- Infraestructura: 1x NVIDIA 3070
Casos de uso
- Respuestas a preguntas extractivas a partir de textos dados.
- Predicción de respuestas incluso para preguntas sin respuesta.
- Aplicaciones en chatbots y asistentes virtuales.
- Análisis automatizado de textos para contestar preguntas de usuarios.