本文へスキップ
IFAI

AIモデル

温度0でもLLMの出力がブレる原因、Thinking Machinesが解明

公開 拡散指数 62

Thinking Machines AIはLLM推論の非決定性を分析する技術記事を公開した。温度を0にしても結果が変わる原因はGPUの並行浮動小数点計算だと広く信じられていたが、前向計算自体は決定的だと判明。真の要因は動的バッチ処理にあり、同時に処理される他リクエストの影響で計算結果が変わる「バッチ不変性の欠如」にあると指摘した。

温度0でもLLMの出力がブレる原因、Thinking Machinesが解明
画像:thinkingmachines.ai

ChatGPTで温度パラメータを0に設定して貪欲法を指定しても、同じ質問に対して毎回少しずつ異なる回答が返ってくる現象に悩まされた開発者は少なくないはずです。

これまで業界では、GPUが膨大なスレッドで並列処理を行うことと、浮動小数点演算の結合法則が成り立たない性質が合わさり、計算順序のズレによって出力が変わってしまうという説が広く信じられてきました。

元OpenAIのCTOであるミラ・ムラティ氏が立ち上げたThinking Machines Labは9月10日、研究ブログを初公開し、この通説に反論しました。同研究所のリサーチャーであるHorace He氏は、推論の非決定性の真の原因は並列処理そのものではなく、GPUカーネルの統合と制御の仕組みにあると指摘しています。

GPU並列処理のせいではない

He氏はブログ内で明快な検証を示しました。GPU上で全く同じbfloat16の行列積を1000回連続で実行しても、結果は1ビットの狂いもなく完全に一致します。もしGPUの並列性と浮動小数点演算が直接ランダム性を生むなら、この計算でも揺らぎが出るはずです。

確かに浮動小数点数の足し算は計算順序で値が変わります。しかしHe氏によると、現代のLLMのフォワードパスでは、計算順序を狂わせるアトミック加算のような命令はほとんど使われていません。バッチ次元で並列化されているため、スレッド間で結果の書き込み順を争う必要がないためです。

それにもかかわらずvLLMなどの推論エンジンや商用APIで結果が揺らぐのは、個々のカーネルではなく、それらを連携させて推論を実行するオーケストレーションの層に原因があるとHe氏は分析しています。この層を厳格に制御できれば、完全に再現可能な推論結果を得られるとしています。

強化学習のノイズを減らす狙い

推論の完全な再現性は、企業のコンプライアンスや科学研究だけでなく、モデルの強化学習にとっても極めて大きな意味を持ちます。

正解に対して報酬を与える強化学習のプロセスにおいて、モデルの出力が毎回わずかにブレると、データに不要なノイズが混ざってしまいます。出力を決定論的に制御できれば、学習プロセス全体が格段にスムーズになるとHe氏は述べています。

Thinking Machines Labは20億ドルのシード資金を調達し、評価額は120億ドルに達したと報じられています。今回の投稿は同社が立ち上げた技術連載シリーズの第1弾であり、今後も研究成果をオープンに共有していく方針を掲げています。

なぜ重要か

私たちは、同社が最初の研究成果としてこのテーマを選んだ着眼点を非常に高く評価しています。多くのユーザーにとって数文字のブレは気にならなくても、金融の監査、コード生成の自動検証、数学的証明といった厳密な業務現場では、非決定性は実用化を阻む決定的な壁でした。ここを解決できれば、エンタープライズ領域で強力な差別化になります。

業界全体にとっても、推論のノイズ低減はポストトレーニングのコスト削減に直結します。強化学習による推論能力の強化がトレンドになる中、再現性の確保は学習の収束を早めるための重要な武器になるはずです。

一方で懸念されるのは、推論速度やスループットとのトレードオフです。現在普及している推論サーバーは、速度を極限まで引き出すために動的バッチ処理を駆使しており、これが実行順序の乱れを誘発しています。スループットを犠牲にせずに決定性をどこまで維持できるか、近々登場するとされる製品の実力が問われます。

情報源 (2)

  1. [1]
    thinkingmachines.ai(新しいタブで開きます)原文thinkingmachines.ai
  2. [2]
    techcrunch.com(新しいタブで開きます)報道techcrunch.com

毎日のAIピックアップ