Skip to content

SAE feature coactivation analysis#3

Open
JuiceB0xC0de wants to merge 1 commit into
CWRU-AISM:mainfrom
JuiceB0xC0de:feat/sae-coactivation
Open

SAE feature coactivation analysis#3
JuiceB0xC0de wants to merge 1 commit into
CWRU-AISM:mainfrom
JuiceB0xC0de:feat/sae-coactivation

Conversation

@JuiceB0xC0de

Copy link
Copy Markdown

Yo I've been messing around with SAE atlasing for a minute and figured you might want some extra action for the atlas.

@bryceag11

Copy link
Copy Markdown
Contributor

Thanks for adding this! Reviewing today and will pull shortly

@bryceag11 bryceag11 self-requested a review June 10, 2026 15:30
@bryceag11 bryceag11 self-assigned this Jun 10, 2026
@bryceag11 bryceag11 added the enhancement New feature or request label Jun 10, 2026

@bryceag11 bryceag11 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Co-firing fills a gap, and I ran it on SmolVLA / X-VLA / Pi0.5 / OpenVLA-OFT & it runs clean across all four! Just some cleanups:

  • load_sae_checkpoint is a verbatim copy of the one in concept_id.py, import it instead of duplicating.
  • Drop the unused get_concept_task_mapping import
  • co_fire_rate is the partner's marginal fire rate, not the joint rate, id consider renaming
  • Line 137 throws a divide-by-zero warning on sparse models (pi05/oft) so use np.divide(inter, union, out=np.zeros_like(inter), where=union > 0).

Optional: raw Jaccard gets dominated by always-on features (one feature topped 4 unrelated concepts on Pi0.5) so a lift/PMI metric or base-rate filter would sharpen it. And a one-line experiments/README.md entry would be great!

Looks good after those changes ill merge

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants