Why Temperature 0 Isn't Deterministic
🇬🇧 English
In September 2025, Horace He and colleagues at Thinking Machines Lab sent the prompt "Tell me about Richard Feynman" to Qwen3-235B 1,000 times at temperature 0, expecting identical 1,000-token answers. They got 80 unique completions. All runs were identical for the first 102 tokens; at token 103, 992 continued with "Queens, New York" and 8 with "New York City." The flips aren't caused by GPU thread randomness but by kernels whose reduction order changes with batch size, making outputs depend on how many others are requesting at that moment.
At temperature 0 the model picks the highest-logit token, which is deterministic in math but not in floating-point arithmetic, where addition isn't associative. A neural network performs billions of such sums, so hardware order matters. He et al. show typical forward passes contain no atomic adds and return the same bits on the same input, but many kernels aren't batch-invariant.
Mathematically, let z₁ and z₂ be the two largest logits with gap M = z₁ - z₂ >= 0. Numerical noise changes the gap by error Δ, and argmax flips only if M + Δ < 0. A gap of 8 logits never flips; only near-ties are at risk. The flip probability per token is p ≈ f(0) · E|Δ| / 2, where f(0) is the density of near-ties and E|Δ| is the expected noise magnitude.
With batch-invariant kernels, all 1,000 Feynman completions came out identical. The fix costs performance: the unoptimized deterministic version took 55 seconds versus 26 for default vLLM.
🇸🇦 العربية
لماذا درجة الحرارة 0 غير قابلة للتنبؤ
في سبتمبر 2025، أرسل هورايس هي وزملاه من مختبر ثينينغ ماشينز الموجه "Tell me about Richard Feynman" إلى Qwen3-235B thousand مرة عند درجة حرارة 0، م anticipating إجابات مطابقة لـ 1000 رمز. لم يحصلوا إلا على 80 إكمالات فريدة. كانت جميع الجrarian مطابقة للـ 102 رمز الأولى؛ عند الرمز 103، استمر 992 بـ "Queens, New York" و 8 بـ "New York City". لا تسب هذه التقلبات إلى عشوائيات خيوط GPU، بل إلى kernels whose reduction order changes with batch size، making outputs depend on how many others are requesting at that moment.
عند درجة حرارة 0، يختار النموذج الرمز ذي الـ logit الأعلى، وهو ما يُعتبر deterministic في الرياضيات لكنه ليس如此 في حسابات العloating-point، حيث لا ت Associative Addition. ي performed الشبكة العصبية billions من هذه المجموعات، لذا ي matter ترتيب HARDWARE. أظهر هي وآخرون أن typical forward passes لا تحتوي على atomic adds وتعيد نفس Bits على نفس Input، لكن many kernels aren't batch-invariant.
Mathematically، let z₁ و z₂ be the two largest logits with gap M = z₁ - z₂ >= 0. يغير Numerical noise الفجوة بـ error Δ، و argmax ي flip فقط إذا M + Δ < 0. فجوة من 8 logits لا flip أبداً؛ فقط near-ties are at risk. احتمال flip لكل token هو p ≈ f(0) · E|Δ| / 2، حيث f(0) هو كثافة near-ties و E|Δ| هو expected noise magnitude.
باستخدام batch-invariant kernels،—all 1,000 Feynman completions came out identical. Fix costs performance: the unoptimized deterministic version took 55 seconds versus 26 for default vLLM.
لماذا تختلف مخرجات LLM عند درجة حرارة 0 بعد ~100 token؟
ضجيج العfloating-point و kernels غير الم dealings يسبب فجوة بين أعلى logits أن flip أحيانًا، producing divergent completions فقط في positions من near-ties.
🇧🇩 বাংলা
তাপমাত্রা 0 নির্ধারিত নয়
২০২৫ সেপ্টেম্বরে, থিংকিং মেশিন্স ল্যাবের হরেস হে এবং তার সহকর্মীরা "টেল মি আবাউট রিচার্ড ফেনম্যান" প্রশ্নটিকে Qwen3-235B এ ১০০০বার তাপমাত্রা 0 এ পাঠিয়েছিলেন, একই ১০০০-টোকেন উত্তরের প্রত্যাশা করেছিলেন। তারা ৮০ টি অনন্য সম্পূর্ণতা পেয়েছেন। সমস্ত রান প্রথম ১০২ টোকেন পর্যন্ত একই ছিল; টোকেন ১০৩ এ, ৯৯২টি "কিউইন্স, নিউ ইয়র্ক" চালিয়েছে এবং ৮টি "নিউ ইয়র্ক সিটি"। এই পরিবর্তনগুলো GPU থ্রেড একযোগের কারণে নয়, বরং কার্নেলগুলোর কারণে যার রিডিউকশন ক্রম ব্যাচ আকারের সাথে পরিবর্তন হয়, যার ফলে আদান নির্ভর করে এই মুহূর্তে অন্যান্য কতগুলো অনুরোধ আছে।
তাপমাত্রা 0 এ মডেল সর্বোচ্চ-লগিট টোকেনটি বেছে নেয়, যা গণিতে নির্ধারিত কিন্তু ভাসমান বিন্দু গণনায় নয়, যেখানে যোগ সমবায় নয়। একটি নিউরাল নেটওয়ার্ক অরবান সংখ্যাগুলো এরকম যোগ করে, তাই হার্ডওয়ারের ক্রম গুরুত্বপূর্ণ। হে ইত্যাদি দেখিয়েছেন যে টিপিকাল ফরवার্ড পাসে কোনো এটোমিক যোগ নেই এবং একই ইনপুটে একই বিট ফেরত দেয়, কিন্তু অনেক কার্নেল ব্যাচ-অনিয়তমকর্তা নয়।
গাণিতিকভাবে, z₁ এবং z₂ হল দুটি সর্বোচ্চ লগিট যার ব্যবধান M = z₁ - z₂ >= 0। সংখ্যাত্মক ব্যাচী ব্যবধানকে Δ ত্রুটি পরিবর্তন করে, এবং argmax তবে পরিবর্তন হয় যদি M + Δ < 0 হয়। ৮ লগিটের ব্যবধান কখনো পরিবর্তন হয় না; কেবল প্রায়-সমানতা অবস্থাই ঝুঁকিতে। প্রতি টোকেন পরিবর্তনের সম্ভাবনা p ≈ f(0) · E|Δ| / 2, যেখানে f(0) হল প্রায়-সমানতার ঘনত্ব এবং E|Δ| হল প্রত্যাশিত ব্যাচীর পরিমাণ।
ব্যাচ-অনিয়তমকর্তা কার্নেল ব্যবহার করে, সমস্ত ১০০য় ফেনম্যান সম্পূর্ণতা একই হয়েছে। ঠিকারীর মূল্য প্রদর্শন: অনুকূলিত নয় এমন নির্ধারিত সংস্করণ ৫৫ সেকেন নিয়েছে, যেখানে ডিফল্ট vLLM ২৬ সেকেন নিয়েছে।
কেন তাপমাত্রা 0 এ LLM আদান ~১০০ টোকেন পরে বিভিন্ন হয়?
ভাসমান বিন্দু গণনা এবং ব্যাচ-অনিয়তমকর্তা কার্নেলের সংখ্যাত্মক ব্যাচী শীর্ষ লগিটগুলোর মধ্যকার ব্যবধানকে সময়ে সময়ে চিহ্ন পরিবর্তনের জন্য প্রেরিত করে, যা কেবল প্রায়-সমানতা অবস্থায় বিভিন্ন সম্পূর্ণতা তৈরি করে।
🇩🇪 Deutsch
Warum Temperatur 0 nicht deterministisch ist
Im September 2025 sandte Horace He und seine Kollegen von Thinking Machines Lab den Prompt "Tell me about Richard Feynman" 1000 Mal bei Temperatur 0 an Qwen3-235B, erwartend identische 1000-Token-Antworten. Sie erhielten 80 eindeutige Vervollständigungen. Alle Läufe waren für die ersten 102 Token identisch; bei Token 103 setzten 992 mit "Queens, New York" fort, 8 mit "New York City". Die Umkehrungen werden nicht durch GPU-Thread-Zufall verursacht, sondern durch Kerne, deren Reduktionsreihenfolge sich mit Batch-Größe ändert, wodurch Ausgaben davon abhängen, wie viele andere in diesem Moment anfragen.
Bei Temperatur 0 wählt das Modell das Token mit dem höchsten Logit, was in der Mathematik deterministisch ist, aber in der Fließkomma-Arithmetik nicht, da Addition nicht assoziativ ist. Ein neuronales Netz führt Milliarden solcher Summen aus, also mattered die Hardware-Reihenfolge. He et al. zeigten, typische Vorwärtsdurchläufe enthalten keine atomaren Adds und liefern gleiche Bits bei gleichem Input, aber viele Kerne sind nicht batch-invariant.
Mathematisch seien z₁ und z₂ die beiden größten Logits mit Gap M = z₁ - z₂ >= 0. Numerischer Lärm ändert das Gap um Fehler Δ, und argmax kehrt nur um, wenn M + Δ < 0. Ein Gap von 8 Logits kehrt nie um; nur near-ties sind gefährdet. Die Umkehrwahrscheinlichkeit pro Token ist p ≈ f(0) · E|Δ| / 2, wobei f(0) die Dichte der near-ties ist und E|Δ| die erwartete Rauschmagnitude.
Mit batch-invarianten Kernen kamen alle 1000 Feynman-Vervollständigungen identisch heraus. Die Fixierung kostet Leistung: die unoptimierte deterministische Version dauerte 55 Sekunden versus 26 für Standard-vLLM.
Warum divergieren LLM-Ausgaben bei Temperatur 0 nach ~100 Token?
Numerischer Lärm durch Fließkomma-Arithmetik und nicht batch-invarianten Kerne verursachen, dass das Gap zwischen den höchsten Logits gelegentlich das Vorzeichen wechselt, was nur an near-tie-Positionen zu divergenten Vervollständigungen führt.
🇪🇸 Español
Por qué la temperatura 0 no es determinista
En septiembre de 2025, Horace He y sus colegas de Thinking Machines Lab enviaron el prompt "Tell me about Richard Feynman" a Qwen3-235B 1000 veces a temperatura 0, esperando respuestas idénticas de 1000 tokens. Recibieron 80 finalizaciones únicas. Todas las ejecuciones fueron idénticas para los primeros 102 tokens; en el token 103, 992 continuaron con "Queens, New York" y 8 con "New York City". Los cambios no son causados por aleatoriedad de hilos GPU, sino por kernels cuyo orden de reducción cambia con el tamaño del lote, haciendo que las salidas dependan de cuántos otros están solicitando en ese momento.
A temperatura 0, el modelo elige el token con el logit más alto, lo cual es determinista en matemáticas pero no en aritmética de punto flotante, donde la adición no es asociativa. Una red neuronal realiza miles de millones de tales sumas, por lo que el orden del hardware importa. He et al. muestran que los pases directos típicos no contienen adiciones atómicas y devuelven los mismos bits con la misma entrada, pero muchos kernels no son invariantes por lote.
Matemáticamente, sea z₁ y z₂ los dos logits más grandes con brecha M = z₁ - z₂ >= 0. El ruido numérico cambia la brecha por un error Δ, y el argmax cambia solo si M + Δ < 0. Una brecha de 8 logits nunca cambia; solo las casi empates están en riesgo. La probabilidad de cambio por token es p ≈ f(0) · E|Δ| / 2, donde f(0) es la densidad de casi empates y E|Δ| es la magnitud esperada del ruido.
Con kernels invariantes por lote, las 1000 finalizaciones de Feynman salieron idénticas. La corrección cuesta rendimiento: la versión determinista no optimizada tomó 55 segundos frente a 26 para vLLM por defecto.
¿Por qué las salidas del LLM a temperatura 0 divergen después de ~100 tokens?
El ruido numérico de la aritmética de punto flotante y los kernels no invariantes por lote causan que la brecha entre los logits más altos cambie de signo ocasionalmente, produciendo finalizaciones divergentes solo en posiciones de casi empate.
🇫🇷 Français
Pourquoi la température 0 n'est pas déterministe
En septembre 2025, Horace He et ses collègues de Thinking Machines Lab ont envoyé l'invite "Tell me about Richard Feynman" à Qwen3-235B 1 000 fois à température 0, s'attendant à des réponses identiques de 1 000 tokens. Ils ont obtenu 80 finalisations uniques. Toutes les exécutions étaient identiques pour les 102 premiers tokens ; au token 103, 992 ont continué avec "Queens, New York" et 8 avec "New York City". Les basculations ne sont pas causées par l'aléatoire des threads GPU, mais par des noyaux dont l'ordre de réduction change avec la taille du lot, faisant dépendre les sorties de nombre d'autres demandes en cours.
À température 0, le modèle choisit le token au logit le plus haut, ce qui est déterministe en mathématiques mais pas en arithmétique à virgule flottante, où l'addition n'est pas associative. Un réseau neuronal effectue des milliards de telles sommes, donc l'ordre du hardware importe. He et al. montrent que les passages avant typiques ne contiennent pas d'ajouts atomiques et retournent les mêmes bits sur la même entrée, mais de nombreux noyaux ne sont pas invariants par lot.
Mathématiquement, soient z₁ et z₂ les deux plus grands logits avec un écart M = z₁ - z₂ >= 0. Le bruit numérique modifie l'écart d'une erreur Δ, et l'argmax bascule seulement si M + Δ < 0. Un écart de 8 logits ne bascule jamais ; seuls les quasi-égalités sont à risque. La probabilité de bascule par token est p ≈ f(0) · E|Δ| / 2, où f(0) est la densité des quasi-égalités et E|Δ| est l'amplitude attendue du bruit.
Avec des noyaux invariants par lot, les 1 000 finalisations Feynman sont venues identiques. Le fix coûte de la performance : la version déterministe non optimisée a pris 55 secondes contre 26 pour vLLM par défaut.
Pourquoi les sorties du LLM à température 0 divergent-elles après ~100 tokens ?
Le bruit numérique de l'arithmétique à virgule flottante et des noyaux non invariants par lot fait basculer occasionnellement l'écart entre les logits les plus hauts, produisant des finalisations divergentes uniquement aux positions de quasi-égalité.
🇮🇳 हिन्दी
टेम्परेचर 0 निर्धारित नहीं होता
सितंबर 2025 में, थिंकिंग मशीन्स लैब के होरेस हे और उनके सहकारियों ने प्रॉप्ट "टेल मी आबाउट रिचर्ड फेनमैन" को क्वेन3-235B में 1,000 बार टेम्परेचर 0 पर भेजा, जिससे वे समान 1,000-टोकन उत्तर की उम्मीद कर रहे थे। उन्हें 80 अलग-अलग पूर्णताएं मिलीं। सारे रन पहले 102 टोकन तक समान थे; टोकन 103 पर, 992 ने "क्वींस, न्यू यॉर्क" जारी रखा और 8 ने "न्यू यॉर्क सिटी"। ये बदलाव GPU थ्रेड यादृच्छिकता के कारण नहीं हुए, बल्कि ऐसे कर्नल्स के कारण हुए जिनका अनुक्रम बैच आकार के साथ बदलता है, जिससे आउटपुट यहां दिखाते हैं कि उस समय कितने अन्य अनुरोध हो रहे हैं।
टेम्परेचर 0 पर मॉडल सबसे उच्च-लॉगिट टोकन चुहता है, जो गणित में निर्धारित है लेकिन फ्लोटिंग-पॉइंट अंकित में नहीं, जहां जोड़ एसोसिएटिव नहीं होता। एक तंत्रिका अंतरण अरबों ऐसे योग करती है, इसलिए हार्डवेयर का क्रम महत्वपूर्ण है। हे आदि ने दिखाया कि टिपिकल फॉरवर्ड पास में कोई एटॉमिक एड नहीं होता और समान इनपुट पर समान बिट्स लौटाते हैं, लेकिन कई कर्नल बैच-इनवेयरियंट नहीं हैं।
गणितीय रूप से, मान लें z₁ और z₂ दो सबसे बड़े लॉगिट हैं जिनका अंतर M = z₁ - z₂ >= 0 है। संख्यात्मक शोर अंतर को त्रुटि Δ से बदलता है, और argmax तब बदलता है जब M + Δ < 0 हो। 8 लॉगिट का अंतर कभी बदलता नहीं; केवल लगभग बराबरी के स्थिति में जोखिम होता है। प्रति टोकन बदलाव की संभावना p ≈ f(0) · E|Δ| / 2 है, जहां f(0) लगभग बराबरी का घनत्व है और E|Δ| अपेक्षित शोर का परिमाण है।
बैच-इनवेयरियंट कर्नल के साथ, सारे 1,000 फेनमैन पूर्णताएं समान आईं। ठीकारी की कीमत प्रदर्शन है: अनुकूलित नहीं की गई निर्धारित संस्करण ने 55 सेकंड लिए, जबकि डिफॉल्ट vLLM ने 26 सेकंड।
टेम्परेचर 0 पर LLM के आउटपुट ~100 टोकन के बाद क्यों विभाजित हो जाते हैं?
फ्लोटिंग-पॉइंट अंकित और बैच-इनवेयरियंट नहीं करने वाले कर्नल्स के कारण संख्यात्मक शोर शीर्ष लॉगिट के बीच के अंतर को समय-समय पर चिह्न बदलने के लिए प्रेरित करता है, जिससे केवल लगभग बराबरी की स्थिति में विभाजित पूर्णताएं पैदा होती हैं।
🇮🇩 Bahasa Indonesia
Mengapa Suhu 0 Tidak Deterministik
Di September 2025, Horace He dan rekan dari Thinking Machines Lab mengirim prompt "Tell me about Richard Feynman" ke Qwen3-235B 1.000 kali pada suhu 0, mengharapkan jawaban identis 1.000 token. Mereka mendapatkan 80 penyelesaian unik. Semua run identis untuk 102 token pertama; pada token 103, 992 melanjutkan dengan "Queens, New York" dan 8 dengan "New York City". Perubahan ini tidak disebabkan oleh keacakan thread GPU, tetapi oleh kernel yang urutan reduksinya berubah dengan ukuran batch, membuat output bergantung pada berapa banyak yang sedang meminta saat itu.
Pada suhu 0, model memilih token dengan logit tertinggi, yang deterministik dalam matematika tetapi tidak dalam aritmetika floating-point, di mana penjumlahan tidak asosiatif. Jaringan saraf melakukan miliaran penjumlahan, jadi urutan hardware penting. He et al. menunjukkan bahwa forward pass tipikal tidak mengandung atomic add dan mengembalikan bit yang sama pada input yang sama, tetapi banyak kernel tidak invariant batch.
Secara matematis, misalkan z₁ dan z₂ adalah dua logit terbesar dengan selisih M = z₁ - z₂ >= 0. Noise numerik mengubah selisih dengan error Δ, dan argmax flip hanya jika M + Δ < 0. Selisih 8 logit tidak pernah flip; hanya near-tie yang berisiko. Probabilitas flip per token adalah p ≈ f(0) · E|Δ| / 2, di mana f(0) adalah kerapatan near-tie dan E|Δ| adalah besarnya noise yang diharapkan.
Dengan kernel invariant batch, semua 1.000 penyelesaian Feynman keluar identis. Fix biaya performasi: versi deterministik tidak dioptimalkan mengambil 55 detik versus 26 untuk vLLM default.
Mengapa keluaran LLM pada suhu 0 berbeda setelah ~100 token?
Noise numerik dari aritmetika floating-point dan kernel tidak invariant batch menyebabkan selisih antara logit tertinggi occasionally berubah tanda, menghasilkan penyelesaian berbeda hanya di posisi near-tie.
🇯🇵 日本語
温度0が決定的でない理由
2025年9月、Thinking Machines LabのHorace Heと同僚たは、Qwen3-235Bに「Tell me about Richard Feynman」を温度0で1000回送信し、同じ1000トーカンの回答を期待した。しかし、80つの異なる完了を得た。すべての実行は最初の102トーカンまで同一であり、103トーカン目で、992が「Queens, New York」を、8が「New York City」を継続した。この分岐はGPUスレッドのランダムネスではなく、バッチサイズに応じて削減順序が変わるカーネルが原因で、同時刻に他のリクエストが何件あるかによって出力が変わる。
温度0ではモデルが最高ロジットのトーカンを選ぶが、これは数学では決定的でも浮動小数点演算では非結合的でない。神経ネットワークは数十億回の加算を行うため、ハードウェアの順序が重要である。Heらは、通常の前方伝播には原子加算がなく、同じ入力で同じビットを返すが、多くのカーネルはバッチ不変でないことを示した。
数理的に、z₁とz₂を二つの最大ロジットとし、差M = z₁ - z₂ >= 0とする。数値ノイズはΔの誤差で差を変化させ、argmaxはM + Δ < 0のときのみ反転する。8ロジットの差は反転せず、 nearly-tieのみがリスクである。1トーカン目の反転確率は p ≈ f(0) · E|Δ| / 2 で、f(0)は nearly-tieの密度、E|Δ|は期待ノイズ大きさである。
バッチ不変カーネルを使用すると、1000つのFeynman完了はすべて同一になった。しかし、最適化されていない決定版には55秒かかかり、デフォルトvLLMの26秒に compared.
温度0でLLMの出力が約100トーカン後で分岐する理由
浮動小数点演算の数値ノイズとバッチ不変でないカーネルが、最上位ロジットの差の符号を時々反転させ、 nearly-tieの位置でのみ異なる完了を生み出す。
🇧🇷 Português
Por que a temperatura 0 não é determinística
Em setembro de 2025, Horace He e colegas do Thinking Machines Lab enviaram o prompt "Tell me about Richard Feynman" ao Qwen3-235B 1.000 vezes à temperatura 0, esperando respostas idênticas de 1.000 tokens. Eles obtiverem 80 finalizações únicas. Todas as execuções foram idênticas para os primeiros 102 tokens; no token 103, 992 continuaram com "Queens, New York" e 8 com "New York City". As inversões não são causadas por aleatoriedade de threads GPU, mas por kernels cuja ordem de redução muda com o tamanho do lote, fazendo as saídas dependerem de quantos outros estão solicitando naquele momento.
À temperatura 0, o modelo escolhe o token de maior logit, o que é determinístico em matemática, mas não em aritmética de ponto flutuante, onde a adição não é associativa. Uma rede neural realiza bilhões de somas, portanto a ordem do hardware importa. He et al. mostram que os passos diretos típicos não contêm adições atômicas e devolvem os mesmos bits na mesma entrada, mas muitos kernels não são invariantes por lote.
Matematicamente, sejam z₁ e z₂ os dois maiores logits com gap M = z₁ - z₂ >= 0. O ruído numérico altera o gap por um erro Δ, e o argmax inverte apenas se M + Δ < 0. Um gap de 8 logits nunca inverte; apenas quase-empates estão em risco. A probabilidade de inversão por token é p ≈ f(0) · E|Δ| / 2, onde f(0) é a densidade de quase-empates e E|Δ| é a magnitude esperada do ruído.
Com kernels invariantes por lote, as 1.000 finalizações de Feynman saíram idênticas. A correção custa desempenho: a versão determinística não otimizada levou 55 segundos versus 26 para vLLM padrão.
Por que as saídas do LLM à temperatura 0 divergem após ~100 tokens?
O ruído numérico da aritmética de ponto flutuante e kernels não invariantes por lote faz com que o gap entre os logits mais altos mude de signo occasionalmente, produzindo finalizações divergentes apenas em posições de quase-empate.
🇷🇺 Русский
Почему температура 0 не является детерминированной
В сентябре 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.
Почему выходы LLM при температуре 0 расходятся после ~100 токенов?
Числовой шум арифметики плавающей точки и не инвариантные по батчу ядра заставляют разность между топовыми логитами иногда менять знак, производя расходящиеся завершения только в позициях почти-равных значений.
🇨🇳 简体中文
为什么温度 0 不是确定性的
2025 年 9 月,Thinking Machines Lab 的 Horace He 及其同事将提示词“Tell me about Richard Feynman”发送给 Qwen3-235B 共 1000 次,温度设为 0,期望得到相同的 1000 token 回答。结果却产生了 80 种不同的完成。前 102 个 token 完全一致;从第 103 个 token 开始,992 次运行继续输出“Queens, New York”,而 8 次输出“New York City”。这种翻转并非由 GPU 线程随机性引起,而是因为核函数的归约顺序随批处理大小变化,使得输出取决于当时有多少其他请求正在处理。
在温度 0 时,模型选择最高 logit 的 token,这在数学上是确定性的,但在浮点运算中并非如此,因为加法不满足结合律。神经网络执行数十亿次这样的求和,因此硬件顺序至关重要。He 等人发现,典型的前向传递不包含原子加法,并在相同输入上返回相同的比特,但许多核函数并非批处理不变。
从数学上讲,设 z₁ 和 z₂ 为两个最大的 logit,其差值 M = z₁ - z₂ ≥ 0。数值噪声通过误差 Δ 改变该差值,仅当 M + Δ < 0 时 argmax 才会翻转。8 个 logit 的差值永远不会翻转;只有接近平局的 token 存在风险。每个 token 的翻转概率约为 p ≈ f(0) · E|Δ| / 2,其中 f(0) 是接近平局的密度,E|Δ| 是预期噪声幅度。
使用批处理不变核后,全部 1000 次 Feynman 完成均完全一致。但该修复牺牲了性能:未优化的确定性版本耗时 55 秒,而默认 vLLM 仅需 26 秒。
为什么温度 0 的大模型输出在约 100 个 token 后出现分歧?
浮点运算的数值噪声与非批处理不变核导致最高 logit 之间的差值偶尔发生符号翻转,仅在接近平局的 token 位置产生不同的完成。