🚀 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 中提出。原始代碼倉庫可在 這裡 找到。
✨ 主要特性
- TAPEX是一種概念簡單且經驗證有效的預訓練方法,能賦予現有模型“表格推理”技能。它通過在合成語料庫上學習神經SQL執行器來實現表格預訓練,該語料庫由自動合成的可執行SQL查詢獲得。
- 基於BART架構,這是一種具有雙向(類似BERT)編碼器和自迴歸(類似GPT)解碼器的Transformer編碼器 - 編碼器(seq2seq)模型。
- 此模型是在 Tabfact 數據集上微調的
tapex - base
模型。
📦 安裝指南
文檔未提及安裝步驟,暫不展示。
💻 使用示例
基礎用法
from transformers import TapexTokenizer, BartForSequenceClassification
import pandas as pd
tokenizer = TapexTokenizer.from_pretrained("microsoft/tapex-large-finetuned-tabfact")
model = BartForSequenceClassification.from_pretrained("microsoft/tapex-large-finetuned-tabfact")
data = {
"year": [1896, 1900, 1904, 2004, 2008, 2012],
"city": ["athens", "paris", "st. louis", "athens", "beijing", "london"]
}
table = pd.DataFrame.from_dict(data)
query = "beijing hosts the olympic games in 2012"
encoding = tokenizer(table=table, query=query, return_tensors="pt")
outputs = model(**encoding)
output_id = int(outputs.logits[0].argmax(dim=0))
print(model.config.id2label[output_id])
評估方法
評估腳本請參考 這裡。
📚 詳細文檔
你可以使用該模型進行表格事實驗證。
🔧 技術細節
文檔未提供足夠技術細節,暫不展示。
📄 許可證
本項目採用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}
}