SuperAPI AI 工具集

saelens

通用与其它

查看项目

更新于 10-16 07:23

技能介绍

SAELens 是训练与分析稀疏自编码器(Sparse Autoencoders, SAE)的库,用于把多义性的神经网络激活分解为稀疏、可解释的特征。其来源为 Anthropic 关于单义性的研究,代码仓库为 jbloomAus/SAELens。

用途与适用场景:当需要发现模型激活中的可解释特征、了解模型学到的概念、研究叠加与特征几何、做基于特征的 steering 或消融、分析安全相关特征(欺骗、偏见、有害内容)时使用。若只需基础激活分析,可改用 TransformerLens;做因果干预实验可用 pyvene 或 TransformerLens;需要生产级 steering 可考虑直接激活工程。

安装与依赖:命令为 pip install sae-lens。要求 Python 3.10+、transformer-lens>=2.0.0。

主要能力:加载与使用预训练 SAE、训练自定义 SAE、特征分析与 steering、特征归因。预训练 SAE 可按 release 与 sae_id 加载,例如 gpt2-small-res-jb、gemma-2b-res,也可在 HuggingFace 搜索 saelens 标签。

用法要点:用 HookedTransformer 加载模型并获取激活,用 SAE.from_pretrained() 加载匹配层,调用 sae.encode() 得到稀疏特征、sae.decode() 重建激活。训练用 LanguageModelSAERunnerConfig 与 LanguageModelSAETrainingRunner,v6 采用嵌套配置:SAE 选项在 sae= 子配置中,日志在 logger= 中;可选 StandardTrainingSAEConfig、TopKTrainingSAEConfig(直接设 k)、GatedTrainingSAEConfig、JumpReLUTrainingSAEConfig,旧扁平选项如 hook_layer、activation_fn、log_to_wandb 等在 v6 已移除。

评估指标包括 L0、CE Loss Score、死特征比例、解释方差。常见问题与处理:死特征多可启用 l1_warm_up_steps;重建差可降低 l1_coefficient 或增大 d_sae;特征不可解释可提高 L1 或改用 TopK SAE;内存不足可减小批量。可在 Neuronpedia 浏览预训练特征,文档与教程见 references/ 目录,其他细节暂未提供。