Thanks for taking the time to review our comments and raise your score.
> I think the authors may be on the right track, but a thorough evaluation of the changes requires reviewing the paper again in its new form which can only be done at a different venue / cycle. However, as the authors address the numerical and speed issues to some extent, I will raise my score to 4.
While we acknowledge the need for presentational improvements, we want to make it clear that no changes are proposed to the method or key contributions of the paper (i.e., changes that would necessitate a new review cycle). The attached pdf was intended mainly to clarify a numerical issue tangential to our method. The proposed changes to the paper itself are quite surgical and totally feasible by the camera-ready deadline: revising figure captions, adding 1.3B model results to appendices, revising the point in related work on adaptive optimizers, editing the introduction to preview contributions, adding [[3][]] to related work, adding pros and cons of per-example gradient norm methods to appendices, explaining $B, I, K$ variables, using `\citet` only in the first instance of citations, explaining big/small batch size definitions, adding vector algebra to the equation on line 75, adding the attached diagram to the introduction, removing solid lines from Figure 1, and adding an illustration of the batch size schedule to Figure 8. Thanks again to you and the other reviewers for your great suggestions for improving the paper's clarity!
> Regarding the speedup, I still believe this will depend on your setup, including whether you do local accumulation or DDP. The total batch size amortizes other costs such as the communication and the local batch size is important for per-device utilization. With gradient accumulation on a single GPU you don't really have communication costs and you can keep the microbatch the same during your batch size scheduling...
To be clear, our method does not depend on gradient accumulation (we can vary the number of gradient accumulation steps and the results are exactly the same for the same global batch size). The small batch size is *not* the microbatch size used during gradient accumulation; the small batch is never materialised, rather, we use a per-example gradient norm trick that allows us to get the gradient norms for each example as if we ran the experiment with a microbatch size of 1, when in reality we did not.
> I still really encourage you to reconsider the Einstein notation. I asked a couple of my colleagues about this and they agree that using it will significantly limit the readability and accessibility of a paper. This will of course differ between sub-communities, but I believe many people in the field are still not comfortable with it.
Thanks again for taking the time to think more on this. We understand that some researchers do not prefer Einstein notation. However, the idea for the method we present was directly inspired by observing the form of Equation on line 75 and this is a common representation. For example, the Backpack library uses this exact same contraction for computing per-example gradient norms (they call them batch l2 norms). For example, see the implementation of convolution [[1][]] and linear layers [[2][]]. These are an equivalent, less efficient, version of what we present.
We believe that because this representation of the contraction is invariant to the order of summation it is useful as a representation of the numerical problem. The solution (ie reduction path) presented in the proposed algorithms is a solution to that problem.
Also, we have suggested a vector algebra example of a possible reduction path for this contraction in our original response. Did you have any comment on this? Would you have preferred us to rewrite the einsum with the explicit sums included?
> For your rebuttal Figure 1: "We find the magnitude of gradients (visualized by the length of red arrows) to be consistent across layers, enabling overall GNS to be computed very cheaply using only gradient stats from LayerNorm layers." It seems you are assuming the gradients have a very low mean compared to the variance here, otherwise I believe you would have to account for the mean component too, not just the magnitude. Maybe make try to make this explicit somehow.
Thanks for your input on this diagram. The relationship between the mean and variance is not really captured in this simplification, it is intended to prime the reader to think about the norms across layers and across examples in minibatches. The caption will be simplified to express this.
[1]: https://github.com/f-dangel/backpack/blob/1ebfb4055be72ed9e0f9d101d78806bd4119645e/backpack/extensions/firstorder/batch_l2_grad/convnd.py#L30
[2]: https://github.com/f-dangel/backpack/blob/1ebfb4055be72ed9e0f9d101d78806bd4119645e/backpack/extensions/firstorder/batch_l2_grad/linear.py#L50-L52
[3]: https://arxiv.org/abs/2204.02311