Eliminating 3x QAT Overhead with torch.compile and Custom Autograd

We traced a 3x training slowdown in a BitNet b1.58 quantization-aware training layer to ~25 unbatched CUDA kernel launches and autograd graph bloat, then recovered most of the overhead with torch.compile, a custom STE autograd Function, and removed redundant float32 upcasts.