什么是上下文窗口
语言模型回答问题时,并不是只看最后那一句提问,它看的是这次请求里包含的全部材料:指令、文档、图片、录音转写。这些材料就是上下文(context),而上下文窗口(context window)是模型一次能装下的上限,用词元(token)来计量——词元大致相当于词或词的片段。
所谓长上下文,就是把这个上限做得很大。窗口小的时候,材料只能被切成小块、逐块摘要、再拼回去;长上下文模型则被设计成一次能接收整本书、一整个代码库,或者几个小时的音频和视频。用户可以整份交出去,然后针对其中某一行提问。所以被考验的不只是「装得下」,还有「用得上」——模型能不能在很长的输入里找到那个具体细节,并据此推理。
位置和长度一样重要
窗口变大,并不意味着模型就会用好它。Liu 等人在 2023 年指出,当回答问题所需的信息被埋在长输入的中间,而不是开头或结尾时,模型的准确率会明显下降[2]。这个结果对那些专门以长上下文为卖点的模型同样成立,因此长上下文的评测如今会考察位置敏感性,而不只是最大长度[2]。一个模型可以通过「你能接收多少词元」这一关,却仍然在「你能找到第 300 页的那句话吗」上失败。
2024 年达到的规模
Google 在 2024 年 3 月发布的 Gemini 1.5 技术报告,描述了一个多模态模型家族,能够从数百万词元的上下文中回忆并推理细粒度信息,这些上下文包括多份长文档,以及数小时的视频和音频[1]。该家族发布时包含两个模型:升级后的 Gemini 1.5 Pro 和更轻量的 Gemini 1.5 Flash[1]。
Google 报告说,在跨模态的长上下文检索任务上,模型几乎做到了完美召回;随着上下文增长,下一词元预测和检索的表现(在 99% 以上)至少到 1000 万词元时仍在继续提升[1]。作为对照,同一份报告列出 Claude 3.0 为 20 万词元、GPT-4 Turbo 为 12.8 万词元[1],都远低于这个量级。Google 还表示,Gemini 1.5 在长文档问答、长视频问答和长上下文自动语音识别上提升了当时的最好水平[1]。
报告里的两个演示说明了这么大的窗口用来做什么。只给一本 Kalamang 语的语法手册——这门语言全世界的使用者不到 200 人——模型就学会了把英语翻译成 Kalamang 语,水平与一个用同样材料学习的人相近[1]。在横跨 10 个职业类别的专业场景中,Gemini 1.5 与用户协作带来了 26% 到 75% 的时间节省[1]。
今天用在哪里
长上下文改变了一步之内能问模型什么:通读并查询一整份合同、一次性在若干文档之间找答案、就一段录好的讲座或会议提问、借助长长的术语表转写语音,或者靠一本手册而不是大量标注样例进入一个新任务。Kalamang 的例子属于最后一种——所谓的「示例」,就是那份参考资料本身。
局限
长度是一种能力,不是保证。Liu 等人发现的「信息在中间就变差」仍然是评测要专门检查答案位置的原因[2]。另一方面,喂进去的材料越多,计算和等待的代价通常也越高,所以每次请求都塞满最大输入往往是浪费;先检索出相关的那几页,仍然在做大窗口替代不了的工作。
注释与来源
- Gemini 1.5: Unlocking multimodal understanding across millions of tokens of contexthttps://arxiv.org/abs/2403.05530
- Lost in the Middle: How Language Models Use Long Contextshttps://arxiv.org/abs/2307.03172
引用本页: 长上下文(Long context). TellWorld, https://www.tellworld.net/zh/learn/long-context. 更新于 2026-11-07