ByteDance Seed가 Qwen3-30B-A3B의 전문가 혼합(MoE) 블록 출력에 학습한 TopK 희소 오토인코더(SAE)를 Hugging Face에 공개했다. 4번, 30번, 46번 층에 하나씩, 모두 세 개다.
라이선스는 Apache License 2.0이며, 기반 모델인 Qwen3-30B-A3B도 같은 라이선스다. SAE는 Dolma 3, Dolci-Think-SFT, Dolci-Instruct-SFT에서 계산한 활성값으로 학습했고, 이 데이터는 Ai2가 ODC-BY v1.0으로 제공한다. 저장소는 논문 "Sparse AutoEncoders Reveal That MoE Experts Exhibit Human-Interpretable Fine-Grained Specialization"과 함께 나왔다고 밝히며, 저자는 Anyuan Zhuo, Shaohua Zhang, Yuan Lin, Pinyan Lu다. 프로젝트 페이지, 코드, 논문 링크는 아직 TODO로 남아 있다.
구조와 사용 조건
각 SAE는 Top-k 방식으로 k는 100이고 잠재 특징은 2^20개(1,048,576개)다. 입력은 해당 층 mlp 모듈(Qwen3MoeSparseMoeBlock)의 출력으로, 잔차 덧셈 이전 값을 정규화 없이 그대로 읽는다. 층 번호는 0부터 센다. 파일은 W_enc, b_enc, W_dec, b_dec 네 개의 float32 텐서로 이뤄지며, W_dec의 각 행은 단위 노름이다. 논문은 특징을 30-F97783처럼 층 번호와 인덱스로 표기한다.
sae.safetensors 하나가 약 17.2GB다. 예제 코드는 LAYER=30을 기준으로 하며, 주석에 모델 위에 SAE 약 17GB가 추가로 올라간다고 적혀 있다. 사전 활성값은 토큰당 4MiB여서 긴 입력은 나눠 인코딩해야 한다. 예제는 BF16으로 불러온 모델에 forward hook을 걸어 MoE 출력을 가로채는 방식이다.
학습과 복원 성능
SAE는 층마다 독립적으로 학습했다. 활성값은 Olmo 3 학습 코퍼스에서 모은 MoE 블록 출력이며, 구성은 Dolma 3 사전 학습 데이터 5/8, 추론 사고 사슬 Dolci-Think-SFT 1/4, 지시 수행 Dolci-Instruct-SFT 1/8이다. 처음 1만 스텝 동안 k를 1000에서 100으로 줄였고, 보조 손실과 AdamW를 썼으며 SAE마다 약 32억 토큰을 학습했다.
| 층 | FVU |
|---|---|
| 4 | 12.6% |
| 30 | 25.1% |
| 46 | 7.6% |
FVU가 낮을수록 복원 후 남는 분산이 적다. 세 층 중 30번 층의 FVU(25.1%)가 가장 높아, 복원 후 남는 분산이 가장 많고 복원 성능은 가장 낮다.
출처
이 기사는 아래 자료를 바탕으로 정리했습니다. 제목을 누르면 원문이 새 창으로 열립니다.