🚀 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
於西班牙用心打造 ♥