Skip to content

cubenlp/BIBench

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Benchmarking Data Analysis Knowledge of Large Language Models

📖 Data • 📃 Paper

✨ 介绍

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的性能:

Zero-shot 性能

这41个模型在Zero-Shot上的平均分数排序如下:

📌 许可

BIBench是由创建和转换的数据集混合而成。我们要求您遵循数据集创建者的许可证。请查看任务列表以获取每个任务的原始来源。

🔜 未来计划

🤖LLM方面:

  • 提升逻辑推理能力,训练14B以上的中文数据分析模型底座:在BIChat的迭代过程中,我们发现和医疗、教育、法律等垂直领域不同的是,数据分析场景通常涉及细粒度数据洞察,这要求模型自身有很强的数据敏感度和逻辑能力,预计只有模型参数量达到14B以上才可以。最近大火的MOE框架也可以考虑。
  • 安全可信,减少幻觉:数据分析是一个推理严谨的场景,我们接下来会再优化模型思维链能力、以及对多模态信息处理。
  • 私有数据模型:我们一方面会继续扩大模型的基础数据分析能力,另一方面会探索B/G端的定制化私有需求,欢迎探讨合作。

🔍指标方面:

  • 指标定义:ROUGE-L 并不是评估生成数据分析结果的好指标。我们将探索使用基于大语言模型的数据分析任务专用评价指标。
  • 数据泄露问题:有些模型可能训练时已经见过测试数据的一部分,我们将探索更有效的策略防止数据污染。
  • 任务列表:我们将不断更新 BIBench 中的任务列表。欢迎外部贡献者与我们合作。

项目参与者

本项目由华东师范大学计算机学院完成,指导教师为兰曼

以下为相关贡献者,排名不分先后

成员:刘曙赵尚卿贾承昊庄薪霖龙肇广王至宏

商务:刘曙(1554987494@qq.com)

🖊️ Citation

@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 ,感谢以上作者的付出。

About

BIBench:数据分析领域LLM评测基准

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published