生成式AI与大语言模型

上下文窗口(context window)

/ KON-tekst WIN-doh /

上下文窗口,是语言模型在同一时刻所能「看在眼里」的文字总量——是它对单次对话或单次请求的工作记忆。此刻模型所能纳入考量的一切,都必须装进这扇窗里:你的问题、你贴进来的任何文档、系统提示,以及到目前为止的整段对话。它以「词元」(大致是词的碎片)计量,可能是几千个词元,在更新的模型里则可达几十万。凡落在窗内的,模型都能留意到;凡落在窗外的,它就根本看不见。

想象一张大小固定的书桌。你一次只能摊开那么多页;要给新的腾地方,旧的几页便会从桌沿滑落、消失不见。一段长对话正是这般光景:一旦对话长过了窗口,最早的几轮便从视野中跌出,于是模型是真的不再知道开头说了什么了——哪怕你记得清清楚楚。这不是人类意义上的「遗忘」;那些字,只是不再摆在它眼前罢了。

两点要诚实说。更大的窗口不等于记忆:什么都不会带进下一段独立的对话里去,在那里模型又从一张白纸重新开始。而窗口大,也不意味着模型把窗里的内容用得一样好——研究发现,模型往往最留意一段长上下文的开头与结尾,却可能忽略埋在中间的细节(即「迷失在中间」效应)。地方更宽敞有帮助,却不是「会被留意」的保证。

在一段长对话的开头,你说「我家狗叫Pixel」。四万字之后,越过了窗口的边缘,你问「我家狗叫什么名字?」——模型却一无所知,因为那句话早已从桌上滑落。它并非健忘;那些字,只是不再落在它的视野里了。

越过窗口的边缘,先前的文字便从视野中彻底消失。

大的上下文窗口不是长期记忆。在同一段对话里,它把一切看在眼里,但到了下一段对话便清空重置。而更长,也不会自动地被用得更好——模型可能「丢失」那些被放在超长上下文中段的事实。

又称
context length上下文窗口上下文視窗上下文长度