AI解剖课堂 · Part 9 回答诞生的瞬间
第 83 章 AI 的记忆上限
Q. 和 ChatGPT 聊久了,它有时会忘记一开始说过的话。这是为什么?
- 第 77 章说过,对模型来说,对话就是一篇长文。但它一次能读的长度是有上限的。
- 这个上限叫上下文窗口。GPT-3 最多能看 2,048 个词元。只有窗口里的文字才会用来预测。
- 对话越来越长,每进来一句新话,最早的那句就会被挤出窗口。
- 这时再问名字呢?名字已经在窗口外,模型看不到。它可能说不知道,也可能编一个名字(第 84 章)。
- 窗口也不能随便加大。注意力要给每一对片段打分(第 47 章),长度翻倍,分数表就变成 4 倍。
- 每生成一个片段,都要用到前面所有片段的 Key 和 Value(第 46 章)。每次都重算就太浪费了。
- KV 缓存就是把算好的 Key·Value 记下来重复使用。前面的片段不看后面(第 51 章),所以值不会变。
- 代价是对话越长,笔记越多,越占内存。长对话里,最好把重要的内容再提醒一遍。
本章小结
- 上下文窗口(context window):模型一次能看的词元数。GPT-3 是 2,048 个词元。
- 超出窗口后,最早的话先被挤出去,模型就看不到那部分内容了。
- KV 缓存:把算好的 Key·Value 记下来重复使用,回答就能生成得更快。