ONERULER Benchmark

多语言长上下文语言模型基准测试

ONERULER是首个大规模多语言长上下文基准测试,改编自英文RULER基准。 覆盖26种语言7个合成任务4种上下文长度(8K-128K tokens)。 创新性地引入"无针"选项,使任务更接近真实场景, 揭示了波兰语竟然优于英语的反直觉发现。

Yekyung Kim, Jenna Russell, Marzena Karpinska, Mohit Iyyer
University of Maryland, Microsoft, UMass Amherst | COLM 2025

研究背景与动机
长上下文理解对于LLM的实际应用(如摘要生成、问答系统)至关重要。 然而,现有的长上下文基准测试存在明显局限:

1. 语言单一性:RULER等基准测试主要关注英语,少数基准只包含英语和中文
2. 缺乏多语言视角:不清楚模型在多语言和跨语言长上下文场景中的表现
3. 任务过于简单:传统NIAH任务假设答案总是存在,与真实场景不符
ONERULER的设计目标
  • 面向指令微调后的模型:不同于RULER针对基座模型
  • 引入真实场景元素:允许答案不存在(none选项)
  • 提供公平的跨语言比较:统一翻译100个名词集合
  • 揭示语言资源差异:系统研究高低资源语言的性能gap
  • 大规模评估:每任务每模型需要5,200个提示
26
种语言覆盖
7
个合成任务
6
个测试模型
128K
最大上下文长度

📋 ONERULER 测试框架

ONERULER的七个任务类型
ONERULER的七个任务类型:5个NIAH变体 + 2个聚合任务

📍 检索任务(5种NIAH变体)

1. Single-NIAH (S-NIAH) - 单针任务
基础任务 含none选项
任务:在长文本中找到一个目标句子,提取关键词对应的数字
特点:经典NIAH任务,但允许答案不存在
提示模板关键点:包含"If no such numbers exist, please answer 'none'"
难度:基础任务,但none选项使准确率下降最高32个百分点
2. Multi-key NIAH (MK-NIAH) - 多键任务
4个针 3个干扰项
任务:4个针插入文本,其中3个是干扰项,只有1个包含正确的key
目标:识别包含目标key的针,返回对应value
难度:需要区分干扰项,模型容易返回错误的针
3. Multi-value NIAH (MV-NIAH) - 多值任务
同一key 4个value
任务:4个针共享同一个key,但有不同的value
目标:检索所有4个value
难度:比MK-NIAH更难,模型容易提前终止或遗漏value
4. Multi-query NIAH (MQ-NIAH) - 多查询任务
多个查询 反直觉发现
任务:与MK-NIAH结构相同,但包含多个查询
目标:准确检索所有查询的信息
特点:测试模型跨多个检索操作保持上下文感知的能力
🔍 有趣发现:模型在MQ-NIAH上的表现竟然优于S-NIAH(非英语)!
5. None-NIAH (NONE-NIAH) - 无针任务
创新任务 最难
任务:文本中包含4个针,但都是干扰项,正确答案是"none"
目标:识别答案不存在的情况
难度:最难的NIAH任务,很多模型倾向于强行给出答案
创新性:类似SQuAD 2.0引入不可回答问题的挑战

📊 聚合任务(2种CWE变体)

6. CWE-easy - 简单常见词提取
30次 vs 3次
任务:从长词表中识别出现频率最高的10个词
参数:最高频词出现30次,干扰词出现3次
难度:短上下文简单,长上下文困难
性能:英语平均准确率仅31.5%,随上下文长度显著下降
7. CWE-hard - 困难常见词提取
20次 vs 10次 极难
任务:与CWE-easy相同,但频率差距缩小
参数:最高频词出现20次,干扰词出现10次
难度:极难,所有模型准确率接近0%
启示:LLM在长上下文聚合任务上还有巨大改进空间

🌍 语言覆盖与测试模型

26种语言覆盖
高资源语言(22种):
斯拉夫语系:波兰语(pl)、俄语(ru)、乌克兰语(uk)、捷克语(cs)、塞尔维亚语(sr)
罗曼语系:法语(fr)、西班牙语(es)、意大利语(it)、葡萄牙语(pt)
日耳曼语系:英语(en)、德语(de)、荷兰语(nl)、瑞典语(sv)、挪威语(no)、丹麦语(da)
其他:中文(zh)、日语(ja)、韩语(ko)、波斯语(fa)、芬兰语(fi)、匈牙利语(hu)、越南语(vi)

低资源语言(4种):印地语(hi)、斯瓦希里语(sw)、泰米尔语(ta)、塞索托语(st)
定义标准:维基百科文章数≥25万篇
6个测试模型
开源模型(5个):
Qwen 2.5 (7B 和 72B) - 3T多语言token训练,聚焦英语和中文
Llama 3.1 (8B) - 主要英语训练
Llama 3.3 (70B)
DeepSeek-R1 - 仅用于英语分析(需要8×H200 GPU)

