Posts

Announcing Neuronpedia: Platform for accelerating research into Sparse Autoencoders 2024-03-25T21:17:58.421Z
Understanding SAE Features with the Logit Lens 2024-03-11T00:16:57.429Z
Exploring OpenAI's Latent Directions: Tests, Observations, and Poking Around 2024-01-31T06:01:27.969Z
Neuronpedia 2023-07-26T16:29:28.884Z

Comments

Comment by Johnny Lin (hijohnnylin) on SAE-VIS: Announcement Post · 2024-03-31T18:45:48.893Z · LW · GW

Thanks Callum and yep we've been extensively using SAE-Vis at Neuronpedia - it's been extremely helpful for generating dashboards and it's very well maintained. We'll have a method of directly importing to Neuronpedia using the exports from SAE-Vis coming out soon.

Comment by Johnny Lin (hijohnnylin) on Open Source Sparse Autoencoders for all Residual Stream Layers of GPT2-Small · 2024-02-04T19:48:10.176Z · LW · GW

Hey Joseph (and coauthors),

Your directions are really fantastic. I hope you don't mind, but I generated the activation data for the first 3000+ directions for each of the 12 layers and uploaded your directions to Neuronpedia:

https://www.neuronpedia.org/gpt2-small/res-jb 

Your directions are also linked on the home page and the model page.

They're also accessible by layer (sorted by top activation), eg layer 6: https://neuronpedia.org/gpt2-small/6-res-jb

I added the "Anthropic dashboard" to Neuronpedia for your dataset.

Explanations, comments, and autointerp scoring are also working - anyone can do this:

  • Click a direction and submit explanation on the top-left. Here's another Star Wars direction (5-RES-JB:1681) where GPT4 gave me a score of 96:
    • Click the score for the scoring details:

I plan to do some autointerp explaining on a batch of these directions too.

Btw - your directions are so good that it's easy to find super interesting stuff. 5-RES-JB:5 is about astronomy:

I'm aware that you're going to do some library updates to get even better directions, and I'm excited for that - will re-generate/upload all layers after the new changes come in.

Things that I'm still working on and hope to get working in the next few days:

  • Making activation testing work for each neuron
  • "Search / test" the same way that we have search/test for OpenAI's directions

Again, your directions look fantastic - congrats. I hope this is useful/interesting for you and anyone trying to browse/explain them. Also, I didn't know how to provide a citation/reference to you (and your team?) so I just used RES-JB = Residuals by Joseph Bloom and included links to all relevant sources on your directions page.

If there's anything you'd like me to modify about this, or any feature you'd like me to add to make it better, please do not hesitate to let me know.

Comment by Johnny Lin (hijohnnylin) on Exploring OpenAI's Latent Directions: Tests, Observations, and Poking Around · 2024-01-31T18:34:58.140Z · LW · GW

Apparently an anonymous user(s) got really excited and ran a bunch of simultaneous searches while I was sleeping, triggering this open tokenizer bug/issue and causing our TransformerLens server to hang/crash. This caused some downtime.

A workaround has been implemented and pushed.

Comment by Johnny Lin (hijohnnylin) on Exploring OpenAI's Latent Directions: Tests, Observations, and Poking Around · 2024-01-31T18:31:47.591Z · LW · GW

Thanks for the tip! I've added the link under "Exploration Tools" after the first mention of Neuronpedia. Let me know if that is the proper way to do it - I couldn't find a feature on LW for a special "context link" if there is such a feature.

Comment by Johnny Lin (hijohnnylin) on New Tool: the Residual Stream Viewer · 2023-10-01T17:44:47.333Z · LW · GW

Great work Adam, especially on the customizability. It's fascinating clicking through various types and indexes to look for patterns, and I'm looking forward to using this to find interesting directions.

Comment by Johnny Lin (hijohnnylin) on Neuronpedia · 2023-08-09T05:07:20.339Z · LW · GW

Hey Nathan, so sorry this took so long. Finally shipped this - you can now toggle "Profanity/Explicit" OFF in "Edit Profile". Some notes about the implementation:

  • If enabled, hides activation texts that have a bad word in it (still displays the neuron)
  • Works by checking a list of bad words
  • Default is disabled (profanity shown) in order to get more accurate explanations
  • Asks user during onboarding for their preference

