Google DeepMind最近在自己的视频博客上上传了一段视频,「简单明了地」演示了大语言模型的工作原理,引发了网友的激烈讨论。
网友看了之后纷纷表示:
「终于,他们发了点普通人能看懂的东西了」。
「哦豁,这下懂了」
「对,就是这么简单!」
「太棒了,感谢感谢,这下我明白了。」
「简单明了」,「已经不能再简单了!」
当然,也有个别老实人在角落里小声地嘀咕,「像极了嘴上说着懂了懂了,实际上啥也看不懂的我。」
如果你还不确定自己真的没懂LLM的工作原理,看了这个视频之后就能确定你其实真的不懂。?
果然应了那句老话,「人类的悲(ren)喜(zhi)并不相通」。
除了皇帝的新装外,也有网友尝试解释DeepMind做出这个作品的深意:
这位网友猜测了这个动画的诞生原因:「我不敢相信我们取得了什么成就,但我们不能真正把这些都拿出来......你能让实习生发表一些艺术和有趣的东西吗?」
「所以这是一个3D算盘?」
但是有人表示这个「3D算盘」是有现实依据的,毕竟熟悉神经网络的朋友可能一下就想到了矩阵:
「我完全不同意。这看起来像是神经网络架构的3D渲染。移动的方块看起来像是数据在Transformer模型或类似模型中移动时对数据的矩阵操作。
滑动矩形可以表示卷积神经网络的滑动窗口,或者可能试图表示Transformer的注意力机制,这是通过将矩阵相乘来实现的。」
当然也有人尝试给出更加专业化的解读:
如果你对机器学习模型有所了解,那么就能看懂这个动画描述得其实很到位了。简单来说就是,每一个非常小的层都负责查看一个非常小的数据。
想象图像中的一组4x4的像素。然后它向更高层发送一个信号,这个更高的层由许多这样较小的层组成,说「我认为这是一个热狗」。
它获取该信号并将其传递到更高的层,高层将每一层组合成一个统计模型。每一层都是矩阵乘法的一种形式。
最终结果是一个可以根据小数据的统计推断来预测某些内容的模型。这个过程的基本可视化过程就是视频里这样的,需要懂向量数学才能看懂。
请记住,这些是艺术家的诠释方法,而不是真正的机器学习工程师专业解释。所以他们把它做得看起来很酷,但是那些随机飘进飘出的条形并没有真正的意义。
我们来看另一位专业人士的解读:
我的猜测是,这是对图像处理神经网络内部隐藏层的描述。可能是为了分类或生成,无法真正分辨。
发生的情况是,网络中的每一层都经过多个过滤器——这些过滤器可能是在动画中围绕对象外部移动的矩形。您可以将滤镜视为对图像中的像素值进行一些转换。例如,将这9个像素值取平均值。这种变换在动画中显示为改变颜色和方向的点。
然后,在应用过滤器和转换后,结果将通过逻辑门,以查看它们是否激活。这被可视化为点突然出现和消失。神经网络中的每一层都会有许多不同的过滤器/转换/激活并行进行。然后,所有这些结果都会传递到网络的下一层。
——如此看来,小编也非常喜欢这个动画,并且已经逐渐理解了一切。
GPT-4V对视频的解释
我们把这个18秒的视频截成了10张图,喂给了GPT-4,让它给我们解释一下这个视频的含义。
你提供的图像似乎是大型语言模型(如GPT)的程式化表示。用简单的语言来说,这些图像可能试图以更具体或更容易理解的方式可视化语言模型的复杂内部运作。
在大型语言模型中,数据(例如书籍、文章、网站等中的文本)通过多层神经网络进行处理,神经网络是一种识别数据模式的数学模型。网络的每一层都会处理从前一层接收到的信息,逐渐提取更抽象的特征和关系。
这些图像似乎隐喻地代表了这个过程。立方体可以代表数据单元或token(如单词或单词的一部分),它们之间的不同颜色和连接可能象征着模型如何处理这些标记并将这些标记相互关联以理解上下文和含义。清晰的管道和结构可能说明了数据流经模型的神经网络的架构。
它就像一个复杂的工厂,原材料(数据)进来,经过各个处理阶段(神经网络层),然后产生最终产品(连贯的文本输出)。这种可视化有助于传达这样的想法:语言模型以复杂的方式组织和转换输入数据,以生成模仿人类对语言的理解的响应。
当我们要求他针对图中不同颜色的立方体进行更加细节的补充说明时,GPT-4这样说到:
图像中不同颜色的立方体可能是语言模型处理的各个数据点或token的符号表征。在语言模型的上下文中,token通常指一段文本,例如单词或单词的一部分。以下是这些立方体的颜色和排列可能代表的内容的细分:
不同的颜色:每种颜色可以代表数据的不同方面或模型正在处理的不同类型的信息。例如,蓝色立方体可能代表常见单词,而橙色立方体可能代表在给定上下文中具有更重要意义的关键字或短语。
立方体的排列:立方体的组织和连接方式可以可视化模型如何理解不同标记之间的关系。语言模型使用这些关系来理解上下文并生成连贯且适合上下文的响应。
立方体层:如果立方体以层的形式显示,则这可能代表神经网络的层。当数据通过每一层时,模型会完善其理解、调整连接并对不同标记的要性进行不同的加权。
透明结构:连接立方体的透明管或结构可能表明数据通过模型架构的路径。它们可以象征信息流以及信息如何在模型的不同部分之间共享。
值得注意的是,此类可视化是高度抽象的,旨在提供语言模型内操作的概念视图。实际过程涉及复杂的数学函数和高维数据,这些数据没有物理形式,但通常出于教育和说明目的而可视化。
既然大家都提到了矩阵乘法,我们可以来对比一下Pytorch中关于矩阵乘法的实现。
上面是一个向量点积的示意图,紧接着下面是矩阵乘法的实现。
不管像不像吧,反正移动数据点的精髓是把握住了。
Google AI可视化合集
事实上,这个让广大网友吃瓜的动画来自于下面这个网站,而且带有自己的使命。
Google的工作人员发表了对于这个项目的解释。
「代码流、发光的蓝色大脑、白色机器人和西装革履的男人,如果你在网上搜索人工智能,你会发现这些误导性的说法。
这些刻板印象会延续长期存在的偏见,从而对公众对人工智能技术的看法产生负面影响。它们还经常排除全局的视角,这种缺乏多样性会进一步放大社会不平等。
通过我们的可视化AI计划,我们委托来自世界各地的艺术家创作更多样化、更易于理解的AI表现形式。这些图像的灵感来自与我们的科学家、工程师和伦理学家的对话。
多样化我们可视化新兴技术的方式是扩大公众对人工智能今天和未来愿景的第一步。」
以下这些,也是Google DeepMind在同一个网站上发布的作品。
比如下面这个,小编是一眼就看出了其中的「深意」——这也许是在教我们扩散模型的原理?
另一个作品,看起来则像是在讲Transformer架构——先把自然语言向量化,然后注入绿色的attention模块,甚至还可以体会到大模型「涌现」的感觉。
对此,不知道大家怎么看?