长文本基准测试数据
RULER 测试
RULER 测试是一个新的 LLM 测试方法,相比于 NIAH 大海捞针测试做了优化和扩展,其包含四种测试任务:增强的检索任务(NIAH 扩展版本)、多跳跟踪(Multi-hop Tracing)、信息聚合(CWE、FWE)、带干扰的问答(QA)。
增强的大海捞针(NIAH)
RULER 包含增强的大海捞针(NIAH)测试,分为四个子任务,评估模型的检索能力:
| 测试子项目 | 简要描述 |
|---|---|
| Single NIAH (S-NIAH) | 测试模型处理单一输入和单一目标输出的能力。 |
| Multi-keys NIAH (MK-NIAH) | 测试模型处理多键值对的能力,其中每个键关联一个单一输出。 |
| Multi-values NIAH (MV-NIAH) | 测试模型处理多键值对的能力,其中每个键关联多个值或输出。 |
| Multi-queries NIAH (MQ-NIAH) | 测试模型在多个查询条件下,综合处理并生成相应结果的能力。 |
Single NIAH 的测试结果如下:
| 模型 | NIAH_single_1 | NIAH_single_2 | NIAH_single_3 |
|---|---|---|---|
| RWKV-6-7B-v2.1-4k | 100 | 98.67 | 95 |
| Llama2-7B-4k | 97.6 | 100 | 96.8 |
| Mamba-2.8B-4k | 100 | 19 | 1 |
| Mamba-1.4B-4k | 94 | 21 | 5 |
| RWKV-6-3B-v2.1-4k | 100 | 88 | 79 |
| RWKV-6-1.6B-v2.1-4k | 98 | 53 | 55 |
NIAH-Multi-keys 的测试结果如下:
| 模型 | NIAH_multikey_1 | NIAH_multikey_2 | NIAH_multikey_3 |
|---|---|---|---|
| RWKV-6-7B-v2.1-4k | 48.33 | 7.67 | 1.33 |
| Llama2-7B-4k | 100 | 84.4 | 60 |
| Mamba-2.8B-4k | 7 | 0 | 1 |
| Mamba-1.4B-4k | 8 | 0 | 0 |
| RWKV-6-3B-v2.1-4k | 36 | 1 | 0 |
| RWKV-6-1.6B-v2.1-4k | 25 | 1 | 0 |
Multi-values 和 Multi-queries 的 NIAH 测试结果如下:
| 模型 | NIAH_multivalue | NIAH_multiquery |
|---|---|---|
| RWKV-6-7B-v2.1-4k | 80.42 | 83.67 |
| Llama2-7B-4k | 94 | 96.7 |
| Mamba-2.8B-4k | 0.75 | 1.25 |
| Mamba-1.4B-4k | 5.25 | 4.75 |
| RWKV-6-3B-v2.1-4k | 38.5 | 40.75 |
| RWKV-6-1.6B-v2.1-4k | 25 | 20.75 |
变量跟踪(VT)
多跳跟踪 - 变量跟踪(Multi-hop Tracing: Variable Tracking):该任务主要检查模型能否在长上下文中成功识别并跟踪具有多跳连接的实体(变量)和指代关系。比如赋值 ,然后 、 ... 最终返回所有指向值 的变量名。
| 模型 | 多跳跟踪 |
|---|---|
| RWKV-6-7B-v2.1-4k | 7.53 |
| Llama2-7B-4k | 63.12 |
| Mamba-2.8B-4k | 45 |
| Mamba-1.4B-4k | 23.4 |
| RWKV-6-3B-v2.1-4k | 11.8 |
| RWKV-6-1.6B-v2.1-4k | 1.4 |
信息聚合(CWE、FWE)
信息聚合(CWE、FWE):该任务为常用词(Common Words)/高频词(Frequent Words)提取,用于测试模型跨长上下文聚合常见信息的能力
| 模型 | 常用词提取 (CWE) | 高频词提取 (FWE) |
|---|---|---|
| RWKV-6-7B-v2.1-4k | 38.6 | 78.33 |
| Llama2-7B-4k | 73.04 | 78.8 |
| Mamba-2.8B-4k | 2 | 53 |
| Mamba-1.4B-4k | 15.5 | 57.33 |
| RWKV-6-3B-v2.1-4k | 30.3 | 62.67 |
| RWKV-6-1.6B-v2.1-4k | 11 | 46.33 |
问答(QA)
问答(QA):该任务在现有短上下文问答数据集的输入中添加了干扰信息,以评估各种上下文大小下的问答能力。
| 模型 | qa_1 | qa_2 |
|---|---|---|
| RWKV-6-7B-v2.1-4k | 45 | 37 |
| Llama2-7B-4k | 59.2 | 42 |
| Mamba-2.8B-4k | 23 | 18 |
| Mamba-1.4B-4k | 24 | 23 |
| RWKV-6-3B-v2.1-4k | 35 | 25 |
| RWKV-6-1.6B-v2.1-4k | 35 | 28 |
RULER 数据来源:https://github.com/Ojiyumm/RULER_RWKV
LongBench 测试
LongBench 测试是一个针对大语言模型长文本理解能力的评测基准。
LongBench 共有六大类、二十一个不同的中英双语任务,覆盖了单文档 QA、多文档 QA、摘要、Few-shot 学习、合成任务和代码补全等关键的长文本应用场景。
以下是 RWKV 和其他模型的 LongBench 测试分数对比,数据表格按照六个分类展示:
Single-Document QA (单文档问答)
单文档问答包含以下四种测试任务:
| 任务 | 任务说明 |
|---|---|
| NarrativeQA | 基于故事或剧本提问,包括对人物、情节、主题等重要元素的理解 |
| Qasper | 基于单篇论文的提出,问题由 NLP 的读者提出,并由 NLP 从业者回答 |
| MultiFieldQA-en | 基于单篇文档回答英文问题,文档所属的领域相对多元 |
| MultiFieldQA-zh | 基于单篇文档回答中文问题,文档所属的领域相对多元 |
Single-Document QA 测试结果:
| 模型 | NarrativeQA | Qasper | MultiFieldQA-en | MultiFieldQA-zh |
|---|---|---|---|---|
| GPT-3.5-Turbo-16k | 23.6 | 43.3 | 52.3 | 61.2 |
| Llama2-7B-chat-4k | 18.7 | 19.2 | 36.8 | 11.9 |
| LongChat-v1.5-7B-32k | 16.9 | 27.7 | 41.4 | 29.1 |
| XGen-7B-8k | 18.0 | 18.1 | 37.7 | 14.8 |
| InternLM-7B-8k | 12.1 | 16.7 | 23.4 | 33.6 |
| ChatGLM2-6B-32k | 21.1 | 31.5 | 46.2 | 51.6 |
| Vicuna-v1.5-7B-16k | 19.4 | 26.1 | 38.5 | 43.0 |
| ChatGLM3-6B-32k | 26.0 | 43.3 | 51.7 | 62.3 |
| Mamba_1B4 | 2.23 | 4.44 | 11.33 | 13.03 |
| Mamba_2B8 | 2.32 | 4.89 | 8.15 | 6.83 |
| Llama2-7B | 18.7 | 19.2 | 11.90 | 36.8 |
| Mistral-7B | 12.79 | 8.9 | 30.55 | 17.91 |
| RWKV-6-World-1B6-v2.1 | 4.53 | 19.79 | 22.99 | 18.57 |
| RWKV-6-World-3B-v2.1 | 2.87 | 14.2 | 18.78 | 21.49 |
| RWKV-6-World-7b-v2.1-4k | 20.75 | 40.2 | 36.01 | 50.19 |
Multi-Document QA(多文档问答)
多文档问答包含以下四种测试任务:
| 任务 | 任务说明 |
|---|---|
| HotpotQA | 基于 HotpotQA 文档回答问题,HotpotQA 涉及许多由母语人士根据两个相关段落编写的 2 跳问题 |
| 2WikiMultihopQA | 基于 2WikiMultihopQA 数据回答问题,2WikiMultihopQA 由最多 5 跳问题组成,这些问题通过手动设计的模板合成 |
| MuSiQue | 基于 MuSiQue 数据回答问题,MuSiQue 由最多 4 跳推理(4-hop reasoning)的简单问题组合而成 |
| DuReader | 基于 DuReader 的中文数据集回答相关问题,包含来自基于百度搜索和百度知道的 20 万个问题和 1M 文档 |
Multi-Document QA 测试结果:
| 模型 | HotpotQA | 2WikiMQA | Musique | DuReader (zh) |
|---|---|---|---|---|
| GPT-3.5-Turbo-16k | 51.6 | 37.7 | 26.9 | 28.7 |
| Llama2-7B-chat-4k | 25.4 | 32.8 | 9.4 | 5.2 |
| LongChat-v1.5-7B-32k | 31.5 | 20.6 | 9.7 | 19.5 |
| XGen-7B-8k | 29.7 | 21.1 | 10.3 | 11.0 |
| InternLM-7B-8k | 28.7 | 22.8 | 9.0 | 11.1 |
| ChatGLM2-6B-32k | 45.1 | 34.0 | 21.9 | 37.6 |
| Vicuna-v1.5-7B-16k | 25.3 | 20.8 | 9.8 | 19.3 |
| ChatGLM3-6B-32k | 54.4 | 44.9 | 40.4 | 44.78 |
| Mamba_1B4 | 5.73 | 8.77 | 3.3 | 11.95 |
| Mamba_2B8 | 5.49 | 8.45 | 3.45 | 13.96 |
| Llama2-7B | 25.4 | 32.8 | 9.4 | 5.2 |
| Mistral-7B | 9.39 | 11.17 | 4.58 | 11.68 |
| RWKV-6-World-1B6-v2.1 | 8.72 | 11.86 | 3.96 | 11.40 |
| RWKV-6-World-3B-v2.1 | 6.79 | 9.64 | 4.13 | 17.41 |
| RWKV-6-World-7b-v2.1-4k | 22.74 | 16.3 | 10.49 | 28.01 |
Summarization(摘要)
摘要任务涉及以下四种测试:
| 任务 | 任务说明 |
|---|---|
| GovReport | 摘要任务,要求对政府的工作报告进行总结摘要 |
| QMSum | 摘要任务,要求基于用户的查询对会议记录进行摘要 |
| MultiNews | 多文档摘要任务,要求基于多篇新闻进行摘要 |
| VCSUM | 摘要任务,要求对中文会议记录进行总结摘要 |
摘要任务测试结果如下:
| 模型 | GovReport | QMSum | MultiNews | VCSUM (zh) |
|---|---|---|---|---|
| GPT-3.5-Turbo-16k | 29.5 | 23.4 | 26.7 | 16.0 |
| Llama2-7B-chat-4k | 27.3 | 20.8 | 25.8 | 0.2 |
| LongChat-v1.5-7B-32k | 30.8 | 22.7 | 26.4 | 9.9 |
| XGen-7B-8k | 27.3 | 20.5 | 26.2 | 2.2 |
| InternLM-7B-8k | 9.7 | 15.9 | 22.8 | 12.4 |
| ChatGLM2-6B-32k | 32.4 | 24.0 | 26.5 | 16.2 |
| Vicuna-v1.5-7B-16k | 27.9 | 22.8 | 27.2 | 15.1 |
| ChatGLM3-6B-32k | 36.8 | 23.9 | 27.9 | 17.8 |
| Mamba_1B4 | 9.34 | 10.85 | 15.86 | 6.33 |
| Mamba_2B8 | 10.41 | 11.42 | 18.94 | 6.1 |
| Llama2-7B | 27.3 | 20.8 | 25.8 | 0.2 |
| Mistral-7B | 28.84 | 20.32 | 22.79 | 4.1 |
| RWKV-6-World-1B6-v2.1 | 17.51 | 20.36 | 21.52 | 10.71 |
| RWKV-6-World-3B-v2.1 | 19.21 | 21 | 21.76 | 10.18 |
| RWKV-6-World-7b-v2.1-4k | 31.64 | 21.31 | 26.06 | 15.19 |
Few-shot Learning(小样本学习)
小样本学习包含以下四种测试任务:
| 任务 | 任务说明 |
|---|---|
| TREC | 分类任务,要求对问题进行分类,一共包含 50 个类别 |
| TriviaQA | 单文档问答任务,提供若干的 Few Shot 样例 |
| SAMSum | 对话摘要任务,提供若干的 Few Shot 样例 |
| LSHT | 中文分类任务,要求对新闻进行分类,一共包含 24 个类别 |
Few-shot Learning测试结果如下:
| 模型 | TREC | TriviaQA | SAMSum | LSHT (zh) |
|---|---|---|---|---|
| GPT-3.5-Turbo-16k | 68.0 | 91.4 | 41.7 | 29.2 |
| Llama2-7B-chat-4k | 61.5 | 77.8 | 40.7 | 19.8 |
| LongChat-v1.5-7B-32k | 63.5 | 82.3 | 34.2 | 23.2 |
| XGen-7B-8k | 65.5 | 77.8 | 25.3 | 20.5 |
| InternLM-7B-8k | 52.0 | 77.8 | 21.2 | 15.2 |
| ChatGLM2-6B-32k | 62.5 | 78.7 | 36.3 | 27.7 |
| Vicuna-v1.5-7B-16k | 71.5 | 86.2 | 40.8 | 28.8 |
| ChatGLM3-6B-32k | 79.0 | 87.1 | 38.2 | 42.0 |
| Mamba_1B4 | 45.5 | 37.33 | 12.56 | 8.5 |
| Mamba_2B8 | 21.5 | 34.62 | 9.3 | 5 |
| Llama2-7B | 61.5 | 77.8 | 40.7 | 19.8 |
| Mistral-7B | 70.0 | 89.26 | 43.74 | 25.5 |
| RWKV-6-World-1B6-v2.1 | 39.5 | 47.64 | 13.58 | 18.8 |
| RWKV-6-World-3B-v2.1 | 51.5 | 57.15 | 17.95 | 15.2 |
| RWKV-6-World-7b-v2.1-4k | 55.5 | 86.89 | 44.25 | 30.2 |
Synthetic Tasks(合成任务)
合成任务测试任务包含以下三种测试任务:
| 任务 | 任务说明 |
|---|---|
| PassageCount | 判断给定的若干的段落中不重复的段落一共有几个 |
| PassageRetrieval-en | 给定 30 个英文维基的段落,判断给定的摘要属于哪个段落 |
| PassageRetrieval-zh | 给定若干个出自 C4 数据集的中文段落,判断给定的摘要属于哪个段落 |
Synthetic Tasks 测试结果如下:
| 模型 | Passage Count | PassageRetrieval-en | PassageRetrieval-zh |
|---|---|---|---|
| GPT-3.5-Turbo-16k | 4.5 | 71.0 | 77.5 |
| Llama2-7B-chat-4k | 2.1 | 9.8 | 0.5 |
| LongChat-v1.5-7B-32k | 1.0 | 30.5 | 7.6 |
| XGen-7B-8k | 2.1 | 8.5 | 3.5 |
| InternLM-7B-8k | 3.0 | 6.0 | 0.9 |
| ChatGLM2-6B-32k | 1.5 | 77.0 | 64.5 |
| Vicuna-v1.5-7B-16k | 6.5 | 4.5 | 5.0 |
| ChatGLM3-6B-32k | 2.0 | 99.0 | 94.0 |
| Mamba_1B4 | 0.45 | 3.32 | 3.81 |
| Mamba_2B8 | 0.74 | 1.83 | 3.37 |
| Llama2-7B | 2.1 | 9.8 | 0.5 |
| Mistral-7B | 1.05 | 12.5 | 16.75 |
| RWKV-6-World-1B6-v2.1 | 0 | 4.25 | 4.16 |
| RWKV-6-World-3B-v2.1 | 0 | 3.83 | 4.12 |
| RWKV-6-World-7b-v2.1-4k | 5 | 34.5 | 54.22 |
Code Completion(代码续写)
代码续写包含以下两种测试任务:
| 任务 | 任务说明 |
|---|---|
| LCC | 给定一段较长代码,要求预测出下一行代码 |
| RepoBench-P | 给定一个 github 仓库内多个文件中的代码(包含文件间依赖),要求预测出下一行代码 |
代码续写测试结果如下:
| 模型 | LCC | RepoBench-P |
|---|---|---|
| GPT-3.5-Turbo-16k | 54.7 | 53.6 |
| Llama2-7B-chat-4k | 52.4 | 43.8 |
| LongChat-v1.5-7B-32k | 53.0 | 55.3 |
| XGen-7B-8k | 38.6 | 38.6 |
| InternLM-7B-8k | 44.1 | 28.8 |
| ChatGLM2-6B-32k | 55.6 | 49.9 |
| Vicuna-v1.5-7B-16k | 51.0 | 43.5 |
| ChatGLM3-6B-32k | 57.66 | 54.76 |
| Mamba_1B4 | 44.33 | 41.86 |
| Mamba_2B8 | 39.53 | 24.38 |
| Llama2-7B | 52.4 | 43.8 |
| Mistral-7B | 70.64 | 59.7 |
| RWKV-6-World-1B6-v2.1 | 39.5 | 40.44 |
| RWKV-6-World-3B-v2.1 | 40.01 | 41.35 |
| RWKV-6-World-7b-v2.1-4k | 73.84 | 54.1 |
RWKV、Mamba 和 Llama2 的综合评分对比
| 模型 | Single DocQ | Few-shc | Summarization | Multi Doc QA | Code Completion | Syntetic |
|---|---|---|---|---|---|---|
| RWKV-6-World-1B6-v2.1 | 16.470 | 29.868 | 17.525 | 8.985 | 39.970 | 2.803 |
| RWKV-6-World-3B-v2.1 | 14.335 | 35.443 | 18.038 | 9.493 | 40.680 | 2.650 |
| RWKV-6-World-7b-v2.1-4k | 36.788 | 54.203 | 23.550 | 19.385 | 63.970 | 31.240 |
| Mamba_1B4 | 7.758 | 25.973 | 10.595 | 7.438 | 43.095 | 2.527 |
| Mamba_2B8 | 5.548 | 17.605 | 11.718 | 7.838 | 31.955 | 1.980 |
| Llama2-7B | 21.650 | 49.950 | 18.525 | 18.200 | 48.100 | 4.133 |
| Mistral-7B | 17.538 | 52.833 | 19.013 | 9.205 | 65.17 | 10.100 |