OpenAI开源工具帮助开发者可视化和理解Transformer模型内部运作。对LLM研究和优化工作有重要参考价值。
Transformer Debugger(TDB)是 OpenAI 的 Superalignment 团队开发的一款工具,旨在帮助研究小型语言模型的特定行为。该工具将自动化可解释性技术与稀疏自编码器结合在一起。
在需要编写代码之前,TDB 就能让你快速展开探索;它支持干预前向传播过程,并观察这种干预会如何影响某个特定行为。它可以用来回答这样的问题:“对于这个 prompt,为什么模型输出 token A 而不是 token B?”或者“对于这个 prompt,为什么注意力头 H 会关注 token T?”为此,TDB 会识别出对该行为有贡献的特定组件(神经元、注意力头、自编码器 latent),展示自动生成的解释,说明什么因素最容易让这些组件强烈激活,并追踪组件之间的连接,从而帮助发现 circuit。
以下视频概述了 TDB,并展示如何使用它研究 GPT-2 small 中的间接宾语识别:
示例:研究 name mover heads,第 1 部分
示例:研究 name mover heads,第 2 部分
Neuron viewer:一个 React 应用,既承载 TDB,也提供展示各个模型组件相关信息的页面,包括 MLP 神经元、注意力头,以及二者对应的自编码器 latent。
Activation server:一个后端服务器,负责在目标模型上执行推理,为 TDB 提供数据。它还会读取并提供来自公共 Azure bucket 的数据。
Models:一个用于 GPT-2 模型及其自编码器的简易推理库,提供用于获取激活值的 hook。
整理后的激活数据集:包含 MLP 神经元、注意力头和自编码器 latent 激活程度最高的数据集样本。
请按照以下步骤安装该仓库。首先需要安装 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 应用,接下来需要按照说明设置 activation server 后端和 neuron viewer 前端。
运行 mypy --config=mypy.ini .。
运行 activation server 和 neuron viewer,并确认 TDB、neuron viewer 页面等基本功能仍可正常使用。
Mossing, et al., “Transformer Debugger”, GitHub, 2024.
@misc{mossing2024tdb,
title={Transformer Debugger},
author={Mossing, Dan and Bills, Steven and Tillman, Henk and Dupré la Tour, Tom and Cammarata, Nick and Gao, Leo and Achiam, Joshua and Yeh, Catherine and Leike, Jan and Wu, Jeff and Saunders, William},
year={2024},
publisher={GitHub},
howpublished={\url{https://github.com/openai/transformer-debugger}},
}