🚀 T5-small在WikiSQL上的微调模型
本项目基于 Google的T5 small 模型,在 WikiSQL 数据集上进行微调,实现从 英语 到 SQL 的 翻译 功能。
🚀 快速开始
模型调用示例
from transformers import AutoModelWithLMHead, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("mrm8488/t5-small-finetuned-wikiSQL")
model = AutoModelWithLMHead.from_pretrained("mrm8488/t5-small-finetuned-wikiSQL")
def get_sql(query):
input_text = "translate English to SQL: %s </s>" % query
features = tokenizer([input_text], return_tensors='pt')
output = model.generate(input_ids=features['input_ids'],
attention_mask=features['attention_mask'])
return tokenizer.decode(output[0])
query = "How many millions of params there are in HF-hub?"
get_sql(query)
✨ 主要特性
本项目使用微调后的T5-small模型,能够将英语查询语句准确地翻译成SQL语句,可应用于需要进行英语到SQL转换的自然语言处理场景。
📚 详细文档
T5模型详情
T5 模型由 Colin Raffel、Noam Shazeer、Adam Roberts、Katherine Lee、Sharan Narang、Michael Matena、Yanqi Zhou、Wei Li、Peter J. Liu 在论文 Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer 中提出。以下是论文摘要:
迁移学习是自然语言处理(NLP)中的一种强大技术,即模型先在数据丰富的任务上进行预训练,然后在下游任务上进行微调。迁移学习的有效性催生了多种方法、方法论和实践。在本文中,我们通过引入一个统一的框架,将每个语言问题转化为文本到文本的格式,探索了NLP迁移学习技术的领域。我们的系统研究比较了数十个语言理解任务上的预训练目标、架构、无标签数据集、迁移方法和其他因素。通过将我们的探索见解与规模和新的“Colossal Clean Crawled Corpus”相结合,我们在涵盖摘要、问答、文本分类等多个基准测试中取得了最先进的结果。为了促进未来NLP迁移学习的研究,我们发布了数据集、预训练模型和代码。

数据集详情 📚
数据集ID:wikisql
,来自 Huggingface/NLP
数据集 |
划分 |
样本数量 |
wikisql |
训练集 |
56355 |
wikisql |
验证集 |
14436 |
如何从 nlp 加载该数据集:
train_dataset = nlp.load_dataset('wikisql', split=nlp.Split.TRAIN)
valid_dataset = nlp.load_dataset('wikisql', split=nlp.Split.VALIDATION)
在 NLP Viewer 中查看该数据集和其他数据集的更多信息。
模型微调 🏋️
训练脚本是 Suraj Patil 创建的 此Colab Notebook 的略微修改版本,所有功劳归于他!
模型应用 🚀
上述代码展示了如何使用微调后的模型将英语查询转换为SQL语句。
由 Manuel Romero/@mrm8488 创建 | LinkedIn
于西班牙用心打造 ♥