It turns out that nearly all neurons have some sort of explicit (or "looks like explicit") text, so it's not feasible to automatically skip all these neurons - we end up skipping everything. So we only hide the individual activation texts that are explicit.

Sorry again and thanks for the feedback!

Comment by Johnny Lin (hijohnnylin) on Neuronpedia · 2023-08-07T18:30:46.654Z · LW · GW

Sorry about that! Should have fixed that way earlier. I've transferred the app to "Neuronpedia", so it should appear correctly now. Thank you for flagging this.

Comment by Johnny Lin (hijohnnylin) on Neuronpedia · 2023-07-29T18:09:13.392Z · LW · GW

Yes, this is a great idea. I think something other than "skip" is needed since skip isn't declaring "this neuron has too many meanings or doesn't seem to do anything", which is actually useful information

Comment by Johnny Lin (hijohnnylin) on Neuronpedia · 2023-07-29T08:52:31.786Z · LW · GW

re: polysemanticity- have a big tweak to the game coming up that may help with this! i hope to get it out by early next week.

Comment by Johnny Lin (hijohnnylin) on Neuronpedia · 2023-07-29T08:44:44.983Z · LW · GW

lol thanks. i can't believe the link has been broken for so long on the site. it should be fixed in a few seconds from now. in the meantime if you're interested: https://discord.gg/kpEJWgvdAx 

Comment by Johnny Lin (hijohnnylin) on Neuronpedia · 2023-07-28T19:00:04.073Z · LW · GW

Thanks Brendan - yes - Apple/Google/Email login is coming before public non-beta release. May also add Facebook.

Comment by Johnny Lin (hijohnnylin) on Neuronpedia · 2023-07-28T17:57:01.113Z · LW · GW

I love these variations on the game. Yes, the idea is to build a scalable backend and then we can build various different games on top of it. Initially there was no game and it was just browsing random neurons manually! Then the game was built on top of it. Internally I call the current Neuronpedia game "Vote Mode".

Would love to have you on our Discord even if just to lurk and occasionally pitch an idea. Thanks for playing!

Comment by Johnny Lin (hijohnnylin) on Neuronpedia · 2023-07-27T20:28:19.291Z · LW · GW

Thank you! i will put this on the TODO.

Comment by Johnny Lin (hijohnnylin) on Neuronpedia · 2023-07-27T17:48:56.354Z · LW · GW

Thank you - yes, this is on the TODO along with Apple Sign-In. It will likely not be difficult, but it's in beta experiment phase right now for feedback and fixes - we aren't yet ready for the scale of the general public.

Comment by Johnny Lin (hijohnnylin) on Neuronpedia · 2023-07-27T17:47:23.471Z · LW · GW

