Transformer Debugger 是 OpenAI 的 Superalignment 团队开发的一款工具,旨在支持对小语言模型的特定行为进行研究。
TDB 可以在编写代码之前进行快速探索,能够干预前向传递并查看它对特定行为的影响。它可以用来回答诸如 "为什么模型会输出 token A 而不是 token B" 或 "为什么 attention head H 会关注 token T" 之类的问题。它通过识别对行为有贡献的特定组件(neurons、attention heads、autoencoder latents),显示自动生成的关于导致这些组件激活最强烈的原因的解释,以及追踪组件之间的连接以帮助发现联系。
本次开源发布的内容包括:
- Neuron viewer:一个 React 应用程序,托管 TDB 以及包含有关各个模型组件(MLP neurons、attention heads and autoencoder latents for both)信息的页面。
- Activation server:对主题模型进行推理,为 TDB 提供数据的后端服务器。它还从公共 Azure 存储桶读取数据并提供数据。
- Models:一个用于 GPT-2 模型及其自动编码器的简单推理库,带有用于捕获激活的 hook。
- Collated activation datasets:MLP neurons、attention heads 和 autoencoder latents 的顶级激活数据集示例。
设置
按照以下步骤安装存储库。首先需要 python/pip 以及 node/npm。
虽然可选,但官方建议用户使用虚拟环境或等效环境:
# If you're already in a venv, deactivate it. deactivate # Create a new venv. python -m venv ~/.virtualenvs/transformer-debugger # Activate the new venv. source ~/.virtualenvs/transformer-debugger/bin/activate
设置环境后,按照以下步骤操作:
git clone git@github.com:openai/transformer-debugger.git cd transformer-debugger # Install neuron_explainer pip install -e . # Set up the pre-commit hooks. pre-commit install # Install neuron_viewer. cd neuron_viewer npm install cd ..
要运行 TDB 应用程序,需要按照说明设置激活服务器后端和神经元查看器前端。
Making changes
要验证更改:
- 运行
pytest
- 运行
mypy --config=mypy.ini .
- 运行激活服务器和神经元查看器并确认 TDB 和神经元查看器页面等基本功能仍然有效