Periscope:将冻结语言模型扩展到上下文窗口之外
Periscope: Extending Frozen Language Models Beyond Their Context Window
摘要
语言模型在一次二次前向传递中读取长文本,在上下文窗口处停止,并在到达上下文窗口之前失去长度的准确性。我们询问在决定有限集时是否可以分解阅读:哪个文档是相关的,哪个选项受到支持,哪个段落是证据。 Periscope 是一种无需训练推理方法,它使用 $K{=}\lceil\sqrt{N}\rceil$ 将文本的 $N$ 块排列在 $K{\times}K$ 网格上,并向冻结模型询问有关连续块的 $K$ 本地跨度和对整个文本进行采样的 $K$ 跨度跨度的相同问题,读取每个答案在一个 token 处的对数几率。每个答案都采用其最佳的本地和跨步分数,并通过每个块的两个跨度对每个块进行评分,无需进一步成本即可给出证据图,其峰值是答案背后的块。对于 $s$ token 的文本和块大小 $c$,每个 探针 大约为 $\sqrt{sc}$ token,因此 $W$ token 的窗口以 $s^{1.5}$ 成本达到 $W^{2}/c$ token。地图取代了冗长的阅读。在 LongBench v2 上,仅读取 $K$ 块,地图排名最高,为 9k token,与同一模型在 32k 到 1M token 的窗口中读取的最佳窗口相匹配,而在 InfiniteBench 上,中值上下文为 150k token,它领先最佳窗口读取 5 个点。同一张图对 BRIGHT 的长文档语料库进行了六种方法中最好的 NDCG@10 的排名。每个调用仅缓存一个 探针,因此 27B 模型在一个 80GB GPU 上读取 4.5M-token 上下文,其中单次传递需要 296GB 缓存。长篇阅读需要一个 GPU 来保存模型,而不是保存文本。