闭源模型(2个):
OpenAI o3-mini-high
Google Gemini 1.5 Flash

🔍 主要实验发现

发现1:高低资源语言的差距随上下文长度扩大
S-NIAH任务中,高低资源语言的性能差距随上下文长度显著扩大:

• 8K上下文:Top 5与Bottom 5语言的准确率差距为 11个百分点
• 128K上下文:准确率差距扩大到 34个百分点
• 差距扩大趋势:8k→32k (+21%) → 64k (+23%) → 128k (+34%)

🔥 None选项的威力:使o3-mini在128K英语S-NIAH上准确率下降 32个百分点

原因分析:长上下文扩展训练缺乏低资源语言数据,长上下文能力不能跨语言迁移
S-NIAH任务的准确率变化
左图:高低资源语言的性能差距随上下文长度扩大 | 右图:None选项对o3-mini的影响
发现2:低资源语言即使在短上下文中也很困难
8K上下文表现:
• 所有模型在高资源语言上 >95% 准确率
• 但在斯瓦希里语(sw)和塞索托语(st)上仍然困难
Llama模型性能下降最严重(主要训练数据为英语)

长上下文更糟:
• 泰米尔语(ta)在128k时,多个模型准确率降至个位数
• 斯瓦希里语和塞索托语表现最差

模型差异:
Gemini 1.5 Flash:在塞索托语上表现出奇地好
Qwen 2.5 72B:多语言支持最均衡
不同模型和语言的NIAH性能
左图:按模型分组的性能对比 | 右图:按语言分组的性能对比(64K & 128K)
发现3:英语不是最佳语言,波兰语排名第一!
64K & 128K长上下文排名(所有模型平均NIAH准确率):

🥇 波兰语(pl) - 88.0% 最佳!
🥈 俄语(ru)
🥉 法语(fr)
4. 意大利语(it)
5. 西班牙语(es)
6. 英语(en) - 83.9% 😮
...
23. 中文(zh) - 62.1% 😱 第4差!
24. 韩语(ko)
25. 斯瓦希里语(sw)
26. 塞索托语(st)

🤔 令人惊讶的发现:
• 英语和中文在预训练数据中占主导,但长上下文表现并不突出
Top 10语言:全部来自斯拉夫、罗曼和日耳曼语系
• 使用拉丁或西里尔字母的语言表现更好
• 中文错误主要是模型频繁错误地回答"none"
所有NIAH任务的详细准确率
6个模型在26种语言、4种上下文长度上的详细性能矩阵 - 颜色越深表示准确率越高

🏆 语言排名 Top 10(64K & 128K)

1
🇵🇱 波兰语 (Polish)
88.0%
2
🇷🇺 俄语 (Russian)
~86%
3
🇫🇷 法语 (French)
~85%
4
🇮🇹 意大利语 (Italian)
~85%
5
🇪🇸 西班牙语 (Spanish)
~84%
6
🇬🇧 英语 (English)
83.9%
7
🇺🇦 乌克兰语 (Ukrainian)
~83%
8
🇸🇪 瑞典语 (Swedish)
~82%
9
🇵🇹 葡萄牙语 (Portuguese)
~82%
10
🇩🇪 德语 (German)
~81%
发现4:模型性能差异显著
🏆 Gemini 1.5 Flash - 整体最强
• 在所有上下文长度上都是最强模型
• 长上下文稳定性最好

🥈 Qwen 2.5 72B - 多语言最均衡
• 在64k和128k上显著优于Llama 3.3 70B
• 多语言能力最均衡

⚠️ o3-mini-high - 表现异常
• 平均准确率出乎意料地低
• 英语128K:仅67%
• 波兰语128K:92%
• 错误答案的推理token数量 多于 正确答案

🤖 DeepSeek-R1 - 系统化策略
• 采用按章节划分、同时摘要和搜索的策略
• 在英语任务上整体性能优秀
发现5:跨语言设置中指令语言影响巨大
实验设置:指令语言与上下文语言不同

