motpod
Dwarkesh Podcast · 2026年5月21日

Reiner Pope – LLMの学習と推論の背後にある数学

AI generated article / ja / study
この記事でわかること
  • 本エピソードは、AI研究者でチップスタートアップMatXのCEOであるReiner Popeを迎え、フロンティアLLMのトレーニングと推論の背後にある数学を、黒板を用いた...
  • [0:00] バッチサイズがトークンコストと速度に与える影響 推論のレイテンシとコストを理解するための基本は、ルーフライン分析(roofline analysis)である...
  • 計算時間(t_compute)はバッチサイズに比例して増加する。一方、メモリ時間は、重みのフェッチ(weight fetch)というバッチサイズに依存しない固定費と、KV...
こんな人向け

自分では見つけにくい海外Podcastの話題に、日本語で気軽に触れたい人。

出典Podcast

Dwarkesh Podcast / Dwarkesh Patel

Read
Open episodeFind more episodes

本エピソードは、AI研究者でチップスタートアップMatXのCEOであるReiner Popeを迎え、フロンティアLLMのトレーニングと推論の背後にある数学を、黒板を用いた講義形式で深く掘り下げたものである。ホストのDwarkesh Patelは、API価格や公開情報から、AIラボが実際に行っていることの驚くべき詳細を演繹できることを示す。議論は、バッチサイズとレイテンシのトレードオフ、Mixture-of-Experts(MoE)モデルのGPUラックへの配置、パイプライン並列化の実際的な利点と限界、そして強化学習(RL)がモデルの過学習(overtraining)に与える影響へと及ぶ。さらに、API価格から推論されるKVキャッシュのメモリ階層や、ニューラルネットワークと暗号技術の間の収束進化についても考察する。このエピソードの核心は、単なる理論ではなく、実際のシステム設計と経済性を支配する物理的・数学的制約を理解することの重要性にある。

0:00バッチサイズがトークンコストと速度に与える影響

推論のレイテンシとコストを理解するための基本は、ルーフライン分析(roofline analysis)である。これは、チップのメモリ帯域幅と計算性能という二つのハードウェア制約に着目する。推論の1ステップにかかる時間は、モデルの重みをメモリからフェッチする時間と、アクティブなパラメータに対する行列乗算を行う計算時間のうち、少なくともどちらか大きい方によって決まる。ここで重要なのは、バッチサイズ(同時に処理するユーザーリクエスト数)がこれらの時間に異なる影響を与える点だ。

計算時間(t_compute)はバッチサイズに比例して増加する。一方、メモリ時間は、重みのフェッチ(weight fetch)というバッチサイズに依存しない固定費と、KVキャッシュのフェッチ(KV fetch)というバッチサイズに比例する可変費からなる。この結果、レイテンシはバッチサイズに対して、ある下限値に向かって減少する曲線を描く。この下限値は、単一のチップが持つメモリ帯域幅の限界、つまり全重みを読み込むのに必要な時間によって決まる。これが、あるハードウェア構成におけるレイテンシの理論的な下限となる。

コスト(トークンあたりのコスト)の観点では、状況はさらに明確になる。バッチサイズが1の場合、重みのフェッチコストが1つのトークンにしか分散されないため、コストは極めて高くなる。バッチサイズを増やすにつれて、この固定費は多くのトークンに償却され、コストは劇的に低下する。最終的には、計算時間が支配的になる領域に達し、そこがコストの下限となる。つまり、高速な応答を求めるならバッチサイズを小さく、低コストを求めるならバッチサイズを大きくするという、レイテンシとコストの間に本質的なトレードオフが存在する。

Popeは、このトレードオフのバランス点を具体的に計算する。計算時間とメモリ時間(特に重みフェッチ)が等しくなる条件を解くと、最適なバッチサイズはハードウェアの特性値(約300)とモデルのスパーシティ(活性化パラメータの割合)の積で近似できることを示す。例えば、DeepSeek V3のように256のエキスパートのうち32を活性化するモデル(スパーシティ比8)の場合、最適バッチサイズは約2,400トークン(約300×8)となる。これは、同時に約2,000のユニークなシーケンスを処理することに相当し、この程度の同時ユーザー数があれば、経済的に効率的な推論が可能になることを示唆する。

