Bertviz: 在Transformer模型中可视化注意力的工具(BERT,GPT-2,Albert,XLNet,RoBERTa,CTRL,etc.)

发布时间 2023-06-26 23:08:58作者: China Soft

BertViz

BertViz是一个在Transformer模型中可视化注意力的工具,支持transformers库中的所有模型(BERT,GPT-2,XLNet,RoBERTa,XLM,CTRL等)。它扩展了Llion Jones的Tensor2Tensor可视化工具和HuggingFace的transformers库。

Blog post:

  • 解构伯特,第2部分:视觉化注意的内部运作(第一部分不是先决条件)

Paper:

  • 变压器模型中注意力的多尺度可视化

相关博文:

  • OpenAIGPT-2:通过可视化理解语言生成
  • 解构BERT:从1亿个参数中提取6个模式

Attention-head view

attention-head视图可视化给定转换层中一个或多个注意头产生的注意模式。

Attention-head viewAttention-head view animated

注意视图支持变形金刚库中的所有模型,包括:BERT:[Notebook][Colab]GPT-2:[Notebook][Colab]XLNet:[Notebook]RoBERTa:[Notebook]XLM:[Notebook]Albert:[Notebook]DistilBert:[Notebook](和其他)

Model view

模型视图提供了一个birds-eye的关注视图,它跨越了模型的所有层和头部。

Model view

模型视图支持变形金刚库中的所有模型,包括:BERT:[Notebook][Colab]GPT2:[Notebook][Colab]XLNet:[Notebook]RoBERTa:[Notebook]XLM:[Notebook]Albert:[Notebook]DistilBert:[Notebook](和其他)

Neuron view

neuron视图将查询和键向量中的单个神经元可视化,并显示如何使用它们来计算注意力。

Neuron view

neuron视图支持以下三种模型:BERT:[Notebook][Colab(view only)]GPT-2[Notebook][Colab(view only)]RoBERTa[Notebook]

Requirements

(See requirements.txt)

Execution

Running locally:
git clone https://github.com/jessevig/bertviz.git
cd bertviz
jupyter notebook

单击任何示例笔记本。请注意,示例笔记本并没有涵盖所有的Huggingface模型,但代码应该与未包含的相似。

从Colab跑过来:

单击上面的任何Colab链接,并滚动到页面底部。它应该是带有可视化效果的pre-loaded,因此您不需要实际运行任何东西。

如果您编写自己的代码来在Colab中执行BertViz,请注意有些步骤与Jupyter笔记本中的不同(参见上面的Colab示例)。

Current limitations

视觉化效果最好是短句,如果输入的文本很长,可能会失败。该工具的设计使得每个笔记本电脑只能包含一个可视化效果。

Authors

Jesse Vig

Citation

引用BertViz时,请引用本文。

@article{vig2019transformervis,
  author    = {Jesse Vig},
  title     = {A Multiscale Visualization of Attention in the Transformer Model},
  journal   = {arXiv preprint arXiv:1906.05714},
  year      = {2019},
  url       = {https://arxiv.org/abs/1906.05714}
}

License

此项目是在Apache2.0许可证下授权的-有关详细信息,请参阅许可证文件

Acknowledgments

本项目包含以下回购协议的代码: