WEBVTT

00:00:00.000 --> 00:00:10.133
One finite float sixteen batch makes BatchNorm running variance infinite in recorded MLX CPU tests. Later evaluation produces zeros.

00:00:10.133 --> 00:00:20.112
With momentum one eighth, the first running variance should be sixteen thousand three hundred eighty four point eight seven five. An intermediate overflows first.

00:00:20.112 --> 00:00:28.712
A later small batch can look normal during training. But the stored variance remains infinite, and evaluation still collapses to zero.

00:00:28.712 --> 00:00:36.646
A research patch calculates low precision statistics in float thirty two, while preserving the checked output type rules.

00:00:36.646 --> 00:00:45.646
Across one hundred ninety two layer cases and twelve gradient cases, the main suite has one hundred two failures before repair and none after.

00:00:45.646 --> 00:00:55.947
The patch prevents new corruption in the tested range. It does not restore damaged statistics. GPU behavior and full model performance remain untested.