0:32:09MoEモデルのGPUラックへの配置

Mixture-of-Experts(MoE)層は、複数のエキスパート(フィードフォワードネットワーク)を持ち、ルーターが各トークンを少数のエキスパートに振り分ける。この構造をGPUラックにマッピングする標準的な方法は「エキスパート並列化(expert parallelism)」である。これは、異なるエキスパートを異なるGPUに配置する手法で、例えば256のエキスパートを持つモデルを72台のGPU(Blackwell NVL72ラック)で実行する場合、1GPUあたり約4つのエキスパートが割り当てられる。

この配置における重要な課題は通信である。トークンはルーターによって任意のGPU上のエキスパートに送られるため、GPU間の通信パターンは「オールトゥオール(all-to-all)」となる。つまり、すべてのGPUが他のすべてのGPUと通信する可能性がある。NvidiaのBlackwellラックでは、GPUはラック内のNVSwitchと呼ばれる高速スイッチに接続されており、このオールトゥオール通信を低レイテンシで実現できる。これが、MoEモデルにとって理想的な通信トポロジーである。

しかし、この理想的な通信は単一のラック内に限定される。ラック間の通信は、スケールアウトネットワークと呼ばれる、はるかに低速(約8分の1の帯域幅)な接続に依存する。そのため、MoE層を複数のラックにまたがって配置しようとすると、ラック間を通過するトークンの通信が深刻なボトルネックとなる。これが、MoEモデルのエキスパート層のサイズが、事実上単一のスケールアップドメイン(ラック)のサイズによって制限される理由である。

この制約は、より大きなスケールアップドメインへの移行を推進する原動力となっている。Nvidiaは、Hopper世代(8 GPU)からBlackwell世代(72 GPU)、そして次世代Rubin(500 GPU以上)へと、ラック内のGPU数を劇的に増やしている。この進化は、単なる製品設計の変更(トレイからラックへ)だけでなく、ケーブル配線の物理的制約(コネクタ密度、曲げ半径、重量、冷却)との戦いの結果である。より多くのGPUを単一の高速ドメインに収容することで、MoEモデルの性能を最大限に引き出すことができる。

0:47:12パイプラインモデル層をラック間で分散する方法

MoE層がエキスパート並列化によって単一ラック内に収められる一方で、モデル全体の層(レイヤー)は「パイプライン並列化(pipeline parallelism)」によって複数のラックに分散できる。これは、モデルの異なる層を異なるラックに割り当て、データがラック1→ラック2→ラック3と順次処理されるようにする手法である。この方法の利点は、各ラックがモデルの一部の重みだけを保持すればよいため、メモリ容量の制約を緩和できることにある。

パイプライン並列化が通信ボトルネックにならないかは、スケールアップ通信(ラック内)とスケールアウト通信(ラック間)のデータ量を比較することで評価できる。ラック間では、ある層の出力(アクティベーション)のみが次のラックに送られる。一方、ラック内のMoE層では、1つのトークンが複数のエキスパートにルーティングされるため、通信量が大幅に増加する。Popeの分析によれば、活性化されるエキスパート数や1ステージあたりの層数が十分に大きければ、ラック間の通信はボトルネックになりにくい。つまり、パイプライン並列化は、スケールアップネットワークの貴重な帯域幅を節約しながら、モデルを複数ラックに拡張する現実的な方法である。

しかし、パイプライン並列化には「バブル(pipeline bubble)」と呼ばれる本質的な非効率性が存在する。これは、パイプラインの最初と最後のステージで、他のステージが処理を待っている間に発生するアイドル時間である。トレーニングにおいては、このバブルを避けるために「マイクロバッチ(micro-batching)」という手法が用いられる。これは、1つの大きなバッチを複数の小さなマイクロバッチに分割し、パイプラインに連続して流し込むことで、すべてのステージを常に稼働させようとするものだ。

