OpenAI最近做了个很有意思的新研究,用GPT-4来解释GPT-2:
严格来说,这并不是学术论文,目前就是个网页,不过网页有网页的好处,即上面能演示很多实例。
1.可解释性
还是延续以往的风格,本系列专栏还是先唠嗑一些基础概念。
可解释性也是之前提过很多次的话题了。
之前我经常把很多模型比作一个复杂的函数,这个函数过于复杂,参数量众多,所以解释起来会很麻烦。
再比如,一种解释性很好并且性能也不差的模型——决策树:
应该很好理解吧,我们只要从树干循着条件一路找到叶子,就可以得到结果。
但是一棵树有时候是不够的,我们想提高性能,一种方法就是构造一大堆的决策树,每颗决策树都会独立给出结果,然后汇总这些结果(投票啊、采样啊)就得到一个总结果,这就是随机森林。由于随机森林中决策树众多,所以很多人认为随机森林实际上是不可解释的。这似乎暗示了当某个东西的数量上去之后,解释性慢慢地变得困难。
当然,随机森林实际上是一种集成方法,集成和蒸馏也是可解释性的重灾区。其中自蒸馏更是经典的“左脚踩右脚”,即模型自己教授自己知识就能提升性能,对于人类来说,这种能力还太早了。
对神经网络也是一样。我们知道,一个神经元实际上并不复杂,不管是人工的还是自然的:
都是收集一堆输入,整合成一个输出。
但神经网络中神经元数量众多,连接起来就更加麻烦,很多网络都是前面几层还能得到一些人类看得懂的特征,后面的层会越来越抽象和难以解释。很多人认为神经网络的高层是学习到了人类目前还无法解释的高级特征。
对于我们的大脑也是一样,我们能弄清楚一个神经元的不少行为,理解神经递质和记忆的可能形成过程,但就大脑的整体而言,人类理解起来还是过于困难。
于是,可解释性的另一层意思就出来了,即可解释性实际上是让人来理解机器在做什么,目前主流还是把抽象的东西进行“降维”,“降维”到自然语言、可理解的数学公式等层面。当然,人类也在朝着靠近机器的方向在努力,尝试理解一些高阶特征。或者说,必然是双向奔赴。
可解释性很重要,例如在银行等系统中,出错是不被允许的,如果一个输出没法解释,问题会变得很麻烦。
关于可解释性,还有另一种风格的解释,见:
【花师小哲】当代炼金术(神经网络)前沿(3)——可解释性人工智能
2.GPT-4解释GPT-2
OK,回到这个研究,实际上方法也不复杂的:
就分三步:
(1)对于被给定的GPT-2的神经元和输出序列,让GPT-4解释这个神经元可能起什么作用。例如一个神经元可能与电影有关,可能控制着模型说“不”等等;
(2)用GPT-4模拟这个神经元会做什么;
(3)与真实的激活情况作对比,得出GPT-4的判断分数。
简单来说,就是让GPT-4去模拟GPT-2的运作。
论文网站上有很多演示,例如对于一个输出,每个词是哪些神经元被激活而生成的,很有意思。
GPT-2共有三十万个神经元,其实(对于程序来说)并不算很多,其中1000个神经元的解释分数能到到0.8,看起来效果还可以。
3.上下文学习与大模型模拟小模型
其实我个人倒没有那么惊讶,毕竟很久之前我就说过,理论上GPT-3这样的大模型是可以在内部模拟其他模型的,而且transformer本身又是图灵完备的,所以我们不难想象大模型内部实际上已经做了某种程度的“分工”
上下文学习也是一个例子,有人认为上下文学习实际上是这个过程中,大模型内部构造了类似于类似于梯度下降的结构,具体见:
【花师小哲】当代炼金术(神经网络)前沿(11)——GPT与上下文学习
而GPT-4基本上是GPT-2的暴力扩大,所以内部模拟个GPT-2理论上问题不大。
不过我倒是没想到“大模型套小模型”会用来研究这个
4.研究的不足
论文网站也说了很多,但我总结下来,最重要的几点是:
(1)这种方法把每一个神经元当做孤立的对象来看待的。而神经元是和其他神经元高度交互的,这才导致神经网络的优秀的表现。而且解释仍然是相关性解释,不是因果解释。
(2)仍然是可解释性的基本问题,即神经元(特别是深层的神经元)的复杂行为真的可以用自然语言解释清楚吗(也许就像《来自深渊》生骸村的语言一样,是高度复合的)
(3)对GPT-4的不信任。一个很明显的事实是,GPT-4本身是一个没被解释的模型(甚至都不开源让别人解释),用这样的模型做解释真的能让人信服吗?更何况GPT-4仍然没有解决幻觉的问题。甚至有人调侃解释GPT-4是不是要用GPT-16(
(4)耗费高等就不说了
5.结论
总的来说,研究还是有意义的,毕竟可解释性研究这一块,基本上有一个算一个,看上去很基础但都是前沿了。