Periscope:用网格探测将冻结语言模型扩展到上下文窗口之外 Periscope: Extending Frozen Language Models Beyond Their Context Window
把长文本折成K×K网格,用2K次短探测替代一次长读取,单卡80GB读4.5M token
前置知识
KV缓存
Transformer自回归推理时,注意力机制必须保留所有历史token的Key/Value向量,每读取一个token就追加一份,其显存占用随上下文长度线性增长,是长文本读取的核心瓶颈。本文例子中,Qwen3.5-27B一次性读取4.5M token需要296GB缓存,远超其54GB的权重体积。
Periscope的核心卖点正是每次调用只缓存一个探测(不超过窗口长度)的KV,让长读取的显存需求与文本总长解耦、只由模型权重决定。
上下文窗口
模型训练时位置编码支持的最大输入长度,超出则无法处理或精度骤降。位置插值、YaRN、LongRoPE等外推技术可以扩展它,但RULER等评测发现模型往往在标称窗口内就开始丢精度:13个宣称支持128k的模型中有11个在32k处就跌到短上下文准确率的一半。
本文让窗口为$W$的模型读取$W^2/c$ token的文本,且每个探测都停留在模型最准确的短输入区间,绕开了'窗口越长精度越掉'的问题。
首token log-odds读出
让模型对'答案是哪个选项'只前向传播一次、生成一个token,读取该位置上各选项的log概率并计算对数几率差 $\ell(y)=\log p(y)-\log p(\bar{y})$,其中$\bar{y}$是弃权选项。这是点对重排序器常用的廉价且可靠的判断方式。
Periscope的全部信息都来自2K次这样的单token读出,理解log-odds与弃权选项的设计,才能理解探测分数为何跨span可比、证据图如何构造。
可分离结构与秩1矩阵
一个矩阵若能表示为一个列向量乘一个行向量(秩1),只需$O(\text{行数}+\text{列数})$次测量而非$O(\text{行数}\times\text{列数})$,LoRA、可分离滤波器都利用了这一点。网格探测将其用于推理:K个行探测加K个列探测即可覆盖$K\times K$个格子,调用数随项目数开平方增长。
这是Periscope把没有几何结构的长文本折叠成$K\times K$网格、用$2K$次短探测覆盖$N$个块的结构基础,也是方法成本为$s^{1.5}$的来源。
NDCG@10
排序质量指标:对检索结果前10位的相关性按位置做对数折减后累加,再用理想排序归一,取值0到1,排名越靠前的高相关文档贡献越大。常与MRR(第一个相关文档倒数排名均值)、Recall@k配合使用。
BRIGHT检索实验的主指标,用于验证证据图的排序读出在不做任何二次读取的情况下就能达到六种方法中的最佳检索质量。
研究动机
语言模型把长文本塞进一次前向传播,这带来三重限制:注意力成本随输入长度平方增长;读取止步于上下文窗口;而且往往在到达窗口之前精度就已下滑——13个声称支持128k token的模型中有11个在32k处就跌到短上下文准确率的一半(当'针'与问题词汇重叠少时更糟),即使检索完美,准确率仍随输入长度下降。已有三条应对路线各有结构性缺陷:扩窗口(位置插值、YaRN、LongRoPE)只是把墙推远,保留二次成本和单体KV缓存,MiniMax-Text-01读1M token需要8卡共640GB显存的机器;读得更少(RAG用embedding选块、LLMLingua压缩提示)由一个外部选择器决定读什么,它保留下来的未必是问题需要的;分段读取(MaxP让每段孤立评分、Chain of Agents按顺序传递摘要)要么任何调用都看不到自己段落之外,要么中间摘要是有损的、最终答案与全文读取没有明确关系。
本文的目标是本文的目标是:在不训练、不微调任何参数的前提下,让一个服务窗口为 $W$ token 的冻结模型读取最长约 $W^2/c$ token 的文本($c$ 为块大小),并且每次调用的显存占用有界——缓存永远不超过一次窗口读取的量。方法需要同时满足四点性质:所有调用有界且相互独立(无状态传递、无生成文本);由读者模型自己决定哪些文本进入读取(而非外部检索器);对全文有视角而非只见局部;免费给出证据所在位置的图谱。评估时保持模型、提示、首token读出与单次读取完全一致,只改变每次前向传播看到的文本,在LongBench v2、InfiniteBench En.MC、BRIGHT三个基准上与各窗口的窗口读取公平比较。
与已有工作不同的是,作者的独特切入点是先问'这次读取到底是为了什么':大量长上下文任务本质是对有限答案集合的决策——哪个文档相关、哪个选项被支持、哪段是证据,而这类决策只需要一段支持性文本即可成立:文档相关当且仅当它的某部分支持查询。因此全文读取可以分解为对有界窗口的判断,再用最大值组合——max算子本身不引入任何近似,而'窗口内判断'恰好落在模型最准的区间。结构上,作者借鉴其前作GridProbe(长视频VLM的后验探测)的可分离思想——矩阵最廉价的构造是一个行向量加一个列向量——把本无几何结构的长文本折叠成 $K\times K$ 网格,用$2K$次探测覆盖$K^2$个块,调用数随文本长度开平方增长,同时绕开二次注意力与固定窗口边界两个瓶颈。
核心方法
直觉:如果一段长文本支持某个答案,必然存在某个局部区域承载证据;而冻结模型在短输入上判断'这段文本是否支持答案X'既便宜又可靠。技术路线:把文本的 $N=\lceil s/c\rceil$ 个块排成 $K\times K$ 网格($K=\lceil\sqrt{N}\rceil$),发起$2K$次独立前向传播——$K$个局部探测各读一行($K$个连续块),$K$个跨步探测各读一列(每隔$K$块取一个,均匀采样全文),每个块恰好被读两次。每次探测在首个答案token处读出各选项的log-odds:$\ell(y|S,q)=\log p_\theta(y|S,q)-\log p_\theta(\bar{y}|S,q)$,其中$\bar{y}$是弃权选项(如'E. Unsure'),让没有证据的span对所有答案打低分而非随机偏好。答案得分取两组最优之和 $\text{score}(y)=\max_i L_i(y)+\max_j S_j(y)$;每个块再由它所属的行、列两个探测打分,免费形成一张证据图。
核心创新是把'长读取'分解为'短探测的组合',与已有方法的本质区别有四点。第一,调用独立无状态:不同于Chain of Agents把有损摘要传给下一个worker(同模型同span下它比Periscope低10分、延迟3倍),这里$2K$次调用可完全并行、互不依赖、零生成文本,最终答案与全文探测有明确的数学关系。第二,读者自己决策:不同于RAG由外部embedding检索器先选后读(同预算下embedding选择低6.1分),这里是模型自己的log-odds决定读什么,选择错误可被全文探测覆盖。第三,跨步探测提供全局视角:消融显示去掉它BRIGHT的NDCG@10停在.551(与逐块MaxP相同),加上后升至.637,说明局部精细度不缺、缺的是全文视野。第四,证据图免费:$M[i,j]=\max_{y\neq\bar{y}}(L_i(y)+S_j(y))$不需要任何额外调用,峰值即答案背后的块,同一张图同时服务排序、直接回答、定位、选择读取四种任务。
方法步骤详情
步骤一(分块建网格):文本$x$切成$N=\lceil s/c\rceil$个$c$ token的块(问答$c=500$,检索$c=100$),$K=\lceil\sqrt{N}\rceil$,空块填充后按$x_{(i-1)K+j}$占据格子$(i,j)$。步骤二(构造span):第$i$个局部span $L_i$为第$(i-1)K+1$到$iK$个连续块,第$j$个跨步span $S_j$为$x_j,x_{j+K},\dots$,每个span约$\sqrt{sc}$ token。步骤三(探测):$2K$次max_tokens=1的前向传播,读top-20 logprobs,提示带弃权选项(问答'E. Unsure'、检索'No'),关闭采样截断与thinking模式。步骤四(组合):由$\ell=\log p(y)-\log p(\bar{y})$得每span分数,答案得分$=\max_i L_i(y)+\max_j S_j(y)$。步骤五(证据图与读出):$M[i,j]$取该块两个探测分数在非弃权答案上的最大值;四种读出——排序用Yes/No log-odds、直接回答取$\arg\max_y$、定位取图峰值、选择读取把图最高K块按原序拼成一次约9k token调用(总计$2K+1$次调用)。
技术新颖性
技术新颖性有三。其一,可分离结构从视频到文本的迁移:秩1分解(一个行向量加一个列向量,LoRA式的最廉价构造)被用于推理时探测,$2K$次调用覆盖$K^2$个块,注意力成本随文本长度$s$呈$s^{1.5}$而非$s^2$增长;文本本无网格几何,这一折叠是核心洞察。其二,带弃权选项的log-odds读出:$\ell(y|S,q)=\log p_\theta(y|S,q)-\log p_\theta(\bar{y}|S,q)$使不同span分数可直接比较,无证据的span对所有答案打低分而非随机偏好,这是max组合成立的前提,也是与MaxP逐段评分的实质差异。其三,成本与内存特性:探测注意力项$2b\sqrt{c}\,s^{3/2}$低于单读的$bs^2$,交叉点$s^*\approx a/b$实测4B为119k、27B为278k token;每调用只缓存$\sqrt{sc}$ token,读取上限变成$W^2/c$——$c=500$时32k窗口达2M、128k窗口达33M token;4B在16GB缓存预算下单读止步178k而探测可达约63M token。一句话:长读取需要的GPU装得下模型即可,不必装得下文本。
实验结果
问答:LongBench v2(503道四选一,上下文8k-2M词)上,Qwen3.5-4B的选择读取(只读图最高的K块约9k token)得41.9%,与跨32k至1M窗口的最佳窗口读取(131k)持平,超过同预算embedding选择(35.8%)6.1分、随机(33.0%)8.9分、前K块(31.2%)10.7分,KV缓存仅1.6GB对4.3GB;direct读出零额外调用得40.2%;而4B窗口读到1M(YaRN)反而降至39.2%。27B最佳窗口读取(262k)55.9%,Periscope两读出均52.7%,但long split上direct达57.4%追平262k读取而缓存3.1GB对17.2GB;Gemma-4-26B上select 43.7%反超42.9%。InfiniteBench En.MC(229题,中位150k)select 82.1%领先最佳窗口读取(77.3%)4.8分,放不进131k的150部小说上差距达14分(84.0对70.0)。检索:BRIGHT全语料(350查询、3792文档)NDCG@10=.493、MRR=.491、R@1=.266,六方法全面最佳(Qwen3-Embed-4B为.461/.450/.213,BM25仅.219)。成本:262k文本上4B探测26秒对单读40秒,1M时108秒对457秒;4.5M token上下文27B单读需296GB缓存而单探测仅3.1GB。跨模型迁移:4B图喂27B读取得49.1%,比27B用embedding选高3.6分。消融:跨步探测把BRIGHT从.551提至.637;Chain of Agents同模型仅32.0%、207秒,对比41.9%、63秒。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| LongBench v2 长上下文问答(Qwen3.5-4B) | 准确率(%) | 41.9(选择读取,仅读约9k token,KV缓存1.6GB);direct读出40.2 | 最佳窗口读取(131k)41.9;同预算embedding选择35.8、随机块33.0、前K块31.2 | 以约1/3的KV缓存(1.6GB对4.3GB)持平最佳窗口读取,超embedding基线6.1分 |
| InfiniteBench En.MC 整本小说问答(Qwen3.5-4B) | 准确率(%) | 82.1(选择读取);direct 80.8 | 最佳窗口读取262k为77.3,131k为74.2 | +4.8分;在放不进131k窗口的150部小说上84.0对70.0,领先14分 |
| BRIGHT 长文档检索(7域350查询对3792文档全语料) | NDCG@10 / MRR / R@1 | .493 / .491 / .266 | Qwen3-Embed-4B .461/.450/.213;16k窗口读取 .453/.453/.225;BM25 .219 | 六方法中NDCG@10、MRR、R@1均最佳,无需候选池化 |
| 4.5M token 超长上下文读取(Qwen3.5-27B) | 峰值KV缓存 | 单探测3.1GB,单张A100 80GB可完成读取 | 单次全文读取需296GB(超过3张A100),在该硬件上根本无法执行 | 内存需求降低约95倍,读取从不可行变为可行;证据图峰值可定位到782k-3.6M token深处 |
局限与改进
作者承认的局限:方法只覆盖有限答案集上的决策,不支持摘要等开放式生成;证据分散在远距离多个span时只有选择读取能拼接,而它在多文档QA上落后窗口读取(4B:33.6对40.0,27B:44.8对53.6);在成本交叉点以下探测比单读更贵(短、中split上token量是窗口读取的2.3-2.5倍);附录B的OBLIQ实验表明当文档短到能装进单个探测时,证据图退化为普通检索器(Top-1为47.5,与embedding的50.0打平)。我的补充观察:一是对首token分布校准的依赖较脆弱——log-odds跨span直接相加只是假设而非保证,Yes/' Yes'表面形式取max、温度设1等处理换模型或模板时需重新验证;二是探测数$2K$随$\sqrt{N}$增长,中等长度文本的并行调度有开销;三是块大小敏感($c$从500翻倍到1000,medium split从41.9掉到38.6);四是跨步span把相距$Kc$的块直接拼接,文本不连贯可能引入噪声;五是27B上选择读取(52.7)总体仍低于其最佳窗口读取(55.9),方法在最强模型上尚未全面追平。
独立分析的弱点
第一,多文档场景的结构性失败:证据图峰值假设证据集中在单一区域,LongBench v2多文档QA是唯一在两个规模上都落后的领域(4B select 33.6对窗口读取40.0,27B 44.8对53.6),改进方向是先对文档粗分组再分组建图,或把单峰值改为top-m区域聚合。第二,长文本丢失跨区域信息:27B选择读取(52.7)仍低于最佳窗口读取(55.9),9k token装不下多区域证据,可按图分值做分层读取——先读峰值行再补高分列块。第三,短文本不经济:低于交叉点(4B 119k、27B 278k token)时探测开销反超单读,可自适应路由决定走单读还是建图。第四,读出的模型偏置:4B的direct(40.2)反而低于窗口读取(41.9),log-odds可加性对小模型未必成立,可引入每span温度校准或轻量校准器。第五,检索中Earth Science与Robotics域落后窗口读取,因这些域的相关性集中在16k窗口前缀内,说明优势边界在证据深埋长尾的文档,应做域自适应策略混合。
未来方向
作者明确提出两个方向:一是为摘要等开放式输出设计读出——目前所有读出都锚定在单token的log-odds上,把证据图扩展为生成式读取的导航器(先选区再条件生成)是自然延伸;二是把探测分数和证据图蒸馏进embedding检索器或轻量排序器,让便宜百倍的模型继承冻结大模型的证据判断(4B图喂27B已证明分数可跨模型迁移)。基于成果还可延伸:与稀疏注意力结合,用证据图指导稀疏注意力的块选择,把方法从'多次调用'压回'单次调用';推广到长视频、长音频等多模态长序列(作者前作GridProbe正是视频版本,文本版本打通后可形成统一框架);流式场景下的增量证据图维护——新块到达只需更新一行一列,适合持续对话与日志分析;把图峰值作为RAG答案的可解释引用来源,缓解生成式RAG的归因难题;以及探索非均匀网格,按困惑度或主题边界切块,替代固定500 token等长切分。
复现评估
复现条件较好。代码已在GitHub开源(mohammad2012191/Periscope),纯推理方法、无训练环节。附录A.1给出完整细节:两套提示模板原文(含弃权选项措辞)、采样设置(温度1.0、关闭top-p/top-k截断与thinking模式、max_tokens=1、读top-20 logprobs)、答案token表面形式取max处理与启动校验流程;附录A.2给出FLOPs公式与逐模型系数(4B的$a=6.8\times10^9$、$b=6.6\times10^4$)及实测延迟表。三个基准(LongBench v2、InfiniteBench En.MC、BRIGHT)全部公开。硬件门槛低是卖点:单张A100 80GB、vLLM bfloat16即可复现全部主表(4B并发32、27B并发8),LongBench v2每题0.1至30 PFLOPs量级。主要风险:论文用的Qwen3.5-4B/27B与Gemma-4-26B-A4B-it较新,需确认权重可得且版本一致;答案token表面形式随聊天模板变化,跨模型复现须做启动校验。总体中等难度:工程难点在vLLM下的logprob读出与$2K$探测批量调度,但算法核心百行代码量级。
论文图表
检索主表:同一冻结模型(Qwen3-4B,16k窗口)下,Periscope排序读出得NDCG@10 .493、MRR .491、R@1 .266、R@10 .666,全面优于窗口读取(.453/.453/.225/.633)、FirstP(.222)、BM25(.219),并对参数量匹配的Qwen3-Embed-4B(.461/.450/.213/.671)在NDCG@10、MRR、R@1上领先,仅R@10低0.5分。
证明证据图在不做任何二次读取的情况下就能作为独立检索器工作,且在'需要推理而非表面匹配'的BRIGHT上胜过为检索而训练的embedding模型。
逐题胜负统计:相对4B的131k窗口读取,Periscope select胜负各54(打平),direct为51/60,而first-K为39/93、random 44/89、embedding 51/82;图由4B构建、27B读取时为87/51(净胜36题);K/2、2K、4K块的敏感性也在表中。对27B窗口读取,27B direct在long split上为13/5净胜。
补充平均准确率看不到的分布信息:确认Periscope与最佳窗口读取是互有胜负的替换关系,而小模型建图大模型读取是明确的净改善。