このマイクロバッチ戦略は、メモリ使用量に興味深い影響を与える。パイプラインのステージ数(P)を増やすと、モデルの重みを格納するためのメモリはP分の1に減少する。しかし、KVキャッシュのメモリ使用量は、パイプライン内で同時に処理されるシーケンス数が増加するため、Pに比例して増加する。結果として、これらは相殺され、パイプライン並列化はKVキャッシュのメモリ削減には効果がない。このため、実際の推論では、エキスパート並列化が主流であり、パイプライン並列化は重みのメモリ容量が問題になる場合に限り、最小限(例えば2ステージ)使用されるに過ぎない。

1:03:37Ilyaが「パイプライン化は賢明ではない」と言った理由

Ilya Sutskeverが「今日、我々はパイプライン並列化を行うべきではないことを知っている」と述べた背景には、パイプライン並列化がもたらすアーキテクチャ上の制約と、その恩恵の限界がある。パイプライン並列化の主な利点はメモリ容量の節約だが、現代のGPUラックは非常に大きなメモリ(Blackwellラックで10テラバイト以上)を搭載しており、1兆パラメータモデルでさえ1テラバイト程度であるため、その必要性は低下している。つまり、メモリ容量はすでに十分に豊富であり、パイプライン化の複雑さを正当化するほどのメリットがない。

さらに、パイプライン並列化はモデルアーキテクチャに制約を課す。例えば、Kimiのようなモデルが採用する「2層前への残差接続」のような構造は、層が異なるラックに分割されると実装が困難になる。また、トレーニングにおいては、パイプラインのバブルを避けるためのマイクロバッチ戦略が、勾配の蓄積やバッチサイズの最適化を複雑にする。これらの複雑さは、システムエンジニアリングの観点から大きな負担となる。

パイプライン並列化がレイテンシや計算時間そのものを改善するわけではない点も重要である。単にメモリ使用量をあるラックから別のラックに移しているに過ぎず、ランタイム自体に直接的な利益はない。Popeは、推論においてパイプライン化を行っても、すべてを1つのラックで実行した場合とレイテンシは変わらないと指摘する。つまり、パイプライン並列化は、メモリ容量が絶対的に不足している特殊な状況を除けば、その複雑さに見合うだけの価値を提供しない。

スケールアップドメインのサイズが重要なのは、メモリ容量ではなく「メモリ帯域幅」にある。大きなスケールアップドメインは、多数のGPUが並列に重みをロードすることを可能にし、実効メモリ帯域幅を劇的に向上させる。これにより、モデルの実行レイテンシが直接的に改善される。HopperからBlackwellへの移行でスケールアップサイズが8倍になったことは、メモリ帯域幅の大幅な向上をもたらし、より長いコンテキスト長の処理や、より低レイテンシな推論を実現する鍵となった。

1:18:59RLにより、モデルはChinchilla最適値を100倍超えて過学習される可能性

Chinchillaのスケーリング則は、与えられた計算予算に対して最適なモデルサイズとトレーニングデータ量の比率を示す。しかし、実際のAIラボは、トレーニング後の推論コストも考慮する。より小さなモデルをより多くのデータでトレーニング(過学習)すれば、推論時の計算コストを削減できる。このトレードオフを最適化するための一般的なヒューリスティックは、トレーニングコストと推論コストを等しくすることである。

ここに強化学習(RL)が加わると、状況はさらに複雑になる。RLでは、モデルが推論(生成)を行い、その結果に対してトレーニング(学習)を行う。このプロセスは、純粋な事前学習よりも計算効率が悪い。なぜなら、生成(フォワードパス)は学習(フォワード+バックワードパス)よりも計算量が少ない(2対6)が、RLでは生成されたすべてのデータに対して学習が行われるとは限らないからだ。Popeは、この非効率性を考慮に入れ、トレーニングコスト(事前学習+RL)と推論コストが等しくなる条件を分析する。

