Heinz217 commited on
Commit
8e260e0
·
verified ·
1 Parent(s): d77a28e

Add files using upload-large-folder tool

Browse files
.gitattributes CHANGED
@@ -1,35 +1,6 @@
1
- *.7z filter=lfs diff=lfs merge=lfs -text
2
- *.arrow filter=lfs diff=lfs merge=lfs -text
3
- *.bin filter=lfs diff=lfs merge=lfs -text
4
- *.bz2 filter=lfs diff=lfs merge=lfs -text
5
- *.ckpt filter=lfs diff=lfs merge=lfs -text
6
- *.ftz filter=lfs diff=lfs merge=lfs -text
7
- *.gz filter=lfs diff=lfs merge=lfs -text
8
- *.h5 filter=lfs diff=lfs merge=lfs -text
9
- *.joblib filter=lfs diff=lfs merge=lfs -text
10
- *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
- *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
- *.model filter=lfs diff=lfs merge=lfs -text
13
- *.msgpack filter=lfs diff=lfs merge=lfs -text
14
- *.npy filter=lfs diff=lfs merge=lfs -text
15
- *.npz filter=lfs diff=lfs merge=lfs -text
16
- *.onnx filter=lfs diff=lfs merge=lfs -text
17
- *.ot filter=lfs diff=lfs merge=lfs -text
18
- *.parquet filter=lfs diff=lfs merge=lfs -text
19
- *.pb filter=lfs diff=lfs merge=lfs -text
20
- *.pickle filter=lfs diff=lfs merge=lfs -text
21
- *.pkl filter=lfs diff=lfs merge=lfs -text
22
  *.pt filter=lfs diff=lfs merge=lfs -text
23
  *.pth filter=lfs diff=lfs merge=lfs -text
24
- *.rar filter=lfs diff=lfs merge=lfs -text
25
  *.safetensors filter=lfs diff=lfs merge=lfs -text
26
- saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
- *.tar.* filter=lfs diff=lfs merge=lfs -text
28
- *.tar filter=lfs diff=lfs merge=lfs -text
29
- *.tflite filter=lfs diff=lfs merge=lfs -text
30
- *.tgz filter=lfs diff=lfs merge=lfs -text
31
- *.wasm filter=lfs diff=lfs merge=lfs -text
32
- *.xz filter=lfs diff=lfs merge=lfs -text
33
- *.zip filter=lfs diff=lfs merge=lfs -text
34
- *.zst filter=lfs diff=lfs merge=lfs -text
35
- *tfevents* filter=lfs diff=lfs merge=lfs -text
 
1
+ # Hugging Face: track large checkpoints with Git LFS
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  *.pt filter=lfs diff=lfs merge=lfs -text
3
  *.pth filter=lfs diff=lfs merge=lfs -text
 
4
  *.safetensors filter=lfs diff=lfs merge=lfs -text
