
2025/09/24(水)
大規模言語モデル(LLM)を使っていて、「同じ質問をしているのに、なぜ毎回違う答えが返ってくるのだろう?」と疑問に思ったことはありませんか?この現象は、AI技術の信頼性や再現性を脅かす重大な課題として、多くの研究者や企業が頭を悩ませてきました。
実は、この問題の根本原因が、元OpenAIのCTOだったMira Murati氏が設立したThinking Machines社によって解明されました。同社は企業へのAI導入支援をミッションとするベンチャー企業で、設立からわずかな期間で100億ドルを超える評価額を獲得したモンスターベンチャーです。
本記事では、LLMの計算結果が毎回変わってしまう技術的な仕組みと、その解決策について詳しく解説します。この問題を理解することで、より安定したAIシステムの構築や、信頼性の高いAI活用が可能になるでしょう。
目次
LLMの非決定性とは、同一の入力に対して毎回異なる応答を返す現象のことです。例えば、ChatGPTに「今日の天気について教えて」と同じ質問を複数回投げかけても、表現や内容が微妙に異なる回答が返ってくることがあります。
この現象は単なる仕様ではなく、科学研究や企業利用における信頼性や再現性を脅かす重大な技術課題となっています。特に、正確性が求められるビジネス用途や研究分野では、この不安定性が深刻な問題となっているのです。
従来、この問題の原因として以下のような仮説が提示されていました:
しかし、興味深いことに、理論上最も確率の高いトークンを選ぶように温度パラメータを0に設定しても、実際には非決定性が完全に除去されないことが判明しています。つまり、サンプリング処理だけでは説明しきれない、より深い技術的な問題が存在していたのです。
Thinking Machines社の研究により、LLMの非決定性の真の原因が明らかになりました。それは「バッチ不変性の欠如」です。
バッチ不変性とは、処理するデータのバッチサイズ(一度に処理するデータの量)が変わっても、同じ入力に対して同じ結果が得られる性質のことです。
LLMのサーバーでは、複数のユーザーからのリクエストを効率的に処理するため、これらのリクエストをまとめて「バッチ」として処理します。しかし、現在の実装では、このバッチサイズが変動することで計算結果が変わってしまうという問題が発生しているのです。
この問題の根本には、GPUカーネル(GPU内で動作する小さなプログラム)の実装方法があります。本来、カーネルは決定論的に動作するように設計されているはずですが、ユーザーのリクエストが同時に処理されることによって、この決定論性が担保されていない状況が生じています。
具体的には、以下のような流れで問題が発生します:
この流れの中で、ステップ3の「LLMによる計算処理」の部分で、バッチサイズの変動により計算結果が変わってしまうのです。
より技術的な観点から見ると、この問題は並列処理と浮動小数点演算の非結合性(非可換性)に起因しています。
特に問題となるのは、以下の3つの操作です:
操作 | 問題の内容 |
RMSNorm | 正規化処理でのリダクション計算における計算順序の違い |
行列乗算 | データ並列処理での集約操作における分割方法の変化 |
アテンション機構 | 特にKVキャッシュ処理での分割戦略の違い |
これらの操作では、バッチサイズの変動により並列処理の方法が変わり、結果として異なる計算結果が生成されてしまいます。
Thinking Machines社が提示した解決策は、バッチ不変性を持つカーネルの実装です。
解決策の核心は、以下の要素の改良にあります:
この解決策について、技術的な実現可能性を評価すると:
つまり、LLMの計算結果が毎回変わってしまうという問題は、対応可能な技術的課題であり、完全に解決不可能な問題ではないということです。
バッチ不変性を実現する上で最大の課題は、推論速度との両立です。決定論的な処理を実現するためには、並列処理の効率性を一部犠牲にする必要があり、これが推論速度の低下につながる可能性があります。
現実的な解決策としては、以下のようなアプローチが考えられます:
この技術的解決策が実用化されれば、以下のような分野で大きな影響が期待されます:
LLMの計算結果が毎回変わってしまう問題について、重要なポイントを整理します:
元OpenAIのCTOが率いるThinking Machines社による研究成果は、LLMの実用性向上に向けた重要な一歩と言えるでしょう。今後、この技術的解決策がどのように実装され、AI業界全体にどのような変化をもたらすか、注目していく必要があります。
本記事の内容は、以下の資料も参考にしています:
LLM(大規模言語モデル)の非決定性とは、同じ質問をしても毎回異なる回答が返ってくる現象のことです。これは、AIの信頼性や再現性を損なうため、重要な課題とされています。
LLMの計算結果が毎回変わる根本的な原因は、「バッチ不変性の欠如」です。これは、LLMがユーザーのリクエストをまとめて処理する際に、バッチサイズ(一度に処理するリクエストの数)が変動することで計算結果が変わってしまうという問題です。
バッチ不変性とは、処理するデータのバッチサイズが変わっても、同じ入力に対して常に同じ結果が得られる性質のことです。LLMでは、このバッチ不変性が欠如しているために、計算結果が毎回異なってしまうことがあります。
Thinking Machines社は、バッチ不変性を持つカーネルを実装することで、LLMの非決定性問題を解決できると提案しています。具体的には、行列の掛け算、アテンション機構、RMSNormといった主要な計算処理において、バッチサイズに依存しない処理方法を確立することが重要です。
LLMの非決定性問題が解決されると、科学研究における実験の再現性が向上したり、企業システムにおけるAIの安定性が向上したりと、様々な分野でAIの信頼性が高まります。特に、医療や金融など、高い信頼性が求められる分野でのAI活用が促進されることが期待されます。
Workstyle Evolution代表。18万人超YouTuber&『ChatGPT最強の仕事術』著者。
株式会社Workstyle Evolution代表取締役。YouTubeチャンネル「いけともch(チャンネル)」では、 AIエージェント時代の必須ノウハウ・スキルや、最新AIツールの活用法を独自のビジネス視点から解説し、 チャンネル登録数は18万人超(2025年7月時点)。