数据学习
登录
注册
原创博客
期刊会议
学术世界
期刊出版社
领域期刊
SCI/SCIE/SSCI/EI简介
期刊列表
会议列表
所有期刊分区
学术期刊信息检索
JCR期刊分区查询
CiteScore期刊分区查询
中科院期刊分区查询
领域期刊分区
管理 - UTD24期刊列表
管理 - AJG(ABS)期刊星级查询
管理 - FMS推荐期刊列表
计算机 - CCF推荐期刊会议列表
高校期刊分区
南大核心(CSSCI)
合工大小核心
合工大大核心
AI资源仓库
AI领域与任务
AI研究机构
AI学术期刊
AI论文快讯
AI数据集
AI开源工具
AI模型
AI模型概览图
AI模型月报
AI基础大模型
AI预训练大模型
数据推荐
网址导航
我的网址导航
程序员必备网站
OpenAI官方最新研究成果:如何用GPT-4这样的语言模型来解释语言模型中的神经元(neurons)
标签:
#OpenAI#
#可解释性#
时间:2023/05/10 22:30:44
作者:小木
尽管像GPT-4这样的语言模型已经展示了强大的能力,但是,基于transformer这种深度学习架构的语言模型依然缺乏足够的可解释性。例如,从输出的结果来看,我们依然很难检测模型中是否使用了biased heuristics或者engage in deception。 今天,OpenAI官方宣布了一个非常有意思的论文,他们使用GPT-4模型来自动解释GPT-2中每个神经元的含义,试图让语言模型来对语言模型本身的原理进行解释。

[TOC] 本文将简单介绍一下OpenAI这个研究思路。 #### 如何对深度学习网络中的神经元进行解释? 对于基于深度学习的语言模型做可解释性研究的一种简单的方法是了解深度学习网络架构中单个组件正在执行的任务。传统上,这需要人类手动检查神经元以确定它们表示的数据特征。 要手工查看深度学习中的神经元并对其解释,需要进行以下步骤: 1. 选择一个特定的神经元,可以通过其在神经网络中的位置或ID进行标识。 2. 收集与该神经元相关的数据,例如输入数据和网络的其他输出。 3. 分析该神经元在输入数据上的响应,例如它是否更喜欢特定的模式或特征。 4. 尝试理解该神经元的作用,例如它是否是检测边缘、纹理或其他高级特征。 5. 如果可能,将该神经元的响应与人类的认知过程进行比较,例如它是否类似于人类视觉系统的响应。 6. 将结果以可视化或文本形式进行解释,以便其他人能够理解该神经元的作用。 显然,手工解释深度学习中的神经元通常是非常耗时和困难的,特别是在网络规模很大的情况下。 #### OpenAI如何使用GPT-4来对神经元解释 在这篇论文中,OpenAI尝试使用GPT-4来对GPT-2模型的神经元进行解释。它们总共对307200个神经元进行了标注,并对每个神经元在网络中的作用进行了解释。 这个过程总共分为3步: 首先,给出一个GPT-2的神经元,使用GPT-4来尝试对这个神经元的激活函数进行解释。如下图所示:

一般来说,这种展示某个神经元的激活函数输出的结果是加载GPT-2模型并选择感兴趣的层和神经元,在模型上执行前向传递以获取每个神经元的激活函数输出结果即可。对于输出结果,OpenAI用GPT-4去理解这个神经元的是做什么的。 然后,基于上面的解释,GPT-4模仿这个神经元的激活函数来生成内容。

最后,基于GPT-2中这个神经元的输出和GPT-4模仿的输出进行比较,计算二者的匹配程度,得到一个分数:

如何得分越高,说明GPT-4模仿这个神经元的输出越像,那么第一步骤生成的解释可能就越接近这个神经元的真实作用。这种方法最大的优点就可以自动化的对大规模神经网络模型进行解释!是不是思路很简单但是还是十分有意思! #### OpenAI这种用GPT-4语言模型对神经元解释的实验发现和缺陷 为了用这种方法进行可视化,OpenAI还做了一个十分不错的可视化解释的方法。官方将该方法应用于 GPT-2 XL 中的所有 MLP 神经元。发现有超过 1,000 个神经元的解释得分至少为 0.8,这意味着根据 GPT-4,它们占据了大部分神经元的最高激活行为。然后再使用这些解释构建了新的用户界面,以便更好地理解模型,例如允许快速查看哪些神经元在特定的数据集示例上激活以及这些神经元的功能是什么。 如下图所示:

OpenAI先用embedding方法对每一个神经元的解释(来自GPT-4的解释)进行聚类,并给每个神经元做了聚类标签。然后,将某个特定文本输入到GPT-2中之后,看这段文本中每个token激活了哪些层里面的哪些神经元,就可以清楚看到一个token在GPT-2内部不同的神经元怎么连接的。由于每个神经元都有之前的GPT-4解释,因此可以极大提高人们观察这样生成过程的规律。 这个方法有一些有意思的发现,例如,在参数规模小的模型上,GPT-4对不同神经元上生成的结果与原来的结果得分更高。而当模型增大的时候,这个得分反而会降低,这意味着规模越大的模型,越难以解释。

此外,这个方法其实效果也没那么好,不过它是一种非常值得借鉴的思路。而且OpenAI官方也说明了,虽然大部分解释得分很低,但他们相信现在可以使用机器学习技术进一步提高产生解释的能力。例如,OpenAI发现可以通过以下方式提高分数: 1. 迭代解释。可以通过要求 GPT-4 提供可能的反例,然后根据它们的激活情况修订解释来提高分数。 2. 使用更大的模型进行解释。随着解释模型的能力增强,平均得分也会提高。然而,即使是 GPT-4 也比人类的解释差,表明有改进的空间。 3. 更改被解释模型的架构。使用不同的激活函数训练模型可以提高解释得分。 #### OpenAI此次开源的资源 尽管这项研究没有发布什么模型,但是OpenAI贡献了自己研究过程中的成果。包括GPT-2 XL模型神经元的解释、解释和评分的代码,以鼓励进一步研究如何产生更好的解释。 OpenAI还发布了一个使用该数据集的神经元查看器。虽然大多数解释得很好的神经元并不是非常有趣,但他们也发现了许多 GPT-4 不理解的有趣神经元。 官方博客介绍地址:https://openai.com/research/language-models-can-explain-neurons-in-language-models 官方论文地址:https://openaipublic.blob.core.windows.net/neuron-explainer/paper/index.html OpenAI开源的自动化解释的代码和数据集:https://github.com/openai/automated-interpretability GPT-2神经元解释查看在线地址:https://openaipublic.blob.core.windows.net/neuron-explainer/neuron-viewer/index.html
欢迎大家关注DataLearner官方微信,接受最新的AI技术推送
相关博客
最热博客