SuperAPI AI 工具集

transformer-lens-interpretability

智能体与模型

查看项目

更新于 10-15 19:53

技能介绍

用途:TransformerLens 是用于 GPT 类语言模型机制可解释性研究的标准库,由 Neel Nanda 创建、Bryce Meyer 维护,可逆向分析训练中学到的算法、做激活修补/因果追踪、研究注意力模式与信息流、分析电路(如 induction heads、IOI 电路)、缓存并检查中间激活、应用直接 logit 归因。

主要能力:核心类 HookedTransformer 在每个激活上提供 HookPoint;支持 50+ 模型(GPT-2、LLaMA、EleutherAI Pythia/GPT-Neo/GPT-J、Mistral、phi、qwen、opt、gemma 等)。ActivationCache 以字典形式缓存激活,键如 resid_pre/resid_mid/resid_post、attn_out、mlp_out、pattern、q、k、v,可按层与位置访问,并可用 names_filter 选择性缓存以省内存。

使用方式:安装 pip install transformer-lens,开发版 pip install git+https://github.com/TransformerLensOrg/TransformerLens。加载模型 model = HookedTransformer.from_pretrained("gpt2-small");门控模型需设置 HF_TOKEN。用 model.run_with_cache(tokens) 获取激活,用 model.run_with_hooks 配合 fwd_hooks 做激活修补,用 model.reset_hooks() 清理钩子。典型流程包括激活修补(定义 clean/corrupted 输入与 metric,逐层逐位置打补丁并可视化热力图)、IOI 电路分析(按注意力头分解 logit 差异)、induction head 检测(检查重复序列中从末位 A 回看首个 B 的注意力)。

适用场景:机制可解释性研究、电路发现、因果追踪、注意力与信息流分析。

限制与注意:非 transformer 架构可考虑 nnsight 或 pyvene;训练/分析稀疏自编码器用 SAELens;超大模型远程执行用 nnsight 与 NDIF;更高层因果干预抽象用 pyvene。常见问题包括钩子残留需 reset_hooks、分词不一致需显式检查、分析时勿忽略 LayerNorm、大模型需选择性缓存或缓存到 CPU。v2.0 移除 HookedSAE(移至 SAELens),v3.0 alpha 引入 TransformerBridge。