OpenAI用GPT-4语言模型解释GPT-2语言模型中的神经元
语言模型已经变得更加强大,部署也越来越广泛,但我们对它们内部工作方式的理解仍然非常有限。例如,可能很难从他们的输出中检测出他们是否使用有偏见的启发式方法或进行欺骗。可解释性研究旨在通过查看模型内部来发现其他信息。
可解释性研究的一种简单方法是首先了解各个组件(神经元和注意力头)在做什么。这传统上要求人类手动地检查神经元找出它们所代表的数据的哪些特征。这个过程不能很好地扩展:很难将其应用于具有数百亿或数千亿个参数的神经网络。我们提出了一个自动化过程,该过程使用 GPT-4 生成和评分神经元行为的自然语言解释,并将其应用于另一种语言模型中的神经元。
这项工作是我们第三阶段的一部分对齐研究的方法:我们希望使对齐研究工作本身自动化。这种方法的一个有前途的方面是它随着人工智能发展的步伐而扩展。随着未来的模型变得越来越智能和乐于助人,我们将找到更好的解释。
工作原理
我们的方法包括在每个神经元上运行3个步骤。
第 1 步:使用 GPT-4 生成解释。给定一个 GPT-2 神经元,通过显示相关的文本序列和对 GPT-4 的激活来生成其行为的解释。
第 2 步:使用 GPT-4 进行模拟。再次使用 GPT-4 模拟为解释而触发的神经元会做什么
第 3 步:比较。根据模拟激活与实际激活的匹配程度对解释进行评分
我们的发现
使用我们的评分方法,我们可以开始衡量我们的技术在网络的不同部分的效果如何,并尝试改进目前解释不佳的部分的技术。例如,我们的技术对较大的模型效果不佳,可能是因为后面的层更难解释。
尽管我们的绝大多数解释得分都很低,但我们相信我们现在可以使用ML技术来进一步提高我们产生解释的能力。例如,我们发现我们能够通过以下方式提高分数:
迭代解释。 我们可以通过要求 GPT-4 提出可能的反例,然后根据它们的激活修改解释来增加分数。
使用更大的模型给出解释。 随着解释器模型功能的提高,平均分数也会上升。然而,即使是 GPT-4 给出的解释也比人类更糟糕,这表明还有改进的空间。
更改所解释模型的体系结构。 具有不同激活函数的训练模型提高了解释分数。
我们正在开源我们的数据集和可视化工具,用于 GPT-4 中所有 307200 个神经元的 GPT-2 编写解释,以及用于解释和评分的代码使用公开可用的模型在OpenAI API上。我们希望研究界能够开发新技术来生成更高分数的解释,以及更好的工具来使用解释来探索 GPT-2。
我们发现有1000多个神经元的解释得分至少为0.8,这意味着根据GPT-4,它们占了神经元最高激活行为的大部分。这些解释清楚的神经元中的大多数都不是很有趣。然而,我们也发现了许多 GPT-4 不理解的有趣神经元。我们希望随着解释的改进,我们能够迅速发现对模型计算的有趣定性理解。
展望
我们的方法目前有很多局限性,我们希望可以在今后的工作中解决这个问题。
我们专注于简短的自然语言解释,但神经元可能具有非常复杂的行为,无法简洁地描述。例如,神经元可以是高度多义的(代表许多不同的概念),或者可以代表人类不理解或没有单词的单个概念。
我们希望最终自动找到并解释整个神经回路实现复杂的行为,神经元和注意力头一起工作。我们目前的方法只将神经元行为解释为原始文本输入的函数,而没有说明其下游效应。例如,在句点上激活的神经元可能指示下一个单词应以大写字母开头,或者递增句子计数器。
我们解释了神经元的行为,但没有试图解释产生这种行为的机制。这意味着即使是高分解释在分发外的文本上也可能做得很差,因为它们只是在描述相关性。
我们的整个过程是相当计算密集型的。
我们对方法的扩展和推广感到兴奋。最终,我们希望使用模型来形成、测试和迭代完全一般的假设,就像可解释性研究人员一样。
最终,我们希望将最大的模型解释为在部署前后检测对齐和安全问题的一种方式。然而,在这些技术能够揭露不诚实等行为之前,我们还有很长的路要走。