2026年11月15日(日) 記事を探す決算カレンダー広告掲載このサイトについて
トップ › 仕組み
仕組み

スパース化とは 使わない計算を省く方法、MoEは6,710億の重みのうち370億だけ動かす

スパース化は、AIのモデルのうち値がゼロの部分や使わない部分を計算から外す方法です。エヌビディアのA100は、4つの値のうち2つをゼロにする形で、16ビットの計算性能を毎秒312兆回から624兆回に倍増させました。

ポイント
  • スパース化は、ゼロや使わない部分の計算を省いて、AIを速く軽くする方法です。
  • 重みの一部をゼロにする方法と、問いごとにモデルの一部だけを動かす方法があります。
  • エヌビディアはA100から、4つの値のうち2つをゼロにすると計算が2倍速くなる回路を載せました。
  • DeepSeek-V3は6,710億個の重みを持ち、1語ごとに動かすのは370億個です(MoE)。

スパース(sparse)は「まばら」という意味です。AIのモデルの重みには、ゼロに近く答えにほとんど影響しないものが多く含まれます。その部分を計算から外せば、時間も電力も減らせます。これがスパース化です。

2つのやり方

1つ目は、重みの一部をゼロにする「枝刈り」です。小さな重みを選んでゼロにし、少し学習し直して精度を戻します。ただ、ゼロがばらばらに散らばっていると、半導体はどこを飛ばせばよいかを毎回調べる必要があり、思ったほど速くなりません。

そこでエヌビディアは、ゼロの並び方に決まりを設けました。連続する4つの値のうち、必ず2つをゼロにする「2対4」の形です。GPUは、ゼロでない値とその位置の目印だけを保存し、半分の計算で同じ結果を出します。

2つ目は、問いごとにモデルの一部だけを動かす方法です。代表が専門家混合型(MoE)のモデルです。中に多数の「専門家」の小さな部品を持ち、1語ごとに数個だけを選んで計算します。重みの総数は大きくても、1回の計算量は小さくなります。

A100で始まった「2対4」

エヌビディアの2021年7月20日の技術解説によると、A100の16ビットの計算性能は、ゼロを使わない場合で毎秒312兆回、2対4の形で624兆回です。精度もほぼ保たれました。

2対4のスパース化の前後の精度(エヌビディアの解説から、16ビット)
モデル・課題指標元のモデルスパース化後
ResNet-50(画像分類)正解率76.176.2
ResNeXt-101(画像分類)正解率79.379.3
Transformer(英独翻訳)BLEU28.228.5
BERT-Large(読解)F191.991.9

エヌビディアのモデルを軽くする道具「Model Optimizer」は、量子化や枝刈りと並んで、スパース化を扱います。推論用の道具TensorRTで、スパース化したモデルを速く動かせます。

MoEは「動かす部分」を絞る

中国のDeepSeek(深度求索)が公開したDeepSeek-V3は、MoEの代表例です。公開の資料によると、重みの総数は6,710億個で、1語ごとに動かすのは370億個です。全体の約5.5%にあたります(計算)。学習には14.8兆語分のデータを使い、エヌビディアのH800で延べ278.8万GPU時間かかりました。

MoEでは、計算は減っても、すべての専門家の重みをメモリに置いておく必要があります。メモリの量はモデル全体の大きさで決まり、計算の量は動かす部分で決まる、というずれが生まれます。多数の専門家を複数のGPUに分けて置く「専門家並列」という分担も使われます。

関連する用語

  • 枝刈り:小さな重みをゼロにしてモデルを軽くすること。
  • MoE(専門家混合):多数の部品から一部だけを選んで動かすモデルの形。
  • 量子化:数値の桁を減らして軽くする方法。スパース化と組み合わせられる。

エヌビディアの製品ページは、GB300 NVL72で推論ソフトDynamoを使うと、MoEのモデルの処理量がHopper世代の最大50倍になるとしています。

この記事は公開資料をもとに作成しています。売買をすすめるものではありません。誤りを見つけたら訂正します(編集方針)。

関連する記事