面向长上下文语言模型的可合并模型端聚合状态

arXiv cs.CL 论文

摘要

介绍了一种使用紧凑型HyperLogLog草图的模型端聚合接口,用于为长上下文语言模型维护基于集合的聚合状态,在基准测试任务上实现了99.2%的准确率,并消除了外部执行循环的需求。

arXiv:2607.26448v1 公告类型:新 摘要:长上下文语言模型的一个已知局限是,随着上下文长度的增加,它们在非加性的基于集合的聚合任务上的表现越来越不可靠。例如基数估计、集合关系和分组统计,这些任务广泛存在于日志、程序输出、表格和多轮对话中。为了提供这些任务所需的聚合状态,我们引入了一个模型端聚合接口,该接口在冻结的语言模型旁边维护紧凑的基于哈希的HyperLogLog(HLL)草图状态。当模型处理上下文时,一个提取器将每条相关记录映射到一个规范标识。该标识随后被哈希并更新HLL状态。这些状态可以在上下文片段之间合并,和/或直接读出用于下游推理,从而避免了额外的生成-执行-返回循环。我们通过将HLL状态大小设置为2 KiB(2048个寄存器)来验证所提出的方法,该大小不会随上下文长度或集合基数增加。在一个涉及一百万条记录的去重计数实验中,平均相对误差为1.6%。在另一个独立的合并测试中,由多达256个片段构建的状态产生的读出结果与在相同流上单次遍历的结果完全相同。在来自174个源窗口的3969个聚合然后推理任务中,固定预算接口在Gemma 4(31B,BF16)上达到了99.2%的准确率,而精确聚合下为100.0%;配对差距为0.8个百分点(95%窗口聚类置信区间:0.5-1.3个百分点)。在一个包含174个项目的匹配集上,我们的方法相比直接全上下文推理在Qwen上提升了63.2个百分点,在Gemma上提升了56.3个百分点。相比思维链(CoT)推理的相应提升分别为60.9和63.2个百分点。在一个固定的1200任务Oolong-Synth子集上,我们的方法在Qwen上达到了91.1%,在Gemma上达到了99.3%。代码可在以下地址获取:https://github.com/songdc98/sketchops。
查看原文
查看缓存全文

缓存时间: 2026/07/30 09:57

# 可合并的模型侧聚合状态用于长上下文语言模型
来源:https://arxiv.org/html/2607.26448

###### 摘要

