大语言模型特性科普系列:从ChatGPT的"迷惑行为"说起
引言
本文是一系列的大模型科普内容中的第一篇,旨在通过用“说人话”的方法来解释一些大模型的特性,使得非技术背景的朋友们能更好地使用AI来提升自己的工作效率。
这期先从这个案例开始:你是否曾在与ChatGPT对话时遇到过它突然开始胡言乱语的情况?例如,当你问它”strawberry”这个词中有几个”r”,然后不管它回答什么你都说它错了,ChatGPT就会变得越来越混乱(如下图)。
这种现象其实与大语言模型(LLMs)的一个核心特性有关:它们的迭代生成过程,经常被称为”自回归”(Auto regression)。
什么是”自回归”生成?
- “自回归”这个术语最初来自于时间序列分析和统计学,用于描述一个变量的当前值依赖于其过去的值;
- 大语言模型的工作原理:LLMs其实是通过预测下一个最可能的词/token来生成文本(有点类似大家使用输入法的时候,输入了前面的几个字就会看到系统预测你后面可能要打的字)。这个过程是迭代的,每次预测都基于之前的输出。所以经常会用到“自回归”生成来描述LLMs的生成过程;
当然,现代LLMs的工作原理远比单纯的”自回归”复杂。它们还利用了复杂的注意力机制和其他技术来理解和生成文本。因此,”序列生成/ Sequence generation”可能是更准确的描述。
LLMs生成特性造成的思维循环和固执己见
不管我们如何称呼LLMs的生成过程,上述特性导致了LLMs受限于自己的上下文窗口(Context Window) - 即它们能够处理和记忆的文本范围。模型需要根据之前的内容不断进行动态生成,这可能会引发以下问题:
- 循环:模型可能会重复输出相似的内容,陷入一种”思维循环”。
- 错误累积:如果模型基于错误信息继续推理,错误会不断放大。
- 固执:一旦形成某种观点,模型可能难以纠正,表现得”固执己见”。
“重新开始”可能是最好的应对方法
面对这些问题,有时候最简单有效的方法就是开始一个全新的对话(例如在ChatGPT中是点击下图红框处)。这相当于给模型一个”重新开始”的机会,通过清除了之前的上下文影响,让模型能够从一个新的、未被污染的起点重新思考问题。
在更技术性的应用中,开发者可能会采用更复杂的策略,如动态调整上下文窗口、使用外部内存等方法来缓解这些限制。
延伸思考和结语
有趣的是,这种现象在人类交流中也时有发生。有人指出:在一段感情或人际关系中,有时也需要”重新开始”才能摆脱既有观念的影响,获得新的视角和理解。正如下图所示,当重新开始一段全新的对话,并且要求AI“认真逐步思考”这个问题的时候,就能一次性获得优质的回答。
理解LLMs的生成特性,不仅能帮助我们更好地利用这些强大的AI工具,也为我们提供了一个有趣的角度来反思人类的思维和交流方式:
- 持久性与不可撤回性:在人类的日常交流中,例如是在像微信这样的聊天工具里,我们与每个人的对话都被保存在同一个持续的聊天窗口中。无论是正确/错误的信息还是可能造成伤害的言论,一旦发出,就很难完全撤回或消除其影响。这种持久性使得我们的交流历史成为关系的一部分,影响着未来的互动;
- 重新开始的机会:与人类交流不同,在与AI对话时,我们实际上有能力重新开始。然而,有趣的是,许多用户并不知道他们其实可以开启一个全新的、完全不受之前交互影响的对话。这是一个人与AI的互动显著不同于传统人际互动的地方;
因此,一方面要记住,尽管这些模型非常先进,但它们仍然有其局限性。我们不清楚它们是不是真正在”思考”还是仅基于统计模式进行预测;另一方面,下次当你发现AI助手或身边的人变得”固执”时,也许可以尝试给予彼此一个重新开始的机会~