SuperAPI AI 工具集

mechanistic-interpretability-saelens

智能体与模型

查看项目

更新于 11-04 01:43

技能介绍

用途

SAELens 是用于训练和分析稀疏自编码器(SAE)的库,主要服务于机制可解释性研究。它通过稀疏瓶颈将神经网络中多义性的激活分解为稀疏、单义的特征,从而帮助理解模型学到的概念。该技术基于 Anthropic 关于单义性的研究。

主要能力

  • 加载和分析预训练 SAE:可从发布版本(如 gpt2-small-res-jb)加载与模型层匹配的 SAE,将激活编码为稀疏特征,并检查重建质量。
  • 训练自定义 SAE:提供配置类 LanguageModelSAERunnerConfig 和训练运行器 SAETrainingRunner,支持标准、门控、TopK 等架构,可调整扩展因子、L1 系数、学习率等超参数。
  • 特征分析与干预:可查找特定特征在不同文本上的激活情况,通过解码器权重获取特征方向进行引导(steering),并计算特征对特定输出的归因贡献。
  • 评估指标:包括 L0(平均活跃特征数)、交叉熵损失恢复率、死特征比例、解释方差等,用于监控训练质量。
  • 与 Neuronpedia 集成:可浏览预训练 SAE 特征。

使用方式

安装:pip install sae-lens,要求 Python 3.10+ 和 transformer-lens>=2.0.0。基本流程包括:使用 TransformerLens 加载模型;加载匹配的预训练 SAE 或配置并训练新 SAE;对激活进行编码得到稀疏特征;分析特征激活、进行引导或归因;评估重建质量和稀疏性。文档提供了代码示例,涵盖加载分析、训练配置、特征引导和常见问题处理。

适用场景

  • 发现模型激活中的可解释特征
  • 理解模型学到的概念
  • 研究叠加现象和特征几何
  • 进行基于特征的操作(引导或消融)
  • 分析安全相关特征(如欺骗、偏见、有害内容)

限制

当仅需基本激活分析时,可考虑直接使用 TransformerLens;进行因果干预实验时可使用 pyvene 或 TransformerLens;生产环境引导可考虑直接激活工程。训练中可能遇到死特征比例高、重建质量差、特征不可解释或内存错误等问题,文档提供了相应调整建议。具体收费、平台支持等信息暂未提供。