当前位置: 首页 > 科技观察

谷歌开源NLP模型可视化工具LIT,模型训练不再是“黑箱”

时间:2023-03-19 10:20:18 科技观察

深度学习模型的训练就像是“黑箱操作”,知道输入是什么,输出是什么,但是中间的过程就像一个黑匣子,这使得研究人员可以花费大量时间来弄清楚模型行为不正常的原因。如果有一个可视化工具可以帮助研究人员更好地理解模型行为,那就太好了。谷歌研究人员最近发布了LanguageInterpretabilityTool(LIT),这是一个用于可视化和理解自然语言处理模型的开源平台。论文地址:https://arxiv.org/pdf/2008.05122.pdf项目地址:https://github.com/PAIR-code/litLIT关注模型行为的核心问题,包括:模型为何做出这样的预测?什么时候表现不好?当输入变化可控时会发生什么?LIT将本地解释、聚合分析和反事实生成集成到一个基于浏览器的流线型界面中,用于快速探索和错误分析。该研究支持各种自然语言处理任务,包括探索情感分析的反事实、测量共指系统中的性别偏见以及探索文本生成中的本地行为。此外,LIT支持多种模型,包括分类、seq2seq和结构化预测模型。而且它是高度可扩展的,可通过声明性的、与框架无关的API进行扩展。有关演示,请观看视频:00:00/00:00x可以针对新颖的工作流进行重新配置,并且组件是独立的、可移植的并且易于实施。用户界面LIT位于一个单页Web应用程序中,该应用程序由工具栏和包含多个独立模块的主体组成。如果块适用于当前模型和数据集,它们将自动显示。例如,显示分类结果的模块只有在模型返回MulticlassPreds时才会显示。LIT用户界面LIT的布局设计图。FunctionalLIT通过基于浏览器的用户界面(UI)支持各种调试工作流。功能包括:局部解释:由模型预测的显着图、注意力和丰富的可视化图执行。聚合分析:包括自定义指标、切片和分箱以及嵌入空间的可视化。反事实生成:通过手动编辑或生成插件进行反事实推理,即时创建和评估新示例。并排模式:比较两个或多个模型,或基于一对示例的一个模型。高度可扩展:可扩展到新的模型类型,包括分类、回归、跨度注释、seq2seq和语言建模。与框架无关:与TensorFlow、PyTorch等兼容。让我们来看看LIT的一些主要模块:ExploringDatasets:用户可以使用不同的标准交叉模块(例如DataTable和Embedding模块)以交互方式探索数据集,以旋转、缩放和平移PCA或UMAP投影来探索集群和全局结构。比较模型:通过在全局设置控件中加载多个模型,LIT可以比较它们。然后复制显示每个模型信息的子模块,以便于在两个模型之间进行比较。其他模块,如Embedding和Metrics,也会同时更新,以显示所有模型的最新信息。比较数据点:切换以选择工具栏中的“比较数据点”按钮,将LIT置于数据点比较模式。该模式下选择主数据点作为参考数据点,在后续设置中将其作为参考点进行比较。参考数据点在数据表中以蓝色边框突出显示。其他模块详情请见:https://github.com/PAIR-code/lit/blob/main/docs/user_guide.md看完上面的介绍,是不是已经迫不及待想要上手试试这个炫酷的可视化工具了?下面来看看它的安装过程和例子。安装教程下载软件包并配置Python环境。代码如下:安装并配置好环境后,即可体验工具包自带的示例。示例1.情感分类示例代码如下:情感分类示例基于StanfordSentimentTreebankfine-tunedBERT-tiny模型,在GPU上不到5分钟即可完成。训练完成后,它会在开发集上启动LIT服务器。2.语言建模类示例要探索预训练模型(BERT或GPT-2)的预测,请运行以下代码:更多示例请参考目录:../lit_nlp/examples。此外,该项目还提供了添加您自己的模型和数据的方法。用户可以通过创建自定义demo.py启动器轻松地使用自己的模型运行LIT,类似于上面的示例目录../lit_nlp/examples。完整的添加过程参见:https://github.com/PAIR-code/lit/blob/main/docs/python_api.md#adding-models-and-data。