1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

なぜGoogleやByteaDanceはDiffusion LLMに投資するのか?推論速度10倍の秘密

Posted at

Text Diffusion:推論速度10倍を実現する次世代LLMパラダイムの全貌

結論

Text Diffusionは、GPTやClaudeなどの従来の自己回帰型LLMとは根本的に異なるアプローチで言語生成を実現する新技術パラダイムである。1トークンずつ逐次的に生成する代わりに、全体のレスポンスを一度にドラフトし、それを段階的に洗練させていくプロセスを採用している。この革新的な手法により、推論速度が最大10倍に向上し、GoogleのGemini Diffusion、Inception LabsのMercury Coder、ByteDanceのSeed Diffusionといった実用的なモデルが既に登場している。

物理的な拡散現象にインスパイアされたこの技術は、連続的なプロセスを離散的なトークン空間に適用するという困難な課題を、マルコフ連鎖という数学的フレームワークを用いて解決した。現時点では特にコーディングタスクにおいて従来モデルと競争力を持ち始めており、LLM技術の次なる進化の方向性を示している。


目次


自己回帰モデルとDiffusion LLMsの根本的な違い

現在主流のLLM、すなわちGPT、Claude、Geminiといったモデルは、すべて自己回帰型(Auto-Regressive Models、ARM) のアーキテクチャを採用している。これらのモデルは、英語を紙に書くときのように、左から右へ一つずつトークンを予測していく。各トークンの生成は、それまでに生成されたすべてのトークンに条件付けられており、特別な終了トークン(End of Sequence)が生成されるまでこのプロセスが続く。プロンプトの内容によっては、この反復が数千回以上に及ぶこともある。

対照的に、Diffusion LLMsは全く異なるパラダイムを提示する。これらのモデルは、最初から完全なテキストシーケンス全体を一度に生成する。時刻ゼロの時点では完全に意味不明な文字列(ギブリッシュ)から始まり、各時間ステップでシーケンス全体のドラフトを再計算する。いくつかの単語は保持され、いくつかはより良い推測で置き換えられる。このプロセスは、学生がエッセイを何度も推敲するように、複数のステップにわたって繰り返される。

この図から明らかなように、自己回帰モデルは出力トークン数に比例した反復回数が必要となるのに対し、Diffusionモデルは固定された洗練ステップ数(通常は数十から数百程度)で完結する。この違いが、後述する推論速度の大幅な向上につながる重要なポイントである。

興味深いことに、用語の厳密性という観点では、Diffusionモデルも自身の出力を取り込んで次のステップを生成するため、ある意味では「自己回帰的」と言える。しかし、確立された用語との混同を避けるため、本稿では従来通りの呼称を用いる。


Text Diffusionが注目される3つの理由

画像や動画の領域において、Diffusionモデルは従来手法を凌駕する圧倒的な品質向上をもたらした。しかし言語領域では、自己回帰型モデルが既に大きな成功を収めている。それにもかかわらず、なぜText Diffusionが研究されているのだろうか。

最も正直な理由は「知的好奇心」である。自然言語処理(NLP)とコンピュータビジョン(CV)の間では、相互にアイデアを借用するパターンが確立されている。言語のTransformerが画像認識に成功裏に応用された一方、画像処理で始まった畳み込みニューラルネットワーク(CNN)は言語処理では大きく普及しなかった。Text Diffusionの最終的な成否はまだ判断できないが、いくつかの魅力的な可能性を秘めている。

推論速度の劇的な向上

最も注目すべき利点は、推論速度の大幅な向上である。これは特にコーディング支援のようなレイテンシに敏感なアプリケーションで重要であり、LLMプロバイダーにとっては10倍の速度向上が10倍のコスト削減を意味する。

自己回帰モデルは、出力トークンごとに1回の反復を実行し、終了トークンが生成されるまで続ける。一方、Diffusionモデルは洗練操作の回数が少なくて済む。正確な回数はハイパーパラメータとして調整可能で、速度と品質のトレードオフを制御できる。現在、良好な出力を得るための洗練回数は数十から数百程度だが、新しい研究によってこの数値は継続的に減少している。

