🚀 TAPEX (大型模型)
TAPEX是一種用於表格推理的預訓練模型,它通過學習神經SQL執行器來實現表格預訓練,能有效提升現有模型的表格推理能力。
🚀 快速開始
TAPEX(通過執行進行表格預訓練)由Qian Liu、Bei Chen、Jiaqi Guo、Morteza Ziyadi、Zeqi Lin、Weizhu Chen、Jian - Guang Lou在論文 TAPEX: Table Pre - training via Learning a Neural SQL Executor 中提出。原始代碼倉庫可在 [這裡](https://github.com/microsoft/Table - Pretraining) 找到。
✨ 主要特性
- 強大的表格推理能力:TAPEX是一種概念簡單且經驗證有效的預訓練方法,可使現有模型具備表格推理技能。它通過在合成語料庫上學習神經SQL執行器來實現表格預訓練,該語料庫由自動合成的可執行SQL查詢獲得。
- 基於BART架構:TAPEX基於BART架構,這是一種具有雙向(類似BERT)編碼器和自迴歸(類似GPT)解碼器的Transformer編碼器 - 編碼器(seq2seq)模型。
- 特定數據集微調:此模型是在 WikiSQL 數據集上微調的
tapex - base
模型。
📦 安裝指南
文檔中未提及具體安裝步驟,故跳過此章節。
💻 使用示例
基礎用法
from transformers import TapexTokenizer, BartForConditionalGeneration
import pandas as pd
tokenizer = TapexTokenizer.from_pretrained("microsoft/tapex-large-finetuned-wikisql")
model = BartForConditionalGeneration.from_pretrained("microsoft/tapex-large-finetuned-wikisql")
data = {
"year": [1896, 1900, 1904, 2004, 2008, 2012],
"city": ["athens", "paris", "st. louis", "athens", "beijing", "london"]
}
table = pd.DataFrame.from_dict(data)
query = "In which year did beijing host the Olympic Games?"
encoding = tokenizer(table=table, query=query, return_tensors="pt")
outputs = model.generate(**encoding)
print(tokenizer.batch_decode(outputs, skip_special_tokens=True))
評估方法
評估腳本可在 這裡 找到。
📚 詳細文檔
你可以使用該模型處理相對簡單的表格問答問題。以下是一些可解決的問題示例(對應表格未展示):
問題 |
答案 |
告訴我南澳大利亞的備註是什麼 |
當前系列無口號 |
為巴特勒社區學院(堪薩斯州)效力的球員打什麼位置? |
後衛 - 前鋒 |
3號球員在多少所學校打過球? |
1.0 |
克拉科雙125(r2)比賽中有多少獲勝車手? |
1.0 |
2008年4月4日在美國播出的劇集叫什麼名字? |
《舞動奇蹟》第一部分,《舞動奇蹟》第二部分 |
🔧 技術細節
文檔中未提及具體技術細節內容,故跳過此章節。
📄 許可證
本項目採用MIT許可證。
BibTeX引用
@inproceedings{
liu2022tapex,
title={{TAPEX}: Table Pre-training via Learning a Neural {SQL} Executor},
author={Qian Liu and Bei Chen and Jiaqi Guo and Morteza Ziyadi and Zeqi Lin and Weizhu Chen and Jian-Guang Lou},
booktitle={International Conference on Learning Representations},
year={2022},
url={https://openreview.net/forum?id=O50443AsCP}
}