长上下文语言模型的一个已知局限性是,随着上下文长度增长,它们在非加性、基于集合的聚合任务上的表现越来越不可靠。这些任务包括基数估计、集合关系和分组统计,广泛存在于日志、程序输出、表格和多轮对话中。为了提供这些任务所需的聚合状态,我们引入了一个模型侧聚合接口,该接口在冻结的语言模型旁维护紧凑的基于哈希的 HyperLogLog (HLL) 草图状态。当模型处理上下文时,一个提取器将每个相关记录映射到一个规范标识。该标识随后被哈希并更新 HLL 状态。这些状态可以在上下文片段间合并,或者直接读出用于下游推理,避免了额外的生成-执行-返回循环。我们通过将 HLL 状态大小设置为 2 KiB(2,048 个寄存器)来验证所提出的方法,该大小不随上下文长度或集合基数增长。在涉及一百万个记录的去重计数实验中,平均相对误差为 1.6%。在另一个合并测试中,由多达 256 个片段构建的状态产生的读出结果与单次扫描相同数据流的结果完全一致。在来自 174 个源窗口的 3,969 个先聚合后推理任务上,固定预算接口在 Gemma 4 (31B, BF16) 上达到了 99.2% 的准确率,而精确聚合为 100.0%;配对差异为 0.8 个百分点(95% 窗口聚类置信区间:0.5–1.3 个百分点)。在一组配对的 174 个项目上,我们的方法相比直接全上下文推理在 Qwen 上提升了 63.2 个百分点,在 Gemma 上提升了 56.3 个百分点。相较于思维链 (CoT) 推理,相应提升分别为 60.9 和 63.2 个百分点。在固定的 1,200 任务 Oolong-Synth 子集上,我们的方法在 Qwen 上达到了 91.1%,在 Gemma 上达到了 99.3%。代码可在 attr/Border [0 0 0] user/Subtype /Link /A << /S /URI /URI (https://github.com/songdc98/sketchops) >>https://github.com/songdc98/sketchops 获取。

## 1 引言

长上下文语言模型越来越多地被用于分析日志、程序输出、表格和多轮对话 (Bertschet al. 2025; Kateet al. 2026; Xieet al. 2026; Caoet al. 2026)。尽管这些模型能有效识别相关记录,但随着上下文长度增长,它们在进行非加性、基于集合的聚合时往往变得不可靠 (Hsiehet al. 2024; Bertschet al. 2025)。此类聚合的例子包括基数估计、集合关系和分组统计,这些操作可能为下游推理和决策提供关键证据。这一局限性源于语言模型中使用的注意力机制和池化操作严重依赖于平均和归一化。虽然这些机制适合总结语义内容,但未必能有效处理数值状态聚合,因为后者需要显式地跟踪项目的唯一性、重复性、集合并集和交集。尽管学习型读出器可能在短序列长度内近似这些行为,但当上下文长度和/或集合基数超出训练分布时,它们可能会失败。

解决该问题的现有工作主要有两条代表性路径。第一条依赖于外部执行,例如生成代码或调用工具来执行精确聚合 (Chenet al. 2022; Kateet al. 2026; Caoet al. 2026; Xieet al. 2026)。尽管这些方法能实现精确聚合,但它们需要一个独立的生成-执行-返回循环,在此过程中暂停并重启模型的正常推理流程会带来额外的资源消耗和时间延迟。第二条是学习集合的神经表示,例如 Deep Sets、Set Transformer 和 Universal Mini-Batch Consistency (UMBC) (Zaheeret al. 2017; Leeet al. 2019; Willetteet al. 2023; Wagstaffet al. 2019),这些方法可用于增强长上下文聚合。然而,这些通用表示不一定保证特定操作的行为,例如可靠地识别重复标识,也不一定能在固定资源预算下提供可预测的准确率。正如我们实验中将展示的,它们的聚合误差可能随上下文长度增长而增大。

**贡献:** 基于这些不足,本文旨在提升长上下文语言模型在非加性、基于集合的聚合任务上的表现。为此,我们引入了一个用于长上下文推理的模型侧聚合接口,通过 HyperLogLog (HLL) 在冻结的语言模型旁维护紧凑的聚合状态。该接口支持去重计数、集合组合、交集估计和分组聚合,具有可控误差和有限的资源使用。与外部执行方法不同,它不需要额外的生成-执行-返回循环。与通用的学习型集合表示不同,它提供了显式且可预测的更新、合并和读出操作。更重要的是,我们的方法仅需轻量级的状态更新。对于每个输入数据流或活跃分组,它维护一个固定预算的草图状态,其内存不随上下文长度或集合基数增长。从概念上讲,这一机制为语言模型提供了一种近似数字感知能力:它能快速且足够可靠地估计数量和集合关系,并使其可直接用于下游推理。

我们的技术贡献包括:

1. 我们集成了轻量级、可合并的草图状态,这些状态与冻结语言模型的前向计算并行更新,从而在不调用外部执行器的情况下实现高效的模型侧聚合。
2. 我们开发了一个用于基于集合的聚合的统一可合并接口。它为每个输入数据流维护一个固定预算的可合并 HLL 状态,从中可以读出去重计数、并集、Jaccard 相似度和包含度。
3. 我们通过特定任务的聚合实验和端到端推理评估来验证所提出的框架,涵盖下游推理性能、长度外推、可合并性、资源-误差权衡以及对项目选择噪声的鲁棒性。

值得注意的是,本文使用的 HLL 草图算法并非新颖。我们的贡献在于将聚合状态组织成一个用于长上下文推理的模型侧接口,使其能够在整个上下文处理过程中被更新,并将其读出结果直接提供给后续推理,以及对该设计的验证。

## 2 相关工作

### 2.1 代码执行与工具增强聚合

获取精确聚合的一种常见方式是为语言模型引入一个外部执行器来计算这些量。程序辅助语言模型 (PAL)、思维程序 (PoT)、数据库查询系统和代码代理可以将聚合计算部署到外部 Python 运行时或结构化查询语言 (SQL) 引擎中 (Gaoet al. 2023; Chenet al. 2022; Caoet al. 2026)。LogCopilot 将同样的思路应用于日志分析,将自然语言请求转换为可执行的日志查询 (Xieet al. 2026)。如果代码正确生成并接收到相关记录,执行器可以将精确结果作为工具输出返回给语言模型 (Kateet al. 2026)。然而,只有在查询生成、执行和工具返回之后,结果才能被获取。尽管一些执行器可以跨查询保留状态,但精确集合仍需要随不同标识数量增长的内存。相比之下,我们的方法依赖于一个固定预算的模型侧状态,该状态在上下文处理期间被整合到冻结模型中。因此,读出结果始终立即可用于后续推理,无需调用外部执行器。

### 2.2 长上下文聚合与基于学习的集合表示

集合表示和处理方法为长上下文集合聚合提供了另一条途径。Deep Sets (Zaheeret al. 2017) 将项目映射为置换不变的集合函数,可以总结可变大小的集合,而无需模型保留每个项目或依赖它们的输入顺序。Set Transformer (Leeet al. 2019) 使用注意力机制来建模集合元素间的交互,使得聚合能捕获简单池化可能遗漏的关系。它还降低了处理大型集合的成本。Universal Mini-Batch Consistency (UMBC) (Willetteet al. 2023) 使得大型集合可以在更小的分区中处理,同时保证结果对不同的集合划分方式不变。这使得能够以顺序方式稳健地处理超长上下文。尽管这些方法使集合聚合更具可扩展性,但具体的聚合行为仍是从数据中学习的。它们既不显式保证独立计算状态的可确定性合并,也不提供固定资源预算下的可预测误差。相比之下,我们的方法通过显式聚合状态和更新规则的设计提供了这些特性。

### 2.3 学习型数据结构与流式草图

除了通用集合编码器外,现有工作也学习用于近似集合查询的紧凑状态表示。学习型布隆过滤器 (Raeet al. 2019; Song and Wang 2026; Vaidyaet al. 2020) 和神经草图 (Caoet al. 2023) 根据相应数据分布调整其内部表示。其中,MaxSketch 与我们的设置最为接近,因为它也维护一个紧凑的、可合并的状态用于近似基数估计。然而,MaxSketch 基于随机高斯投影,使其适用于嘈杂的高维观测 (Tsikouraset al. 2026)。而我们的设置假设离散的项目标识直接可用,并专注于将显式的流式聚合状态与语言模型推理相结合。

从技术角度来看,我们的模型侧接口利用现有的草图算子 HyperLogLog (HLL) 来促进更新、合并和数值读出。具体而言,HLL 通过一个固定的寄存器数组估计去重基数,并通过取每个寄存器中的最大值来合并两个状态 (Flajoletet al. 2007)。此外,配对的 HLL 状态可以通过联合最大似然估计来估计 Jaccard 相似度和包含度 (Ertl 2017)。这使得一个单一的紧凑状态表示能够支持去重计数、集合组合和重叠相关查询。还有其他草图算子可以提供类似能力。例如,k-最小值 (KMV) 保留 k 个最小的哈希值,并同时估计基数和重叠;而 MinHash 直接估计 Jaccard 相似度 (Bar-Yossefet al. 2002; Broder 1997)。然而,与 HLL 相比,它们的读出结果更为专门化。对于涉及多重性的查询,Count-Min Sketch 可以为频率估计提供补充状态 (Cormode and Muthukrishnan 2005)。我们注意到这些草图算子在文献中已很成熟,我们的贡献在于设计了一个接口,该接口选择并维护与语言模型并行的任务合适的聚合状态,并将得到的统计量返回给模型用于下游推理。

## 3 问题设定

考虑一个日志分析请求,例如“每个服务中有多少不同的用户报告了错误?”仅仅识别所有错误记录并不足以回答这个问题,因为同一个用户可能在同一服务中报告多个错误,但仍应只被计数一次。类似地,如果请求改为询问两个服务受影响用户群体重叠的程度,知道每个服务中的用户数量也不够:计算必须保留哪些用户同时出现在两者中。因此,在识别出相关记录后,其标识可能仍然需要被聚合。

**身份感知聚合。** 许多非加性聚合任务取决于项目标识在相关记录中的出现方式,包括唯一性、重复性、分组以及跨集合的关系。我们将这一广泛且基础的任务家族称为*身份感知聚合*,并将本文的范围聚焦于该设定。具体来说,我们考虑基于支持度的任务,这些任务取决于哪些不同的标识出现,包括去重计数、并集和交集的基数、重叠、Jaccard 相似度和包含度,以及将这些操作分别应用于请求定义的分组内的分组请求。这些任务涵盖了广泛的实用聚合需求,并且与关系处理中的标准集合操作以及集合比较的既定度量密切相关 (Codd 1970; Broder 1997; Ertl 2021)。

**问题形式化。** 为了形式化我们的问题,令 \(x_{1:L} = (x_1, \ldots, x_L)\) 表示长度为 \(L\) 的上下文,令 \(q\) 表示对该上下文的请求。我们假设与冻结语言模型相关联的一个提取器识别出相关记录,并将其组织成 \(\tau\) 个与操作相关的数据流(为简洁起见,以下称为数据流):

\[
E(x_{1:L}, q) = (\mathcal{R}^{(1)}, \ldots, \mathcal{R}^{(\tau)}),
\]
其中
\[
\mathcal{R}^{(i)} = \bigl( (z_t^{(i)}, g_t^{(i)}) \bigr)_{t=1}^{n_i}.
\]
这里,\(\tau\) 是 \(q\) 所需的数据流数量,\(n_i\) 是数据流 \(\mathcal{R}^{(i)}\) 中的记录数量。对于每条记录,\(z_t^{(i)} \in \mathcal{U}\) 表示其在项目宇宙 \(\mathcal{U}\) 中的规范标识,\(g_t^{(i)} \in \mathcal{G} \cup \{\varnothing\}\) 表示一个可选的(即如果不使用则为 \(\varnothing\))分组键。

对于每个数据流 \(\mathcal{R}^{(i)}\),我们维护一个

相似文章

长时段LLM智能体服务的并行上下文压缩

arXiv cs.AI

介绍了用于长时间范围LLM智能体的并行上下文压缩,实现了对摘要量的细粒度控制,并相比多个骨干模型上的顺序同步压缩,降低了端到端延迟。

Δ-Mem:大型语言模型的高效在线记忆

Hacker News Top

提出 delta-Mem,一种轻量级在线记忆机制,利用紧凑状态矩阵并通过增量规则学习进行更新,以提升冻结大型语言模型的长上下文性能,无需全量微调或上下文扩展。

自压缩语言模型代理

Hugging Face Daily Papers

SelfCompact是一种脚手架方法,让语言模型自主决定何时以及如何压缩长智能体轨迹,相比固定间隔方法,在减少token成本的同时实现了更好的性能。