Bertviz: 在Transformer模型中可视化注意力的工具(BERT,GPT-2,Albert,XLNet,RoBERTa,CTRL,etc.)
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视图可视化给定转换层中一个或多个注意头产生的注意模式。
注意视图支持变形金刚库中的所有模型,包括:BERT:[Notebook][Colab]GPT-2:[Notebook][Colab]XLNet:[Notebook]RoBERTa:[Notebook]XLM:[Notebook]Albert:[Notebook]DistilBert:[Notebook](和其他)
Model view
模型视图提供了一个birds-eye的关注视图,它跨越了模型的所有层和头部。
模型视图支持变形金刚库中的所有模型,包括:BERT:[Notebook][Colab]GPT2:[Notebook][Colab]XLNet:[Notebook]RoBERTa:[Notebook]XLM:[Notebook]Albert:[Notebook]DistilBert:[Notebook](和其他)
Neuron view
neuron视图将查询和键向量中的单个神经元可视化,并显示如何使用它们来计算注意力。
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
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
本项目包含以下回购协议的代码: