EleutherAI/sparsify

Sparsify transformers with SAEs and transcoders

해결하는 문제

HuggingFace 언어 모델의 활성화에 대해 k-스파스스 자동부호화기(SAE) 및 트랜스코더를 학습하고 로드할 수 있는 가벼운 라이브러리를 제공합니다. 활성화를 디스크에 캐시하지 않고 실시간으로 계산함으로써 매우 큰 모델과 데이터셋에도 확장 가능하도록 설계되어 저장소 오버헤드를 제거합니다.

작동 방식

이 라이브러리는 활성화에 직접적으로 스파스성을 강제하는 TopK 활성화 함수를 사용합니다. 저자들은 이 방법이 L1 페널티 방법보다 파레토 개선이라고 생각합니다. 사용자는 모델의 잔차 스트림 또는 사용자 정의 후크 포인트(유닉스 패턴 매칭 사용)를 통해 모델의 다양한 하위 모듈에서 SAE를 학습할 수 있습니다. PyTorch의 torchrun을 통해 분산 학습을 지원하며, GPU 간에 모듈을 분산시켜 메모리 절약이 가능합니다.

대상 사용자

대규모 언어 모델에서 SAE를 학습해야 하는 기계적 해석성 연구자 및 개발자. 저장소 제약 없이 작업할 수 있도록 설계되었습니다.

주요 특징

  • 실시간 활성화 계산: 대규모 데이터셋에 대한 저장소 오버헤드를 줄입니다.
  • TopK 활성화 함수: 스파스성 수준을 직접 강제합니다.
  • 유연한 후크 포인트: 특정 모델 레이어나 모듈을 타겟팅하기 위해 유닉스 패턴 매칭을 지원합니다.
  • 분산 학습: GPU 간에 모듈을 효율적으로 분산하여 메모리 사용을 최적화합니다.
  • 사전 학습된 SAE 로드: HuggingFace Hub에서 직접 사전 학습된 SAE를 로드할 수 있습니다.

관련

  • 프로젝트
  • Dispatch
  • 프로젝트
  • 프로젝트
  • Dispatch