BIBench经过精心设计,可对大语言模型的数据分析能力进行精确评估。 在设计测试任务时,我们模拟了数据分析师的三个维度,并选择了11个任务来评估大模型的能力。 与一些仅有多项选择题的现有基准相比,我们包含了更多与现实世界应用密切相关的任务类型,如探索性数据分析、多角度SQL生成、数据分析与挖掘以及数值推理计算等。
我们的数据集包括 11 个不同的任务,涵盖 3 个维度能力:
- BI数值计算:LLM是否具备较强的数值推理计算能力和相关的金融知识水平。
- BI知识理解:LLM是否能够快速理解文本中的信息以及生成多角度分析问题的能力。
- BI技术能力:LLM是否很好的利用技术知识来解决真实场景的数据分析需求。
以下是包含的任务列表。
领域技能 | ID | 任务 | 英文名称 | 数据源 | 数量 | 指标 | 类型 |
---|---|---|---|---|---|---|---|
BI数值计算 | 1-1 | 金融试题 | Financial Multiple Choice | fin_exam | 500 | F1 | 分类 |
1-2 | 数值推理问答 | Numerical reasoning QA | ConvFinQA | 500 | Accuracy | 生成 | |
BI知识理解 | 2-1 | 舆情主体识别和类型判断 | Sentiment Analysis | event_entity_ps | 600 | F1 | 抽取 |
2-2 | 事件抽取与事件类型检测 | Event Extraction | ccks_fewshot_ER | 250 | F1 | 抽取 | |
2-3 | 风险和机会标签识别 | Early Warning Analysis | op_risk_extract | 300 | F1 | 抽取 | |
2-4 | 多形态抽取 | Multiformat Infor Extraction | due_fin_ER | 250 | F1 | 抽取 | |
2-5 | 数据分析与挖掘 | Data2Insight | data2insight | 300 | ROUGE-L | 生成 | |
2-6 | 文档Markdown结构化 | Doc2Markdown | doc2markdown | 300 | ROUGE-L | 生成 | |
2-7 | 多角度SQL生成 | NL2ViSQL | 数据改造 | 400 | ROUGE-L | 生成 | |
BI技术能力 | 3-1 | 文本转SQL | Text2SQL | Text2SQL | 600 | EM | 生成 |
3-2 | 探索性数据分析 | Exploratory Data Analysis | expolre_datanlysis | 100 | ROUGE-L | 生成 |
数据存储在 data 文件夹下。每个任务都存储在 <task_id>.json 文件中。 可以通过 json.load 将 json 文件作为字典列表加载。 数据格式如下(以任务 2-8 为例):
[
{
"instruction": "According to the table schema and analyze goal, generate several SQL queries whose results can be view in one of the following chart type:\n['Table', 'LineChart', 'BarChart', 'IndicatorValue'] and respond in the following json format:\n\"[\n {{\n \"sql\": \"data analysis SQL\",\n \"title\": \"Data Analysis Title\",\n \"showcase\": \"What type of charts to show\",\n \"thoughts\": \"Current thinking and value of data analysis\"\n }}\n]",
"input": "确定最大毛重最高的飞机\nTable schema:['Aircraft_ID', 'Aircraft', 'Description', 'Max_Gross_Weight', 'Total_disk_area', 'Max_disk_Loading']",
"output": "[{\"sql\": \"SELECT Aircraft_ID, Aircraft, Description, Max_Gross_Weight FROM Aircraft ORDER BY Max_Gross_Weight DESC LIMIT 1\", \"title\": \"Aircraft with Maximum Gross Weight\", \"showcase\": \"Table\", \"thoughts\": \"通过查询飞机的最大起飞重量来找出最大的飞机。为了实现这个目标,我们选择从飞机数据库中选择飞机ID,飞机名称,描述和最大起飞重量字段,并按照最大起飞重量进行降序排序,然后只选择最大重量的那一架飞机。这个分析通过直接展示表格结果形式最为直观。\"}, {\"sql\": \"SELECT AVG(Max_Gross_Weight), AVG(Total_disk_area), AVG(Max_disk_Loading) FROM Aircraft\", \"title\": \"Statistics of key features\", \"showcase\": \"Table\", \"thoughts\": \"通过计算各航空器的总平均最大载重,总磁盘面积和最大磁盘载荷,我们可以得到重要特征的平均统计数据。这对于理解整体航空器性能具有重要指导价值。此分析结果适合表格形式展示,利于读者快速获取关键数据。\"}]"
},
]
我们测试了41种热门的大语言模型。我们对它们进行了分组,如下表所示:
我们仅测试模型zero-shot的性能:
这41个模型在Zero-Shot上的平均分数排序如下:
BIBench是由创建和转换的数据集混合而成。我们要求您遵循数据集创建者的许可证。请查看任务列表以获取每个任务的原始来源。
- 提升逻辑推理能力,训练14B以上的中文数据分析模型底座:在BIChat的迭代过程中,我们发现和医疗、教育、法律等垂直领域不同的是,数据分析场景通常涉及细粒度数据洞察,这要求模型自身有很强的数据敏感度和逻辑能力,预计只有模型参数量达到14B以上才可以。最近大火的MOE框架也可以考虑。
- 安全可信,减少幻觉:数据分析是一个推理严谨的场景,我们接下来会再优化模型思维链能力、以及对多模态信息处理。
- 私有数据模型:我们一方面会继续扩大模型的基础数据分析能力,另一方面会探索B/G端的定制化私有需求,欢迎探讨合作。
- 指标定义:ROUGE-L 并不是评估生成数据分析结果的好指标。我们将探索使用基于大语言模型的数据分析任务专用评价指标。
- 数据泄露问题:有些模型可能训练时已经见过测试数据的一部分,我们将探索更有效的策略防止数据污染。
- 任务列表:我们将不断更新 BIBench 中的任务列表。欢迎外部贡献者与我们合作。
本项目由华东师范大学计算机学院完成,指导教师为兰曼
以下为相关贡献者,排名不分先后
商务:刘曙([email protected])
@misc{liu2024bibench,
title={BIBench: Benchmarking Data Analysis Knowledge of Large Language Models},
author={Shu Liu and Shangqing Zhao and Chenghao Jia and Xinlin Zhuang and Zhaoguang Long and Man Lan},
year={2024},
eprint={2401.02982},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
如果您希望进一步完善这个BI数据集或评估自己的模型,请随时联系我们。
本项目思路启发受益于LawBench、模型训练框架受益于LLaMA-Factory ,感谢以上作者的付出。