TableGPT2-7B:用于表格数据分析的大规模解码器模型

在这里插入图片描述
TableGPT2-7B 是浙江大学开发的最先进的大规模解码器模型,专为涉及表格数据的数据密集型任务而设计。该模型以 Qwen2.5 架构为基础,包括针对表格数据的专用编码,其中独特的语义编码器可从行、列和整个表格中获取洞察力。

主要特点和功能

TableGPT2-7B 是一个功能强大的模型,可以处理文本和表格数据作为输入,其中表格数据以 df.head() 结果格式作为文本结构。该模型可生成基于文本的输出结果,特别适用于编码任务、数据解释和以商业智能 (BI) 为重点的问题解答。其功能包括

  • 表格数据分析: TableGPT2-7B 可以解释和分析表格数据,提供对行、列和整个表格的深入分析。
  • 代码生成: 该模型可为数据分析和处理等编码任务生成代码片段。
  • 数据解释: TableGPT2-7B 可以对从表格数据中得出的见解提供自然语言解释和总结。
  • 以商业智能为重点的问题解答: 该模型可回答与商业智能和数据分析有关的问题,并提供相关的翔实回答。

模型架构和训练

TableGPT2-7B 建立在 Qwen2.5 架构之上,并包含表格数据专用编码。该模型在多模态数据源和商业智能特定示例上进行了持续预训练(CPT)和监督微调(SFT)。训练数据包括超过 593,800 个策划表、860 亿个用于 CPT 的标记和 236 万个用于 SFT 的高质量查询表输出图元。

与其他模型的比较

TableGPT2-7B 旨在弥补传统语言模型与表格数据任务的实际需求之间的差距。它的性能优于 GPT-2 Large 和 GPT-2 XL 等其他模型,后者是在广泛的互联网数据上训练出来的通用模型。TableGPT2-7B 也不同于 BioGPT-Large 和 BioGPT-Large-PubMedQA 等生物医学语言模型,后者专注于生物医学领域。

BenchmarkMetricGPT-4oTableLLM (Qwen2)TableLLM (CodeQwen)TableLLM (LLaMA3)TableLLM (LLaMA3.1)TableLLM (DeepSeek)TableLLM-13BDeepSeek-liteYi-CoderQwen2.5-CoderQwen2.5-InstructTableGPT2-7BTableGPT2-72B
Table Understanding
Col Type Annot.F131.7510.105.711.471.596.0412.7020.585.3832.5922.1985.8885.67
Relation Extract.F152.951.603.792.392.003.3418.168.672.2531.0015.9283.3579.50
Entity LinkingAcc90.8047.1039.700.200.6015.5066.2570.1541.7571.7082.2592.0093.30
Row Pop.MAP53.402.205.141.936.233.1314.251.201.0013.2312.3059.9755.83
Question Answering
HiTabExec Acc48.4011.740.000.000.0039.086.300.760.001.7010.7370.2775.57
FetaQABLEU21.7012.248.692.423.107.9410.8315.0811.1713.0016.9128.9732.25
HybridQAAcc58.6027.1220.1427.3527.6119.5351.8842.5829.8351.1051.1353.1756.41
WikiSQLAcc47.6046.5037.2039.2639.0036.1441.1038.3025.3446.9047.4253.7457.32
WikiTQAcc68.4064.1636.0534.9538.8436.0566.3047.6543.3774.5068.5561.4271.45
Fact Verification
TabFactAcc74.4072.0053.2040.0627.1360.7668.9562.2779.677.2684.6077.8085.43
FEVEROUSAcc71.6020.1046.9051.5042.3018.3921.457.8038.1060.7063.3078.0576.80
Table to Text
ToTToBLEU12.216.953.105.506.233.815.368.762.6410.5011.9114.1022.69
Natural Language to SQL
BIRD(dev)Exec Acc-9.137.371.832.480.390.7225.1024.1927.1818.9731.4238.40
BIRD(dev-knowledge)Exec Acc-15.4518.193.393.720.391.8336.5139.9642.9631.4249.2860.76
Spider(dev)Exec Acc-42.2632.8812.8618.962.714.2666.4458.1270.9961.7076.3179.40
Spider(test)Exec Acc-40.2934.9312.0216.357.332.9366.6556.8769.7360.1874.3878.48
Holistic Table Evaluation
TableBenchDP-26.6226.4426.7126.7326.153.8829.6021.9428.6725.1832.0338.90
TableBenchTCoT-37.0831.3329.7930.0128.653.8530.9322.836.2529.7742.3450.06
TableBenchSCoT-14.1117.789.6012.3822.392.8822.618.4325.9524.3525.0130.47
TableBenchPoT@1-21.0526.3931.9625.8028.392.9410.9011.3616.1522.5833.5228.98
# 潜在应用

TableGPT2-7B 可以成为各种商业智能和数据驱动型应用的重要工具,包括

  • 自动生成报告: 该模型可从表格数据源生成报告、仪表盘和分析摘要。
  • 数据驱动的内容创建: TableGPT2-7B 可根据表格数据生成自然语言内容,如新闻文章、博客文章和社交媒体内容。
  • 代码生成: 该模型可为数据库和数据仓库应用程序相关的编码任务生成代码片段。

代码

transformers

pip install transformers>=4.37.0
from transformers import AutoModelForCausalLM, AutoTokenizer# Using pandas to read some structured data
import pandas as pd
from io import StringIO# single table
EXAMPLE_CSV_CONTENT = """
"Loss","Date","Score","Opponent","Record","Attendance"
"Hampton (14–12)","September 25","8–7","Padres","67–84","31,193"
"Speier (5–3)","September 26","3–1","Padres","67–85","30,711"
"Elarton (4–9)","September 22","3–1","@ Expos","65–83","9,707"
"Lundquist (0–1)","September 24","15–11","Padres","67–83","30,774"
"Hampton (13–11)","September 6","9–5","Dodgers","61–78","31,407"
"""csv_file = StringIO(EXAMPLE_CSV_CONTENT)
df = pd.read_csv(csv_file)model_name = "tablegpt/TableGPT2-7B"model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype="auto", device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)example_prompt_template = """Given access to several pandas dataframes, write the Python code to answer the user's question./*
"{var_name}.head(5).to_string(index=False)" as follows:
{df_info}
*/Question: {user_question}
"""
question = "哪些比赛的战绩达到了40胜40负?"prompt = example_prompt_template.format(var_name="df",df_info=df.head(5).to_string(index=False),user_question=question,
)messages = [{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": prompt},
]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)generated_ids = model.generate(**model_inputs, max_new_tokens=512)
generated_ids = [output_ids[len(input_ids) :]for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]

vllm

pip install "vllm>=0.4.3"

模型部署: 使用 vLLM 部署模型。 例如,您可以使用该命令建立一个类似于 openAI 的服务器:

python -m vllm.entrypoints.openai.api_server --served-model-name TableGPT2-7B --model path/to/weights

客户端

curl http://localhost:8000/v1/chat/completions \-H "Content-Type: application/json" \-d '{"model": "TableGPT2-7B","messages": [{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "Hey, who are you?"}]}'

未来发展

TableGPT2-7B 的未来版本可能会发布,以增强其在特殊任务中的性能。该模型目前正在开发中,我们鼓励用户探索其功能并提供反馈。

总的来说,TableGPT2-7B 是一个功能强大的模型,有可能彻底改变我们分析和解释表格数据的方式。其独特的架构和功能使其成为各种商业智能和数据驱动应用的理想工具。

感谢大家花时间阅读我的文章,你们的支持是我不断前进的动力。点赞并关注,获取最新科技动态,不落伍!🤗🤗🤗

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/15742.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

SQL面试题——抖音SQL面试题 主播播出时长

主播播出时长 现有如下数据,主播id、房间号、播出的批次号,每个批次号进出房间的时间戳、分区时间: 每一次直播都有一个上播和下播,每个房间里,同一个批次号会有两条数据,分别记录了上播和下播时间,求每个主播的播出时长? 通过上面的数据,可以清晰的看出,同一个批次…

数字信号处理Python示例(14)生成锯齿波和三角波

文章目录 前言一、锯齿波和三角波二、生成锯齿波和三角波的Python代码三、仿真结果及分析写在后面的话 前言 因其独特的数学特性和物理表现,在工程和技术领域扮演着重要角色。这是生成非正弦信号的几个Python示例的其中一个,生成三角波与锯齿波&#xf…

HBase理论_HBase架构组件介绍

近来有些空闲时间,正好最近也在开发HBase相关内容,借此整理一下学习和对HBase组件的架构的记录和个人感受,付出了老夫不少心血啊,主要介绍的就是HBase的架构设计以及我的拓展内容。内容如有不当或有其他理解 matirx70163.com HB…

前端快速上手(一):HTML

目录 1. HTML 基础 1.1 HTML 标签 1.2 标签的结构关系 2. HTML 常见标签 2.1 标题标签: h1 - h6 2.2 段落标签: p 2.3 换行标签: br 2.4 图片标签: img 2.5 超链接: a 标签 2.5.1 外部链接 2.5.2 内部链接 2.5.3 文件资源链接 2.5.4 空链接 2.6 表格标签 2.7 表单…

QT<30> Qt中使鼠标变为转圈忙状态

前言:当我们在写软件时,在等待阻塞耗时操作时可以将鼠标变为忙状态,并在一段时间后恢复状态,可以用到GxtWaitCursor:Qt下基于RAII的鼠标等待光标类。 一、效果演示 二、详细代码 在项目中添加C文件,命名为…

Shell环境导致编译失败处理方法

