В сентябре 2025 года Хорас Хе и коллеги из Thinking Machines Lab отправили запрос "Tell me about Richard Feynman" в Qwen3-235B 1000 раз при температуре 0, ожидая одинаковые ответы по 1000 токенов. Они получили 80 уникальных завершений. Все запуски были идентичны для первых 102 токенов; на токене 103, 992 продолжили с "Queens, New York", а 8 с "New York City". Переключения не вызваны случайностью GPU потоков, а ядрами, порядок редукции которых меняется в зависимости от размера батча, делая выводы зависимыми от того, сколько других запросов в этот момент обрабатывается.
При температуре 0 модель выбирает токен с максимальным логитом, что детерминировано в математике, но не в арифметике плавающей точки, где сложение не ассоциативно. Нейросеть выполняет миллиарды таких сумм, поэтому порядок аппаратного обеспечения имеет значение. Хе и др. показали, что типичные прямые проходы не содержат атомарных сложений и возвращают одни и те же биты на одном вводе, но многие ядра не инвариантны по батчу.
Математически, пусть z₁ и z₂ — два наибольших логита с разностью M = z₁ - z₂ >= 0. Числовой шум изменяет разность на ошибку Δ, и argmax переключается только если M + Δ < 0. Разность в 8 логитов никогда не переключается; только почти-равные значения под угрозой. Вероятность переключения на токен p ≈ f(0) · E|Δ| / 2, где f(0) — плотность почти-равных значений, а E|Δ| — ожидаемая величина шума.
С инвариантными по батчу ядрами все 1000 завершений Фейнмана вышли одинаково. Фиксация требует производительности: неоптимизированная детерминированная версия заняла 55 секунд против 26 для стандартного vLLM.
Источник: Towards Data Science · Сводку подготовил HeadlinesBriefing