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