在嵌入式Linux系统源码(BSP包)编译时,有可能会如现如下提示: [[: not found 这种提示,一般是Shell环境为dash而不是bash导致,可以通过如下命令来切换: sudo dpkg-reconfigure dash 执行后会…

nginx openresty lua-resty-http 使用的一些问题记录

需求背景 需求是使用 nginx 做一个 https 服务的代理 nginx 收到 http 请求后,需要修改 body 中的某些参数值,然后将修改后的数据发送到目标服务器(https) 本来以为很简单的需求,结果中间出现了不少岔子,这…

Redis的分布式锁分析

系列文章目录 Java项目对接redis,客户端是选Redisson、Lettuce还是Jedis? 由Redis引发的分布式锁探讨 系列文章目录一、什么是分布式锁?二、Redis分布式锁的几种实现1. 简单分布式锁2. Redlock 三、Redis 锁的问题1. 互斥失效2. 时钟偏移 四…

柯桥生活英语口语学习“面坨了”英语怎么表达?

“面坨了”英语怎么表达? 要想搞清楚这个表达,首先,我们要搞明白“坨”是啥意思? 所谓“坨”就是指,面条在汤里泡太久,从而变涨,黏糊凝固在一起的状态。 有一个词汇,很适合用来表达这…

鸿蒙NEXT应用示例:切换图片动画

【引言】 在鸿蒙NEXT应用开发中,实现图片切换动画是一项常见的需求。本文将介绍如何使用鸿蒙应用框架中的组件和动画功能,实现不同类型的图片切换动画效果。 【环境准备】 电脑系统:windows 10 开发工具:DevEco Studio NEXT B…

UAC2.0 speaker——speaker 数据传输

文章目录 麦克风数据传输准备音频数据抓包原始数据频谱分析(FFT)应用麦克风数据传输 上一节中实现了 USB 麦克风设备 本节主要介绍 MCU 麦克风的数据如何传输给上位机。 准备音频数据 MCU 端发送 48KHZ, 16bit 单声道的正弦波数据,正弦波数据的生成参考 音频——C语言生…

【多语言】每种语言打印helloworld,编译为exe会占多大空间

文章目录 背景c语言 53KBc 53KBgo 1.8Mdart 4.6Mpython未测试nodejs未测试rust未测试java未测试cmd || bash || powershell 未测试other 背景 各个版本的helloworld,纯属闲的, 环境如下: - win10 - mingw: gcc8.1.0 - go1.21 - dart3.5.4c语言 53KB gcc main.c -…

Android12的ANR解析

0. 参考: ANR分析 深入理解 Android ANR 触发原理以及信息收集过程 1.ANR的触发分类: ANR分为4类: InputDispatchTimeout:输入事件分发超时5s,包括按键和触摸事件。BroadcastTimeout:比如前台广播在10s内未执行完成&#xff0…

2022-2023全国高校计算机能力挑战赛区域赛python组编程题

mi目录 2022 1. 2. 1. 使用 format() 方法 2. 使用 f-string(Python 3.6 及以上) 2023 1. 2. 3. 4 闽农大宝玲楼 2022 1. 1.某动物研究员给动物园的动物们定了一个园区幸福值,其中园区幸福值的计算为一个园区内“所有动物的活动时…

函数的栈帧

前言: 1.请使用vs2013调试,我使用vs2019被恶心到了,封装严重,不利于观察。 2.函数栈帧:函数就是程序,程序就需要空间来运行,所以我们要为他分配空间,分配的空间用ebp esp维护&…

机器学习基础04

目录 1.朴素贝叶斯-分类 1.1贝叶斯分类理论 1.2条件概率 1.3全概率公式 1.4贝叶斯推断 1.5朴素贝叶斯推断 1.6拉普拉斯平滑系数 1.7API 2.决策树-分类 2.1决策树 2.2基于信息增益的决策树建立 2.2.1信息熵 2.2.2信息增益 2.2.3信息增益决策树建立步骤 2.3基于基…

如何解决IDE添加错误GitHub token后无法连接GitHub的问题

背景 当初学者首次使用IDE(IDEA、Xcode等)对GitHub仓库进行操作(push、fetch)时,会提示输入GitHub账户和token,如果这时候你一不小心输入了错误的token,之后你就叫天天不应叫地地不灵了&#xf…

PPT技巧:如何合并PPT文件?

在工作与学习中,PPT(PowerPoint)演示文稿已成为信息传递、项目汇报、教育培训等领域不可或缺的工具。随着任务的累积,我们往往会积累大量单独的PPT文件,每个文件可能包含特定章节、项目阶段或是不同主题的内容。为了更…

安全见闻1-5

涵盖了编程语言、软件程序类型、操作系统、网络通讯、硬件设备、web前后端、脚本语言、病毒种类、服务器程序、人工智能等基本知识,有助于全面了解计算机科学和网络技术的各个方面。 安全见闻1 1.编程语言简要概述 C语言:面向过程,适用于系统…

k-近邻算法(K-Nearest Neighbors, KNN)详解:机器学习中的经典算法

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…