PenguinScrolls
收藏PenguinScrolls: A User-Aligned Fine-Grained Benchmark for Long-Context Language Model Evaluation
概述
PenguinScrolls(企鹅卷轴)是一个综合性的基准,旨在评估和增强大型语言模型(LLMs)的长文本处理能力。该数据集旨在填补当前长上下文语言模型评估基准与实际用户需求之间的差距,通过深入研究依赖长文本处理的用户群体的需求,构建了一个面向实际用户需求的多层次任务分类框架。
关键特点
- 细粒度任务类型:包含多层次、难度不同的任务,构建了一个基于长上下文处理能力的综合任务分类系统。
- 多轮对话数据:包含模拟人类提问的多轮对话数据,创建真实的长上下文多轮对话场景。
- 文档多样性:包含多种自然长文本,如书籍、财务报告、法律文件和学术论文,上下文长度可达128K tokens。
数据集组成
- 任务分类:
- 信息提取(420项)
- 信息定位(278项)
- 定性分析(305项)
- 数值推理(313项)
- 总计1,316个单轮数据实例。
最新动态
- 2024-11-20:多轮实例即将发布。
- 2024-11-20:详细介绍PenguinScrolls数据集的论文正在准备中,将在未来两到三周内发布。
排行榜
总体结果
| 模型名称 | 微平均 | 信息提取(420项) | 信息定位(278项) | 定性分析(305项) | 数值推理(313项) |
|---|---|---|---|---|---|
| GPT-4o | 82.72 | 91.19 | 77.34 | 86.43 | 72.52 |
| Llama-3.1-70B | 66.45 | 79.05 | 66.19 | 69.00 | 47.28 |
| Qwen2.5-72B | 81.83 | 90.95 | 79.86 | 84.89 | 68.37 |
| DeepSeek-V2.5-236B | 73.32 | 77.86 | 73.38 | 77.67 | 62.94 |
| Hunyuan-Large | 82.56 | 91.43 | 86.33 | 84.44 | 65.50 |
不同长度集的结果
| 模型名称 | 0K-8K | 8K-32K | 32K-64K | 64K-128K |
|---|---|---|---|---|
| GPT-4o | 92.49 | 80.73 | 79.53 | 73.62 |
| Llama-3.1-70B | 82.51 | 67.26 | 54.01 | 49.54 |
| Qwen2.5-72B | 92.58 | 80.62 | 75.39 | 72.68 |
| DeepSeek-V2.5-236B | 90.11 | 75.63 | 56.70 | 56.07 |
| Hunyuan-Large | 90.87 | 81.60 | 80.52 | 72.36 |
数据集位置
数据集位于Hugging Face数据集中心:https://huggingface.co/datasets/Penguin-Scrolls/PenguinScrolls
快速开始
步骤0
安装依赖:pip install -r requirements.txt,并将penguinscrolls/目录添加到PYTHONPATH。
步骤1:生成响应
编写配置文件进行推理,支持三种框架:huggingface transformers、VLLM和openai。
Huggingface Transformers
json { "model": { "model_name_or_path": "MODEL_NAME_OR_PATH", "framework": "hf" }, "output_file": "output/hf.json", "batch_size": 1 }
VLLM
json { "model": { "model_name_or_path": "MODEL_NAME_OR_PATH", "framework": "vllm" }, "output_file": "output/vllm.json", "batch_size": 2 }
OpenAI API endpoint
json { "model": { "model_name_or_path": "model", "framework": "openai", "base_url": "http://127.0.0.1:8000/v1", "api_key": "token-abc" }, "output_file": "output/openai.json", "batch_size": 1 }
运行生成命令:python3 -m penguinscrolls.generate config.json。
步骤2:使用GPT-4o API进行评估
确保拥有有效的OpenAI API密钥,设置环境变量OPENAI_API_KEY后运行评估脚本。
bash export OPENAI_API_KEY="your_openai_api_key" python3 -m penguinscrolls.evaluate INPUT_FILE eval_result_dir/OUTPUT_FILE --concurrency 1
步骤3:收集和比较结果
将所有评估结果的json文件放入eval_result_dir/目录,命名为model_1.json、model_2.json等,然后运行notebook查看指标。
添加新任务
创建新的JSON文件,确保task_type字段反映新任务类别。
添加新模型
在models.py中实现模型接口,然后使用evaluate.py脚本评估新模型。
数据集相关分析
提供用于分析数据集特征和不同任务之间相关性的脚本和工具,位于analysis目录。
注意事项
该开源数据集仅用于评估和研究目的,不得用于其他用途。数据集中可能包含第三方内容,包括第三方通知和版权信息,使用时需遵守相关条款。