关键数据:
英语上下文 + 韩语指令(64K):
准确率从91%降至71%(下降20个百分点

韩语上下文 + 英语指令(128K):
准确率从61%升至77%(提升16个百分点)

规律总结:
• 高资源语言的指令 + 低资源语言的上下文 = 性能下降
• 低资源语言的上下文 + 高资源语言的指令 = 性能提升
指令语言的选择可能比上下文语言更重要
跨语言性能对比
左图:不同指令语言和上下文语言组合的准确率 | 右图:o3-mini的错误类型分析
发现6:o3-mini-high的特殊错误模式
S-NIAH错误类型分析:
上下文长度 o3-mini none错误占比 其他模型none错误占比
8K 59.3% 40.7%
32K 57.6% 42.4%
64K 90.2% 9.8%
128K 88.1% 11.9%
关键发现:
• o3-mini在超长上下文中倾向于过度保守
• 128K时,88.1%的错误是错误地回答"none"(明明答案存在)
• 只有11.9%是其他类型错误
• 其他模型的错误分布相对均衡

推理行为异常:
• 错误答案的推理token数量 > 正确答案的推理token数量
• 说明推理行为高度低效
• 对简单检索任务进行了不必要的复杂推理

⚠️ 长上下文的核心挑战

📍
1. 位置偏见
现象:模型更擅长提取开头和结尾的信息
问题:中间位置的信息最容易被"忽略"
原因:注意力机制的固有局限性
影响:在真实应用中,关键信息可能出现在任何位置
🌍
2. 语言资源不平衡
训练数据差异:预训练和指令微调阶段的语言分布
长上下文训练数据:可能主要使用高资源语言
迁移能力有限:长上下文能力不能轻易跨语言迁移
后果:低资源语言在长上下文中"丢失"信息更快
💧
3. 注意力稀释效应
机制:上下文越长,每个token分配到的注意力越少
后果:关键信息可能被"淹没"在海量文本中
测量:准确率随上下文长度的下降趋势
对策:需要更高效的长上下文注意力机制
🚫
4. None选项的困境
真实性:反映真实场景中问题可能无答案
难度提升:使准确率显著下降(最高32个百分点)
模型行为:部分模型过度保守,部分过度自信
训练问题:可能在NIAH数据(不含none选项)上过拟合

💡 实际应用场景推荐

🌐
场景1:多语言文档处理
推荐:Gemini 1.5 Flash 或 Qwen 2.5 72B
任务:翻译、摘要、信息提取
原因:多语言支持全面,长上下文稳定性好,高低资源语言表现均衡
📚
场景2:英语长文本分析
推荐:Gemini 1.5 Flash
任务:学术论文分析、法律文档审查
原因:在英语长上下文上表现最佳,128K仍保持高准确率
🇵🇱
场景3:斯拉夫/罗曼语系
推荐:几乎所有主流模型
语言:波兰语、俄语、法语、西班牙语等
注意:这些语言在长上下文上表现最佳!
🌍
场景4:低资源语言处理
推荐:Qwen 2.5 72B + 策略
策略:①控制上下文长度≤32K ②采用分段处理 ③使用英语指令
权衡:准确性 vs 上下文长度
边缘设备或资源受限场景
推荐模型:Qwen 2.5 7B
限制条件:
• 上下文长度≤32K
• 主要支持高资源语言
• 避免波兰语等特殊语言(可能出现语言混淆)
替代方案:使用API调用更大模型
需要高准确性的检索任务
避免依赖:不要过度依赖none选项
策略:
• 如果可能,使用不含none选项的提示
• 或接受准确率会下降20-30%
模型选择:Gemini 1.5 Flash受none影响最小
聚合和计数任务
现实:所有当前模型在CWE-hard上都表现糟糕(接近0%)
建议:
• 避免在生产环境中依赖LLM进行精确计数
• 考虑结合传统方法(如正则表达式、脚本)
• 或使用专门的工具进行预处理

🎯 研究意义与未来方向

学术价值
1. 揭示真实差距
打破"所有模型都能处理长上下文"的假象,量化了语言资源对长上下文能力的影响

2. 基准测试贡献
提供首个大规模多语言长上下文基准,None选项使任务更接近真实场景

3. 跨语言理解
系统研究了指令语言和上下文语言的交互,揭示了位置偏见和注意力稀释效应
对模型开发的启示
训练数据平衡
• 需要在长上下文训练中包含更多低资源语言
• 不能假设长上下文能力会自动跨语言迁移

任务设计改进
• 训练时应包含"无答案"场景
• 避免在synthetic NIAH数据上过拟合

架构优化方向
• 改进位置编码以提升中间位置信息检索能力
• 设计更高效的长上下文注意力机制
• 开发自适应的上下文管理策略
产业应用影响
现实预期管理
不要宣称模型有128K能力就认为它在所有语言上都有效,需要针对具体语言和任务进行评估

系统设计考虑
根据语言选择合适的上下文长度,实现智能上下文管理策略,考虑混合方法而非纯LLM方案

多语言公平性
关注语言公平性,不只优化英语。全球有数十亿人使用非英语语言,他们同样应该享受到高质量的AI服务

基于 ONERULER 多语言长上下文基准测试论文(COLM 2025)
Yekyung Kim, Jenna Russell, Marzena Karpinska, Mohit Iyyer
📄 论文原文 | 💻 GitHub仓库

Kcores LLM Arena Logo