ただし、反復回数の削減が意味を持つのは、すべてのDiffusionトークンを並列に生成できる場合に限られる。Inception Labsは、GPU利用率を最大化し、高いトークン並列化を確保するため、独自のプロプライエタリな推論エンジンを構築したと報告している。

その成果は実際の数値に表れている。ByteDanceによる最近の研究では、Diffusion LLMsがH20 GPU上で1,000~2,000トークン/秒の速度を達成する一方、比較可能な自己回帰モデルは約200トークン/秒にとどまることが示された。これは既に10倍の速度向上を実現している。

出力品質の改善可能性

自己回帰における本質的な左から右へのバイアスは、モデルの振る舞いをいくつかの点で制限する。

最も明白な制約は、一度生成されたトークンは修正できないという点である。例えば、GPT-4oに対してYes/Noの質問をしたとき、中間的な思考プロセスの後、回答が「Yes」から「No」へと矛盾する事例が観察されている。しかしDiffusionモデルであれば、このような「考えの変化」をより自然に、レスポンス全体を反復的に修正することで扱える。

左から右への生成は、Exposure BiasやSampling Driftも引き起こす。モデルは訓練時、トレーニングセットからのクリーンな正解プレフィックスに対して次のトークンを予測するよう学習する。しかし推論時には、自身が以前に生成した出力を完成させなければならない。そのため、小さなエラーがテキストが長くなるにつれて雪だるま式に増大し、ドリフトにつながる。現在、自己回帰モデルはtemperatureやnucleus samplingといったハック的手法でこれを緩和しているが、Diffusionはシーケンス全体を総合的に扱うことでこの問題を根本的に回避できる。

柔軟なプロンプティング

自己回帰モデルがプロンプトをプレフィックス(接頭辞)として期待するのに対し、Diffusion LLMsはプロンプトを任意の位置に配置できる。これは特定のユースケースをより自然に扱える。

例えば、PDFの欠落部分の補完、エッセイ中の段落の書き換え、コードブロックのリファクタリングといったタスクである。自己回帰モデルでもこれらは可能だが、文書の触れるべきでない部分まで再生成するという不格好な方法になる。CursorのようなAIコーディングツールは、おそらくLLM出力を既存コードの適切な位置に組み込むために多くの特別なロジックを必要としているだろう。Diffusion LLMsはこのプロセスを大幅に簡素化する可能性を秘めている。

連続から離散へ:実装アプローチの進化

Diffusionモデルは物理的な拡散現象、すなわち水中のインクが広がるような粒子の分散にインスパイアされている。これは本質的に連続的なプロセスである。画像の世界では、ピクセル強度も連続的であるため、この適用は比較的直感的だ。しかし言語は全く異なる性質を持つ。トークンは離散的であるだけでなく、それらの間に自然な順序も存在しないように見える。

この概念的なギャップを埋めるため、研究者たちは複数の実装アプローチを提案してきた。これらは「Diffusionがどの空間で動作するか」という観点で分類できる。

Latent Embedding空間でのDiffusion

画像とテキストの両方を、N次元の実数値ベクトル(潜在表現、Latent) にエンコードできる。これらは意味をキャプチャしながら、ピクセルやトークンを使用しない表現である。この空間の最初の2次元(x_0、x_1)を、確率地形のデータ軸と考えることができる。実際には地形はN次元だが、3Dプロットではすべてを視覚化できない。

この世界観では、データ生成のプロセスは、ノイズの谷から始まり、実際の画像やテキストに向かって丘を登る粒子に似ている。しかし課題は、旅の開始時点では確率地形が完全に平坦で、登るべき勾配が存在しないことだ。

一つの解決策は、丘を人為的に広げて、粒子が傾斜上に座るようにすることである。粒子が進むにつれて、地形の真の形状を徐々に復元できる。この動的な地形は、基本的に時間依存の確率分布 p_t(x) である。この量を学習しようとしており、Diffusionモデルは拡散する粒子のクラスタを使ってシミュレートする。

より正確には、実際の画像から離れて拡散する粒子をシミュレートすることが、訓練データを生成する方法となる。このプロセスは**Forward Diffusion(前方拡散)またはNoising(ノイズ付加)**と呼ばれる。なぜなら、前方パスは粒子を実データからノイズへと運ぶからだ。

Latent空間でDiffusionが起こる場合、直接ピクセルやトークンを摂動するのではなく、埋め込みを摂動する。推論時には逆のことを行う。ノイズの多い潜在表現から始めて、それをクリーンアップする。このプロセスはReverse Diffusion(逆拡散) と呼ばれ、粒子を丘の上へ移動させることと等価である。

最後に、デコーダがノイズ除去された潜在表現を元の空間(ピクセルまたはトークン)に変換する。画像の場合、これは多くの場合VAE(Variational Auto Encoder)デコーダであり、事前訓練された既製のモデルを使用できる。これは畳み込み層とアップサンプリング層で構成され、N次元の潜在表現を2次元のピクセル行列に変換する。

ここに皮肉がある。テキストの場合、デコーダは自己回帰的でなければならず 、潜在表現に条件付けられて左から右へトークンを生成する。つまり、DiffusionとAuto-Regressionの両方を活用するハイブリッドモデルとなる。このレシピは完全に有効であり、複数の論文がまさにこれを行っている。しかし、このハイブリッドアプローチはDiffusionが約束する品質向上のいくつかを満たすかもしれないが、左から右へのデコーダは欠点の一部も引き継ぐ。

Token Embedding空間でのDiffusion

シーケンス全体に対する単一の圧縮された潜在表現を持つ代わりに、トークン埋め込みを分離して保持し、各々に独立にForward Diffusionを適用できる。事実上、トークン境界を保持し、自己回帰デコーダの必要性を排除する。

推論時には同様に、各ノイズ化されたトークン埋め込みにReverse Diffusionを適用する。しかしここで厄介な問題が生じる。ノイズ除去されたトークン埋め込みをテキストトークンにマッピングし直す必要がある。Rounding(丸め) と呼ばれるこのプロセスは、自明ではないことが判明した。

語彙トークンの埋め込みは、広大な連続空間に存在する。ノイズ除去されたトークン埋め込みは、これらの語彙トークンのいずれとも正確には対応しない。最善の方法は最近傍を選ぶことだが、空間の疎らさを考えると、その隣接トークンは完全に任意的なものになりうる。このRoundingの困難さが、Token Embedding空間でのDiffusionが実用化に至らなかった理由である。

Text Token空間での直接Diffusion

最先端のモデルは、最初は直感に反するように聞こえるかもしれない解決策に収束した。テキストトークンを直接拡散させ、あらゆる数値表現を迂回する。

確率地形において、データ軸は今や語彙をホストしている。各目盛りはトークンに対応する。トークン間に自然な順序は存在しないことに注意してほしい。アルファベット順のソートでさえ、意味論的観点からは任意的である。

この2D平面は、長さ2のすべての可能なテキストシーケンスをエンコードしている。実際には、コンテキストウィンドウ内の各位置に対して1つずつ、数十万または数百万の次元を持つだろう。その巨大な超平面において、すべての可能な自然言語テキストに対して1つの離散点が存在する。

この空間の離散的な性質を考えると、確率地形はもはや滑らかなメッシュではない。スパイク状の地形に近い。それでも、スパイク全体にわたって何らかの傾斜を持つ丘の形状は見られる。トークンが自然に順序付けられていないことを考えると、最初はこのようなパターンの存在が直感に反するかもしれない。しかし超平面では、2つの隣接するテキストは1つのトークンだけが異なる。つまり、地形には何らかの局所性の概念がある。

連続空間と同様、データ生成は、実データを表す高いピークを探して地形をナビゲートする粒子として見ることができる。前回の動画では、微分方程式を使って連続画像空間を通る粒子の動きをモデル化した。しかしここでは、粒子はもはや滑らかなパスをたどらない。離散状態間のホップの連鎖であり、新しい数学的フレームワークが必要となる。

そのフレームワークがマルコフ連鎖(Markov Chains) として知られるものである。


マルコフ連鎖:離散的拡散プロセスの数学的基盤

Andrey Markovは、確率過程の研究を先駆けたロシアの数学者である。彼はAlbert EinsteinやNorbert Wienerと同じ時代に生き、彼らが拡散の理論的フレームワークを構築していた。マルコフ連鎖を使って、Forward DiffusionとReverse Diffusionの両方のプロセスをモデル化する。

Forward Diffusionから始めよう。この段階では、地形の真の確率 p は未知である。あるのは整形されたテキストのセットだけであり、それらを使って訓練パスをシミュレートする。これは実データの近傍からマーブルを落とすようなものである。

単一の粒子に注目すると、マルコフ連鎖はその状態から状態への移動を記述し、連鎖内の各位置に対して確率変数 x_t を使用する。一般的な確率モデルでは、遷移はある条件付き確率 q によって支配され、状態 x_t は過去の状態のシーケンス全体に依存する。しかしマルコフ連鎖では、この依存性が直前の状態 x_{t-1} だけに減少する。これがマルコフ性である。

これにより、各ステップでの動態を、遷移行列 Q_t を使って完全に記述できる。Q が時間依存であるという事実は、連続空間と同様に、確率分布の時間変動的な側面を尊重している。各エントリ ij は、時刻 t においてシステムが状態 i(例えばこのテキスト)から状態 j(例えば別のテキスト)へ移動する確率である。

しかしここに問題がある。この遷移行列のサイズは、すべての可能な自然言語テキストの数の2乗である。完全に扱いきれない。この問題を回避するため、簡略化の仮定を行える。トークンは互いに独立して破損される。これは画像Diffusionで各ピクセルが独立にノイズ化されるのと似ている。

結果として、完全なシーケンスに対する1つの巨大な行列の代わりに、個々のトークンに対する遷移行列だけが必要となり、そのサイズは語彙の2乗となる。以前よりはるかに小さいが、それでも大きい。10万トークンの語彙なら、Qは100億のエントリを持つことになる。

初期の解決策の1つは、D3PM論文から来ており、文字レベルのDiffusionモデルを構築することでこれに取り組んだ。文字の語彙はわずか数百のシンボルしかないため、完全なQ行列を保存して直接使用できた。D3PMのある実験では、各エントリ Q_ij を、埋め込み空間における文字 i と j の類似度を使って定義した。しかし、文字レベルでの言語モデリングは品質のボトルネックとなることが判明し、このアプローチは実用化に至らなかった。

大きな遷移行列を扱う別の方法は、それらを全く表現せず、代わりに破損のクローズドフォームのルールを定義することである。これもD3PMからのシンプルなものを示す:

トークンは確率 1 - β_t で変更されず、それ以外の場合は語彙から一様にランダムに抽選されたトークンで置き換えられる。

この定式化では、純粋なノイズはギブリッシュのように見える。しかし、多くの現代的なDiffusion LLMsは、特別なマスクトークンに基づくわずかに異なるアプローチを使用している。これは、トークンが同じままであるか、マスクで置き換えられることを意味する。「dog」から「cat」への直接遷移はなく、「dog」から「mask」への遷移だけである。したがって、この設定では純粋なノイズは完全にマスクアウトされたシーケンスとなる。

β_t はノイズスケジュールを制御することを覚えておいてほしい。βがゼロのとき、すべてのトークンは変更されない。βが1のとき、シーケンス全体が破損される。言語では、時間とともに破損を徐々に増加させる線形スケジュールを使用するのが一般的である。

次の疑問は、破損されたテキストから整形されたテキストへどうやって逆方向に進むかを学習するかである。理想的には、時間の矢印を反転させて逆条件付き確率を使うだけだが、もちろんこの条件付き確率はわからない。Diffusionモデルの全体のポイントはそれを学習することだ。

しかし少しズルができる。訓練中は、元の破損されていないテキスト x_0 にアクセスできる。それを追加で条件付けすれば、時間を遡るクローズドフォームの表現を得られる。D3PM論文に直接的な数学的導出があり、動画の説明にリンクする。

この計算可能な条件付き確率は、パラメータ θ を持つモデル p がどう時間を遡るかを学習する際のラベルとして機能できる。これは標準的な教師あり学習問題となり、2つの確率分布間の距離を最小化する必要がある。様々な論文が、KLダイバージェンス、クロスエントロピー、Evidence Lower Bound(ELBO)の観点で様々な損失関数を定義している。

論文詳解:D3PMとLLaDA

Text Diffusionモデルのトレーニングと推論がどのように機能するかを具体的に理解するため、今年初めに発表されたLLaDAを見ていこう。以下の3つのステージがモデルのライフサイクルにある:事前訓練(Pre-training)指示ファインチューニング(Instruction Fine-tuning)サンプリング(Sampling)

D3PM:文字レベルDiffusionの先駆的研究

D3PM(Discrete Denoising Diffusion Probabilistic Models)は、離散的なテキストデータに対するDiffusionモデルの先駆的な研究である。この論文の主要な貢献は、連続的な画像空間で成功していたDiffusionモデルを、離散的なトークン空間にどう適応させるかを示したことだ。

D3PMは文字レベルでのモデリングを採用することで、遷移行列のサイズを実用的な範囲に抑えた。文字の語彙は数百程度であるため、完全な遷移行列を保存し、直接使用することが可能だった。ある実験では、埋め込み空間における文字間の類似度を使って遷移確率を定義し、意味的に近い文字への遷移を優先するアプローチを取った。

しかし、文字レベルのモデリングは表現力の限界により、最終的な品質のボトルネックとなった。現代の大規模言語モデルがサブワードトークンやBPE(Byte Pair Encoding)を使用するのは、文字レベルでは長距離依存関係の学習が困難だからである。このため、D3PMのアプローチは実用的なLLMへとスケールしなかった。

LLaDA:実用的なText Diffusion LLM

LLaDAは、より実用的なアプローチを採用している。以下のプロセスを詳しく見ていこう。

事前訓練では、汎用的なテキストから始め、その一部をマスクし、マスクを予測する。興味深いことに、ゼロから1の間で単一のノイズレベルをランダムに選択する。論文では変数 t を時間として使っているが、実際には β_t(ノイズ)を意味している。時間とノイズを混同するのは、Diffusion論文で一般的だが混乱を招く慣習である。

単一のノイズレベルを選択することは、訓練を非効率にする。この例では8トークン中2つしか予測していないため、残りの6つは機会損失となる。対照的に、自己回帰モデルなら単一の訓練フォワードパスで8トークンすべてを予測していただろう。別の論文では、Diffusionモデルが同じ検証損失を達成するのに16倍の訓練計算量を必要とすることが示されている。したがって皮肉なことに、Diffusionは推論を高速化するが、訓練を遅くする。

この事前訓練戦略は、最初期のLLMエンコーダの1つであるBERTを思い起こさせるかもしれない。同様に、BERTは入力トークンの一部をマスクして予測した。違いは、固定されたノイズレベル(15%)のみを使用したことだ。したがって、ある意味でBERTは単一ステップのDiffusionモデルだった。

指示ファインチューニングでは、プロンプトとレスポンスを連結する。重要なのは、トークンがマスクされて予測されるのはレスポンスのみであることだ。モデルからプロンプトを隠す理由はない。

サンプリングは複数の反復で進行する。レスポンスは、ノイズレベルが1のとき最初は完全にマスクされ、ノイズレベルがゼロのとき最終的に完全に明らかにされる。複数の中間ステップの1つで、一定数のマスクから始めて、それらを予測する。

ここで興味深い点がある。次のステップの準備のため、LLaDAはトークンのサブセットを再マスクする。その理由は、モデルが通常のトークンを別の通常のトークンに交換する方法を知らないからだ。覚えておいてほしいが、「dog」は「cat」に変わることができない。マスクだけができる。そして無限ループを避けるため、前回の反復よりも少ないトークンを再マスクするようにしている。

これがLLaDAのトレーニングと推論の方法である。もちろん、すべての論文がまったく同じ方法論に従うわけではないが、これはエンドツーエンドの堅実な直感を提供するはずだ。


現在のパフォーマンスと今後の展望

現在、Text Diffusionモデルはどの程度機能しているのだろうか。結論から言えば、特にコーディングタスクにおいて競争力を持ち始めている。速度が重要なこの領域で、その優位性が際立つ。