この分析から導かれる驚くべき結論は、モデルが消費する総推論トークン数は、事前学習に使用されたトークン数と同程度になるべきだという点である。つまり、あるモデル(例えばGPT-5)がそのライフサイクル中にユーザーから受け取る総トークン数は、そのモデルを事前学習するために使われた総トークン数(これは「全人類の知識の総和」に例えられる)に匹敵する。Popeは、具体的な数値を用いてこのスケールを推定する。

仮に、あるフロンティアモデルが1秒間に5,000万トークンを処理し、2ヶ月間デプロイされるとする。この場合、総推論トークン数は約260兆トークンに達する。一方、Chinchilla最適なトークン数は、アクティブパラメータ数が1,000億の場合、約2兆トークンである。この差は実に100倍以上であり、モデルがChinchilla最適値をはるかに超えて過学習されていることを示唆する。この計算は、APIのトラフィックパターンやモデルのデプロイ期間といった公開情報から、AIラボの内部戦略(事前学習データ量)を逆算できる可能性を示す、強力なフレームワークである。

1:33:02API価格から長期コンテキストのメモリコストを推測する

APIの価格体系は、AIラボが直面するハードウェアの制約を如実に反映している。例えば、Gemini 1.5 Proが200Kトークンを超えるコンテキストで50%高い料金を設定しているのは、コンテキスト長の増加に伴うメモリ帯域幅コストの上昇を反映している。Popeは、この価格設定の転換点(200Kトークン)が、計算時間とメモリ時間(特にKVキャッシュのフェッチ時間)が等しくなるバランス点と一致することを示す。

このバランス点から、KVキャッシュの1トークンあたりのバイト数を逆算できる。Popeの計算によると、その値は約2KBとなる。これは、モデルが8つのKVヘッドと128のヘッド次元を持つ場合や、スパースアテンションを採用している場合に妥当な数値である。つまり、API価格は、モデルのアーキテクチャに関する内部情報(アテンションヘッドの構成やスパース性)を外部に漏らしている可能性がある。

さらに、入力(プロンプト)と出力(生成)の価格差(出力が3~5倍高価)は、デコード処理がメモリ帯域幅に強く制約されていることを示す。プロンプト処理(プリフィル)は多くのトークンを並列に処理できるため、メモリ帯域幅の制約を受けにくく、トークンあたりのコストが低くなる。一方、デコードは逐次的に1トークンずつ生成するため、毎回重みとKVキャッシュをメモリから読み込む必要があり、メモリ帯域幅が律速となる。この価格差は、デコード時のメモリ帯域幅のボトルネックの深刻さを物語っている。

キャッシュヒットの価格が極めて低い(例えば10分の1)ことも、メモリ階層の存在を示唆する。KVキャッシュをHBMに保持し続けるコストと、キャッシュミス時に再計算(リマテリアライゼーション)するコストを比較することで、最適な保存期間が決まる。Popeは、5分間のキャッシュ保持と1時間のキャッシュ保持の価格差から、それぞれがフラッシュストレージとスピニングディスク(HDD)という異なるメモリ階層に対応している可能性を指摘する。この分析は、API価格という表面データから、裏側の複雑なインフラストラクチャとコスト構造を読み解くことができる好例である。

2:04:02ニューラルネットと暗号技術の収束進化

ニューラルネットワークと暗号技術(特にブロック暗号)は、一見すると全く異なる目的を持つが、その内部構造には驚くべき類似点がある。両者とも、入力情報を攪拌(mixing)し、出力を入力のすべての部分に依存させる「アバランシェ効果(avalanche effect)」を利用する。暗号は構造化された情報をランダムに見せかけるために、ニューラルネットはランダムに見えるデータから構造を抽出するために、この攪拌メカニズムを採用している。

この類似性は、暗号技術で開発された構成要素がニューラルネットワークに応用された例にも見られる。その代表が「Feistelネットワーク(Feistel cipher)」である。Feistelネットワークは、任意の非可逆関数Fを用いて可逆な変換を構築する巧妙な方法であり、多くの暗号で利用されている。このアイデアは、2017-2018年の「RevNet(Reversible Network)」という論文でニューラルネットワークに導入された。RevNetは、各層をFeistel構造にすることで、ネットワーク全体を可逆にした。

