图形化理解 AI 的幻觉,涌现,底层运行方式

对于AI 大模型的爆发,我常常一边兴奋于技术进步,一边焦虑于未来工作,心情上上下下。学着使用各种AI 工具,结果大多是时好时坏看缘分。寄希望于好运气终究不是长久之道,要解决这些焦虑困惑,最好方式是了解底层原理,深入技术细节。可放眼望去,“transforms架构的多头自注意力机制”,“文生图模型的马尔科夫链扩散过程”,“生成对抗算法的纳什均衡”,不禁感叹模型的尽头是高数,调参的终点是玄学,看到概念已然吓退一众同学,再摆出数学公式就更夸张了,满眼高数课都没有的符号,大多数人第一问题往往不是公式怎么看懂,而是“老师..请问这个符号怎么读啊?”

大模型表层应用和深层原理之间,留给大多数人一道很难逾越的高墙,作为做过一点 AI研究(生成对抗方向)又可以做些图形化的设计师,我想用自己有限的理解给那些“爱学习,但非技术专业的同学”一个更易消化的思路。这里列出了文章的几个核心内容: 

  1. 用极简的方式近似解释大模型的运行机制,形象好消化。
  2. 当我们站在上帝视角,“AI 幻觉”与“创造力”仅一线之隔。
  3. 用“盲人理解颜色”的故事解释大模型的“涌现”机制。
  4. 为什么“会做数学”是值得警惕的 AI 能力
  5. 在上述理论下的一些有趣实践。

图形化理解模型运行机制

(一)如果需要一个最简的工作原理介绍,大语言模型只在重复一件事:“预测下个词(next word perdition)”纯粹且有些粗暴。可以近似的理解为因为它看过全互联网的海量的文章对话,所以知道下个词最该说什么。按前 OpenAI 专家Andrej 的说法“大模型压缩了整个互联网的数据” 不论你问什么,它总能找到类似的,一个接一个预测下一个词,进而形成一句话,一个答案,一篇文章。

简单测试,大模型似乎在用这个方式回答,比如当我们给大模型一个常见和开放的问题:一个人,没有额外条件和限制,那么他会看向什么?简化一下: 他望向(__),填空。

对于这类常见问题,不出意外答案就是出现频率比较高的那个,这个例子能形象的理解AI如何处理简单任务。至于每次提问答案会稍有不同,是因为它会在概率高的前几个答案中随机选一个,这个设计是开发者为了避免大模型回答重复缺少创造力而刻意做出的。

(二) 但上面这个问题过于简单不足以解释大语言模型的能力,因为我可以问一个互联网上从来没出现过的问题,比如我们把“一个人看向哪里”改成一个名为A1B2的机器人看向哪里,‘A1B2机器人’是个随机的名字,我们也可以用 C3D4,使用google搜索结果这些名字结果是0,不存在于人的过往知识或训练数据中。

AI再次按之前的规律找,找不到完全匹配的答案,但AI通过寻找“距离相近”的词“加减计算“来给出答案, 假设模型找出与A1B2 机器人最相近的词是 星战”R2D2机器人“ 那么A1B2 机器人看向的地方更可能与R2D2机器人看向的地方相近,已知R2D2机器人看向太空,那么 A1B2机器人看向的地方可以在”太空“的附近找,比如深空,星空等等。最终答案之所以和太空不同,是因为A1B2 与 R2D2 不同,所以更精确的方法是, A1B2机器人看向的地方 = 太空 +(A1B2机器人- R2D2机器人)。

“A1B2 减去R2D2”如何计算,对人来说有点摸不着头脑,但这正是 AI运行的基础操作:在训练好的模型当中语言可以很好的被计算,比如 “水 + 火 = 蒸汽” “国王 +(女人 – 男人)=王后” 词可以被计算并得到一个结果,只是在这些诸如水+火可以很好理解的例子之外,机器计算出的绝大部分结果没有对应的人类语言描述,或者说 ”A1B2-R2D2 “的结果客观存在,但我们的词汇中没有这个词。 但这并不妨碍AI可以得心应手地用一串数字表示和计算。

