WEBVTT

00:00:00.000 --> 00:00:03.739
An unused input gets a gradient. In M L X gather matrix

00:00:03.739 --> 00:00:07.811
multiplication, sorted repeated indices reproduce this error

00:00:07.811 --> 00:00:08.746
on the C P U.

00:00:09.267 --> 00:00:13.292
Both outputs select the first input. Their sum needs gradient

00:00:13.292 --> 00:00:17.382
eight, zero. The original sorted path returns three, five. The

00:00:17.382 --> 00:00:19.265
forward outputs are correct.

00:00:19.767 --> 00:00:23.089
In a small quadratic example, one update raises loss from

00:00:23.089 --> 00:00:26.526
eight to eleven point two eight one two five. The corrected

00:00:26.526 --> 00:00:29.046
update lowers it to six point one two five.

00:00:29.567 --> 00:00:32.968
Two backward methods enable an optimization without its

00:00:32.968 --> 00:00:36.127
required conditions. Repeated left indices and left

00:00:36.127 --> 00:00:39.893
broadcasting violate those conditions. A synthetic slice test

00:00:39.893 --> 00:00:42.626
also reads its own initialized backing tail.

00:00:43.133 --> 00:00:46.914
The local C plus plus repair passes six hundred twenty six

00:00:46.914 --> 00:00:50.950
checks across sixty nine scenarios. The original fails seventy

00:00:50.950 --> 00:00:54.346
one checks. Affine quantized gradients are included.

00:00:54.867 --> 00:00:58.695
These are F P thirty two C P U tests with a partial rebuild.

00:00:58.695 --> 00:01:02.460
Some half precision calls hit an unsupported fallback after

00:01:02.460 --> 00:01:06.162
this patch. Full model impact remains untested. Report and

00:01:06.162 --> 00:01:07.229
logs are linked.