可逆なニューラルネットワークの最大の利点は、トレーニング中のメモリ使用量を削減できることにある。通常のトレーニングでは、バックワードパスで勾配を計算するために、フォワードパスの中間活性化(activations)をすべてメモリに保存しておく必要があり、これが最大のメモリ消費源となる。RevNetでは、ネットワークが可逆であるため、中間活性化を保存する代わりに、バックワードパス中にフォワードパスを逆方向に再計算(リマテリアライズ)できる。これにより、計算量を増やす代わりに、メモリ使用量を大幅に削減できる。

この「計算とメモリのトレードオフ」は、KVキャッシュの文脈とは逆の関係にある。KVキャッシュはメモリを使って計算を節約するのに対し、RevNetは計算を使ってメモリを節約する。Popeは、現在のハードウェア事情では、メモリを消費して計算を節約する戦略(KVキャッシュ)が一般的に有利であると指摘する。しかし、このような暗号技術とニューラルネットワークの間のアイデアの相互交流は、両分野の深い結びつきを示しており、将来的なブレークスルーの可能性を秘めている。

結びに

このエピソードが聴き手に残すものは、AIシステムを理解するための「物理的・数学的レンズ」である。単なるモデルアーキテクチャの話ではなく、それが実際のハードウェア上でどのように動作し、コストやレイテンシといった現実世界の制約とどのように折り合いをつけているのかを、具体的な数式と図解で示した点が極めて貴重である。バッチサイズ、メモリ帯域幅、スパーシティ、並列化戦略といった要素が複雑に絡み合い、APIの価格やモデルの性能を決定づけているという洞察は、AI業界の現状を深く理解するための基盤となる。

特に印象的なのは、公開情報から内部の戦略を演繹できるという点だ。API価格のわずかな差から、モデルのアーキテクチャやメモリ階層、さらにはトレーニングデータの規模までもが推測可能であるという事実は、この分野の競争が極めて透明性の高い原理に基づいて行われていることを示している。Reiner Popeの明晰な解説は、複雑なシステムをシンプルな原理で理解する喜びを与えてくれる。このエピソードは、AIの進化を「魔法」ではなく「エンジニアリング」として捉え直すための、強力な知的ツールキットを提供する。

要点

  • 推論のレイテンシとコストのトレードオフは、バッチサイズによって決まる。バッチサイズが小さいとレイテンシは低いがコストは高く、バッチサイズが大きいとコストは低いがレイテンシは高くなる。
  • 最適なバッチサイズは、ハードウェアの特性値(約300)とモデルのスパーシティ(活性化パラメータの割合)の積で近似できる。例えば、DeepSeek V3のようなモデルでは約2,400トークンとなる。
  • MoEモデルは、エキスパート並列化によって単一のGPUラック内に配置するのが理想的である。ラック間の通信はスケールアウトネットワークの帯域幅がボトルネックとなるため、ラックをまたぐ配置は避けられる。
  • パイプライン並列化はメモリ容量の節約には有効だが、KVキャッシュのメモリ削減には効果がなく、その複雑さに見合うメリットは少ない。特に推論では、エキスパート並列化が主流である。
  • 強化学習(RL)の登場により、モデルはChinchilla最適値を100倍以上超えて過学習される可能性がある。総推論トークン数と事前学習トークン数が同程度になるまで過学習するのが、コスト最適化のヒューリスティックである。
  • APIの価格体系(コンテキスト長による価格差、入出力の価格差、キャッシュヒットの割引)は、モデルのアーキテクチャ(KVヘッド数、スパース性)やメモリ階層(HBM、フラッシュ、HDD)に関する内部情報を漏洩している。
  • ニューラルネットワークと暗号技術は、情報を攪拌するという共通のメカニズムを持ち、Feistelネットワークのようなアイデアが相互に応用されている。RevNetは、計算量を増やす代わりにメモリ使用量を削減する可逆ネットワークの一例である。
Reiner Pope – LLMの学習と推論の背後にある数学 | Dwarkesh Podcast | motpod | motpod