上下文长度是什么?128K 和 4K 差别有多大?
更新于 2026-04-01
什么是上下文长度
上下文长度(Context Length)是模型一次对话中能处理的最大文本量,单位是 token。
1 个 token 大约等于 1-2 个中文字,或者 0.75 个英文单词。所以:
• 4K tokens ≈ 3000-6000 个中文字 ≈ 一篇短文
• 32K tokens ≈ 2-5 万字 ≈ 一篇论文
• 128K tokens ≈ 10-20 万字 ≈ 一本小书
• 1M tokens ≈ 100 万字 ≈ 几本书
上下文长度决定了模型的「记忆窗口」。在这个窗口内,模型能记住你说过的所有内容;超出窗口的部分,模型就「忘了」。
上下文长度对使用体验的影响
短上下文(4K-8K):
• 适合简单问答、短对话
• 多轮对话后会「忘记」前面的内容
• 无法处理长文档
中等上下文(32K-128K):
• 可以分析整篇论文或长代码文件
• 多轮对话记忆力强
• 大多数日常场景够用
超长上下文(128K+):
• 可以一次读入整本书或整个代码仓库
• 适合 RAG、文档问答等场景
• Llama 4 Scout 甚至支持 10M 上下文
对大多数用户来说,32K-128K 的上下文长度已经非常够用。
上下文长度如何影响显存
这是很多人忽略的关键点:上下文越长,额外占用的显存越多。
模型运行时需要维护一个叫 KV Cache 的数据结构,用来存储已处理文本的中间状态。KV Cache 的大小和上下文长度成正比。
以一个 14B 模型为例:
• 4K 上下文:KV Cache 约 0.1-0.3 GB
• 32K 上下文:KV Cache 约 0.8-2 GB
• 128K 上下文:KV Cache 约 3-8 GB
这意味着同一个模型,如果你用满 128K 上下文,实际显存需求可能比标称值多出 3-8 GB。本站显示的显存需求已经预留了约 10% 的 KV Cache 空间,但如果你经常使用超长上下文,需要额外考虑这部分开销。
怎么选择合适的上下文长度
实用建议:
• 日常聊天:8K-32K 足够,不需要追求超长上下文
• 分析文档/论文:32K-128K,确保能放下完整文档
• 代码项目:128K+,方便一次读入多个文件
• 知识库问答(RAG):上下文长度不是越长越好,RAG 通过检索只送入相关片段,32K 通常够用
记住:更长的上下文 = 更多的显存消耗 = 更慢的推理速度。如果你的显存紧张,选择一个够用的上下文长度比盲目追求最大值更明智。