EleutherAI/sparsify

Sparsify transformers with SAEs and transcoders

解决的问题

提供一个轻量级库,用于在 HuggingFace 语言模型的激活上训练和加载 k-稀疏自编码器(SAE)和转码器。通过实时计算激活而非将它们缓存到磁盘,该库设计为可扩展至非常大的模型和数据集,从而消除存储开销。

工作原理

该库使用 TopK 激活函数直接在激活中强制稀疏性,作者认为这相比 L1 惩罚方法是一种帕累托改进。用户可以在模型的残差流或自定义钩子点(使用 Unix 模式匹配)上训练 SAE,覆盖模型的不同子模块。支持通过 PyTorch 的 torchrun 进行分布式训练,并可选择将模块分布在多个 GPU 上以节省内存。

适用人群

需要在大规模语言模型上训练 SAE 但不受存储限制的研究人员和开发者。

主要亮点

  • 实时激活计算:减少大规模数据集的存储开销。
  • TopK 激活函数:直接强制稀疏性水平。
  • 灵活的钩子点:支持使用 Unix 模式匹配来定位特定模型层或模块。
  • 分布式训练:支持跨 GPU 高效分配模块以节省内存。
  • 预训练 SAE:可直接从 HuggingFace Hub 加载预训练 SAE。

相关

  • 项目
  • Dispatch
  • 项目
  • 项目
  • Dispatch