Filip Makraduli and Nils Graef built FlashNorm to attack a strange inefficiency: RMS norm layers do almost none of a transformer's arithmetic, yet get launched around 33 times in a single decode step, and GPUs are fast at math but slow at everything else. FlashNorm folds the norm's gain into the projection weights offline, defers the scalar divide onto a separate CUDA stream so it runs alongside the matrix multiply instead of blocking it, and in architectures that normalize twice in a row, drops the redundant second norm entirely. Together the changes buy a 33 to 35 percent speedup on the norm-plus-projection step, and the folded checkpoint still works with torch compile and quantized models. The interesting failure came from the stream split: unit tests and perplexity checks both passed, but over long generations the model began repeating itself with a one-token lag, because the post-scale step sometimes read a stale buffer from a matrix multiply that had not finished. The fix was making the post-scale explicitly wait on both streams before reading either one.
videoWhat's New in Inference Engineering — Philip Kiely, Baseten
videoLarge clusters for small models — Daniel Svonava, Superlinked
videoThe Frontier AI Inference Cloud for Agents — Byung-Gon (Gon) Chun, FriendliAI
videoTwo Bugs That Hid in Plain Sight: A vLLM Debugging Detective Story — Asaf Gardin & Yuval BelferChecking sign-in…
Loading comments…