Thank you Hoagy. Expanding beyond the neuron unit is a high priority. I'd like to work with you, Logan Riggs, and others to figure out a good way to make this happen in the next major update so that people can easily view, test, and contribute. I'm now creating a new channel on the discord (#directions) to discuss this: https://discord.gg/kpEJWgvdAx, or I'll DM you my email if you prefer that.

Comment by Johnny Lin (hijohnnylin) on Neuronpedia · 2023-07-27T17:33:40.779Z · LW · GW

Hi Logan - thanks for your response. Your dictionaries post is on the TODO to investigate and integrate (someone had referred me to it two weeks ago) - I'd love to make it happen.

Thanks for joining the Discord. Let's discuss when I have a few days to get caught up with your work.

Comment by Johnny Lin (hijohnnylin) on Neuronpedia · 2023-07-27T16:59:14.549Z · LW · GW

Hi Neel, thanks for playing and thanks for all your incredible work. Neuronpedia uses a ton of your stuff.

Re: polysemantic neurons - yes, I should address this before wider distribution. Some current ideas - if you have a preference please let me know.

  1. Your proposed "this is a mess" button
  2. Allow voting on more than one option at a time (users can do multiple votes for explanations per neuron on the neuron's page, but the game automatically moves on to a new neuron after one vote to keep it more "game-like")
  3. Encourage "or" explanations: "cat or tomato or purple"
  4. Add a warning for users

Re: Open Web Text tokenizer bug - thank you! this will make the text more legible. i'll make the display change and footnote.
EDIT: the double unknown chars should now show up as one apostrophe. AFAIK there is no way to tell the difference between a single quote unknown char and a double quote unknown char, but it's probably ok to just show it as single quote for now

Comment by Johnny Lin (hijohnnylin) on Neuronpedia · 2023-07-27T16:52:42.393Z · LW · GW

Sorry - New Discord link (changed to a "Community Server") https://discord.gg/kpEJWgvdAx 

Comment by Johnny Lin (hijohnnylin) on Neuronpedia · 2023-07-27T16:52:06.554Z · LW · GW

Sorry - New Discord link (changed to a "Community Server") https://discord.gg/kpEJWgvdAx 

Comment by Johnny Lin (hijohnnylin) on Neuronpedia · 2023-07-27T07:07:55.368Z · LW · GW

Should be working now.

Also, thank you for the feedback re- janky tutorial/signin. I will fix that. It is truly a terrible way to have a first experience with a product.

EDIT: the tutorial -> sign in friction has been updated.

Comment by Johnny Lin (hijohnnylin) on Neuronpedia · 2023-07-27T06:41:57.273Z · LW · GW

hey mako - sorry about the issues. i'm looking into it right now. will update asap

edit: looks like the EC2 instance hard crashed. i can't even restart it from AWS console. i am starting up a new instance with more RAM.

edit2: confirmed via syslog (after taking a long time to restart the old server) it was OOM. new machine has 8x more ram. added monitoring and will investigate potential memory leaks tomorrow

Comment by Johnny Lin (hijohnnylin) on Neuronpedia · 2023-07-27T02:33:00.560Z · LW · GW

Hi duck_master, thank you for playing and appreciate the tip. Maybe it's worth compiling these tips and putting it under a "tips" popup/page on the main site. Also - please consider joining the Discord if you're willing to offer more feedback and suggestions: https://discord.gg/kpEJWgvdAx 

Apologies for the limit. It currently costs ~$0.24 to do each explanation score and it's coming from my personal funds, so I'm capping it daily until I can hopefully get approved for a grant. A few hours ago I raised the limit from 3 new explanations per day to 10 new explanations per day.

Comment by Johnny Lin (hijohnnylin) on Neuronpedia · 2023-07-27T02:27:11.343Z · LW · GW

Hi Nathan, thanks for playing and pointing out the issue. My apologies for the inappropriate text.

Half the text samples are from Open Web Text, which is scraped web data that GPT2 was trained on. I don't know the exact details, but I believe some of it was reddit and other places.

If you DM me the neurons address next time you see them, I can start compiling a filter. I will also try to look for an open source library to categorize into safe and not safe.

My apologies again. This is a beta experiment, thanks for putting up with this while I fix the issues.

Comment by Johnny Lin (hijohnnylin) on Neuronpedia · 2023-07-27T00:43:27.706Z · LW · GW

Thank you TinkerBird. I hope so too!

Comment by Johnny Lin (hijohnnylin) on Neuronpedia · 2023-07-26T23:35:53.799Z · LW · GW

Hi Jennifer,

Thanks for participating - my apologies for only having GitHub login at the moment. Please feel free to create a throwaway Github account if you'd still like to play (I think Github allows you to use disposable emails to sign up - I had no problem creating an account using an iCloud disposable email). Email/password login is definitely on the TODO.

Comment by Johnny Lin (hijohnnylin) on Neuronpedia · 2023-07-26T23:27:56.935Z · LW · GW

That's a good idea - I think maybe I could make a "drafts" explanation list so you can queue it up for later. Unfortunately since the website just launched, there is not yet a reasonable threshold for "voted highly" since most explanations have none or very few explanations. But this is a good workaround for when the site is a bit older.

Re: multiple meanings - this is interesting. I need to experiment with this more, but I don't think you need to use any special syntax. By writing "the letter c in a word or names of towns near Berlin", it should give you a score based on both of those. There is a related question of, should these neurons should have two highly-voted/rated explanations, or one highly-voted/rated explanation that has both explanations? I'll put that on the TODO as an open question.

EDIT: after thinking about this a bit more-
PRO of multiple separate explanations: if a neuron has 4-5 different meanings it can get unwieldy quickly (and then users might submit an one that is identical, except just swapping the order of each OR explanation)
CON of multiple separate explanations - we probably need ranked choice voting or multi-selection at some point... will put this on the TODO.

Btw - would love to have you in the discord to stay updated and provide additional feedback for Neuronpedia! This is super helpful.

Comment by Johnny Lin (hijohnnylin) on Neuronpedia · 2023-07-26T21:56:00.095Z · LW · GW

Hi Martin,

Thanks for playing! I agree there is some risk of confirmation bias, and the option to hide explanations by default is very interesting.

The reason it is designed the way it is now is because I'd prefer to avoid too many duplicate explanations. Currently, you can only submit explanations that are not exact duplicates, though you can submit explanations that are very similar -e.g, "banana" vs "bananas". 

The first downside would be that duplicate explanations may clutter up the voting options. The second downside is when someone is looking at the two explanations later, the vote may be split between the two similar explanations - meaning a third explanation that is worse might actually win (e.g, "cherry" vs "banana(s)").

HOWEVER - those are not insurmountable downsides. the server just has to have a better duplicate/similarity check (maybe even asking GPT4), like check for plurals - and if you explain similarly to an existing explanation, it just automatically upvotes that. I think it's definitely worth experimenting. The similarity check would have to not be too loose, otherwise we may lose out on great explanations that appear to only be marginally different but actually score very differently.

Please keep the feedback coming and join the discord if you'd like to keep updated.

Comment by Johnny Lin (hijohnnylin) on Neuronpedia · 2023-07-26T21:42:06.765Z · LW · GW

Hi Adam and thanks for your feedback / suggestion. Residual Viewer looks awesome. I have DMed you to chat more about it!

Comment by Johnny Lin (hijohnnylin) on Neuronpedia · 2023-07-26T19:11:48.677Z · LW · GW

Good idea. I haven't done enough research on why some forums have upvotes only, went with my instinct on this but I should look into the pros/cons.

Comment by Johnny Lin (hijohnnylin) on Neuronpedia · 2023-07-26T18:54:22.533Z · LW · GW

EDIT: this update was pushed just now. it will warn you on your first vote to confirm that you want to vote.


Thanks for playing, Chris!

I'll work on the voting thing. I'll probably just add a "first-timer's" warning on your first vote to ensure that you want to vote for that.

FYI - if you want to unvote, just go to your profile (neuronpedia.org/user/[username]), click the neuron you voted for, and click to unvote on the left side.

Comment by Johnny Lin (hijohnnylin) on Neuronpedia · 2023-07-26T18:48:24.258Z · LW · GW

Thanks so much for the feedback! Inline below:

Conceptual Feedback:

  • I think it would be better if I could see two explanations and vote on which one I like better (when available).
    • When there are multiple explanations, Neuronpedia does display them.
    • However I've considered a different game mode where all you do is choose between This Vs That (no skipping, no new explanations). That may be a cool possibility!
  • Attention heads are where a lot of the interesting stuff is happening, and need lots of interpretation work. Hopefully this sort of approach can be extended to that case.
    • Will put it on the TODO
  • The three explanation limit kicked in just as I was starting to get into it. Hopefully you can get funding to allow for more, but in the meantime I would have budgeted my explanations more carefully if I had known this.
    • Sorry, the limit is daily, you can come back tomorrow. It currently costs $0.24 to do one explanation score.
    • Good idea re: showing limit on number of explanations somehow.
  • I don't feel like I should get a point for skipping, it makes the points feel meaningless.
    • Yeah I struggled with this a bit. But I didn't want to incentivize people to vote for a bad explanation. E.g, if you only get a point for voting, then you're more inclined (even subconsciously) to vote.
    • I'm open to being wrong on this. I'm not a game mechanics expert and happy to change it.

UX Feedback:

  • I didn't realize that clicking on the previous explanation would cast a vote and take me to the next question. I wanted to go back but I didn't see a way to do that.
    • Great suggestion. Will add it to TODO.
  • After submitting a new explanation and seeing that I didn't beat the high score, I wanted to try submitting a better explanation, but it glitched out and skipped to the next question.
    • Hmm I'll try to repro this. Thanks for reporting.
  • I would like to know whether the explanation shown was the GPT-4 created one, or submitted by a user.
    • If you click "Simple" at the top right to toggle to Advanced Mode, it will show you the author and score of the explanations being shown.
  • The blue area at the bottom takes up too much space at the expense of the main area (with the text samples).
    • Yes, I havent had time to optimize this. Currently it has that space because it will fit 3 explanations, and I wanted the UI to stay more static (and not "jump around") based on the number of explanations. But you are right that this is annoying wasted space most of the time.
  • It would be nice to be able to navigate to adjacent or related neurons from the neuron's page.
    • Good idea. Added to TODO.