BERTology
有一个不断发展的研究领域,专注于调查像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在看什么?Kevin Clark、Urvashi Khandelwal、Omer Levy、Christopher D. Manning对BERT注意力的分析:https://arxiv.org/abs/1906.04341
- CAT-probing: 一种基于度量的方法,用于解释预训练模型如何关注编程语言的代码结构: 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上预训练的模型。
< > Update on GitHub