回到算式,按之前的逻辑不难发现,A1B2机器人看向的地方 = 太空 +(A1B2机器人- R2D2机器人) =天空 +(A1B2 机器人 – 人),那么结果可能会在天空和太空中间取出一个词,这个词在一些测试中结果为“天际”, 可能是融合了天空和星际空间的感受。如配图中 AI 把“天空“朝向R2D2 望向的”太空“方向不断拉近,但又不会完全拉到”太空“这个词的位置一样。需要注意的是:这里的“距离相近”““加减计算”都是在高维空间进行的。找到距离相近的过程类似技术文章中说到的“嵌入“,而加减计算类似技术文章中高维空间的”向量运算“,

(三)“取近似和加减计算”可以用来回答 AI从未见过的问题,但这样的浅显规则看似很难形成智能和想象力。对于有深度的/有逻辑问题仍有挑战,当我们将“A1B2机器人看向哪”改为:“听到主人匆忙的脚步声,A1B2 机器人看向()”那么之前的机制都不太够,这个问题中,字面之外的信息太多,直接找到相似的信息可能越发困难了。这时“深度神经网络”的意义就体现出来了。“深度”意味着神经网络有上百层,浅层按字面的意义去近似,去理解,但更深的层,AI 抽象成更为上层的概念。类似于:人与机器人的社会关系,他们要遵循的互动规则,匆忙脚步声传达的感情基调等等,但正如之前的讨论,除去我们可以恰好举出一些类似国王王后计算的例子,很多概念的抽象和计算的结果大部分不能通过我们现有的语言描述,只是利于大模型表示和计算的一长串数字。

在这个例子中,A1B2 机器人看向的地方 = 人看向的地方 +(匆忙的脚步声 – 没有脚步声)+(A1B2机器人 – 人) 在实际测试的答案中,有一个答案是“主人的身后”,这个例子可能反映出模型并非简单的计算了字面上的逻辑关系,还包含了机器人与人的关系——“保护主人安全”以及句子背后的情绪——”匆忙“预示着可能的危险的氛围。这里不出意外是更深层的神经网络在发挥着作用。

这三个层次在解释AI 如何回答问题的同时,也可以近似对应技术文章中的 “概率统计”“嵌入及向量计算”“深度神经网络”几个概念。 这些解释不严谨,但多少可以帮助没有技术基础的同学从 0 到 1 的理解 AI运行的机制。

形象化理解模型幻觉——是幻觉还是创造力?

有了上面的例子,理解“幻觉”就容易多了。——模型常常用“找近似数据,融合计算答案”的方式运作,它在所有类似的答案上画上一个圈,圈里都是近似答案,随机找一点都是答案的备选,之后模型吐出一个评分高的备选即可。(这个圈住的部分是高维的, 类似技术文章中提到的manifold流形)

一般情况下,大模型能通过类似画圈找近似解的方式,给出正确答案:比如:小明看到爸爸在跳舞,小明(___),填空。模型在它训练好的空间中可能有“小白看到妈妈跳舞,小白学着一起跳舞”“小青看到老师跳舞,小青跟着跳舞”的数据信息抽象。模型在类似的数据上画圈,不断近似,直到落到一个精度符合要求的地方,答案就有了——“小明也跳起舞来”,这个答案看起来合情合理,逻辑通顺。

但是这个机制偶尔会出现问题:比如我们的问题变成:小明看到小羊在草地上吃草,小明();按照刚才在数据空间找近似的思路:因为模型学习并抽象过 :“小明看到小羊蹦蹦跳跳,小明(也一起蹦蹦跳跳);小白看到小羊 咩咩叫,小白(也学着咩咩叫)”这样的数据,那么画个圈近似一下,AI重复刚才的逻辑,再次给出了答案:

“小明学着小羊吃草”的答案在我们看来,模型出现了幻觉。符合直觉的逻辑是,小明做的应该是拿起草去喂小羊,但仔细想想模型的逻辑,学着跳舞是对的,学咩咩叫对了,但学着吃草就错了。 模型也很冤 —— 我是在你们的数据中学的呀,抽象的规律也找到了:小孩子会学习模仿。

