Thanks for the response! I still think that most of the value of SAEs comes from finding a human-interpretable basis, and most of these problems don’t directly interfere with this property. I’m also somewhat skeptical that SAEs actually do find a human-interpretable basis, but that’s a separate question.
All the model’s features will be linear combinations of activations in the standard basis, so it does have ‘the right underlying features, but broken down differently from how the model is actually thinking about them’.
I think this is a fair point. I also think there’s a real sense in which it’s useful to know that the model is representing the concepts “red” and “square,” even if it’s thinking of them in terms of the Red feature and the Square feature and your SAE found the “red square” feature. It’s much harder to figure out what concepts the model is representing in human interpretable terms by staring at activations in a standard basis. There’s a big difference between “we know what human-interpretable concepts the model is representing but not exactly what structure it uses to think of them” and “we just don’t know what concepts the model is representing to begin with.” I think if we could do the former well, that would already be amazing.
Put slightly more strongly: The question of whether the model thinks in terms of “red square” or “red and “square” is moot, because the model does not actually think in terms of these concepts to begin with. The model thinks in its own language, and our job is to translate that language to our own. In this {red, blue} X {square, circle} space, looking at the attribution of “red square” and “red circle” to downstream features should give us the same result as looking at the attribution of “red” to downstream features, since red square and red circle encompass the full range of possibilities of things that can be red. It might be more convenient for us if we find the features that make the models attribution graph as simple as possible across a wide range of input examples, but there’s no real sense in which we’re misrepresenting its thought process.
Same for all your other points. Theoretically, can you solve problems 1, 2 and 3 with the standard basis by taking information about how the model is computing downstream into account in the right way? Sure. You’d ‘take it into account’ by finding some completely new basis.
Solving problem 1 could just entail adjusting the SAE basis while retaining most of its value! Solving problems 2 and 3 would require finding a basis which represents the same human-interpretable features but in a somewhat different way. Insofar as SAE features are actually human-interpretable (which I’m often skeptical of), I think this basis adds a ton of value.
I am also often skeptical of SAEs, but I feel that the biggest problem is that they don’t actually capture the sum of the concepts the model is representing in a human-interpretable way. If they actually did this correctly, I would happily forgo knowing the exact structure the model uses to think of them, and I would be alright if there were extra artifacts that made them harder to analyze.
(Also, oops, I didn’t realize that by activation-space you meant one layer’s activations only).
Thanks for the response! I still think that most of the value of SAEs comes from finding a human-interpretable basis, and most of these problems don’t directly interfere with this property. I’m also somewhat skeptical that SAEs actually do find a human-interpretable basis, but that’s a separate question.
I think this is a fair point. I also think there’s a real sense in which it’s useful to know that the model is representing the concepts “red” and “square,” even if it’s thinking of them in terms of the Red feature and the Square feature and your SAE found the “red square” feature. It’s much harder to figure out what concepts the model is representing in human interpretable terms by staring at activations in a standard basis. There’s a big difference between “we know what human-interpretable concepts the model is representing but not exactly what structure it uses to think of them” and “we just don’t know what concepts the model is representing to begin with.” I think if we could do the former well, that would already be amazing.
Put slightly more strongly:
The question of whether the model thinks in terms of “red square” or “red and “square” is moot, because the model does not actually think in terms of these concepts to begin with. The model thinks in its own language, and our job is to translate that language to our own. In this {red, blue} X {square, circle} space, looking at the attribution of “red square” and “red circle” to downstream features should give us the same result as looking at the attribution of “red” to downstream features, since red square and red circle encompass the full range of possibilities of things that can be red. It might be more convenient for us if we find the features that make the models attribution graph as simple as possible across a wide range of input examples, but there’s no real sense in which we’re misrepresenting its thought process.
Solving problem 1 could just entail adjusting the SAE basis while retaining most of its value! Solving problems 2 and 3 would require finding a basis which represents the same human-interpretable features but in a somewhat different way. Insofar as SAE features are actually human-interpretable (which I’m often skeptical of), I think this basis adds a ton of value.
I am also often skeptical of SAEs, but I feel that the biggest problem is that they don’t actually capture the sum of the concepts the model is representing in a human-interpretable way. If they actually did this correctly, I would happily forgo knowing the exact structure the model uses to think of them, and I would be alright if there were extra artifacts that made them harder to analyze.
(Also, oops, I didn’t realize that by activation-space you meant one layer’s activations only).