Full-sequence forward returning logits [B, L, V]. Convenience over
trainForwardHidden + logitsFromHidden. The SFT B=1 path deliberately skips
this and applies the LM head only at response positions (responseOnlyCe)
to avoid materializing the [B, L, vocab] logits — the dominant training
memory term at long context with a 262k vocab.
Full-sequence forward returning logits [B, L, V]. Convenience over trainForwardHidden + logitsFromHidden. The SFT B=1 path deliberately skips this and applies the LM head only at response positions (responseOnlyCe) to avoid materializing the [B, L, vocab] logits — the dominant training memory term at long context with a 262k vocab.