Skip to content

上下文窗口

概述

本章介绍上下文窗口的概念、作用和优化策略,这是理解和使用大语言模型的关键概念。

核心内容

什么是上下文窗口

定义 上下文窗口是模型一次能够处理的最大token数量,包括输入和输出。

重要性

  • 决定了模型能"记住"多少信息
  • 影响长文本处理能力
  • 关系到对话历史管理
  • 影响模型使用成本

上下文窗口的工作原理

输入限制 模型输入不能超过上下文窗口大小,超出部分会被截断。

输出占用 生成的输出也占用上下文窗口,需要为输出预留空间。

滑动窗口 在对话中,旧的消息会被新消息挤出窗口。

位置编码 模型通过位置编码理解token在序列中的位置关系。

不同模型的上下文窗口

传统模型

  • GPT-2: 1024 tokens
  • BERT: 512 tokens

现代模型

  • GPT-3.5: 4K tokens
  • GPT-4: 8K/32K tokens
  • Claude 2: 100K tokens
  • Claude 3: 200K tokens
  • GPT-4 Turbo: 128K tokens

上下文窗口的影响

长文本处理 窗口越大,能处理的文档越长。

对话历史 更大的窗口支持更长的对话历史。

成本考虑 更大的窗口通常意味着更高的API调用成本。

性能影响 过长的上下文可能影响模型的推理速度。

优化策略

文本截断 只保留最相关的文本片段。

文本摘要 对长文本进行摘要后再输入模型。

分段处理 将长文本分成多个部分分别处理。

检索增强生成(RAG) 只检索相关片段,减少输入长度。

滑动窗口策略 保留最近的对话历史,丢弃旧内容。

小结

上下文窗口是大语言模型的重要限制因素。理解其工作原理和优化策略,能够帮助我们更有效地使用LLM,在有限的窗口内实现更好的效果。