通俗解构语言大模型的工作原理( 五 )


假设计算机科学家们进行充足的研究 , 他们可以揭示和解释GPT-2推理过程中的其他步骤 。最终 , 他们可能能够全面理解GPT-2是如何决定“Mary”是该句子最可能的下一个单词 。但这可能需要数月甚至数年的额外努力才能理解一个单词的预测情况 。
ChatGPT背后的语言模型——GPT-3和GPT-4——比GPT-2更庞大和复杂 , 相比Redwood团队研究的简单句子 , 它们能够完成更复杂的推理任务 。因此 , 完全解释这些系统的工作将是一个巨大的项目 , 人类不太可能在短时间内完成 。
前馈步骤
在注意力头在词向量之间传输信息后 , 前馈网络会“思考”每个词向量并尝试预测下一个词 。在这个阶段 , 单词之间没有交换信息 , 前馈层会独立地分析每个单词 。然而 , 前馈层可以访问之前由注意力头复制的任何信息 。以下是GPT-3最大版本的前馈层结构 。

通俗解构语言大模型的工作原理

文章插图
绿色和紫色的圆圈表示神经元:它们是计算其输入加权和的数学函数 。
前馈层之所以强大 , 是因为它有大量的连接 。我们使用三个神经元作为输出层 , 六个神经元作为隐藏层来绘制这个网络 , 但是GPT-3的前馈层要大得多:输出层有12288个神经元(对应模型的12288维词向量) , 隐藏层有49152个神经元 。
所以在最大版本的GPT-3中 , 隐藏层有49152个神经元 , 每个神经元有12288个输入值(因此每个神经元有12288个权重参数) , 并且还有12288输出神经元 , 每个神经元有49152个输入值(因此每个神经元有49152个权重参数) 。这意味着 , 每个前馈层有49152*12288+12288*49152=12亿个权重参数 。并且有96个前馈层 , 总共有12亿*96=1160亿个参数!这相当于具有1750亿参数的GPT-3近三分之二的参数量 。
2020年的一篇论文(https://arxiv.org/abs/2012.14913)中 , 来自特拉维夫大学的研究人员发现 , 前馈层通过模式匹配进行工作:隐藏层中的每个神经元都能匹配输入文本中的特定模式 。下面是一个16层版本的GPT-2中的一些神经元匹配的模式:
• 第1层的神经元匹配以“substitutes”结尾的词序列 。
• 第6层的神经元匹配与军事有关并以“base”或“bases”结尾的词序列 。
• 第13层的神经元匹配以时间范围结尾的序列 , 比如“在下午3点到7点之间”或者“从周五晚上7点到” 。
• 第16层的神经元匹配与电视节目相关的序列 , 例如“原始的NBC日间版本 , 已存档”或者“时间延迟使该集的观众增加了57% 。”
正如你所看到的 , 在后面的层中 , 模式变得更抽象 。早期的层倾向于匹配特定的单词 , 而后期的层则匹配属于更广泛语义类别的短语 , 例如电视节目或时间间隔 。
这很有趣 , 因为如前所述 , 前馈层每次只能检查一个单词 。因此 , 当将序列“原始的NBC日间版本 , 已存档”分类为“与电视相关”时 , 它只能访问“已存档”这个词的向量 , 而不是NBC或日间等词汇 。可以推断 , 前馈层之所以可以判断“已存档”是电视相关序列的一部分 , 是因为注意力头先前将上下文信息移到了“已存档”的向量中 。
当一个神经元与其中一个模式匹配时 , 它会向词向量中添加信息 。虽然这些信息并不总是容易解释 , 但在许多情况下 , 你可以将其视为对下一个词的临时预测 。
使用向量运算进行前馈网络的推理
布朗大学最近的研究(https://arxiv.org/abs/2305.16130)展示了前馈层如何帮助预测下一个单词的优雅例子 。我们之前讨论过Google的word2vec研究 , 显示可以使用向量运算进行类比推理 。例如 , 柏林-德国+法国=巴黎 。
布朗大学的研究人员发现 , 前馈层有时使用这种准确的方法来预测下一个单词 。例如 , 他们研究了GPT-2对以下提示的回应:“问题:法国的首都是什么?回答:巴黎 。问题:波兰的首都是什么?回答:”
团队研究了一个包含24个层的GPT-2版本 。在每个层之后 , 布朗大学的科学家们探测模型 , 观察它对下一个词元(token)的最佳猜测 。在前15层 , 最高可能性的猜测是一个看似随机的单词 。在第16层和第19层之间 , 模型开始预测下一个单词是波兰——不正确 , 但越来越接近正确 。然后在第20层 , 最高可能性的猜测变为华沙——正确的答案 , 并在最后四层保持不变 。


推荐阅读