LLM长文本内卷,谁是真英雄?告别跑分玄学,我们需要一把“公道秤”
仅用于站内搜索,没有排版格式,具体信息请跳转上方微信公众号内链接
TL;DR:我们做了一个统一的长上下文评估框架,兼容目前市面上主流的benchmark、model、长上下文加速方法,帮助社区高效地、“真实”地测出长上下文模型的能力。欢迎大家使用,提供宝贵意见(欢迎issue、PR)。
随着大语言模型(LLM)技术的飞速发展,处理长序列文本的能力已成为衡量其先进性的核心维度之一。从学术研究到工业应用,如长文档问答、代码辅助生成、法律文书分析等场景,都对模型的长上下文(LongContext)处理能力提出了前所未有的要求。然而,LCLM(Long-ContextLargeModel)能力的快速迭代,也给科学、客观地评估其性能带来了严峻挑战。
1)评估结果的不一致性
不同的评估基准(Benchmark)由于其内部设定的差异,对同一模型的评测可能得出相互矛盾的结论。一个典型的例子是,针对长上下文推理任务,在LongBenchV2[ 1]基准上,GLM-9B的性能略优于Llama-3. 1-8B;但在LongReason[ 2]基准上,Llama-3. 1-8B的表现却显著超越GLM-9B。这种差异的根源在于各基准在指令模板、数据集分布、推理超参数等关键变量上缺乏统一标准。这些混淆变量的存在,严重削弱了评测结果的跨平台可比性与最终结论的可靠性。
2)评估成本的制约性
长上下文推理是一项计算密集型任务,其计算复杂度通常与上下文长度的平方成正比,仅在RULER这一个基准上完整评估Llama-3. 1-8B模型,就需要超过100个H20GPU小时的计算资源。如此高昂的门槛,使得全面、系统的长上下文模型评估成为少数拥有大规模计算集群的机构的专利,极大地限制了广大研究社区和中小型开发团队的参与和创新。
为了应对上述挑战,我们做了一个开源Project:LOOM-Scope,目的是提供全面(Comprehensive)且高效(Efficient)的长上下文模型评估框架。
论文链接:https ://arxiv. org/abs/2507. 04723
开源项目:https ://github. com/LCM-Lab/LOOM-Scope
部分评估结果可视化&项目主页:https ://loomscope. github.io/
BENCHMARK模块核心功能是自动化地完成对各种评测数据集的。目前,该框架已支持多达22个主流的长上下文基准,覆盖了从8K到2M的广泛上下文长度,以及通用、推理、检索、生成等六大核心能力维度()。
该模块最大的价值在于其“标准化”机制。它允许用户为每个任务定义一个统一的指令模板(InstructionTemplate。这意味着,无论原始基准中的提示词(Prompt)格式如何,LOOM-Scope都能将其转换为一致的输入格式再喂给模型(比如两个Benchmarks的指令都是相同的,只是评估测试数据内容不同)。这一设计有效地消除了因提示工程差异所带来的性能偏差,确保了所有模型都在同一起跑线上进行比较,是实现跨基准公平对比的根本保障。其所有支持的评估基准均展示在图2中。
DEPLOYMENT模块是框架的执行核心,负责模型的部署与推理。它由两个高度协同的子模块构成,共同保证了框架的广泛适用性与卓越效率。
2. 1.MODEL子模块
该子模块负责模型的加载与运行,其设计目标是兼容尽可能多的模型架构与部署环境。在模型架构层面,不仅支持主流的Transformer结构,还包含了对Mamba、RWKV等架构的支持(我们现在正在兼容LinearAttention模型架构)。在推理后端层面,我们集成了多种业界领先的推理服务接口,包括vLLM、SGLang以及通用的API接口。
2. 2.AUGMENTATION子模块
这是LOOM-Scope区别于传统评估框架的最显著特征。该子模块旨在通过集成一系列前沿的长上下文推理优化技术来提升评估效率。目前支持的技术主要分为三类:
稀疏注意力(SparseAttention):如FlexPrefill[ 3]、XAttention[ 4],通过在推理时仅计算部分关键Token之间的注意力,减少计算开销。
检索增强生成(Retrieval-AugmentedGeneration,RAG):集成如BM25、LlamaIndex[ 9]等检索工具,用以评估RAG与模型原生上下文能力结合的效果。
通过原生集成这些加速方法,LOOM-Scope不仅能大幅缩短评测时间,更重要的是,它为系统性地比较这些优化技术的性能提供了一个统一的平台。如图3所示,我们已经统计了LOOM-Scope适配的加速方法在不同基线上的跑分和推理时间,以供社区进行参考。
同时,在图4中,我们重点可视化了模型在128k上下文长度上,加速方法与原生态huggingfacemodel推理的时间开销。
当模型完成推理后,EVALUATOR模块扮演“最终裁判”的角色。它负责对模型的输出进行全面、客观的量化评估。为了实现对模型能力的无死角考察,该模块集成了判别式(Discriminative)和生成式(Generative)两大类评估指标。
判别式指标:主要用于评估模型在选择题、分类、信息抽取等任务上的理解与判断能力,包括Accuracy、F1-Score、Recall、Precision等。
生成式指标:主要用于评估模型在摘要、翻译、长文写作等任务上的内容生成质量,包括基于词重叠的ROUGE、METEOR,以及更先进的、基于模型打分的LLM-basedEval和人工评估(HUMAN)接口。
为应对长上下文模型评估成本的制约,我们提出了一个复合型(Composite)评估基准。其构建思路并非从零开始,而是通过对现有公认基准的“精选”与“重组”来兼顾评估的广度与效率。
LOOMBENCH是从LOOM-Scope支持的22个基准中,系统性地挑选了12个。如图5所示,LOOM-Bench严格遵循了能力覆盖均衡的原则。包含了六大核心能力类别:
忠实性(Faithfulness):选取L_CiteEval[ 10],考察模型在引用、溯源上的准确性。
通用能力(General):包含LongBench[ 11]、LEval[ 12]和RULER,覆盖多语言问答、多领域摘要、变量追踪等多种通用任务。
检索能力(Retrieve):囊括了经典的NIAH[ 13](大海捞针)和更复杂的InfiniteBench[ 14],测试模型在超长文本中的信息定位能力。
生成能力(Generation):采用LongWriter[ 15],专注于评估模型的长篇文本创作质量。
推理能力(Reasoning):组合了Counting-Stars[ 16]、BABILong[ 17]和LongBench_v2,对模型的逻辑推理、多步推理和复杂指令遵循能力进行深度考察。
专业能力(Specialization):选择了面向俄语长文档分析的LIBRA[ 19],以检验模型在特定语言和领域下的表现。
通过对这些精选基准进行上采样(Up-sampling)和重组,LOOMBENCH在确保评估全面性和任务代表性的同时,最大限度地缩减了所需的总样本量和计算开销。在论文中,我们展示了其出色的评估效率、全面性,以及和其他全面评估基准的一致性。
LOOM-Scope框架的演进将沿着广度和维度两个方向持续深化。在技术拓展之外,更核心的挑战在于如何平衡易用性、评估成本与框架扩展性这三者的关系。我们后续的更新可以简单归纳为以下几个关键方向:
向更广的评测边界探索:动态吸纳社区涌现的、更具挑战性的新基准;评估的焦点将从“模型能否处理长上下文”的基础问题,转向“模型如何有效利用上下文”的深度问题;
向用户友好性迈进:框架的终极目标之一是实现\“一键式\“的评估体验。这要求在保证评估效度的前提下,持续优化流程,降低用户的心智负担和操作复杂度;探索效率、成本与评估全面性之间的最佳平衡点(Trade-off);LOOM-Scope将致力于在尽可能低的硬件资源下,实现对LCLM核心能力的最充分评估,让评估工具真正普惠化;
向开放与可扩展的生态演化:LOOM-Scope将围绕其三大核心模块(BENCHMARK,DEPLOYMENT,EVALUATOR)持续迭代,目标是让用户能够以简洁、低成本的方式自定义评估流程、集成新的模型或优化技术;
向多模态长序列延伸:迈向视频、音频、代码等领域。
https ://arxiv. org/abs/2412. 15204
https ://arxiv. org/abs/2501. 15089
https ://arxiv. org/abs/2502. 20766
https ://arxiv. org/abs/2503. 16428
https ://arxiv. org/abs/2306. 14048
https ://arxiv. org/abs/2309. 17453
https ://arxiv. org/abs/2402. 02750
https ://proceedings. mlr.press/v235/zhang24n. html
https ://docs. llamaindex.ai/en/stable/
https ://arxiv. org/abs/2410. 02115
https ://arxiv. org/abs/2308. 14508
https ://arxiv. org/abs/2307. 11088
https ://github. com/gkamradt/LLMTest_NeedleInAHaystack
https ://arxiv. org/abs/2402. 13718
https ://arxiv. org/abs/2408. 07055
https ://arxiv. org/abs/2403. 11802
https ://arxiv. org/abs/2406. 10149
https ://arxiv. org/abs/2408. 02439