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

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

时间:2023-06-26 23:12:03浏览次数:45  
标签:BERT Transformer CTRL 模型 视图 Notebook 可视化 Colab

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

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

标签:BERT,Transformer,CTRL,模型,视图,Notebook,可视化,Colab
From: https://www.cnblogs.com/chinasoft/p/17507405.html

相关文章

  • 最强NLP模型BERT可视化学习
    2023年06月26日是自然语言处理(NaturalLanguageProcessing,NLP)领域的转折点,一系列深度学习模型在智能问答及情感分类等NLP任务中均取得了最先进的成果。近期,谷歌提出了BERT模型,在各种任务上表现卓越,有人称其为“一个解决所有问题的模型”。BERT模型的核心思想有两点,对推动NLP的......
  • Bert Pytorch 源码分析:四、编解码器
    #Bert编码器模块#由一个嵌入层和NL个TF层组成classBERT(nn.Module):"""BERTmodel:BidirectionalEncoderRepresentationsfromTransformers."""def__init__(self,vocab_size,hidden=768,n_layers=12,attn_heads=12,d......
  • Bert Pytorch 源码分析:二、注意力层
    #注意力机制的具体模块#兼容单头和多头classAttention(nn.Module):"""Compute'ScaledDotProductAttention""" #QKV尺寸都是BS*ML*ES #(或者多头情况下是BS*HC*ML*HS,最后两维之外的维度不重要) #从输入计算QKV的过程可以统一处理,不必......
  • Bert PyTorch 源码分析:一、嵌入层
    #标记嵌入就是最普通的嵌入层#接受单词ID输出单词向量#直接转发给了`nn.Embedding`classTokenEmbedding(nn.Embedding):def__init__(self,vocab_size,embed_size=512):super().__init__(vocab_size,embed_size,padding_idx=0) #片段嵌入实际上是......
  • 《Transformer Quality in Linear Time》论文解读
    会议/期刊:ICML年份:20221.VanillaTransformerBlock(MHSA+FFN)原本的Transformer的Block遵循如下的设计范式:MHSA(多头自注意力)+一层或者两层的FFN(全连接层),如下图所示。我们只考虑FFN的话,其数学表达式如下:T表示句子长度,d表示词向量维度(也表示模型隐藏层维度),e表示expandedint......
  • 【环境部署】TransformersTTS模型 -- 将文字转化为语音
    论文背景AText-to-SpeechTransformerinTensorFlow2NeuralSpeechSynthesiswithTransformerNetworkFastSpeech:Fast,RobustandControllableTexttoSpeechFastSpeech2:FastandHigh-QualityEnd-to-EndTexttoSpeechFastPitch:ParallelText-to-speechw......
  • Transformer在计算机视觉中应用论文大全整理分享
       Transformer是一种基于encoder-decoder结构的模型,它抛弃了以往的seq2seq模型中的RNN,采用Self—attention或者Mulit-head-self-attention使得输入的数据可以并行处理,提高运行效率。本资源整理了Transformer在计算机视觉各个领域应用的论文,分享给需要的朋友。内容截图......
  • Transformer及其变体模型在计算机视觉领域应用论文盘点
       AttentionIsAllYouNeed是一篇Google提出的将Attention思想发挥到极致的论文。这篇论文中提出一个全新的模型,叫Transformer,抛弃了以往深度学习任务里面使用到的CNN和RNN,目前大热的Bert就是基于Transformer构建的,这个模型广泛应用于NLP领域,例如机器翻译,问答系统,文本......
  • 【环境部署】SPECTER模型-基于transformer的科学出版物
    论文背景标题:SPECTER:Document-levelRepresentationLearningusingCitation-informedTransformers摘要:表示学习是自然语言处理系统的关键组成部分。像BERT这样的最新Transformer语言模型学习了强大的文本表示,但这些模型针对标记和句子级别的训练目标,并不利用相关性信息,这限......
  • SBERT现在在业界中是什么地位,是否常用?有没有比SBERT更好的同类技术?
    作者:transformer链接:https://www.zhihu.com/question/507525712/answer/2280236067来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。   通过下面这张图可以看看SBERT在语义匹配这一块的地位(见红色标记部分):效果上,SBERT<<SBERT-flow≈SBERT-W......