语言: 英语
数据集:
- SQuAD
微调任务:
- 文本: "答案: Manuel 上下文: Manuel在HF-Transformers和谷歌的支持下创建了RuPERTa-base"
许可证: Apache-2.0
基于SQuAD微调的T5-base模型用于问题生成
谷歌T5模型在SQuAD v1.1数据集上微调,专用于问题生成任务,仅需在上下文前添加答案即可生成问题。
T5模型详情
T5模型由Colin Raffel, Noam Shazeer, Adam Roberts等在论文《探索统一文本到文本转换器的迁移学习极限》中提出。以下是摘要:
迁移学习通过先在大规模任务上预训练模型,再在下游任务上微调,已成为自然语言处理(NLP)的强大技术。其有效性催生了多种方法、方法论和实践。本文通过引入将每个语言问题转换为文本到文本格式的统一框架,系统比较了预训练目标、架构、无标签数据集、迁移方法等因素在数十项语言理解任务中的表现。结合探索成果与大规模“Colossal Clean Crawled Corpus”数据集,我们在摘要生成、问答、文本分类等多项基准测试中取得了最先进的结果。为促进NLP迁移学习的未来研究,我们公开了数据集、预训练模型和代码。

下游任务(问答)详情 - 数据集 📚 🧐 ❓
数据集ID: squad
(来自Huggingface/NLP)
数据集 |
划分 |
样本数 |
squad |
训练集 |
87,599 |
squad |
验证集 |
10,570 |
通过nlp库加载方式:
train_dataset = nlp.load_dataset('squad', split=nlp.Split.TRAIN)
valid_dataset = nlp.load_dataset('squad', split=nlp.Split.VALIDATION)
更多数据集详情请访问NLP Viewer
模型微调过程 🏋️
训练脚本基于Suraj Patil提供的优秀代码稍作修改。
Suraj Patil还对问题生成进行了深入研究。
模型实战演示 🚀
from transformers import AutoModelWithLMHead, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("mrm8488/t5-base-finetuned-question-generation-ap")
model = AutoModelWithLMHead.from_pretrained("mrm8488/t5-base-finetuned-question-generation-ap")
def generate_question(answer, context, max_length=64):
input_text = f"答案: {answer} 上下文: {context} </s>"
features = tokenizer([input_text], return_tensors='pt')
outputs = model.generate(
input_ids=features['input_ids'],
attention_mask=features['attention_mask'],
max_length=max_length
)
return tokenizer.decode(outputs[0])
context = "Manuel在HF-Transformers和谷歌的支持下创建了RuPERTa-base"
answer = "Manuel"
generate_question(answer, context)
引用
若需引用本模型,请使用以下格式:
@misc{mromero2021t5-base-finetuned-question-generation-ap,
title={基于SQuAD微调的T5(base)模型通过AP实现问题生成},
author={Romero, Manuel},
publisher={Hugging Face},
journal={Hugging Face Hub},
howpublished={\url{https://huggingface.co/mrm8488/t5-base-finetuned-question-generation-ap}},
year={2021}
}
由Manuel Romero/@mrm8488创建 | 领英主页
于西班牙倾心制作 ❤