说 AI 有些冤枉并非同情。而是我感同身受。因为我女儿3 岁的时候,她第一次到了东北一片开阔的草地上,第一次看到小羊吃草的反应是“学小羊趴在地上吃草”。当时我只是哈哈大笑觉得好玩,但今天回想起来,它让我陷入了思考:1 机器的幻觉并没有复杂的背后机制,它只是基于已有知识的严谨推导,正如孩子知识不足而出现反常判断一样; 2 同样都是错误答案,人们对待机器的忍耐度更差一些,这样的偏见并不利于我们客观评估模型性能。(注:“学着吃草”是个人假设的一个答案,用于说明幻觉背后的可能道理)

想到爱因斯坦曾说“过去,现在,和将来,只是人们对于时间的固有幻觉” 在这个意义上,人来决定什么是“幻觉“可能是不公正的,只有当我们站在造物主角度看待 AI 的各种反应时,也许才可以更公正的理解 AI背后的逻辑。

关于“涌现”机制的一种形象化解释

为什么大模型可以”涌现“出智能,我认为 Ilya 关于”盲人“的讨论是个很好的类比。(虽然初衷并非用于解释涌现)—— 我们过往的经验中,机器的思考模式和人有比较大的区别,机器按规则运行,没有感情,缺乏灵性。 人所特有的“智慧,创造力“机器无法理解,我们很难通过语言教会给机器。 正如同我们无法将丰富多彩的颜色感觉通过语言教给盲人一样。 

但当看似死板的知识规模不断增加,发展到几个数量级之后,情况发生了变化: 我们发现当盲人的知识量很小的时候,他对颜色的认知很机械不智能——他会说花是红的,叶子是绿色,没有意外也没感受到他对颜色理解展现出的智慧。但随着接触知识越来越多,他学习了光是电磁波, 电磁波有波长和频率,可以反射折射。不同颜色是不同频率的电磁波等等知识之后,这个盲人可以自发的形成新的认知——比如红色和橙色更接近,因为他们的波长更接近。 红色相比之下更具有温度感,因为红外线是热的辐射形式,可以传递热量,红色距离红外线最近。。。等等。 即使我们没有教给盲人这些信息,他依然通过规模化的知识“绕道”推理出了这些信息,这”很意外,很聪明,很智能“。 究其原因,”规模“的不断扩大在其中起了至关重要的作用。

 盲人感受到的“颜色”到底是什么感觉,是不是真实?我认为也不用纠结具体形式,如同同为哺乳动物,蝙蝠用“声音”看到了世界一样,我们试图用大脑和眼睛去还原这种感受是徒劳的,但这不能否认蝙蝠用了完全不同的一套系统实现了匹敌人类感知空间的能力。类似的,模型涌现出“智能”到底是什么感觉,这种感觉真实吗? 我们只是知道他存在,但不好描述,毕竟蝙蝠再远依然是我们的哺乳动物远亲,而机器连生物也不是。这可能可以解释Ilya所说到的GPT 可能有一点意识,“但和我们理解的意识有很多不同”。终究,大语言模型的“涌现“出的智能,类似盲人产生了新的对颜色的感受和知识,“规模”是关键。

AI将如何突破人类能力

假设我们有一个包含全部人类知识的集合,正如图中有彩色点组成的圆形,大大小小的点表示了我们不同学科,不同分类的知识。可以看到对于一个类似“hello” 应该如何回答的问题,它在中心且周边的点很密集,因为这样的知识具有最为丰富的相似数据支撑和准确的答案,不论是大模型的数据中还是人们日常生活中,我们和模型都被训练的很好,也知道如何回答,但对于我所在的”设计专业“ 它周边的知识密度就会稀疏一些,并非所有人都了解,当我们问”什么是AI 生成设计“那么答案可以被找到,但远不如“hello“ 应该怎么回复那么简单和准确。 对于图中边缘蓝色的部分,是一些更加垂直和专业的领域,比如标准生成对抗网络的优化公式,可能就处于人类知识图景中比较稀疏的部分,它周边的知识和数据密集程度远不如两者,这时我们问一个新的问题“结合生成对抗的左右互博和 Transform注意力机制的优势给出一个新的生成架构”,不论是人还是大模型,找到正确答案的难度就会增加很多。

