Views
No views yet
J_ℓ) for Qwen/Qwen3.5-4B, produced with
JLensVL, a vision-language extension of Anthropic's
jacobian-lens reference engine. The lens transports a
residual-stream activation into the final-layer basis with the model's average input→output Jacobian
and decodes it with the unembedding — a much sharper readout than the plain logit-lens, especially
mid-stack, where the logit-lens is mostly noise.lens_qwen35_4b_final.pt — the fitted lens (torch), loadable via JacobianLens.from_pretrained(...)
or JLensVL.from_pretrained(model_id, lens=...).lens_jl.npz — the same J_ℓ matrices exported to a plain .npz, for the MLX forward-only backend
on Apple Silicon (jlensvl.mlx_backend.MLXJLens) — no custom Metal backward kernel needed.1from jlensvl import JLensVL
2
3jl = JLensVL.from_pretrained("Qwen/Qwen3.5-4B", lens="lens_qwen35_4b_final.pt")
4print(jl.trace("Fact: The currency used in the country shaped like a boot is the")[30])
5# -> euro / Italian1# Apple Silicon, forward-only
2from jlensvl.mlx_backend import MLXJLens
3
4jl = MLXJLens.from_pretrained("mlx-community/Qwen3.5-4B-4bit", "lens_jl.npz")
5print(jl.trace("... the country shaped like a boot is the")[30])fla/causal-conv1d fast path — that must stay uninstalled for the GDN layers to remain
differentiable.