XAI之TDB:transformer-debugger的简介、安装和使用方法、应用案例之详细攻略
导读:小语言模型在处理一些任务时会出现无法明确解释的行为,难以细致追踪模型内部各个组件如神经元、注意力头等在推理过程中的作用。2024年3月12日,OpenAI发布Transformer Debugger 使用自动解释技术和稀疏自编码器,可以对小语言模型进行快速探索,允许在前向传播过程中进行干预,观察干预对特定行为的影响。
Transformer Debugger 是一个开放源代码的调试工具,它通过自动解释技术和组件级交互,实现了对小语言模型内部各个计算步骤的细致追踪和解释,有利于解决模型难以理解的隐性行为。
>> 神经元查看器页面,可观察单个模型组件如神经元、注意力头和自编码器潜变量在不同样本下的活跃程度,并自动生成解释 leur 活跃的原因。
>> 通过追踪组件之间的连接关系,助力发掘模型内部的计算路径,帮助解释特定行为产生的原因。
>> 支持对模型进行干预,比如置零某个注意力头,观察其对最终输出的影响,以实现对模型内部工作机制的细致探究。
>> 提供公开数据集,统计某些神经元、注意力头和自编码器潜变量在 topping 数据集示例下的活跃程度。
目录
transformer-debugger的简介
1、以下视频概述了TDB并展示了如何使用它来调查GPT-2 small中的间接对象识别
2、主要内容
3、相关术语解释
transformer-debugger的安装和使用方法
1、安装
设置环境:使用虚拟环境或等效环境
安装
进行更改
transformer-debugger应用案例
transformer-debugger的简介
2024年3月12日,Transformer Debugger(TDB)是由OpenAI的Superalignment团队开发的工具,旨在支持对小型语言模型特定行为的调查。该工具将自动可解释技术与稀疏自动编码器结合起来。
TDB能够在需要编写代码之前进行快速探索,具有介入前向传播并查看其对特定行为的影响的能力。它可以用于回答问题,例如,“为什么模型在此提示中输出令牌A而不是令牌B?”或“为什么注意力头H在此提示中关注令牌T?”它通过识别特定组件(神经元、注意力头、自动编码器潜变量)来实现这一点,显示自动生成的解释,说明是什么导致这些组件最强烈地激活,并追踪组件之间的联系,以帮助发现回路。
GitHub地址:GitHub - openai/transformer-debugger
1、以下视频概述了TDB并展示了如何使用它来调查GPT-2 small中的间接对象识别
神经元查看器页面:
示例:调查名称移动器头,第1部分:
示例:调查名称移动器头,第2部分:
- Introduction
- Neuron viewer pages
- Example: Investigating name mover heads, part 1
- Example: Investigating name mover heads, part 2
2、主要内容
神经元查看器:一个React应用程序,托管TDB以及有关个别模型组件(MLP神经元、注意力头和自动编码器潜变量)的信息页面。
激活服务器:一个后端服务器,对主题模型进行推断以为TDB提供数据。它还从公共Azure存储桶中读取并提供数据。
模型:用于GPT-2模型及其自动编码器的简单推断库,具有用于获取激活的钩子。
汇编的激活数据集:MLP神经元、注意力头和自动编码器潜变量的顶部激活数据集示例。
3、相关术语解释
TDB Terminology地址:https://github.com/openai/transformer-debugger/blob/main/terminology.md
transformer-debugger的安装和使用方法
1、安装
按照以下步骤安装存储库。您首先需要python/pip以及node/npm。
设置环境:使用虚拟环境或等效环境
虽然是可选的,但我们建议您使用虚拟环境或等效环境:
#如果您已经在虚拟环境中,请停用它。
停用
#创建一个新的虚拟环境。
python -m venv ~/.virtualenvs/transformer-debugger
#激活新的虚拟环境。
source ~/.virtualenvs/transformer-debugger/bin/activate
安装
设置好您的环境后,请按照以下步骤操作:
git clone git@github.com:openai/transformer-debugger.git
cd transformer-debugger
#安装neuron_explainer
pip install -e .
#设置预提交挂钩。
pre-commit install
#安装neuron_viewer。
cd neuron_viewer
npm install
cd ..
要运行TDB应用程序,然后需要按照说明设置激活服务器后端和神经元查看器前端。
进行更改
要验证更改:
运行pytest
运行mypy --config=mypy.ini 。
运行激活服务器和神经元查看器,并确认像TDB和神经元查看器页面这样的基本功能仍在正常工作
transformer-debugger应用案例
更新中……