ICA Lens for Qwen/Qwen3.5-2B

This repository contains a fitted ICA Lens for analyzing internal activations of Qwen/Qwen3.5-2B. It provides layer-wise ICA transformations for mapping residual-stream activations to independent-component scores and energy shares.

Artifact summary

Field Value
Analyzed model Qwen/Qwen3.5-2B
Analyzed model revision 15852e8c16360a2fea060d615a32b45270f8a8fc
Model kind instruct
Activation site resid_post
Layer indexing transformer_blocks_zero_based
Available layers 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23
Hidden size 2048
Input row normalization none
ICALens package version 0.3.6
Fitting dataset HuggingFaceH4/ultrachat_200k
Dataset revision 8049631c405ae6576f93f445c6b8166f76f5505a
Dataset split train_sft
Fitting token scope all
Candidate tokens 10000000
Fitting tokens 1000000

The analyzed model identity and revision are stored authoritatively in icalens.json; model-card metadata is not used when loading the lens.

Usage

Analyze text end to end:

from icalens import ICALens

lens = ICALens.from_pretrained("REPOSITORY_ID")
result = lens.analyze("She deposited the check at the bank.", layer=0)

print(result.tokens)
print(result.scores)  # signed standard ICA scores
print(result.energy)  # per-token squared-score fractions

Or transform activations captured separately:

scores = lens.transform(activations, layer=0)

Externally captured activations must use the model revision, activation site, layer indexing, and preprocessing recorded in icalens.json.

Score definition

Signed scores are the centered, whitened activations followed by the learned orthogonal ICA rotation. No post-ICA source scaling is applied to v0.2 fits. For a token, component energy share is score² / sum(all component scores²).

R-lens readouts

R-lens component-token readouts for layers 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 reuse the R-lens fitted for base model Qwen/Qwen3.5-2B-Base. They were transferred to this instruction-tuned model to reduce fitting compute. The transfer was explicitly requested and passed hidden-size, activation-site, and layer-map compatibility checks; its complete provenance is stored in icalens.json and each component-profile file.

Fitting

Layer Components Fitting tokens FastICA iterations
0 2048 1000000 50
1 2048 1000000 50
2 2048 1000000 50
3 2048 1000000 50
4 2048 1000000 50
5 2048 1000000 50
6 2048 1000000 50
7 2048 1000000 50
8 2048 1000000 50
9 2048 1000000 50
10 2048 1000000 50
11 2048 1000000 50
12 2048 1000000 50
13 2048 1000000 50
14 2048 1000000 50
15 2048 1000000 50
16 2048 1000000 50
17 2048 1000000 50
18 2048 1000000 50
19 2048 1000000 50
20 2048 1000000 50
21 2048 1000000 50
22 2048 1000000 50
23 2048 1000000 50

Fitting provenance

{
  "activation_dataset": {
    "dtype": "bfloat16",
    "format": "icalens.activations",
    "format_version": 1,
    "manifest_sha256": "3336b0c44c11509299a2436a20695f848026599102f46e586afa3ebd28acc61f"
  },
  "candidate_tokens": 10000000,
  "context_length": 1024,
  "dataset": {
    "repo_id": "HuggingFaceH4/ultrachat_200k",
    "revision": "8049631c405ae6576f93f445c6b8166f76f5505a",
    "split": "train_sft"
  },
  "fitting_tokens": 1000000,
  "messages_field": "messages",
  "sampling_seed": 0,
  "token_scope": "all"
}

Limitations

  • Component IDs are specific to a layer and fitted artifact.
  • Standard ICA scores are signed and are not probabilities.

Paper

ICA Lens: Interpreting Language Models Without Training Another Dictionary

Citation

@article{liu2026icalens,
  title={ICA Lens: Interpreting Language Models Without Training Another Dictionary},
  author={Liu, Sida and Han, Feijiang},
  journal={arXiv preprint arXiv:2606.11722},
  year={2026}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Dataset used to train sida/icalens-qwen3.5-2b-ultrachat-1m

Collection including sida/icalens-qwen3.5-2b-ultrachat-1m

Paper for sida/icalens-qwen3.5-2b-ultrachat-1m