李宏毅2025《机器学习》第三讲-AI的脑科学
在之前的课程中探讨了如何利用大模型构建AI Agent,本科将暂时放下应用层面的探索,拿起“手术刀”和“显微镜”,深入剖析LLM的“大脑”,带您踏上一场“AI脑神经科学”的旅程。课程不讨论模型的训练过程,而是假设我们拥有一个已经训练好的、功能完备的LLM。我们的目标是:理解这个庞大而复杂的神经网络,在面对输入并生成输出的每一个瞬间,其内部究竟发生了什么。
重要提醒: 正如李宏毅老师在课程开始时强调的,目前绝大多数的这类分析研究,受限于计算资源,往往是在相对较小或较早期的开源模型(如GPT-2、LLaMA系列早期版本)上进行的。这就像是通过研究老鼠的大脑来推断人类大脑的运作机制。虽然基本原理可能相通,但我们必须认识到,这些结论不一定完全适用于最新、最顶尖的闭源模型。然而,这些开创性的研究为我们提供了一套宝贵的分析方法论和深刻的洞见。
本次探索将分为四个部分:
- 单个神经元在做什么?——从最基础的单元开始。
- 一层神经元在做什么?——从个体到群体的协作模式。
- 跨层神经元如何互动?——追踪信息在网络中的完整流动路径。
- 让模型亲口说出想法——利用LLM的语言能力进行自我剖析。
第一部分:一个神经元的使命——“川普神经元”与分布式表达的现实
要理解一个神经元,我们首先要明确它在Transformer中的位置。在Transformer的每个层块(Layer)中,除了自注意力(Self-Attention)机制外,还有一个重要的部分叫做前馈网络(Feed-Forward Network, FFN)。这个FFN通常由两个线性层和一个非线性激活函数(如ReLU)组成。当我们说“一个神经元”时,通常指的就是FFN中第一个线性层之后、激活函数之前或之后的一个节点。它的输出,是其输入向量的加权和,再通过激活函数(例如ReLU,将负值归零)处理后的结果。一个神经元的“激活”,通常意味着它的输出值大于零。
那么,我们如何探究一个神经元的功能呢?通常遵循一个三步流程:
- 观察(相关性):找到能最大化激活该神经元的输入文本。例如,我们发现当某个神经元被高度激活时,模型倾向于生成脏话。这说明该神经元与“说脏话”这一行为相关。
- 干预(因果性):为了验证因果关系,我们需要进行实验。最直接的方法是“敲除”(Ablation)这个神经元,即强制将其输出设为零(或其在大量数据上的平均激活值)。如果敲除后,模型在各种挑衅下都无法生成脏话,我们就能更确信这个神经元对“说脏话”有因果作用。
- 控制(剂量效应):如果可能,尝试不同程度地激活该神经元,观察其输出的变化。比如,轻微激活时说轻度脏话,强烈激活时则言辞激烈。
历史上最著名的例子莫过