上下文窗口
概述
本章介绍上下文窗口的概念、作用和优化策略,这是理解和使用大语言模型的关键概念。
核心内容
什么是上下文窗口
定义 上下文窗口是模型一次能够处理的最大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,在有限的窗口内实现更好的效果。