こんにちは、㈱MMOLにて、AI & ロボティクス インプリメンターをしている三木です。
「Created to Create」への投稿は6回目、こちらの「つかう、つくる」マガジンへの投稿は5回目となります。
今日は、2026年3月24日にGoogleより開発者向けブログ記事で紹介されていた、ハードウェアとソフトウェアを一体とした「Ironwood TPU のアーキテクチャ」を題材に、AI開発競争の本質に迫ってみたいと思います。
https://cloud.google.com/blog/products/compute/training-large-models-on-ironwood-tpus/?hl=en
本記事の関連記事として、以前に「AI技術の開発動向について考察(ハード、ソフト 2軸での発展)」を書いています。
ハードにおけるNVIDIAのGPUとGoogleのTPUの動向、ソフトにおける低ビット量子化(BitNet b1.58)について触れていますので、よろしければ併せてお読みいただけると嬉しいです。
https://note.com/daisuke_24/n/na8c8150bf58c
今回は、その続編的な位置づけとなります。
はじめに
ChatGPT、Gemini、Claudeをはじめとした生成AIの進化は、すでに多くの方が実感されている通り、極めて急速に進んでいます。
私自身は電気電子工学(電波工学、環境電磁工学)を専門とし、前職では18年余り、鉄道の信号通信技術者として取り組んできました。
アカデミック領域での研究と、産業領域での開発。フェーズは異なりますが、新しいモノや手法を確立する上で求められる本質は共通しています。
それは、
👉 「理論計算・数値解析」と「実験・計測」との比較
👉 そして、そこで生じる「差異・不確かさ」の定量評価
です。
この「差異・不確かさ」が許容範囲内と判断できるかどうかが、その先の実証フェーズに進めるかどうかの分岐点となります。
すなわち、新規性のあるアイディアに対して、信頼性と再現性が認められるかどうかです。
研究室内での測定や計算機上での数値計算は、ある意味で理想化された「単純系の世界」です。
一方で、鉄道のような実環境における測定は、あらゆる要素が複合的に絡み合う「複雑系の世界」です。
私たちが実際に向き合っているのは、もちろん後者です。
それでもなお、「理論計算・数値解析」の世界では計算精度が厳密に問われ、単精度(FP32)、倍精度(FP64)といった数値表現形式を意識する場面がありました。
その記憶とリンクする形で、今回接したGoogleの「Ironwood TPU」のアーキテクチャでは、
👉 ネイティブFP8により、BF16相当の精度を維持しながら、スループットを2倍に向上
という設計が実現されています。
FP64、FP32、BF16、FP16、FP8、INT8、さらには1.58bit({-1, 0, 1})といった極端な量子化まで。
これらはすべて「数値表現形式」です。
本記事では、AI開発競争の本質を、これらの数値表現にまで分解しながら考察していきます。
Googleの当該ブログ記事に登場する、
FP8、Dense/Sparse、MoE、Tensor、内積、softmax、CUDA、TPU…。
といった要素は、一見するとバラバラに見えます。
しかしこれらは、すべて「どの計算を、どの精度で、どこで、どう実行するか」という「計算の設計」によって統合されていることが見えてきます。
AIの開発競争では何を最適化しているのか?
AIの進化は、単なるモデルの巨大化ではなく、「計算の設計」をどこまで最適化できるかという競争に変化していると感じます。
AIの設計を分解すると、以下のような多層構造として捉えることができます。
●計算アルゴリズム上、どのデータ構造をとるか(index、軸の観点より)
・スカラー:点(単一の値)として捉えられる(0次元配列、0階テンソル)
・ベクトル:線として広がる(1次元配列、1階テンソル)
・行列:行方向と列方向へ面として広がる(2次元配列、2階テンソル)
・テンソル:多次元方向へ空間として広がる(n次元配列、n階テンソル)
●「次元」の意味合いの違いを区別できているか
・関数の入力変数の数
・ベクトルの要素の数(特徴量の数)
・テンソルのshape(軸、index)の数(データの形・構造)
●どの計算構造を採用するか
・Dense(密)
・Sparse(疎)
●Sparseを採用する場合
・行列要素単位の静的・固定Sparse(プルーニング)
・エキスパート単位の動的・構造的Sparse(MoEの経路選定)
●どのアーキテクチャで実装するか
(現在の主流であるTransformerモデル(Attention機構)を前提)
・単一AIエージェント
・MoE(Mixture of Experts)
・MoA(Mixture of Agents)
・MAS(Multi Agent System)
・Agentic AI
●どの数値精度で
・FP64
・FP32
・BF16
・FP16
・FP8
・INT8
●どの環境で
・クラウド
・ローカル
・エッジ
・フィジカル
●どの計算過程で
・学習過程(Training)
順伝播(forward):出力計算
逆伝播(backward):誤差伝播・重み更新
・推論過程(Inference)
順伝播(forward):出力計算
●どう速く
・GPU
・TPU
・メモリ最適化(VMEM / HBM / データ配置)
●どう意思決定(スコア計算)
・内積 + softmax:強さ+方向
TransformerのAttention機構
MoEのゲーティング(経路選定)
・コサイン類似度:方向のみ
RAGの検索・情報選定
・ユークリッド距離:差の大きさのみ
クラスタリング
異常検知
特に数値精度は、数値解析では「正しさ」であり高めるものですが、AIでは「設計対象(設計パラメータ)」であり「精度 × 計算量」の最適バランスを見出すものになっていると言えます。
もちろん数値解析でも計算量は考慮されますが、計算値は絶対データであるため、精度が厳密に問われやすいです。しかし、AIでは計算値は絶対データとしての正確性よりも、相対的な関係性や分布として扱われるため、個々の数値の厳密性は必ずしも最優先とはならない場合が多いです。
これが数値解析とAI、それぞれの精度に対する考え方の違いに繋がっていると思います。
AIを「計算の設計」として捉える
ここまで整理してくると、AIというものの見え方が少し変わってきます。
従来は、
・モデルが大きくなった
・パラメータが増えた
・精度が上がった
といった「結果」に注目しがちでした。
しかし、その内側では「何をどのように計算するかという設計が変化していること」が本質だと考えられます。
Dense(密)からSparse(疎)へ
その象徴が、Dense(密)からSparse(疎)への流れです。
従来のDenseモデルでは、「すべてのパラメータを毎回使う」という設計でした。
一方でMoEでは、Sparse(疎)の概念が採用されています。但し、一般的な行列要素単位の静的な固定Sparseではなく、「 必要なエキスパートのみを動的に選択(経路選定)する」という動的・構造的Sparseをとります。(fig.1 参照)
MoEのSparseは、テンソルや行列の要素単位のプルーニングではないということです。
これは単なる軽量化ではありません。
モデルの「規模」と「実際の計算量」を分離する設計であり、大規模化のボトルネックを突破する重要な考え方だと思います。
つまり、「計算を減らす」のではなく「計算を選ぶ」設計への転換であると捉えることができます。
Attention機構とMoEの統一的理解
「各LLMの内部を構成するTransformerモデルのAttention機構」と「MoEのゲーティングネットワークで行われる経路選定」が同じ計算構造を持っていることが見えてきました。
●TransformerモデルのAttention機構
・内積(強さ+方向) → スコア(理論上 -♾️〜♾️の値をとる)
・softmax → 重み(総和が1となる確率分布)
・加重平均 → 出力
●MoEのゲーティングネットワークで行われる経路選定
・内積(強さ+方向) → スコア(理論上 -♾️〜♾️の値をとる)
・softmax → 選択確率(総和が1となる確率分布)
・Top-k → 経路選択
両者は「内積 → softmax → 選択」という共通構造を持ちます。
Attention機構では「情報の選択」をしており、MoEでは「計算経路の選択」をしています。
つまり、AIは「選択する計算機」と言えるのではないでしょうか。
数値精度の意味の変化
AIの進化が進むほど、数値精度の意味は、数値解析とAIの間で、下記のような違いが顕著になっています。
・数値解析の世界:正しさ
・AIの世界:設計パラメータ
この違いが非常に重要です。
例えば、
・FP64 → 高精度だが遅い
・FP8 → 低精度だが高速
という性質に対し、AIでは、「どこまで精度を落としても成立するか」を設計します。
数値表現形式は、従来モデル、今回のGoogle Ironwoodのいずれにおいても、基本的には浮動小数点型を用います。
コンピュータ(計算機)によるデジタル技術の宿命でもありますが、2進数で10進数を表現する際、数値表現形式に応じた丸め誤差が含まれる場合があります。(fig.2 参照)
また、浮動小数点型では、指数部は表現可能な値の「範囲(レンジ)」、仮数部は値の「細かさ(分解能)」が決定されます。(fig.3 参照)
FP8(E4M3)とFP8(E5M2)の違いは、単なるビット配分ではなく、「分解能とレンジのトレードオフ」にあります。E4M3は仮数が3bitであるため約1/8刻みの分解能を持つのに対し、E5M2は約1/4刻みと粗くなる代わりに、より広いレンジを表現できることが分かります。
AIでは、これらのレンジと分解能のバランスを、計算過程(forward / backward)ごとに最適化することが重要となります。
単なる低ビット化ではなく、「精度とレンジを役割ごとに分離して設計する」という新しい思想であると言えます。
forwardとbackwardにおける数値設計の違い
ここで重要になるのが、学習過程におけるforwardとbackwardの違いです。
●forward(順伝播)
・入力 → 出力の計算
・誤差は加算的に蓄積
・比較的安定
forwardでは、精度(分解能)が重要であり、仮数部のbit数を重視する必要があります。
●backward(逆伝播)
・誤差 → 重み更新
・誤差は乗算的に伝播
・勾配消失・爆発が発生
backwardでは、レンジ(ダイナミックレンジ)が重要であり、指数部のbit数を重視する必要があります。
つまり、
・forward → 細かく表現できること
・backward → 大きな値も小さな値も扱えること
が求められます。
その結果、
・FP8(E4M3) → forward向き(分解能重視)
・FP8(E5M2) → backward向き(レンジ重視)
という使い分けが合理的になります。
ハードとソフトの統合設計という視点
ここまで見てきた内容を踏まえて、GoogleのIronwood TPUの位置づけを整理します。
従来の設計では、
・FP16やBF16といった単一の数値形式
・ソフトウェア側での最適化
が中心でした。
一方でIronwoodでは、
・FP8(E4M3 / E5M2)を用途ごとに使い分け
・メモリ配置(VMEM)やデータ転送の最適化
・行列演算に特化したハードウェア設計
が統合されています。
これは単なる「高速化」ではなく、「数値精度 × 計算構造 × メモリ配置」を同時に設計しているという点に本質があると感じます。
つまり、AIの進化は「巨大化」だけでなく「設計の進化」として捉えるべきだと思います。
まさに今回のGoogle Ironwood TPUは、計算・精度・構造・誤差・選択を統合した設計の進化を体現している事例だと感じました。
まとめ
数値解析の世界では、精度は守るべきものでした。
しかしAIの世界では、精度は設計するものへと変化しています。
この違いこそが、
・FP8のような低ビット形式の適切な使い分け
・MoEのような構造的Sparseに基づく計算経路の選定
・TPUのようなソフトウェアと一体でのハードウェア設計
といったAI技術を発展させているのだと考えています。
GoogleのIronwood TPUの事例を通じて、AI開発競争の本質は「計算の設計」にあるということが見えてきました。
個々の技術は一見バラバラに見えますが、「どの計算を、どの精度で、どこで、どう実行するか」という視点で捉えると、すべてが一本の線でつながることが体感できるのではないでしょうか。
私自身、電気電子工学の分野で、
・理論計算
・数値解析
・実測との比較
に取り組んできましたが、AIの世界でも本質は変わっていないと感じています。
「差異・不確かさ」をどう扱うか
それを、
・精度
・構造
・計算方法
として設計する。
それがAIという技術の核心であり、今後の進化の方向性なのではないかと考えています。
今回の記事が、AI技術について、点から線へ、線から面へ、面から空間へと理解を広げる一助になれば幸いです。