5
+ *.bin filter=lfs diff=lfs merge=lfs -text
6
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
README.md ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ language:
4
+ - en
5
+ library_name: pytorch
6
+ tags:
7
+ - sparse-autoencoder
8
+ - sae
9
+ - vision-language
10
+ - multimodal
11
+ - multimodal-retrieval
12
+ - interpretability
13
+ - mllm
14
+ ---
15
+
16
+ # SAE Checkpoints for *Generative Giants, Retrieval Weaklings*
17
+
18
+ [![ACL 2026](https://img.shields.io/badge/ACL-2026-b31b1b?style=flat-square)](#)
19
+ [![arXiv](https://img.shields.io/badge/arXiv-coming%20soon-b31b1b?style=flat-square&logo=arxiv)](#)
20
+ [![GitHub](https://img.shields.io/badge/GitHub-mllm--retrieval--analysis-1f6feb?style=flat-square&logo=github)](https://github.com/Heinz217/mllm-retrieval-analysis)
21
+
22
+ Top-K sparse autoencoders (SAEs) trained on the
23
+ [COCO-Caption](https://huggingface.co/datasets/lmms-lab/COCO-Caption) dataset,
24
+ one checkpoint per vision / vision–language backbone. These weights accompany
25
+ the paper:
26
+
27
+ > **Generative Giants, Retrieval Weaklings: Why do Multimodal Large Language Models Fail at Multimodal Retrieval?**
28
+ > *Accepted to ACL 2026.*
29
+
30
+ The SAEs are used in the paper to dissect the representation space of MLLMs to compute the four diagnostic metrics: *energy*,
31
+ *modality score*, *bridge score*, and *retrieval attribution score*.
32
+
33
+ Code, training scripts, and analysis pipeline are released at
34
+ [Heinz217/mllm-retrieval-analysis](https://github.com/Heinz217/mllm-retrieval-analysis).
35
+
36
+ ## Files
37
+
38
+ | Filename | Backbone |
39
+ |-----------------------------------|---------------------------|
40
+ | `sae_Qwen2-VL-7B-Instruct.pt` | Qwen2-VL-7B-Instruct |
41
+ | `sae_Qwen3-VL-8B-Instruct.pt` | Qwen3-VL-8B-Instruct |
42
+ | `sae_paligemma-3b-mix-224.pt` | PaliGemma2-3B-Mix-224 |
43
+ | `sae_chameleon-7b.pt` | Chameleon-7B |
44
+ | `sae_clip.pt` | CLIP |
45
+ | `sae_siglip2.pt` | SigLIP2 |
46
+
47
+ A machine-readable index is provided in
48
+ [`model_index.json`](model_index.json).
49
+
50
+ ## Usage
51
+
52
+ Each checkpoint is a plain PyTorch state dict produced by `torch.save`. Pair it
53
+ with the matching `TopKSAE` instance from the
54
+ [overcomplete](https://github.com/KempnerInstitute/overcomplete) framework
55
+ (also vendored in the [analysis repo](https://github.com/Heinz217/mllm-retrieval-analysis)):
56
+
57
+ ```python
58
+ import torch
59
+ from huggingface_hub import hf_hub_download
60
+ from overcomplete.sae.topk_sae import TopKSAE
61
+
62
+ ckpt_path = hf_hub_download(
63
+ repo_id="Heinz217/mllm-retrieval-analysis-sae",
64
+ filename="sae_Qwen2-VL-7B-Instruct.pt",
65
+ )
66
+ ckpt = torch.load(ckpt_path, map_location="cuda")
67
+
68
+ # Initialize TopKSAE with the same input_shape / nb_concepts that were used
69
+ # at training time, then load the trained weights.
70
+ sae = TopKSAE(input_shape=..., nb_concepts=..., top_k=50, device="cuda").to("cuda")
71
+ sae.load_state_dict(ckpt["model_state"])
72
+ ```
73
+
74
+ For the full analysis pipeline, follow the
75
+ instructions in the [official repository](https://github.com/Heinz217/mllm-retrieval-analysis).
76
+
77
+ ## License
78
+
79
+ Released under the [MIT License](https://opensource.org/license/mit/), matching
80
+ the accompanying code. The licenses of the *original* MLLM/VLM checkpoints
81
+ (Qwen-VL, PaliGemma2, Chameleon, CLIP, SigLIP2) on which these SAEs were
82
+ trained remain governed by their respective upstream terms.
model_index.json ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "format": "sae_torch_state_dict",
3
+ "description": "Sparse autoencoder checkpoints; filenames are sae_<backbone>.pt",
4
+ "artifacts": [
5
+ {
6
+ "filename": "sae_chameleon-7b.pt",
7
+ "backbone_model": "chameleon-7b",
8
+ "size_bytes": 3221624817
9
+ },
10
+ {
11
+ "filename": "sae_paligemma-3b-mix-224.pt",
12
+ "backbone_model": "paligemma-3b-mix-224",
13
+ "size_bytes": 1146872779
14
+ },
15
+ {
16
+ "filename": "sae_Qwen3-VL-8B-Instruct.pt",
17
+ "backbone_model": "Qwen3-VL-8B-Instruct",
18
+ "size_bytes": 3221624779
19
+ },
20
+ {
21
+ "filename": "sae_Qwen2-VL-7B-Instruct.pt",
22
+ "backbone_model": "Qwen2-VL-7B-Instruct",
23
+ "size_bytes": 2818971659
24
+ },
25
+ {
26
+ "filename": "sae_siglip2.pt",
27
+ "backbone_model": "siglip2",
28
+ "size_bytes": 129520023
29
+ },
30
+ {
31
+ "filename": "sae_clip.pt",
32
+ "backbone_model": "clip",
33
+ "size_bytes": 129520049
34
+ }
35
+ ]
36
+ }
sae_Qwen2-VL-7B-Instruct.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:169947f23b84fca2279f34caea134ba960f9457b3aaead37b08cdf5b2f8637c3
3
+ size 2818971659
sae_Qwen3-VL-8B-Instruct.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b8d05ab1395d082e042fc35486bc844fabd779e0dd0bc686f190578c593a6643
3
+ size 3221624779
sae_chameleon-7b.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:94fc469cf22673419ff60b44c944636a4a57d34f7f9bbb713cefc6a31f77af04
3
+ size 3221624817
sae_clip.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e7f853b1b7bcf2b77b410837a4dbd7e779ea21c18de8e329ccd5eb9d5e7550b0
3
+ size 129520049
sae_paligemma-3b-mix-224.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8514c3c7a623d42bc9ad23dd949bb3615baab460f665a452625ab63e07cfc458
3
+ size 1146872779
sae_siglip2.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c14b14d451d2c97c770c80017fd1f5adaca801204d7bcbf0497b0c64ed2d474b
3
+ size 129520023