Parallel Context Windows for Large Language Models

本文是LLM系列文章,针对《Parallel Context Windows for Large Language Models》的翻译。

大语言模型并行上下文窗口

  • 摘要
  • [1 引言](#1 引言)
  • [2 并行上下文窗口](#2 并行上下文窗口)
  • [3 上下文学习的PCW](#3 上下文学习的PCW)
  • [4 PCW用于QA](#4 PCW用于QA)
  • [5 相关工作](#5 相关工作)
  • [6 结论和未来工作](#6 结论和未来工作)
  • 不足

摘要

当应用于处理长文本时,大型语言模型(LLM)受到其上下文窗口的限制。现有的解决这一限制的努力涉及训练专门的体系结构,并且不能很容易地应用于现成的LLM。我们提出了并行上下文窗口(PCW),这是一种在没有进一步训练的情况下减轻任何现成LLM的上下文窗口限制的方法。该方法的关键是将长上下文分割成块("窗口"),将注意力机制限制为仅在每个窗口内应用,并在窗口之间重复使用位置嵌入。我们的主要结果测试了PCW方法在上下文学习中的应用,模型的大小在7.5亿到1780亿个参数之间,并显示出对具有不同输入和输出空间的任务的显著改进。我们在长上下文窗口可能有益的其他设置中展示了额外的好处:多跳问题和使用多个检索到的文档的检索增强问答。我们的研究结果强调,并行上下文窗口是一种很有前途的方法,可以在一系列需要长文本序列的设置中应用现成的LLM。我们在https://github.com/ai21labs/parallel-context-windows.

1 引言

2 并行上下文窗口

3 上下文学习的PCW

4 PCW用于QA

5 相关工作

6 结论和未来工作

近年来,已经提出了许多成功的方法,允许基于Transformer的语言模型在推理过程中利用大量文本,从而产生了各种专用的体系结构。然而,与此同时,具有"常规"(多达数千个token)上下文窗口大小的新模型的主流LLM生产线在扩展、创新和数据更新方面进展更快。

本文介绍了并行上下文窗口(PCW):一种简单的方法,允许任何现成的LLM在推理过程中扩大其可以访问的文本范围。我们展示了PCW在上下文学习框架中的有效性,其中访问一个大B因子的上下文意味着从B倍的训练例子中学习。我们的结果表明,在一组广泛的多类分类任务中,PCW比普通的单上下文窗口方法更有效地进行上下文内学习,这表明PCW可以在具有不同输入或输出空间的任务中改进上下文内学习。我们还展示了将PCW应用于多检索文档读取的有希望的信号。

我们认为未来工作的两个关键方向特别有希望。首先,通过证明现成的LLM可以通过PCW处理大量的文本,我们的结果激励了在其他环境中对PCW方法的进一步研究,在这些环境中,希望将主流LLM应用于长文本序列。其次,尽管我们的研究结果表明,PCW在没有进一步训练的情况下是有效的,但我们相信,对具有并行上下文窗口的LLM进行进一步(短期)训练可以进一步增强这项工作中展示的能力。

不足

我们提出了并行上下文窗口(PCW),这是一种简单的方法,可以减轻任何现成LLM的上下文窗口限制,而无需额外的训练。我们在各种模型和数据集上展示了这种方法的潜力。因此,我们的方法确实有一些局限性。
上下文窗口的数量是有限制的,并且需要预先确定 。与普通上下文学习类似,必须事先选择要包含在提示中的示例数量。对于PCW,还需要选择上下文窗口的数量B。在本文中,大多数结果都是B=3。我们在附录C中对B的选择进行了实验。结果取决于任务,但在高水平上,我们发现B周围的回报在5到7之间递减。我们将进一步研究如何有效地从未来工作的更多窗口中获益。
并非对所有类型的任务都有效。如第3节所述,PCW在ICL中显示了令人印象深刻的优势,用于多类任务分类和信息提取等任务。但是,对于某些任务,PCW并不能提高性能。这可能表明某些任务不适合并行处理。第4.2节表明,PCW更适用于输入文本可以划分为几个独立输入的情况,但长文本生成等任务是否会从PCW中受益仍然是一个悬而未决的问题。

相关推荐
szxinmai主板定制专家2 分钟前
基于TI AM6442+FPGA解决方案,支持6网口,4路CAN,8个串口
arm开发·人工智能·fpga开发
龙湾开发22 分钟前
轻量级高性能推理引擎MNN 学习笔记 02.MNN主要API
人工智能·笔记·学习·机器学习·mnn
CopyLower1 小时前
Java与AI技术结合:从机器学习到生成式AI的实践
java·人工智能·机器学习
workflower1 小时前
使用谱聚类将相似度矩阵分为2类
人工智能·深度学习·算法·机器学习·设计模式·软件工程·软件需求
jndingxin1 小时前
OpenCV CUDA 模块中在 GPU 上对图像或矩阵进行 翻转(镜像)操作的一个函数 flip()
人工智能·opencv
囚生CY1 小时前
【速写】TRL:Trainer的细节与思考(PPO/DPO+LoRA可行性)
人工智能
杨德兴1 小时前
3.3 阶数的作用
人工智能·学习
望获linux1 小时前
医疗实时操作系统方案:手术机器人的微秒级运动控制
人工智能·机器人·实时操作系统·rtos·嵌入式软件·医疗自动化
仓颉编程语言2 小时前
仓颉Magic亮相GOSIM AI Paris 2025:掀起开源AI框架新热潮
人工智能·华为·开源·鸿蒙·仓颉编程语言
攻城狮7号2 小时前
一文理清人工智能,机器学习,深度学习的概念
人工智能·深度学习·机器学习·ai