人类很多新的知识,存在于这个人类知识图谱的“空隙”当中,比如一首全新的更加优美的诗,可以通过拟合历史中多种优美的词和表达来合成,它距离现有知识不远,或说就在现有知识的空隙当中打转。而有些知识不能通过简单的拟合来达成,正如相对论很难诞生在在牛顿力学时代的人类知识图谱之中,它很难通过图谱中现有知识来拟合。这种突破需要新的技巧。

过往的科学家包括爱因斯坦大多通过数学知识的高度抽象来发现现有知识体系之外的新知识,这就是为什么当初 OpenAI 会做数学的Q*的传言引发了AI超越人类的恐慌。 原因是如果AI掌握了很好的数学抽象能力,相比做一首更优美的诗句在现有知识体系中打转,它更可能借助数学实现人类知识边界的突破。一旦 AI 处于知识边界之外,那么就是原子弹对传统炸弹的碾压优势,人们无意如同拿着长矛大刀对抗AK47, 所以“学会数学”确实值得人们警惕

另一方面,过于担心也是不必的,因为在过往的AI系统中,人们实现了类似突破的技术,比如alphaZero,它抛弃了在人类棋谱中拟合更好棋局的方式,而是通过强化学习,来到了围棋技巧的无人区。 通过用刚刚“人类知识图谱”的概念来表述,它的知识已经在这个图谱之外,唯一的问题是它是一个孤零零的,微小的点,无法形成对现有知识体系的整体超越,只有当这些微小的点足以形成相对密闭的知识网络,那时可能才是人们需要警惕的临界点。

有意思的推论 —— 与现有的AI 开些小玩笑

当我们已经有了人类知识图谱这样的形象的概念,那么可以想象一些有意思的推论。首先图谱之外的空间是什么令人深思,这里包含着我们尚未解决的难题,比如核聚变如何控制,统一理论如何得出。但当我们去查看占据图谱之外的空间时,会发现几乎 100%是白噪声(对于生图 AI是无效的像素组合) 和胡言乱语(对于语言模型,是无效的字符组合),也不难想象,相比E=MC² ,这里存在更多的是 E=M²C、M=EC ²、M=EC….,相比之下有用的信息像是广阔宇宙中的尘埃。


1. 训练的得越好的模型,生成结果越是远离这个外部空间。可以推测让模型生成边界外空间的内容,可能会逼疯它。所以这里我们给最强 Midjourney 一个有意思的任务:生成白噪声——结果不出所料,即使是非常清晰且合理的 prompt,也可以难倒 Midjourney 这样强大的模型,即使是V6 这个新的模型也无法按照 prompt 生成。(经过测试,混元也是会出现同样的现象)


2. 在这个知识图谱中,越靠近中心的知识越通用,AI 可以信手拈来。正如 hello→()填空这样的知识, 画图也是同样的道理,短头发的男性和长头发的女性会更靠近中心,可以“画圈近似”实现和生成。而长头发的男性就相对靠外一些,因为这里的数据密度显然要低得多,生成质量也会差一些。沿着这个思路,在边缘处的知识对模型都是一个挑战,比如从 1 数到 10,这个任务在模型看到的材料里很常见,容易回答。但从 1 数到 1000,这个既不常见对 AI 画圈找近似答案的运行机制也不友好。所以看似一个非常简单的问题就能难道例如文心一言这样的国内top 的AI模型了。


从 150 开始,文心一言就忘了怎么数数,智商捉急了。沿着这个思路,可以对模型做一些攻击。这些不常见,精度不能有误差的问题对模型这种画圈找相似的机制都会是巨大的挑战。

写在最后

感谢阅读,乔布斯在斯坦福那场著名演讲中提到“connecting the dots”。一个个看似零散暂时无用的知识点,会潜移默化的连接并成就一个人。机器连接足够多的知识点最终形成了能力的“涌现”;而Jobs,不断的connecting the dots 实现个人能力的“爆发”,这背后也许有着某种联系和共通的道理。作为一个设计师,对 AI 的理解有限,观点仅做参考,只希望通过这些“dots”,多少帮助“不懂技术,但要懂 AI” 的非技术专业同学不落后于这个快速发展的时代,有所启发有所思考。