Nodes/Concept Steer/Feature Atlas
ComfyUI Node

Feature Atlas

Analyze a trained SAE to build a persistent feature atlas: decoder column statistics, firing patterns, co-occurrence clusters, redundancy analysis, and SAE health diagnostics. Run once per SAE. The atlas JSON is used by Feature Dashboard and enriches Feature Map labels. Also answers 'is this SAE actually working correctly?' with reconstruction quality metrics and dead feature analysis.

By Nynxz·Created 5 months ago·Updated 5 months ago· 4
Feature Atlas
    • atlas_path
    • summary
    • DIAGNOSTICS
    sae_path
    save_path/tmp/ComfyUI/custom_nodes/ComfyUI-ConceptSteer/sae/feature_atlas.json
    layer22
    sae_expansion8
    n_probe_prompts200
    n_redundancy_samples500
    dict_path
    encoder_path
    cached_activations_path
    max_cached_vectors50000
    protect_existingtrue
    CategoryConcept Steer/Research

    Inputs (11)

    NameTypeDefaultDescription
    sae_pathSTRINGPath to the trained SAE weights (.pt)
    save_pathSTRING/tmp/ComfyUI/custom_nodes/ComfyUI-ConceptSteer/sae/feature_atlas.jsonWhere to save the feature atlas JSON.
    layerINT221–36Transformer layer (must match SAE training)
    sae_expansionINT82–16SAE expansion factor (must match SAE training)
    n_probe_promptsINT20050–2000Number of prompts to probe features with. More = better coverage but slower. 200 is a good balance.
    n_redundancy_samplesINT500100–5000How many random feature pairs to check for redundancy. Higher = more thorough but slower.
    dict_pathSTRINGPath to existing feature dictionary JSON. If provided, labels are merged into the atlas.
    encoder_pathSTRINGPath to Qwen encoder safetensors (or set env var)
    cached_activations_pathSTRINGPath to cached activations .pt file from training (e.g. sae/activations_layer22_500k.pt). When provided, firing statistics are computed from these real activations instead of only probe prompts, giving much more accurate dead/alive feature counts.
    max_cached_vectorsINT500001000–500000Max vectors to sample from cached activations for firing analysis. Higher = more accurate but slower. 50K is a good balance for 20K features.
    protect_existingBOOLEANtrueIf the save path already exists, auto-rename to _v2, _v3, … instead of overwriting. Disable only when intentionally replacing.

    Outputs (3)

    NameTypeDescription
    atlas_pathSTRING
    summarySTRING
    DIAGNOSTICSIMAGE