BERTology
越来越多的研究领域关注于探究大型Transformer(如BERT,有些人称之为“BERTology”)的内部运作机制。该领域的一些优秀案例包括:
- BERT重新发现了经典的NLP流水线,作者:Ian Tenney、Dipanjan Das、Ellie Pavlick:https://arxiv.org/abs/1905.05950
- 十六个注意力头真的比一个更好吗?作者:Paul Michel、Omer Levy、Graham Neubig:https://arxiv.org/abs/1905.10650
- BERT在看什么?对BERT注意力机制的分析,作者:Kevin Clark、Urvashi Khandelwal、Omer Levy、Christopher D. Manning:https://arxiv.org/abs/1906.04341
- CAT探测:一种基于度量的方法来解释预训练的编程语言模型如何关注代码结构:https://arxiv.org/abs/2210.04633
为了帮助这个新兴领域的发展,我们在BERT/GPT/GPT-2模型中添加了一些额外的功能,以帮助人们访问内部表示,主要借鉴了Paul Michel的优秀工作(https://arxiv.org/abs/1905.10650)。
- 访问BERT/GPT/GPT-2的所有隐藏状态。
- 访问BERT/GPT/GPT-2每个注意力头的所有注意力权重。
- 检索注意力头的输出值和梯度,以便能够计算注意力头的重要性得分并根据https://arxiv.org/abs/1905.10650中描述的方法来剪枝注意力头。
为了帮助您理解和使用这些功能,我们添加了一个具体的示例脚本:bertology.py,它提取信息并剪枝在GLUE数据集上预训练的模型。
< > GitHub更新