Inception Labsが開発したMercury CoderというDiffusionモデルは、GPT-4o-miniと同等のパフォーマンスを、ほぼ10倍の速度で達成している。もちろん、これはまだ最先端とは言えないが、実用に足るレベルである。そして注目すべきことに、Fill-in-the-Middle(中間補完)タスクでは、同規模の自己回帰モデルを大幅に上回っている。Mercury Coderは公式プレイグラウンドで試すことができ、最近リリースされたパブリックAPIを呼び出すことも可能だ。

ByteDanceのSeed Diffusionも、コーディングタスクで良好なパフォーマンスを示している。Qwen 2.5にはまだ及ばないが、十分に近い水準にある。

これらの結果は、Text Diffusionが単なる学術的好奇心ではなく、実用的な技術として成熟しつつあることを示している。特にレイテンシに敏感なアプリケーション、すなわちリアルタイムのコード補完やインタラクティブなAIアシスタントにおいて、10倍の速度向上は決定的な優位性となりうる。

しかし課題も残されている。訓練効率の低さは実用化の大きな障壁であり、より効率的な訓練手法の開発が求められている。また、一般的な言語タスクにおける品質の一貫性も、さらなる改善の余地がある。

今後の研究の方向性として、Stanfordの論文が提案した「離散勾配」の概念は非常に興味深い。彼らは、2つの隣接するスパイク間の確率の比として離散勾配を定義した。これは画像Diffusionにおける勾配の概念を離散空間に拡張する試みであり、Text Diffusionのさらなる理論的発展につながる可能性がある。

まとめ

Text Diffusionは、LLMの新しいパラダイムとして着実に進化している。GPTやClaudeといった自己回帰モデルが1トークンずつ予測するのに対し、Diffusionモデルは全体のレスポンスをドラフトして段階的に洗練させるという根本的に異なるアプローチを取る。

この技術の最大の魅力は、推論速度の10倍向上という実測された成果である。ByteDanceの研究では、H20 GPU上で1,000~2,000トークン/秒という、従来の自己回帰モデル(約200トークン/秒)を大きく上回る速度を達成している。これはLLMプロバイダーにとって劇的なコスト削減を意味し、ユーザーにとってはより快適なインタラクションを実現する。

実装面では、連続的な物理現象を離散的なトークン空間に適用するという困難な課題を、マルコフ連鎖という数学的フレームワークを用いて解決した。Latent Embedding空間、Token Embedding空間、そしてText Token空間という3つのアプローチが提案されたが、最終的にText Token空間での直接Diffusionが主流となった。特別なマスクトークンを使用し、トークンを確率的にマスクまたは維持する手法が、実用的なバランスを達成している。

D3PMとLLaDAという2つの重要な論文は、この分野の進化を象徴している。D3PMは文字レベルでの先駆的な研究を行い、LLaDAは実用的なサブワードトークンレベルでの実装を示した。LLaDAの事前訓練、指示ファインチューニング、サンプリングという3ステージのアプローチは、Text Diffusionモデルの標準的なパイプラインとなりつつある。

現在、Mercury CoderやSeed Diffusionといったモデルが、特にコーディングタスクで実用的なパフォーマンスを示している。Mercury CoderはGPT-4o-miniと同等の性能を10倍の速度で達成し、Fill-in-the-Middleタスクでは自己回帰モデルを凌駕している。

しかし課題も残されている。訓練効率は自己回帰モデルと比較して16倍の計算量を必要とし、一般的な言語タスクでの品質の一貫性にも改善の余地がある。それでも、Text Diffusionは単なる学術的好奇心を超え、実用的な技術として成熟しつつある。特にレイテンシに敏感なアプリケーションにおいて、その優位性は今後さらに顕著になるだろう。

LLMの未来は、自己回帰とDiffusionの2つのパラダイムが共存し、それぞれのタスクに最適なアプローチが選択される世界かもしれない。あるいは、両者の長所を融合した新しいハイブリッドアーキテクチャが登場する可能性もある。いずれにせよ、Text Diffusionは言語AIの進化における重要なマイルストーンとして、その地位を確立しつつあるのは確かだ。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?