They phrase it in a confusing way, with a lot of fluff. But to my understanding what happens is
1. At some part in the transformer, calculate the Jacobian (matrix gradients for that forward pass). Do this for 1000 prompts and average them.
2. For another pass take an "activation vector" (the input vector x to that part). Apply the matrix in step 1 to this vector.
3. Unembed the output to get a token. Presumably to make this have meaning, they use the reading of past tokens after embedding, instead of a random vector in the middle of the transformer.
The high level idea appears to be you're trying to find which token, if the value were changed slightly, creates the largest downstream change.