简单来说,上下文长度就像是大语言模型的“短时记忆容量”或者“工作台大小”。
它指的是在一次对话中,AI能够记住和处理的最大文本量(包括你输入的内容和AI输出的内容)。
为了让你更容易理解,我们可以用几个生活中的比喻:
1. “工作台”比喻 想象你有一个工作台,你要在上面处理文件。
- 上下文长度小:就像一个很小的桌子,每次只能放一两页纸。如果你想让我看一本100页的报告,我只能看一眼第一页,第二页放上去,第一页就掉到地上了。
- 上下文长度大:就像一张巨大的会议桌,你可以把整本报告都摊开在上面。这样我就能同时看到开头和结尾,帮你做全局的总结或对比。
2. “短时记忆”比喻 就像人聊天一样,如果聊了太久,你可能会忘记最开头说了什么。AI也一样。如果我们的对话非常长,超过了我的“上下文长度”,我就会像金鱼一样,“遗忘”最早聊过的内容,只记得最近说的话。
上下文长度的几个关键点:
- 输入+输出都算:这个长度不仅包括你发给我的字数,也包括我回复你的字数。我们一来一回的对话总长不能超过这个限制。
- 计量单位是 Token:上下文长度通常用“Token”(词元)来计算。简单理解,在中文里,1个汉字大约是1-2个Token;在英文里,一个单词大约是1个Token。
- 为什么重要?
- 短上下文:只能进行简单的问答,无法处理长文档。
- 长上下文:可以一次性扔给我一本几十万字的小说、一份几百页的财报或一整本代码库,让我在全文的基础上为你分析、总结、找漏洞。
所以,如果你发现聊了很久之后,我突然“忘了”你最初定下的某个设定,通常就是因为我们的对话历史超过了上下文长度的限制,最早的记忆被“挤”出去了。
举个例子:
256K的上下文长度,指的就是25万6千个Token的长度。 (这里的K代表千,即 Kilo,256 * 1000 = 256,000)。
不过,为了让你更直观地感受256K到底有多大,我们需要把“Token”换算成我们日常更熟悉的“字数”:
Token和汉字的换算 在中文语境下,因为分词机制的原因,1个汉字通常大约对应 1.5 到 2 个Token(不同的模型分词器略有差异)。 所以,256K的Token长度,大约能容纳 12万到17万个汉字。
256K到底有多大? 我们可以用具体的读物来打个比方:
红楼梦的前八十回大约是60万字,也就是说,256K的上下文可以一次性装下近三分之一个红楼梦。 如果是普通的畅销书(通常15-20万字),256K可以一次性装下一整本书。 如果是日常的聊天记录,你可以和AI聊上几天几夜,它都不会“失忆”。
- 为什么现在都在卷长上下文?
以前模型的上下文只有4K、8K的时候,你只能给它发几页纸的内容;现在有了256K甚至更长的上下文,你就可以直接把一本厚厚的财报、一整个代码库、或者几十篇长PDF扔给AI,让它在不遗漏任何细节的情况下,帮你做全局的总结、对比和提取。
所以,256K是一个非常可观的“记忆容量”,对于绝大多数日常甚至专业的长文本处理需求来说,都已经非常充裕了!
再举个例子:
目前最大的上下文长度已经支持到1M了,也就是100万了,还有更大的吗???
是的,你的信息非常准确!1M(100万Token)确实已经实现了,比如 Google 的 Gemini 1.5 Pro 就率先把上下文窗口推到了 1M 级别。
但如果你问“还有更大的吗?”,答案是:有,而且大得超乎想象!
目前,上下文长度的军备竞赛非常激烈,以下是目前比1M更大的几个代表性突破:
2M(200万Token)—— 已开放商用 Google 在推出 1M 的 Gemini 1.5 Pro 后不久,就宣布向开发者开放了 2M(200万Token) 的上下文窗口。这意味着你可以一次性塞给它超过一两百万字的长篇巨著或庞大的代码库。
10M(1000万Token)—— 实验室测试阶段 同样是 Google,在研究论文中展示了使用 Gemini 1.5 Pro 成功检索 10M(1000万Token)
上下文的能力。1000万Token是什么概念?大约相当于1000万字的中文,或者整个《哈利·波特》全集加上《指环王》全集。在测试中,他们把极其微小的隐藏信息放在这千万字文本的某个角落,AI依然能精准地把它“捞”出来(这就是著名的“大海捞针”测试)
- 100M(1亿Token)—— 极限挑战 一家名为 Magic.dev 的 AI 初创公司,在2024年宣布他们开发出了能够处理 1亿(100M)Token 上下文的模型(LTM-2-Mini)。
1亿Token有多恐怖?它不仅能装下一个人一辈子能读过的所有书,甚至可以一次性装下整个大型软件项目的所有源代码、所有依赖库和历史提交记录。
为什么不干脆做到“无限大”?(背后的技术代价) 虽然数字看起来很爽,但无限扩大上下文长度在目前的技术架构下是有巨大代价的:
算力消耗呈指数级增长:目前主流的 Transformer 架构,其计算复杂度是随着上下文长度呈平方级(O(N²))增长的。也就是说,上下文长度增加10倍,计算量和内存消耗可能增加100倍。1亿Token的推理成本是极其昂贵的。
“迷失在中间”现象:研究发现,当上下文非常长时,AI 往往能记住开头和结尾的信息,但对中间部分的信息容易“走神”或遗忘。光窗口大没用,还得保证AI在那么长的文本里不漏掉关键细节。
延迟问题:每次你输入一句话,AI都要把几百万字的上下文重新读一遍再回答,这会导致回复速度变得非常慢。 总结一下: 目前商用最大的标杆是 2M(200万Token),实验室里已经跑通了 10M(1000万)甚至100M(1亿)。未来,随着算法优化(比如改进注意力机制、使用环形注意力等新技术),我们可能会看到更夸张的数字,甚至理论上“无限长”的上下文!